summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2012-07-14 14:24:27 -0400
committerShea Levy <shea@shealevy.com>2012-07-14 14:24:27 -0400
commitc514ee974a14856ccabe0463e812c6bf2b7175a8 (patch)
tree368562bed1d4cde7e30a431ba60cc796e7c10538 /pkgs
parent41840af6894bf718a1038ba1045adef26a687919 (diff)
parent8ff20e5b77b7aea77b5bd22da3d2c10a99481b74 (diff)
downloadnixlib-c514ee974a14856ccabe0463e812c6bf2b7175a8.tar
nixlib-c514ee974a14856ccabe0463e812c6bf2b7175a8.tar.gz
nixlib-c514ee974a14856ccabe0463e812c6bf2b7175a8.tar.bz2
nixlib-c514ee974a14856ccabe0463e812c6bf2b7175a8.tar.lz
nixlib-c514ee974a14856ccabe0463e812c6bf2b7175a8.tar.xz
nixlib-c514ee974a14856ccabe0463e812c6bf2b7175a8.tar.zst
nixlib-c514ee974a14856ccabe0463e812c6bf2b7175a8.zip
Merge remote-tracking branch 'upstream/master' into x-updates
mountall conflict was trivial

Conflicts:
	pkgs/os-specific/linux/mountall/default.nix
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/ardour/ardour3.nix24
-rw-r--r--pkgs/applications/audio/audacious/default.nix6
-rw-r--r--pkgs/applications/audio/calf/default.nix22
-rw-r--r--pkgs/applications/audio/linuxsampler/default.nix4
-rw-r--r--pkgs/applications/audio/mikmod/default.nix19
-rw-r--r--pkgs/applications/audio/sonic-visualiser/default.nix23
-rw-r--r--pkgs/applications/audio/yoshimi/default.nix11
-rw-r--r--pkgs/applications/editors/emacs-24/default.nix14
-rw-r--r--pkgs/applications/editors/emacs-modes/js2/default.nix6
-rw-r--r--pkgs/applications/editors/emacs-modes/proofgeneral/default.nix3
-rw-r--r--pkgs/applications/editors/kile/default.nix7
-rw-r--r--pkgs/applications/editors/leksah/default.nix4
-rw-r--r--pkgs/applications/graphics/cinepaint/default.nix12
-rw-r--r--pkgs/applications/graphics/cinepaint/install.patch24
-rw-r--r--pkgs/applications/graphics/digikam/default.nix6
-rw-r--r--pkgs/applications/graphics/digikam/ftbfs-libkipi.patch68
-rw-r--r--pkgs/applications/graphics/digikam/libkvkontakte-not-topdir.patch33
-rw-r--r--pkgs/applications/graphics/gimp/2.8.nix33
-rw-r--r--pkgs/applications/graphics/mcomix/default.nix34
-rw-r--r--pkgs/applications/graphics/mirage/default.nix29
-rw-r--r--pkgs/applications/graphics/rawtherapee/default.nix30
-rw-r--r--pkgs/applications/graphics/tesseract/default.nix17
-rw-r--r--pkgs/applications/graphics/zgrviewer/default.nix30
-rw-r--r--pkgs/applications/misc/bitcoin/default.nix28
-rw-r--r--pkgs/applications/misc/blender/default.nix6
-rw-r--r--pkgs/applications/misc/dmenu/default.nix5
-rw-r--r--pkgs/applications/misc/eaglemode/default.nix11
-rw-r--r--pkgs/applications/misc/gnome_terminator/default.nix30
-rw-r--r--pkgs/applications/misc/hello/ex-2/default.nix4
-rw-r--r--pkgs/applications/misc/ikiwiki/default.nix50
-rw-r--r--pkgs/applications/misc/lyx/default.nix20
-rw-r--r--pkgs/applications/misc/stardict/stardict-3.0.3-compositelookup_cpp.patch19
-rw-r--r--pkgs/applications/misc/stardict/stardict-3.0.3-correct-glib-include.patch13
-rw-r--r--pkgs/applications/misc/stardict/stardict-3.0.3-entry.patch20
-rw-r--r--pkgs/applications/misc/stardict/stardict-3.0.3-gcc46.patch13
-rw-r--r--pkgs/applications/misc/stardict/stardict-3.0.3-overflow.patch26
-rw-r--r--pkgs/applications/misc/stardict/stardict-3.0.3-zlib-1.2.5.2.patch39
-rw-r--r--pkgs/applications/misc/stardict/stardict.nix46
-rw-r--r--pkgs/applications/misc/taskwarrior/default.nix21
-rw-r--r--pkgs/applications/misc/taskwarrior/unstable.nix27
-rw-r--r--pkgs/applications/misc/viking/default.nix26
-rw-r--r--pkgs/applications/misc/viking/gpsdclient.patch51
-rw-r--r--pkgs/applications/misc/viking/implicit-declaration.patch13
-rw-r--r--pkgs/applications/misc/viking/test-bc.patch22
-rw-r--r--pkgs/applications/misc/xfontsel/default.nix10
-rw-r--r--pkgs/applications/misc/xmobar/default.nix13
-rw-r--r--pkgs/applications/networking/browsers/chromium/cups_allow_deprecated.patch14
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix240
-rw-r--r--pkgs/applications/networking/browsers/chromium/enable_seccomp.patch20
-rw-r--r--pkgs/applications/networking/browsers/chromium/pulseaudio_array_bounds.patch12
-rw-r--r--pkgs/applications/networking/browsers/chromium/sources.nix19
-rwxr-xr-xpkgs/applications/networking/browsers/chromium/update.sh50
-rw-r--r--pkgs/applications/networking/browsers/firefox/11.0.nix181
-rw-r--r--pkgs/applications/networking/browsers/firefox/12.0.nix2
-rw-r--r--pkgs/applications/networking/browsers/firefox/13.0.nix (renamed from pkgs/applications/networking/browsers/firefox/10.0.nix)29
-rw-r--r--pkgs/applications/networking/browsers/links2/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/opera/default.nix10
-rw-r--r--pkgs/applications/networking/browsers/vimprobable2/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/skype/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix20
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/kde/0.3.0.nix13
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/kde/0.3.1.nix13
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/kde/0.4.0.nix16
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/kde/contact-applet-po.patch24
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix55
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/kde/presence-applet-po.patch24
-rwxr-xr-xpkgs/applications/networking/instant-messengers/telepathy/kde/update.sh44
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/tkabber-plugins/default.nix18
-rw-r--r--pkgs/applications/networking/instant-messengers/tkabber/default.nix38
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix22
-rw-r--r--pkgs/applications/networking/newsreaders/pan/default.nix8
-rw-r--r--pkgs/applications/networking/offrss/default.nix15
-rw-r--r--pkgs/applications/networking/p2p/gnunet/default.nix9
-rw-r--r--pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix17
-rw-r--r--pkgs/applications/networking/p2p/transmission/default.nix14
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix2
-rw-r--r--pkgs/applications/networking/remote/remmina/default.nix31
-rw-r--r--pkgs/applications/office/calligra/default.nix6
-rw-r--r--pkgs/applications/office/gnumeric/default.nix26
-rw-r--r--pkgs/applications/office/hledger-interest/default.nix4
-rw-r--r--pkgs/applications/office/kbibtex/default.nix18
-rw-r--r--pkgs/applications/office/skrooge/default.nix4
-rw-r--r--pkgs/applications/office/zanshin/default.nix6
-rw-r--r--pkgs/applications/science/logic/coq/default.nix31
-rw-r--r--pkgs/applications/science/logic/hol_light/default.nix6
-rw-r--r--pkgs/applications/science/logic/ssreflect/default.nix22
-rw-r--r--pkgs/applications/science/logic/ssreflect/static.patch33
-rw-r--r--pkgs/applications/science/logic/tptp/default.nix4
-rw-r--r--pkgs/applications/science/math/ginac/default.nix24
-rw-r--r--pkgs/applications/science/math/maxima/default.nix4
-rw-r--r--pkgs/applications/science/math/wxmaxima/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix8
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex/default.nix12
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix20
-rw-r--r--pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix6
-rw-r--r--pkgs/applications/version-management/mr/default.nix57
-rw-r--r--pkgs/applications/version-management/subversion/default.nix4
-rw-r--r--pkgs/applications/video/kdenlive/default.nix19
-rw-r--r--pkgs/applications/video/kdenlive/qtgl-header-change.patch14
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix8
-rw-r--r--pkgs/applications/video/ogmtools/default.nix21
-rw-r--r--pkgs/applications/video/xine-ui/default.nix10
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix4
-rw-r--r--pkgs/applications/window-managers/compton/default.nix25
-rw-r--r--pkgs/applications/window-managers/i3/default.nix11
-rw-r--r--pkgs/applications/window-managers/i3/lock.nix4
-rw-r--r--pkgs/applications/window-managers/i3/status.nix8
-rw-r--r--pkgs/applications/window-managers/ratpoison/default.nix53
-rw-r--r--pkgs/applications/window-managers/ratpoison/glibc-fix.patch22
-rw-r--r--pkgs/applications/window-managers/xcompmgr/default.nix8
-rw-r--r--pkgs/applications/window-managers/xmonad/xmonad-extras.nix13
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git12
-rw-r--r--pkgs/build-support/kernel/make-initrd.sh2
-rw-r--r--pkgs/build-support/release/debian-build.nix1
-rw-r--r--pkgs/build-support/release/rpm-build.nix18
-rwxr-xr-xpkgs/build-support/upstream-updater/attrset-to-dir.sh4
-rwxr-xr-xpkgs/build-support/upstream-updater/urls-from-page.sh4
-rw-r--r--pkgs/build-support/vm/default.nix4
-rw-r--r--pkgs/data/documentation/man-pages/default.nix4
-rw-r--r--pkgs/data/fonts/dosemu-fonts/default.nix34
-rw-r--r--pkgs/data/fonts/ubuntu-font-family/default.nix29
-rw-r--r--pkgs/data/misc/cacert/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/bindings/gnome-python/default.nix38
-rw-r--r--pkgs/desktops/gnome-2/default.nix6
-rw-r--r--pkgs/desktops/gnome-2/desktop/vte/default.nix13
-rw-r--r--pkgs/desktops/gnome-2/platform/gconfmm/default.nix23
-rw-r--r--pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix25
-rw-r--r--pkgs/desktops/gnome-2/platform/gtkglextmm/gdk.patch15
-rw-r--r--pkgs/desktops/kde-4.7/kdeutils/superkaramba.nix2
-rw-r--r--pkgs/desktops/kde-4.8/default.nix2
-rw-r--r--pkgs/desktops/kde-4.8/kde-package/4.8.2.nix299
-rw-r--r--pkgs/desktops/kde-4.8/kde-package/4.8.4.nix299
-rw-r--r--pkgs/desktops/kde-4.8/kde-runtime.nix9
-rw-r--r--pkgs/desktops/kde-4.8/kde-wallpapers.nix2
-rw-r--r--pkgs/desktops/kde-4.8/kdeutils/superkaramba.nix2
-rw-r--r--pkgs/desktops/kde-4.8/l10n/manifest-4.8.2.nix277
-rw-r--r--pkgs/desktops/kde-4.8/l10n/manifest-4.8.4.nix277
-rw-r--r--pkgs/desktops/kde-4.8/oxygen-icons.nix2
-rw-r--r--pkgs/desktops/xfce-4.6/applications/mousepad.nix2
-rw-r--r--pkgs/desktops/xfce-4.6/applications/ristretto.nix2
-rw-r--r--pkgs/desktops/xfce-4.6/applications/xfce4-power-manager.nix2
-rw-r--r--pkgs/desktops/xfce-4.6/art/xfce4-icon-theme.nix2
-rw-r--r--pkgs/desktops/xfce-4.6/core/exo.nix2
-rw-r--r--pkgs/desktops/xfce-4.6/core/gtk-xfce-engine.nix2
-rw-r--r--pkgs/desktops/xfce-4.6/core/libxfce4menu.nix2
-rw-r--r--pkgs/desktops/xfce-4.6/core/libxfce4util.nix2
-rw-r--r--pkgs/desktops/xfce-4.6/core/libxfcegui4.nix2
-rw-r--r--pkgs/desktops/xfce-4.6/core/thunar.nix2
-rw-r--r--pkgs/desktops/xfce-4.6/core/xfce-utils.nix2
-rw-r--r--pkgs/desktops/xfce-4.6/core/xfce4-panel.nix2
-rw-r--r--pkgs/desktops/xfce-4.6/core/xfce4-session.nix2
-rw-r--r--pkgs/desktops/xfce-4.6/core/xfce4-settings.nix2
-rw-r--r--pkgs/desktops/xfce-4.6/core/xfconf.nix2
-rw-r--r--pkgs/desktops/xfce-4.6/core/xfdesktop.nix2
-rw-r--r--pkgs/desktops/xfce-4.6/core/xfwm4.nix2
-rw-r--r--pkgs/desktops/xfce-4.8/applications/mousepad.nix2
-rw-r--r--pkgs/desktops/xfce-4.8/art/xfce4-icon-theme.nix2
-rw-r--r--pkgs/development/compilers/cudatoolkit/default.nix52
-rw-r--r--pkgs/development/compilers/gcc/4.6/default.nix19
-rw-r--r--pkgs/development/compilers/ghc/7.4.2.nix8
-rw-r--r--pkgs/development/compilers/ghc/head.nix6
-rw-r--r--pkgs/development/compilers/ghc/with-packages.nix15
-rw-r--r--pkgs/development/compilers/ikarus/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/3.1.nix27
-rw-r--r--pkgs/development/compilers/ocaml/3.12.1-darwin-fix-configure.patch32
-rw-r--r--pkgs/development/compilers/ocaml/3.12.1.nix3
-rw-r--r--pkgs/development/compilers/pakcs/default.nix4
-rw-r--r--pkgs/development/compilers/pakcs/pakcs-ghc741.patch1004
-rw-r--r--pkgs/development/compilers/sbcl/src-for-default.nix10
-rw-r--r--pkgs/development/compilers/uhc/default.nix8
-rw-r--r--pkgs/development/compilers/vala/15.2.nix24
-rw-r--r--pkgs/development/compilers/vala/16.1.nix24
-rw-r--r--pkgs/development/compilers/vala/default.nix11
-rw-r--r--pkgs/development/interpreters/erlang/default.nix9
-rw-r--r--pkgs/development/interpreters/guile/default.nix6
-rw-r--r--pkgs/development/interpreters/guile/setup-hook-2.0.sh13
-rw-r--r--pkgs/development/interpreters/octave/default.nix4
-rw-r--r--pkgs/development/interpreters/php/5.3.nix4
-rw-r--r--pkgs/development/interpreters/ruby/generated.nix362
-rw-r--r--pkgs/development/interpreters/ruby/ruby-19.nix6
-rw-r--r--pkgs/development/libraries/SDL_net/default.nix11
-rw-r--r--pkgs/development/libraries/apr-util/default.nix23
-rw-r--r--pkgs/development/libraries/apr/darwin_fix_configure.patch17
-rw-r--r--pkgs/development/libraries/apr/default.nix8
-rw-r--r--pkgs/development/libraries/attica/default.nix4
-rw-r--r--pkgs/development/libraries/audio/lilv/default.nix27
-rw-r--r--pkgs/development/libraries/audio/lv2/default.nix27
-rw-r--r--pkgs/development/libraries/audio/sratom/default.nix27
-rw-r--r--pkgs/development/libraries/audio/suil/default.nix27
-rw-r--r--pkgs/development/libraries/babl/default.nix6
-rw-r--r--pkgs/development/libraries/boost/1.42.nix80
-rw-r--r--pkgs/development/libraries/boost/1.44.nix9
-rw-r--r--pkgs/development/libraries/boost/1.50-headers.nix26
-rw-r--r--pkgs/development/libraries/boost/1.50.nix (renamed from pkgs/development/libraries/boost/1.48.nix)19
-rw-r--r--pkgs/development/libraries/bwidget/default.nix20
-rw-r--r--pkgs/development/libraries/ccrtp/1.8.nix4
-rw-r--r--pkgs/development/libraries/ccrtp/gcc-4.6-fix.patch20
-rw-r--r--pkgs/development/libraries/cyrus-sasl/cyrus-sasl-2.1.22-bad-elif.patch21
-rw-r--r--pkgs/development/libraries/cyrus-sasl/default.nix31
-rw-r--r--pkgs/development/libraries/ffmpeg/0.6.90.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/default.nix12
-rw-r--r--pkgs/development/libraries/fltk/default.nix4
-rw-r--r--pkgs/development/libraries/gegl/default.nix10
-rw-r--r--pkgs/development/libraries/geoclue/default.nix2
-rw-r--r--pkgs/development/libraries/gettext/default.nix24
-rw-r--r--pkgs/development/libraries/glibc/2.13/common.nix6
-rw-r--r--pkgs/development/libraries/glibc/2.14/common.nix1
-rw-r--r--pkgs/development/libraries/gmp/5.0.5.nix6
-rw-r--r--pkgs/development/libraries/goffice/0.9.nix37
-rw-r--r--pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix6
-rw-r--r--pkgs/development/libraries/gtkdatabox/default.nix24
-rw-r--r--pkgs/development/libraries/gtkdatabox/deprecated_GTK.patch194
-rw-r--r--pkgs/development/libraries/haskell/Agda/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix17
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix17
-rw-r--r--pkgs/development/libraries/haskell/HaXml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Hipmunk/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/JuicyPixels/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/ListLike/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/MonadRandom/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.5.nix15
-rw-r--r--pkgs/development/libraries/haskell/RepLib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/SHA/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Shellac/Shellac-haskeline.nix3
-rw-r--r--pkgs/development/libraries/haskell/Vec/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/accelerate-cuda/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/accelerate-examples/default.nix28
-rw-r--r--pkgs/development/libraries/haskell/accelerate-io/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/accelerate/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/async/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/base-unicode-symbols/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/base16-bytestring/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/base64-bytestring/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/binary-shared/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/binary/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/blaze-html/0.4.3.4.nix15
-rw-r--r--pkgs/development/libraries/haskell/blaze-html/default.nix (renamed from pkgs/development/libraries/haskell/blaze-html/0.5.0.0.nix)0
-rw-r--r--pkgs/development/libraries/haskell/bloomfilter/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/bson/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/cabal-macosx/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/cairo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cereal/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/certificate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cpu/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cryptocipher/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cuda/default.nix43
-rw-r--r--pkgs/development/libraries/haskell/derive/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/exception-mtl/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/exception-transformers/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/executable-path/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/file-embed/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/filestore/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/generic-deriving/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/ghc-events/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/ghc-mod/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/gitit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/glib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/graphviz/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/gtk/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gtk2hs-buildtools/0.12.3.nix18
-rw-r--r--pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix (renamed from pkgs/development/libraries/haskell/gtk2hs-buildtools/0.12.1.nix)4
-rw-r--r--pkgs/development/libraries/haskell/gtksourceview2/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hakyll/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/hamlet/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-data.nix21
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-server.nix4
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-util.nix3
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix42
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.2.0.0.cabal89
-rw-r--r--pkgs/development/libraries/haskell/hastache/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haxr/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/highlighting-kate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hinotify/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/hjsmin/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hledger-chart/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/hledger-lib/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/hledger-vty/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hledger-web/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/hledger/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/hoauth/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/hscolour/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hsemail/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-conduit/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/http-types/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/iteratee/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/language-c-quote/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/language-c/0.3.2.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/language-c/0.4.2.nix (renamed from pkgs/development/libraries/haskell/language-c/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/largeword/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/leksah/leksah-server.nix8
-rw-r--r--pkgs/development/libraries/haskell/lifted-base/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ltk/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/mainland-pretty/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/maude/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/mime-types/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/mmap/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/monad-control/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/monad-loops/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/mongoDB/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.1.2.nix15
-rw-r--r--pkgs/development/libraries/haskell/multiarg/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/multiplate/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/multirec/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.0.14.nix15
-rw-r--r--pkgs/development/libraries/haskell/pandoc/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/parallel/3.2.0.3.nix14
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.3.nix15
-rw-r--r--pkgs/development/libraries/haskell/pgm/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/process-extras/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/prolog-graph-lib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/prolog/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/random-fu/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/random-shuffle/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/reactive-banana-wx/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/reactive-banana/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/regex-pcre/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.95.2.nix15
-rw-r--r--pkgs/development/libraries/haskell/remote/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/repa-algorithms/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/repa-examples/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/repa-io/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/repa/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/resourcet/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-js/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shelly/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/simple-sendfile/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/snap/core.nix4
-rw-r--r--pkgs/development/libraries/haskell/snap/server.nix11
-rw-r--r--pkgs/development/libraries/haskell/split/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/srcloc/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/stm/2.4.nix13
-rw-r--r--pkgs/development/libraries/haskell/stringsearch/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/svgcairo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.6.2.nix14
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.7.nix14
-rw-r--r--pkgs/development/libraries/haskell/symbol/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/system-fileio/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.2.2.nix15
-rw-r--r--pkgs/development/libraries/haskell/tls/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/unbound/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/void/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vty/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-app-static/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-extra/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/wai/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/warp/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wxc.nix4
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wxcore.nix4
-rw-r--r--pkgs/development/libraries/haskell/xhtml/3000.2.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/xml-types/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yaml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-core/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-json/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-static/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/zlib-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/hwloc/default.nix33
-rw-r--r--pkgs/development/libraries/leptonica/default.nix4
-rw-r--r--pkgs/development/libraries/libdivsufsort/default.nix16
-rw-r--r--pkgs/development/libraries/libdrm/default.nix4
-rw-r--r--pkgs/development/libraries/libebml/default.nix4
-rw-r--r--pkgs/development/libraries/libexif/default.nix4
-rw-r--r--pkgs/development/libraries/libextractor/default.nix16
-rw-r--r--pkgs/development/libraries/libgsf/default.nix13
-rw-r--r--pkgs/development/libraries/libiconv/default.nix12
-rw-r--r--pkgs/development/libraries/libiodbc/default.nix11
-rw-r--r--pkgs/development/libraries/libmatroska/default.nix4
-rw-r--r--pkgs/development/libraries/libmikmod/default.nix8
-rw-r--r--pkgs/development/libraries/libmng/default.nix6
-rw-r--r--pkgs/development/libraries/librsync/default.nix4
-rw-r--r--pkgs/development/libraries/libsigcxx/default.nix2
-rw-r--r--pkgs/development/libraries/libtheora/default.nix11
-rw-r--r--pkgs/development/libraries/libv4l/default.nix10
-rw-r--r--pkgs/development/libraries/libvdpau/default.nix6
-rw-r--r--pkgs/development/libraries/mlt/default.nix18
-rw-r--r--pkgs/development/libraries/neon/0.29.6-darwin-fix-configure.patch12
-rw-r--r--pkgs/development/libraries/neon/0.29.nix6
-rw-r--r--pkgs/development/libraries/nspr/default.nix6
-rw-r--r--pkgs/development/libraries/opencv/2.1.nix8
-rw-r--r--pkgs/development/libraries/opencv/default.nix4
-rw-r--r--pkgs/development/libraries/openldap/default.nix20
-rw-r--r--pkgs/development/libraries/pcre/default.nix2
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix49
-rw-r--r--pkgs/development/libraries/qt-mobility/default.nix50
-rw-r--r--pkgs/development/libraries/serd/default.nix27
-rw-r--r--pkgs/development/libraries/soprano/default.nix4
-rw-r--r--pkgs/development/libraries/soprano/find-virtuoso.patch30
-rw-r--r--pkgs/development/libraries/sord/default.nix27
-rw-r--r--pkgs/development/libraries/sqlite/default.nix6
-rw-r--r--pkgs/development/libraries/tcllib/default.nix13
-rw-r--r--pkgs/development/libraries/tcltls/default.nix21
-rw-r--r--pkgs/development/libraries/telepathy/glib/default.nix6
-rw-r--r--pkgs/development/libraries/telepathy/glib/fix-pkgconfig.patch14
-rw-r--r--pkgs/development/libraries/v8/default.nix4
-rw-r--r--pkgs/development/libraries/xine-lib/default.nix14
-rw-r--r--pkgs/development/libraries/xine-lib/zlib126.patch52
-rw-r--r--pkgs/development/ocaml-modules/pcre/default.nix11
-rw-r--r--pkgs/development/ocaml-modules/sqlite3/default.nix14
-rw-r--r--pkgs/development/python-modules/pycrypto/default.nix7
-rw-r--r--pkgs/development/python-modules/pyqt/default.nix6
-rw-r--r--pkgs/development/python-modules/python-gudev/default.nix25
-rw-r--r--pkgs/development/python-modules/python-sip/default.nix6
-rw-r--r--pkgs/development/python-modules/virtualenv-change-prefix.patch29
-rw-r--r--pkgs/development/tools/build-managers/apache-ant/default.nix37
-rw-r--r--pkgs/development/tools/documentation/doxygen/default.nix4
-rw-r--r--pkgs/development/tools/guile/guile-lint/default.nix5
-rw-r--r--pkgs/development/tools/haskell/BNFC-meta/default.nix4
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/default.nix4
-rw-r--r--pkgs/development/tools/haskell/hlint/default.nix4
-rw-r--r--pkgs/development/tools/misc/autoconf/default.nix16
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.11.x.nix11
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.12.x.nix53
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.7.x.nix18
-rw-r--r--pkgs/development/tools/misc/automake/automake-1.9.x.nix33
-rw-r--r--pkgs/development/tools/misc/automake/builder.sh6
-rw-r--r--pkgs/development/tools/misc/automake/fix-test-autoconf-2.69.patch13
-rw-r--r--pkgs/development/tools/misc/cgdb/default.nix23
-rw-r--r--pkgs/development/tools/misc/cpphs/default.nix4
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix39
-rw-r--r--pkgs/development/tools/misc/gnum4/default.nix4
-rw-r--r--pkgs/development/tools/misc/pkgconfig/default.nix4
-rw-r--r--pkgs/development/web/nodejs/default.nix12
-rw-r--r--pkgs/games/blackshadeselite/default.nix1
-rw-r--r--pkgs/games/klavaro/default.nix20
-rw-r--r--pkgs/games/kobodeluxe/default.nix6
-rw-r--r--pkgs/games/kobodeluxe/glibc29.patch83
-rw-r--r--pkgs/games/speed-dreams/default.nix7
-rw-r--r--pkgs/games/ufoai/default.nix3
-rw-r--r--pkgs/lib/attrsets.nix29
-rw-r--r--pkgs/lib/maintainers.nix3
-rw-r--r--pkgs/lib/platforms.nix1
-rw-r--r--pkgs/lib/types.nix8
-rw-r--r--pkgs/misc/cups/drivers/cups-bjnp/default.nix1
-rw-r--r--pkgs/misc/drivers/gutenprint/default.nix7
-rw-r--r--pkgs/misc/emulators/bsod/default.nix31
-rw-r--r--pkgs/misc/emulators/wine/default.nix8
-rw-r--r--pkgs/misc/my-env/default.nix14
-rw-r--r--pkgs/misc/screensavers/vlock/default.nix22
-rw-r--r--pkgs/misc/trac/builder.sh11
-rw-r--r--pkgs/misc/trac/default.nix14
-rw-r--r--pkgs/misc/uboot/sheevaplug.nix10
-rw-r--r--pkgs/os-specific/linux/ati-drivers/default.nix2
-rw-r--r--pkgs/os-specific/linux/blcr/default.nix4
-rw-r--r--pkgs/os-specific/linux/busybox/default.nix (renamed from pkgs/misc/busybox/default.nix)12
-rw-r--r--pkgs/os-specific/linux/firmware/amd-ucode/default.nix22
-rw-r--r--pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix22
-rw-r--r--pkgs/os-specific/linux/firmware/b43-firmware-cutter/no-root-install.patch18
-rw-r--r--pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix29
-rw-r--r--pkgs/os-specific/linux/kernel/aufs2-34.patch358
-rw-r--r--pkgs/os-specific/linux/kernel/aufs2.1-3.0.patch70
-rw-r--r--pkgs/os-specific/linux/kernel/aufs2.1-36.patch81
-rw-r--r--pkgs/os-specific/linux/kernel/aufs2.1-38.patch368
-rw-r--r--pkgs/os-specific/linux/kernel/aufs2.1-39.patch70
-rw-r--r--pkgs/os-specific/linux/kernel/builder.sh1
-rw-r--r--pkgs/os-specific/linux/kernel/cifs-timeout-2.6.25.patch46
-rw-r--r--pkgs/os-specific/linux/kernel/config-2.6.31-armv5tel1786
-rw-r--r--pkgs/os-specific/linux/kernel/linux-2.6.27.nix219
-rw-r--r--pkgs/os-specific/linux/kernel/linux-2.6.35.nix3
-rw-r--r--pkgs/os-specific/linux/kernel/linux-2.6.38.nix208
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.0.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.1.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.2.nix9
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.3.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.4.nix (renamed from pkgs/os-specific/linux/kernel/linux-2.6.39.nix)67
-rw-r--r--pkgs/os-specific/linux/kernel/linux-nanonote-jz-2.6.34.nix241
-rw-r--r--pkgs/os-specific/linux/kernel/linux-nanonote-jz-2.6.35.nix241
-rw-r--r--pkgs/os-specific/linux/kernel/linux-nanonote-jz-2.6.36.nix241
-rw-r--r--pkgs/os-specific/linux/kernel/mips-fpu-sigill.patch507
-rw-r--r--pkgs/os-specific/linux/kernel/mips-fpureg-emulation.patch144
-rw-r--r--pkgs/os-specific/linux/kernel/mips_restart.patch12
-rw-r--r--pkgs/os-specific/linux/kernel/no-xsave.patch85
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix168
-rw-r--r--pkgs/os-specific/linux/kernel/perf.nix10
-rw-r--r--pkgs/os-specific/linux/klibc/default.nix2
-rw-r--r--pkgs/os-specific/linux/kmod/default.nix21
-rw-r--r--pkgs/os-specific/linux/mountall/default.nix8
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/acpixf.patch27
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder-legacy.sh6
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix6
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/generated.patch12
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/legacy96.nix10
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/patchlevel.patch59
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/switch_to.patch24
-rw-r--r--pkgs/os-specific/linux/pam_ssh_agent_auth/default.nix17
-rw-r--r--pkgs/os-specific/linux/powertop/default.nix19
-rw-r--r--pkgs/os-specific/linux/powertop/inotify_user.patch28
-rw-r--r--pkgs/os-specific/linux/powertop/modprobe_configs.patch28
-rw-r--r--pkgs/os-specific/linux/powertop/powertop-1.13.patch15
-rw-r--r--pkgs/os-specific/linux/psmisc/default.nix4
-rw-r--r--pkgs/os-specific/linux/qemu-kvm/default.nix4
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix73
-rw-r--r--pkgs/os-specific/linux/uclibc/default.nix12
-rw-r--r--pkgs/os-specific/linux/upower/default.nix4
-rw-r--r--pkgs/os-specific/linux/v4l-utils/default.nix70
-rw-r--r--pkgs/os-specific/windows/jom/default.nix36
-rw-r--r--pkgs/os-specific/windows/mingw-w64/default.nix35
-rw-r--r--pkgs/servers/dns/bind/default.nix4
-rw-r--r--pkgs/servers/elasticmq/default.nix39
-rw-r--r--pkgs/servers/http/apache-httpd/2.2.nix (renamed from pkgs/servers/http/apache-httpd/default.nix)10
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix64
-rw-r--r--pkgs/servers/mail/dovecot/2.x.nix (renamed from pkgs/servers/mail/dovecot/2.0.nix)8
-rw-r--r--pkgs/servers/mail/spamassassin/default.nix37
-rw-r--r--pkgs/servers/monitoring/net-snmp/default.nix35
-rw-r--r--pkgs/servers/nosql/mongodb/default.nix14
-rw-r--r--pkgs/servers/sip/freeswitch/default.nix19
-rw-r--r--pkgs/servers/sql/postgresql/8.3.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/8.4.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/9.0.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/9.1.x.nix4
-rw-r--r--pkgs/tools/archivers/dar/default.nix4
-rw-r--r--pkgs/tools/archivers/gnutar/default.nix10
-rw-r--r--pkgs/tools/archivers/gnutar/gets-undeclared.patch26
-rw-r--r--pkgs/tools/backup/btar/default.nix4
-rw-r--r--pkgs/tools/backup/obnam/default.nix23
-rw-r--r--pkgs/tools/cd-dvd/bchunk/default.nix26
-rw-r--r--pkgs/tools/cd-dvd/vobcopy/default.nix22
-rw-r--r--pkgs/tools/compression/gzip/default.nix12
-rw-r--r--pkgs/tools/compression/gzip/gets-undeclared.patch26
-rw-r--r--pkgs/tools/compression/lrzip/default.nix8
-rw-r--r--pkgs/tools/compression/ncompress/default.nix4
-rw-r--r--pkgs/tools/filesystems/e2fsprogs/default.nix4
-rw-r--r--pkgs/tools/filesystems/grive/default.nix21
-rw-r--r--pkgs/tools/filesystems/xfsprogs/default.nix8
-rw-r--r--pkgs/tools/graphics/asymptote/src-for-default.nix12
-rw-r--r--pkgs/tools/graphics/briss/default.nix31
-rw-r--r--pkgs/tools/graphics/exif/default.nix17
-rw-r--r--pkgs/tools/graphics/ploticus/default.nix6
-rw-r--r--pkgs/tools/misc/coreutils/default.nix11
-rw-r--r--pkgs/tools/misc/coreutils/gets-undeclared.patch71
-rw-r--r--pkgs/tools/misc/ethtool/default.nix6
-rw-r--r--pkgs/tools/misc/figlet/default.nix8
-rw-r--r--pkgs/tools/misc/fortune/default.nix10
-rw-r--r--pkgs/tools/misc/logstash/default.nix11
-rw-r--r--pkgs/tools/misc/pv/default.nix8
-rw-r--r--pkgs/tools/networking/curl/default.nix4
-rw-r--r--pkgs/tools/networking/haproxy/default.nix21
-rw-r--r--pkgs/tools/networking/minidlna/config.patch57
-rw-r--r--pkgs/tools/networking/minidlna/default.nix28
-rw-r--r--pkgs/tools/networking/nbd/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/default.nix17
-rw-r--r--pkgs/tools/networking/network-manager/nixos-purity.patch43
-rw-r--r--pkgs/tools/networking/p2p/libtorrent/default.nix4
-rw-r--r--pkgs/tools/networking/p2p/rtorrent/default.nix7
-rw-r--r--pkgs/tools/networking/p2p/seeks/default.nix4
-rw-r--r--pkgs/tools/networking/proxychains/default.nix13
-rw-r--r--pkgs/tools/package-management/disnix/activation-scripts/default.nix4
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix6
-rw-r--r--pkgs/tools/security/fail2ban/default.nix53
-rw-r--r--pkgs/tools/security/ossec/default.nix40
-rw-r--r--pkgs/tools/security/ossec/no-root.patch176
-rw-r--r--pkgs/tools/system/fio/default.nix23
-rw-r--r--pkgs/tools/system/smartmontools/default.nix17
-rw-r--r--pkgs/tools/system/ts/default.nix6
-rw-r--r--pkgs/tools/text/diffutils/default.nix12
-rw-r--r--pkgs/tools/text/gawk/cygwin-identifiers.patch75
-rw-r--r--pkgs/tools/text/gawk/default.nix10
-rw-r--r--pkgs/tools/text/wgetpaste/default.nix1
-rw-r--r--pkgs/tools/typesetting/tex/nix/run-latex.sh1
-rw-r--r--pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix2
-rw-r--r--pkgs/tools/virtualization/aws/default.nix27
-rw-r--r--pkgs/top-level/all-packages.nix490
-rw-r--r--pkgs/top-level/haskell-defaults.nix32
-rw-r--r--pkgs/top-level/haskell-packages.nix178
-rw-r--r--pkgs/top-level/make-tarball.nix11
-rw-r--r--pkgs/top-level/perl-packages.nix108
-rw-r--r--pkgs/top-level/platforms.nix4
-rw-r--r--pkgs/top-level/python-packages.nix415
-rw-r--r--pkgs/top-level/release-cross.nix30
-rw-r--r--pkgs/top-level/release-small.nix1
-rw-r--r--pkgs/top-level/release.nix4
577 files changed, 9687 insertions, 7417 deletions
diff --git a/pkgs/applications/audio/ardour/ardour3.nix b/pkgs/applications/audio/ardour/ardour3.nix
index 590cfa3a962a..c803ec076187 100644
--- a/pkgs/applications/audio/ardour/ardour3.nix
+++ b/pkgs/applications/audio/ardour/ardour3.nix
@@ -2,27 +2,31 @@
 , fftwSinglePrec, flac, glib, glibmm, gtk, gtkmm, jackaudio
 , libgnomecanvas, libgnomecanvasmm, liblo, libmad, libogg, librdf
 , librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
-, libusb, libuuid, libxml2, libxslt, makeWrapper, pango, perl, pkgconfig
-, python }:
+, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper, pango
+, perl, pkgconfig, python, serd, sord, sratom, suil }:
 
 let
-  rev = "11483";
+  # Ardour 3 Beta 4a
+  rev = "12406";
 in
 
 stdenv.mkDerivation {
   name = "ardour3-svn-${rev}";
 
   src = fetchsvn {
-    url = http://subversion.ardour.org/svn/ardour2/tags/3.0-beta3;
+    url = http://subversion.ardour.org/svn/ardour2/branches/3.0;
     inherit rev;
-    sha256 = "02az11lvfbln475np9jyfkdlrkpp1pszjmk6gl75wq6ws08dd7rd";
+    sha256 = "0a68xb3l36m5908y3airxw1b3bymhrjrf1l492mgcvviq6pn7pmk";
   };
 
-  buildInputs = [ alsaLib aubio boost cairomm curl fftw fftwSinglePrec
-    flac glib glibmm gtk gtkmm jackaudio libgnomecanvas
-    libgnomecanvasmm liblo libmad libogg librdf librdf_raptor
-    librdf_rasqal libsamplerate libsigcxx libsndfile libusb libuuid
-    libxml2 libxslt pango perl pkgconfig python ];
+  buildInputs = 
+    [ alsaLib aubio boost cairomm curl fftw fftwSinglePrec
+      flac glib glibmm gtk gtkmm jackaudio libgnomecanvas
+      libgnomecanvasmm liblo libmad libogg librdf librdf_raptor
+      librdf_rasqal libsamplerate libsigcxx libsndfile libusb libuuid
+      libxml2 libxslt lilv lv2 pango perl pkgconfig python serd sord
+      sratom suil
+    ];
 
   patchPhase = ''
     printf '#include "ardour/svn_revision.h"\nnamespace ARDOUR { const char* svn_revision = \"${rev}\"; }\n' > libs/ardour/svn_revision.cc
diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix
index edec7dcb41d0..9bd793613c11 100644
--- a/pkgs/applications/audio/audacious/default.nix
+++ b/pkgs/applications/audio/audacious/default.nix
@@ -4,19 +4,19 @@
 }:
 
 let
-  version = "3.2.1";
+  version = "3.2.2";
 in
 stdenv.mkDerivation {
   name = "audacious-${version}";
 
   src = fetchurl {
     url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2";
-    sha256 = "064a8d2887a0f92a1637df9d71b8eefa8064199c04eccfaac725f840cff6eac3";
+    sha256 = "1vj2f3jq67r9wc3s8p51w8338cjhidj3lpxmzyh31lrfikj21766";
   };
 
   pluginsSrc = fetchurl {
     url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2";
-    sha256 = "5b7d3e52f6b8903bc01ae15651817e990d3348ae6b9734767f354eb2dbfc8c2d";
+    sha256 = "1z5p4ny0kzszaki4f1fgrvcr0q1j6i19847jhplc07nl1rvycdy6";
   };
 
   # `--enable-amidiplug' is to prevent configure from looking in /proc/asound.
diff --git a/pkgs/applications/audio/calf/default.nix b/pkgs/applications/audio/calf/default.nix
new file mode 100644
index 000000000000..4b1f6dcd2687
--- /dev/null
+++ b/pkgs/applications/audio/calf/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, cairo, expat, glib, gtk, jackaudio, ladspaH
+, libglade, lv2, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "calf-${version}";
+  version = "0.0.18.6";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/calf/${name}.tar.gz";
+    sha256 = "03w6jjkrr6w8da6qzd0x4dlkg295c6jxby500x4cj07wpbpk6irh";
+  };
+
+  buildInputs =
+    [ cairo jackaudio gtk glib expat libglade ladspaH lv2 pkgconfig ];
+
+  meta = with stdenv.lib; {
+    homepage = http://calf.sourceforge.net;
+    description = "A set of high quality open source audio plugins for musicians";
+    license = licenses.lgpl2;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
diff --git a/pkgs/applications/audio/linuxsampler/default.nix b/pkgs/applications/audio/linuxsampler/default.nix
index a100390c2708..1ef081c84d07 100644
--- a/pkgs/applications/audio/linuxsampler/default.nix
+++ b/pkgs/applications/audio/linuxsampler/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchsvn, alsaLib, asio, autoconf, automake, bison
-, jackaudio, libgig, libsndfile, libtool , pkgconfig }:
+, jackaudio, libgig, libsndfile, libtool, lv2, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "linuxsampler-svn-${version}";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ 
    alsaLib asio autoconf automake bison jackaudio libgig libsndfile
-   libtool pkgconfig 
+   libtool lv2 pkgconfig
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/mikmod/default.nix b/pkgs/applications/audio/mikmod/default.nix
new file mode 100644
index 000000000000..a86e09278c3c
--- /dev/null
+++ b/pkgs/applications/audio/mikmod/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, libmikmod, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "mikmod-3.2.2";
+  src = fetchurl {
+    url = "http://mikmod.shlomifish.org/files/${name}.tar.gz";
+    sha256 = "105vl1kyah588wpbpq6ck1wlr0jj55l2ps72q5i01gs9px8ncmp8";
+  };
+
+  buildInputs = [ libmikmod ncurses ];
+
+  meta = {
+    description = "Tracker music player for the terminal";
+    homepage = http://mikmod.shlomifish.org/;
+    license = "GPLv2+";
+    maintainers = with stdenv.lib.maintainers; [ viric ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/audio/sonic-visualiser/default.nix b/pkgs/applications/audio/sonic-visualiser/default.nix
index 3a2beff04133..aeb90c09455b 100644
--- a/pkgs/applications/audio/sonic-visualiser/default.nix
+++ b/pkgs/applications/audio/sonic-visualiser/default.nix
@@ -1,21 +1,24 @@
 # TODO add plugins having various licenses, see http://www.vamp-plugins.org/download.html
 
-{ stdenv, fetchurl, alsaLib, bzip2, fftw, jackaudio, libX11, liblo,
-libmad, libogg, librdf, librdf_raptor, librdf_rasqal, libsamplerate,
-libsndfile, makeWrapper, pulseaudio, qt4, redland, rubberband, vampSDK
+{ stdenv, fetchurl, alsaLib, bzip2, fftw, jackaudio, libX11, liblo
+, libmad, libogg, librdf, librdf_raptor, librdf_rasqal, libsamplerate
+, libsndfile, makeWrapper, pkgconfig, pulseaudio, qt4, redland
+, rubberband, vampSDK 
 }:
 
-stdenv.mkDerivation {
-  name = "sonic-visualiser-1.8";
+stdenv.mkDerivation rec {
+  name = "sonic-visualiser-${version}";
+  version = "1.9";
 
   src = fetchurl {
-    url = http://downloads.sourceforge.net/sv1/sonic-visualiser-1.8.tar.gz;
-    sha256 = "16ik6q9n92wljvnqcv7hyzb9v3yp3ixxp6df9kasf53fii973dh7";
+    url = "http://code.soundsoftware.ac.uk/attachments/download/194/${name}.tar.gz";
+    sha256 = "00igf7j6s8xfyxnlkbqma0yby9pknxqzy8cmh0aw95ix80cw56fq";
   };
 
   buildInputs =
     [ libsndfile qt4 fftw /* should be fftw3f ??*/ bzip2 librdf rubberband
       libsamplerate vampSDK alsaLib librdf_raptor librdf_rasqal redland
+      pkgconfig
       # optional
       jackaudio
       # portaudio
@@ -46,8 +49,10 @@ stdenv.mkDerivation {
     description = "View and analyse contents of music audio files";
     homepage = http://www.sonicvisualiser.org/;
     license = "GPLv2";
-    maintainers = [ stdenv.lib.maintainers.marcweber 
-      stdenv.lib.maintainers.goibhniu ];
+    maintainers = 
+      [ stdenv.lib.maintainers.marcweber 
+        stdenv.lib.maintainers.goibhniu 
+      ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix
index 2e7254dc8b88..082f5dd9ab9e 100644
--- a/pkgs/applications/audio/yoshimi/default.nix
+++ b/pkgs/applications/audio/yoshimi/default.nix
@@ -5,11 +5,11 @@ assert stdenv ? glibc;
 
 stdenv.mkDerivation  rec {
   name = "yoshimi-${version}";
-  version = "0.060.10";
+  version = "0.060.12";
 
   src = fetchurl {
     url = "mirror://sourceforge/yoshimi/${name}.tar.bz2";
-    sha256 = "0y67w7y515hx2bi5gfjgsw1hdah1bdrrvcfmqyjsvn7jbd0q47v1";
+    sha256 = "14javywkw6af9z9c7jr06rzdgzncyaz2ab6f0v0k6bgdndlcgslc";
   };
 
   buildInputs = [ alsaLib boost fftwSinglePrec fltk jackaudio libsndfile mesa
@@ -18,13 +18,6 @@ stdenv.mkDerivation  rec {
 
   preConfigure = "cd src";
 
-  patches = [
-    (fetchurl {
-      url = http://patch-tracker.debian.org/patch/series/dl/yoshimi/0.060.10-3/02-fluid_1.3.patch;
-      sha256 = "1sywirbaaw4zhn5ypga27j02qvrvqjwv3lw8kvzyj575q4c4qnri";
-    })
-  ];
-
   cmakeFlags = [ "-DFLTK_MATH_LIBRARY=${stdenv.glibc}/lib/libm.so" ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/emacs-24/default.nix b/pkgs/applications/editors/emacs-24/default.nix
index ae6b4677b598..388972abd018 100644
--- a/pkgs/applications/editors/emacs-24/default.nix
+++ b/pkgs/applications/editors/emacs-24/default.nix
@@ -9,19 +9,19 @@ assert (libXft != null) -> libpng != null;	# probably a bug
 assert stdenv.isDarwin -> libXaw != null;	# fails to link otherwise
 
 stdenv.mkDerivation rec {
-  name = "emacs-24.0.94";
+  name = "emacs-24.1";
 
   builder = ./builder.sh;
 
   src = fetchurl {
-    url = "http://alpha.gnu.org/gnu/emacs/pretest/${name}.tar.gz";
-    sha256 = "1dgy53dxpnwrn6h3i3z8fpcyasms0wlvhqfyih4cwkz712var393";
+    url = "mirror://gnu/emacs/${name}.tar.bz2";
+    sha256 = "eeea272732146e2be9aee2f8d71d6cf07b8654c0282da62a26b921d433f02b7c";
   };
 
-  buildInputs = 
+  buildInputs =
     [ ncurses x11 texinfo libXaw Xaw3d libXpm libpng libjpeg libungif
       libtiff librsvg libXft gconf libxml2 imagemagick gnutls alsaLib
-    ] 
+    ]
     ++ stdenv.lib.optionals (gtk != null) [ gtk pkgconfig ]
     ++ stdenv.lib.optional stdenv.isLinux dbus;
 
@@ -45,7 +45,7 @@ EOF
   doCheck = true;
 
   meta = {
-    description = "PRETEST: GNU Emacs 24.x, the extensible, customizable text editor";
+    description = "GNU Emacs 24, the extensible, customizable text editor";
 
     longDescription = ''
       GNU Emacs is an extensible, customizable text editor—and more.  At its
@@ -64,7 +64,7 @@ EOF
       separately.
     '';
 
-    homepage = http://www.gnu.org/software/emacs/;
+    homepage = "http://www.gnu.org/software/emacs/";
     license = "GPLv3+";
 
     maintainers = with stdenv.lib.maintainers; [ ludo simons chaoflow ];
diff --git a/pkgs/applications/editors/emacs-modes/js2/default.nix b/pkgs/applications/editors/emacs-modes/js2/default.nix
index e5958021aa27..87661d75ff51 100644
--- a/pkgs/applications/editors/emacs-modes/js2/default.nix
+++ b/pkgs/applications/editors/emacs-modes/js2/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchgit, emacs }:
 
 stdenv.mkDerivation {
-  name = "js2-mode-0-20120130";
+  name = "js2-mode-0-20120601";
 
   src = fetchgit {
     url = "git://github.com/mooz/js2-mode.git";
-    rev = "4c008b1987aa53769899e24808b6d74b41b4ff40";
-    sha256 = "6af5f52e46ffe85b7610e2db19a96afbef60a6f5374f1c5db3653448e30160be";
+    rev = "81bcbf7df7077db27facf0470cf9e31c18b8333e";
+    sha256 = "1bec62816ec9d5f5882832902020573d95d038fff25b17bf1975b84a3ab535c3";
   };
 
   buildInputs = [ emacs ];
diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix
index 34acaa6d8807..18c16569cf8e 100644
--- a/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix
+++ b/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix
@@ -22,6 +22,9 @@ stdenv.mkDerivation (rec {
        # @image{ProofGeneral} fails, so remove it.
        sed -i '94d' doc/PG-adapting.texi
        sed -i '101d' doc/ProofGeneral.texi
+
+       # Emacs 24 compatibility.
+       sed -i 's|interactive-p|called-interactively-p '\'''any|' isar/isabelle-system.el generic/proof-{menu,script,splash}.el lib/scomint.el
     '';
 
   preBuild = ''
diff --git a/pkgs/applications/editors/kile/default.nix b/pkgs/applications/editors/kile/default.nix
index c2d2167e3ddc..a24c6b18d8c8 100644
--- a/pkgs/applications/editors/kile/default.nix
+++ b/pkgs/applications/editors/kile/default.nix
@@ -1,16 +1,19 @@
 {stdenv, fetchurl, kdelibs, cmake, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "kile-2.1";
+  name = "kile-2.1.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/kile/${name}.tar.bz2";
-    sha256 = "0ag6ya0625w34hpk0bpkjyi0ydw699zbkf86vwc19mh9cb0n0aic";
+    sha256 = "0nx5fmjrxrndnzvknxnybd8qh15jzfxzbny2rljq3amjw02y9lc2";
   };
 
   buildNativeInputs = [ cmake gettext ];
   buildInputs = [ kdelibs ];
 
+  # for KDE 4.7 the nl translations fail since kile-2.1.2
+  preConfigure = "rm -r translations/nl";
+
   meta = {
     description = "An integrated LaTeX editor for KDE";
     homepage = http://kile.sourceforge.net;
diff --git a/pkgs/applications/editors/leksah/default.nix b/pkgs/applications/editors/leksah/default.nix
index 40b5687ea91b..81fbf5ad98a1 100644
--- a/pkgs/applications/editors/leksah/default.nix
+++ b/pkgs/applications/editors/leksah/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "leksah";
-  version = "0.12.0.3";
-  sha256 = "1374ffwban58kabnynacl0fyzs6756kd5q1lcfya46mp26l7syrd";
+  version = "0.12.1.3";
+  sha256 = "1w61wnd0nq9iqh0pwn9dz3m4qn3m0zasv0m3ki4k7plcdrmkqb3y";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/applications/graphics/cinepaint/default.nix b/pkgs/applications/graphics/cinepaint/default.nix
index 2f1af0f89dd4..bea04f6dc2c3 100644
--- a/pkgs/applications/graphics/cinepaint/default.nix
+++ b/pkgs/applications/graphics/cinepaint/default.nix
@@ -2,7 +2,7 @@
   flex, libtiff, libjpeg, libpng, libexif, zlib, perl, libX11,
   perlXMLParser, python, pygtk, gettext, intltool, babl, gegl,
   glib, makedepend, xf86vidmodeproto, xineramaproto, libXmu, openexr,
-  mesa, libXext, libXpm, libXxf86vm, pixman, libpthreadstubs } :
+  mesa, libXext, libXpm, libXau, libXxf86vm, pixman, libpthreadstubs, fltk } :
 
 stdenv.mkDerivation rec {
   name = "cinepaint-1.0";
@@ -12,15 +12,19 @@ stdenv.mkDerivation rec {
     sha256 = "02mbpsykd7sfr9h6c6gxld6i3bdwnsgvm70b5yff01gwi69w2wi7";
   };
 
-  buildInputs = [ gtk freetype fontconfig lcms flex libtiff libjpeg libpng
+  buildInputs = [ libpng gtk freetype fontconfig lcms flex libtiff libjpeg
     libexif zlib perl libX11 perlXMLParser python pygtk gettext intltool babl
     gegl glib makedepend xf86vidmodeproto xineramaproto libXmu openexr mesa
-    libXext libXpm libXxf86vm pixman libpthreadstubs
+    libXext libXpm libXau libXxf86vm pixman libpthreadstubs fltk
   ];
 
+  patches = [ ./install.patch ];
+
   buildNativeInputs = [ cmake pkgconfig ];
 
-  NIX_CFLAGS_COMPILE = "-I.";
+  NIX_LDFLAGS = "-llcms -ljpeg";
+
+  # NIX_CFLAGS_COMPILE = "-I.";
 
   meta = {
     homepage = http://www.cinepaint.org/;
diff --git a/pkgs/applications/graphics/cinepaint/install.patch b/pkgs/applications/graphics/cinepaint/install.patch
new file mode 100644
index 000000000000..f15ff1c4414d
--- /dev/null
+++ b/pkgs/applications/graphics/cinepaint/install.patch
@@ -0,0 +1,24 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index dfb182f..5adaaa5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -138,7 +138,7 @@ STRING(REPLACE "/" "\\/" ESCAPEDPREFIX ${PREFIX})
+ # Note that for MacOS this needs to be revised 
+ # for the @OSX_ICC...@ variables
+ ADD_CUSTOM_COMMAND(
+-   OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/gimprc
++   OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/gimprc
+    COMMAND  sed -e s/\@platform\@//g
+ 		-e s/\@prefix\@/${ESCAPEDPREFIX}/g 
+ 	        -e s/\@exec_prefix\@/\${prefix}/g
+@@ -155,8 +155,8 @@ ADD_CUSTOM_COMMAND(
+ 
+ ADD_CUSTOM_TARGET(RCFile ALL echo
+       ""
+-      DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/user_install 
+-              ${CMAKE_CURRENT_SOURCE_DIR}/gimprc
++      DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/user_install 
++              ${CMAKE_CURRENT_BINARY_DIR}/gimprc
+    )
+ 
+ 
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index 1c152195d68e..a293311e2a43 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -4,11 +4,11 @@ liblqr1, lensfun, pkgconfig, qjson, libkdcraw, opencv, libkexiv2, libkipi, boost
 shared_desktop_ontologies, marble, mysql }:
 
 stdenv.mkDerivation rec {
-  name = "digikam-2.5.0";
+  name = "digikam-2.6.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/digikam/${name}.tar.bz2";
-    sha256 = "06l52j8i45vyfj3b81ivifqsqdjlcj4g68d8w06c5lhzniwjqaam";
+    sha256 = "1prnaywnbv0xpw6knqagzc4gn1vsj9kw2hvdasjwknc9ljiyl721";
   };
 
   buildNativeInputs = [ cmake automoc4 pkgconfig ];
@@ -20,8 +20,6 @@ stdenv.mkDerivation rec {
   # Make digikam find some FindXXXX.cmake
   KDEDIRS="${marble}:${qjson}";
 
-  patches = [ ./libkvkontakte-not-topdir.patch ./ftbfs-libkipi.patch ];
-
   meta = {
     description = "Photo Management Program";
     license = "GPL";
diff --git a/pkgs/applications/graphics/digikam/ftbfs-libkipi.patch b/pkgs/applications/graphics/digikam/ftbfs-libkipi.patch
deleted file mode 100644
index cf7e77f7ef8a..000000000000
--- a/pkgs/applications/graphics/digikam/ftbfs-libkipi.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-commit 25cc9c9876a5233bd630105d0110319892d4e18c
-Author: Gilles Caulier <caulier.gilles@gmail.com>
-Date:   Tue Jan 3 15:16:37 2012 +0100
-
-    enable checkall and clearall buttons only with libkipi version 1.4.0
-    BUGS: 290496
-
-diff --git a/core/utilities/setup/setupplugins.cpp b/utilities/setup/setupplugins.cpp
-index 0f4030a..b8efb35 100644
---- a/core/utilities/setup/setupplugins.cpp
-+++ b/core/utilities/setup/setupplugins.cpp
-@@ -6,8 +6,8 @@
-  * Date        : 2004-01-02
-  * Description : setup Kipi plugins tab.
-  *
-- * Copyright (C) 2004-2011 by Gilles Caulier <caulier dot gilles at gmail dot com>
-- * Copyright (C) 2011 by Andi Clemens <andi dot clemens at googlemail dot com>
-+ * Copyright (C) 2004-2012 by Gilles Caulier <caulier dot gilles at gmail dot com>
-+ * Copyright (C) 2011-2012 by Andi Clemens <andi dot clemens at googlemail dot com>
-  *
-  * This program is free software; you can redistribute it
-  * and/or modify it under the terms of the GNU General
-@@ -100,6 +100,11 @@ SetupPlugins::SetupPlugins(QWidget* parent)
- 
-     panel->setLayout(mainLayout);
- 
-+#if KIPI_VERSION < 0x010400
-+    d->checkAllBtn->setVisible(false);
-+    d->clearBtn->setVisible(false);
-+#endif
-+
-     initPlugins();
- 
-     // --------------------------------------------------------
-@@ -158,14 +163,18 @@ void SetupPlugins::applyPlugins()
- void SetupPlugins::slotCheckAll()
- {
-     QApplication::setOverrideCursor(Qt::WaitCursor);
-+#if KIPI_VERSION >= 0x010400
-     d->kipiConfig->slotCheckAll();
-+#endif
-     QApplication::restoreOverrideCursor();
- }
- 
- void SetupPlugins::slotClear()
- {
-     QApplication::setOverrideCursor(Qt::WaitCursor);
-+#if KIPI_VERSION >= 0x010400
-     d->kipiConfig->slotClear();
-+#endif
-     QApplication::restoreOverrideCursor();
- }
- 
-diff --git a/core/utilities/setup/setupplugins.h b/utilities/setup/setupplugins.h
-index 271a569..114e0fa 100644
---- a/core/utilities/setup/setupplugins.h
-+++ b/core/utilities/setup/setupplugins.h
-@@ -6,8 +6,8 @@
-  * Date        : 2004-01-02
-  * Description : setup Kipi plugins tab.
-  *
-- * Copyright (C) 2004-2011 by Gilles Caulier <caulier dot gilles at gmail dot com>
-- * Copyright (C) 2011 by Andi Clemens <andi dot clemens at googlemail dot com>
-+ * Copyright (C) 2004-2012 by Gilles Caulier <caulier dot gilles at gmail dot com>
-+ * Copyright (C) 2011-2012 by Andi Clemens <andi dot clemens at googlemail dot com>
-  *
-  * This program is free software; you can redistribute it
-  * and/or modify it under the terms of the GNU General
diff --git a/pkgs/applications/graphics/digikam/libkvkontakte-not-topdir.patch b/pkgs/applications/graphics/digikam/libkvkontakte-not-topdir.patch
deleted file mode 100644
index ee92a886c79d..000000000000
--- a/pkgs/applications/graphics/digikam/libkvkontakte-not-topdir.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-commit 0f0cfa14805519cfd9e0b97ee9668dc4f86379de
-Author: Yury G. Kudryashov <urkud.urkud@gmail.com>
-Date:   Wed Jan 18 05:07:13 2012 +0400
-
-    Use CMAKE_CURRENT_{SOURCE,BINARY}_DIR
-    
-    Some projects (e.g., digikam) include snapshots of this library into their
-    release tarballs, so the libkvkontakte_SOURCE_DIR != CMAKE_SOURCE_DIR.
-
-diff --git a/extra/libkvkontakte/CMakeLists.txt b/extra/libkvkontakte/CMakeLists.txt
-index f19b28b..4310a74 100644
---- a/extra/libkvkontakte/CMakeLists.txt
-+++ b/extra/libkvkontakte/CMakeLists.txt
-@@ -21,7 +21,7 @@ set(INCLUDE_INSTALL_DIR include )
- 
- 
- # === Closer to the code, close to the body ===
--set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")
-+set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
- find_package(KDE4 REQUIRED)
- include(KDE4Defaults)
- include(MacroLibrary)
-@@ -35,8 +35,8 @@ macro_log_feature(QJSON_FOUND "QJSON" "Qt library for handling JSON data" "http:
- add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
- 
- include_directories(
--  ${CMAKE_SOURCE_DIR}
--  ${CMAKE_BINARY_DIR}
-+  ${CMAKE_CURRENT_SOURCE_DIR}
-+  ${CMAKE_CURRENT_BINARY_DIR}
-   ${KDE4_INCLUDES}
-   ${QJSON_INCLUDE_DIR}
- )
diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix
new file mode 100644
index 000000000000..bf29ae13e5e7
--- /dev/null
+++ b/pkgs/applications/graphics/gimp/2.8.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, pkgconfig, intltool, babl, gegl, gtk, glib, gdk_pixbuf
+, pango, cairo, freetype, fontconfig, lcms2, libpng, libjpeg, poppler, libtiff
+, webkit, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, jasper
+, python, pygtk, libart_lgpl, libexif, gettext, xlibs }:
+
+stdenv.mkDerivation rec {
+  name = "gimp-2.8.0";
+  
+  src = fetchurl {
+    url = "ftp://ftp.gimp.org/pub/gimp/v2.8/${name}.tar.bz2";
+    md5 = "28997d14055f15db063eb92e1c8a7ebb";
+  };
+  
+  buildInputs = 
+    [ pkgconfig intltool babl gegl gtk glib gdk_pixbuf pango cairo
+      freetype fontconfig lcms2 libpng libjpeg poppler libtiff webkit
+      libmng librsvg libwmf zlib libzip ghostscript aalib jasper
+      python pygtk libart_lgpl libexif gettext 
+    ];
+
+  passthru = { inherit gtk; }; # probably its a good idea to use the same gtk in plugins ?
+
+  #configureFlags = [ "--disable-print" ];
+
+  # "screenshot" needs this.
+  NIX_LDFLAGS = "-rpath ${xlibs.libX11}/lib";
+
+  meta = {
+    description = "The GNU Image Manipulation Program";
+    homepage = http://www.gimp.org/;
+    license = "GPL";
+  };
+}
diff --git a/pkgs/applications/graphics/mcomix/default.nix b/pkgs/applications/graphics/mcomix/default.nix
new file mode 100644
index 000000000000..7629c57a2b86
--- /dev/null
+++ b/pkgs/applications/graphics/mcomix/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, buildPythonPackage, pygtk, pil }:
+
+buildPythonPackage rec {
+    namePrefix = "";
+    name = "mcomix-0.98";
+
+    src = fetchurl {
+      url = "mirror://sourceforge/mcomix/${name}.tar.bz2";
+      sha256 = "93805b6c8540bd673ac4a6ef6e952f00f8fc10e59a63c7e163324a64db2a6b03";
+    };
+
+    doCheck = false;
+
+    pythonPath = [ pygtk pil ];
+
+    meta = {
+      description = "Image viewer designed to handle comic books";
+
+      longDescription = ''
+        MComix is an user-friendly, customizable image viewer. It is specifically
+        designed to handle comic books, but also serves as a generic viewer.
+        It reads images in ZIP, RAR, 7Zip or tar archives as well as plain image
+        files. It is written in Python and uses GTK+ through the PyGTK bindings,
+        and runs on both Linux and Windows.
+
+        MComix is a fork of the Comix project, and aims to add bug fixes and
+        stability improvements after Comix development came to a halt in late 2009.
+      '';
+
+      homepage = http://mcomix.sourceforge.net/;
+
+      license = "GPLv2";
+    };
+}
diff --git a/pkgs/applications/graphics/mirage/default.nix b/pkgs/applications/graphics/mirage/default.nix
new file mode 100644
index 000000000000..dd1fbcc7e073
--- /dev/null
+++ b/pkgs/applications/graphics/mirage/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, buildPythonPackage, python, pygtk, pil, libX11, gettext }:
+
+buildPythonPackage rec {
+    namePrefix = "";
+    name = "mirage-0.9.5.2";
+
+    src = fetchurl {
+      url = "http://download.berlios.de/mirageiv/${name}.tar.bz2";
+      sha256 = "d214a1b6d99d1d1e83da5848a2cef181f6781e0990e93f7ebff5880b0c43f43c";
+    };
+
+    postInstall = ''
+      mv $out/lib/${python.libPrefix}/site-packages/*.egg/share $out
+    '';
+
+    doCheck = false;
+
+    buildInputs = [ stdenv libX11 gettext ];
+
+    pythonPath = [ pygtk pil ];
+
+    meta = {
+      description = "Simple image viewer written in PyGTK";
+
+      homepage = http://mirageiv.berlios.de/;
+
+      license = "GPLv2";
+    };
+}
diff --git a/pkgs/applications/graphics/rawtherapee/default.nix b/pkgs/applications/graphics/rawtherapee/default.nix
index 4b61ac740cb9..328181790ac1 100644
--- a/pkgs/applications/graphics/rawtherapee/default.nix
+++ b/pkgs/applications/graphics/rawtherapee/default.nix
@@ -1,35 +1,23 @@
-{ stdenv, fetchsvn, pkgconfig, gtk, cmake, pixman, libpthreadstubs, gtkmm, libXau,
-libXdmcp, lcms, libiptcdata
+{ stdenv, fetchurl, pkgconfig, gtk, cmake, pixman, libpthreadstubs, gtkmm, libXau
+, libXdmcp, lcms2, libiptcdata
+, mercurial  # Not really needed for anything, but it fails if it does not find 'hg'
 }:
 
 stdenv.mkDerivation rec {
-  name = "rawtherapee-svn-25";
+  name = "rawtherapee-4.0.9";
   
-  src = fetchsvn {
-    url = "http://rawtherapee.googlecode.com/svn/trunk";
-    rev = 25;
-    sha256 = "09jg47rs09lly70x1zlrb3qcwi2rry1m7gjzs39iqzp53hi9j9mh";
+  src = fetchurl {
+    url = http://rawtherapee.googlecode.com/files/rawtherapee-4.0.9.tar.xz;
+    sha256 = "1ll7n7gzxs00jpw3gp9xfr90lbwqafkgqpps3j5ig6mf79frpm2a";
   };
   
   buildInputs = [ pkgconfig gtk cmake pixman libpthreadstubs gtkmm libXau libXdmcp
-    lcms libiptcdata ];
-
-  # Rawtherapee died if the default setting for the icc directory pointed to a
-  # non existant place
-  patchPhase = ''
-    sed -i s,/usr/share/color/icc,/tmp/, rtgui/options.cc
-  '';
+    lcms2 libiptcdata mercurial ];
 
   # Disable the use of the RAWZOR propietary libraries
   cmakeFlags = [ "-DWITH_RAWZOR=OFF" ];
 
-  installPhase = ''
-    mkdir -p $out/bin $out/lib
-    cp rtgui/rt $out/bin
-    # Weird kind of path reference
-    cp -r ../release/* $out/bin
-    cp rtengine/*.so $out/lib
-  '';
+  enableParallelBuilding = true;
 
   meta = {
     description = "RAW converter and digital photo processing software";
diff --git a/pkgs/applications/graphics/tesseract/default.nix b/pkgs/applications/graphics/tesseract/default.nix
index 07a160a2e486..da38cce14422 100644
--- a/pkgs/applications/graphics/tesseract/default.nix
+++ b/pkgs/applications/graphics/tesseract/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libtiff }:
+{ stdenv, fetchurl, autoconf, automake, libtool, leptonica, libpng, libtiff }:
 
 let
   f = lang : sha256 : let
@@ -18,14 +18,21 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "tesseract-3.0.0";
+  name = "tesseract-3.0.1";
 
   src = fetchurl {
-    url = http://tesseract-ocr.googlecode.com/files/tesseract-3.00.tar.gz;
-    sha256 = "111r9hy1rcs2ch4kdi9dkzwch3xg38vv379sf3cjpkswkigx8clw";
+    url = http://tesseract-ocr.googlecode.com/files/tesseract-3.01.tar.gz;
+    sha256 = "c24b0bd278291bc93ab242f93841c1d8743689c943bd804afbc5b898dc0a1c9b";
   };
 
-  buildInputs = [ libtiff ];
+  buildInputs = [ autoconf automake libtool leptonica libpng libtiff ];
+
+  preConfigure = ''
+      ./autogen.sh
+      substituteInPlace "configure" \
+        --replace 'LIBLEPT_HEADERSDIR="/usr/local/include /usr/include"' \
+                  'LIBLEPT_HEADERSDIR=${leptonica}/include'
+  '';
 
   postInstall = extraLanguages;
 
diff --git a/pkgs/applications/graphics/zgrviewer/default.nix b/pkgs/applications/graphics/zgrviewer/default.nix
new file mode 100644
index 000000000000..5fe30bd7a03d
--- /dev/null
+++ b/pkgs/applications/graphics/zgrviewer/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, jre, unzip}:
+stdenv.mkDerivation rec {
+  version = "0.8.2";
+  pname = "zgrviewer";
+  name="${pname}-${version}";
+  src = fetchurl {
+    url = "mirror://sourceforge/zvtm/${pname}/${version}/${name}.zip";
+    sha256 = "a76b9865c1490a6cfc08911592a19c15fe5972bf58e017cb31db580146f069bb";
+  };
+  buildInputs = [jre unzip];
+  buildPhase = "";
+  installPhase = ''
+    mkdir -p "$out"/{bin,lib/java/zvtm/plugins,share/doc/zvtm}
+
+    cp overview.html *.license.* "$out/share/doc/zvtm"
+
+    cp -r target/* "$out/lib/java/zvtm/"
+
+    echo '#!/bin/sh' > "$out/bin/zgrviewer"
+    echo "java -jar '$out/lib/java/zvtm/zgrviewer-${version}.jar'" >> "$out/bin/zgrviewer"
+    chmod a+x "$out/bin/zgrviewer"
+  '';
+  meta = {
+    # Quicker to unpack locally than load Hydra
+    platforms = [];
+    maintainers = with stdenv.lib.maintainers; [raskin];
+    license = with stdenv.lib.licenses; lgpl21Plus;
+    description = "GraphViz graph viewer/navigator";
+  };
+}
diff --git a/pkgs/applications/misc/bitcoin/default.nix b/pkgs/applications/misc/bitcoin/default.nix
index de74cd6abd9a..63f4f77942af 100644
--- a/pkgs/applications/misc/bitcoin/default.nix
+++ b/pkgs/applications/misc/bitcoin/default.nix
@@ -1,39 +1,33 @@
 { fetchurl, stdenv, openssl, db4, boost, zlib, miniupnpc, qt4 }:
 
 stdenv.mkDerivation rec {
-  version = "0.5.0";
+  version = "0.6.3";
   name = "bitcoin-${version}";
 
   src = fetchurl {
-    url = " https://github.com/bitcoin/bitcoin/tarball/v${version}";
-    sha256 = "1i9wnbjf9yrs9rq5jnh9pk1x5j982qh3xpjm05z8dgd3nympgyy8";
+    url = "mirror://sourceforge/bitcoin/${name}-linux.tar.gz";
+    sha256 = "722d4209ff4a951a9eb5cae26a33ad62770fdcb5dfb5acf0b5c6a8f6f3a8a0ef";
   };
 
   buildInputs = [ openssl db4 boost zlib miniupnpc qt4 ];
 
-  unpackCmd = "tar xvf $curSrc";
-
-  buildPhase = ''
-    qmake
-    make
+  configurePhase = ''
     cd src
-    make -f makefile.unix
-    cd ..
+    qmake
   '';
 
   installPhase = ''
     mkdir -p $out/bin
     cp bitcoin-qt $out/bin
-    cp src/bitcoind $out/bin
   '';
 
-  meta = { 
+  meta = {
       description = "Bitcoin is a peer-to-peer currency";
-      longDescription=''
-Bitcoin is a free open source peer-to-peer electronic cash system that is
-completely decentralized, without the need for a central server or trusted
-parties.  Users hold the crypto keys to their own money and transact directly
-with each other, with the help of a P2P network to check for double-spending.
+      longDescription= ''
+        Bitcoin is a free open source peer-to-peer electronic cash system that is
+        completely decentralized, without the need for a central server or trusted
+        parties.  Users hold the crypto keys to their own money and transact directly
+        with each other, with the help of a P2P network to check for double-spending.
       '';
       homepage = "http://www.bitcoin.org/";
       maintainers = [ stdenv.lib.maintainers.roconnor ];
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index c291192ef01e..e8307a79cf75 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -3,11 +3,11 @@ libpng, libsamplerate, libtiff, mesa, openal, openexr, openjpeg,
 python, zlib, boost }:
 
 stdenv.mkDerivation rec {
-  name = "blender-2.62";
+  name = "blender-2.63a";
 
   src = fetchurl {
     url = "http://download.blender.org/source/${name}.tar.gz";
-    sha256 = "19xfr5vx66p4p3hnqpglpky6f4bh3ay484mdgh7zg6j9f80dp53q";
+    sha256 = "c479b1abfe5fd8a1a5d04b8d21fdbc0fc960d7855b24785b888c09792bca4c1a";
   };
 
   buildInputs = [ cmake mesa gettext python libjpeg libpng zlib openal
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-iquote ${ilmbase}/include/OpenEXR -I${python}/include/${python.libPrefix}";
 
-  meta = { 
+  meta = {
     description = "3D Creation/Animation/Publishing System";
     homepage = http://www.blender.org;
     # They comment two licenses: GPLv2 and Blender License, but they
diff --git a/pkgs/applications/misc/dmenu/default.nix b/pkgs/applications/misc/dmenu/default.nix
index 32af65f924a2..eae0b0ff233a 100644
--- a/pkgs/applications/misc/dmenu/default.nix
+++ b/pkgs/applications/misc/dmenu/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, libX11, libXinerama}:
 
 stdenv.mkDerivation rec {
-  name = "dmenu-4.4.1";
+  name = "dmenu-4.5";
 
   src = fetchurl {
     url = "http://dl.suckless.org/tools/${name}.tar.gz";
-    sha256 = "0l25vdnzlslk0r4m6hjkzxdygh3wpq04b9mr8zc9h3b1md2icr3d";
+    sha256 = "0l58jpxrr80fmyw5pgw5alm5qry49aw6y049745wl991v2cdcb08";
   };
 
   buildInputs = [ libX11 libXinerama ];
@@ -20,3 +20,4 @@ stdenv.mkDerivation rec {
       platforms = with stdenv.lib.platforms; all;
   };
 }
+
diff --git a/pkgs/applications/misc/eaglemode/default.nix b/pkgs/applications/misc/eaglemode/default.nix
index f027588c5dc6..519db53ea18f 100644
--- a/pkgs/applications/misc/eaglemode/default.nix
+++ b/pkgs/applications/misc/eaglemode/default.nix
@@ -2,11 +2,11 @@
 librsvg, glib, gtk, libXext, libXxf86vm, poppler }:
 
 stdenv.mkDerivation {
-  name = "eaglemode-0.83.0";
+  name = "eaglemode-0.84.0";
  
   src = fetchurl {
-    url = mirror://sourceforge/eaglemode/eaglemode-0.83.0.tar.bz2;
-    sha256 = "0rlvi9ljf3ml2l4ydkcgjjja8wk9c7h5qlpdr4x4ghh6sqq0q2x3";
+    url = mirror://sourceforge/eaglemode/eaglemode-0.84.0.tar.bz2;
+    sha256 = "0n20b419j0l7h7jr4s3f3n09ka0ysg9nqs8mcwsrx24rcq7nv0cs";
   };
  
   buildInputs = [ perl libX11 xineLib libjpeg libpng libtiff pkgconfig 
@@ -14,9 +14,12 @@ stdenv.mkDerivation {
  
   # The program tries to dlopen both Xxf86vm and Xext, so we use the
   # trick on NIX_LDFLAGS and dontPatchELF to make it find them.
+  # I use 'yes y' to skip a build error linking with xineLib, 
+  # because xine stopped exporting "_x_vo_new_port"
+  #  http://sourceforge.net/projects/eaglemode/forums/forum/808824/topic/5115261
   buildPhase = ''
     export NIX_LDFLAGS="$NIX_LDFLAGS -lXxf86vm -lXext"
-    yes n | perl make.pl build
+    yes y | perl make.pl build
   '';
 
   dontPatchELF = true;
diff --git a/pkgs/applications/misc/gnome_terminator/default.nix b/pkgs/applications/misc/gnome_terminator/default.nix
new file mode 100644
index 000000000000..cbd0819e2401
--- /dev/null
+++ b/pkgs/applications/misc/gnome_terminator/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, python, pygtk, vte, gettext, intltool, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-terminator-0.96";
+  
+  src = fetchurl {
+    url = "https://launchpad.net/terminator/trunk/0.96/+download/terminator_0.96.tar.gz";
+    sha256 = "d708c783c36233fcafbd0139a91462478ae40f5cf696ef4acfcaf5891a843201";
+  };
+  
+  buildInputs =
+    [ python pygtk vte gettext intltool makeWrapper
+    ];
+
+  phases = "unpackPhase installPhase";
+
+  installPhase = ''
+    python setup.py --without-icon-cache install --prefix=$out
+    for i in $(cd $out/bin && ls); do
+        wrapProgram $out/bin/$i \
+            --prefix PYTHONPATH : "$(toPythonPath $out):$PYTHONPATH"
+    done
+  '';
+
+  meta = {
+    description = "Gnome terminal emulator with support for tiling and tabs.";
+    homepage = http://www.tenshu.net/p/terminator.html;
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/applications/misc/hello/ex-2/default.nix b/pkgs/applications/misc/hello/ex-2/default.nix
index 2c62159225dd..80a3fb702c02 100644
--- a/pkgs/applications/misc/hello/ex-2/default.nix
+++ b/pkgs/applications/misc/hello/ex-2/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "hello-2.7";
+  name = "hello-2.8";
 
   src = fetchurl {
     url = "mirror://gnu/hello/${name}.tar.gz";
-    sha256 = "1h17p5lgg47lbr2cnp4qqkr0q0f0rpffyzmvs7bvc6vdrxdknngx";
+    sha256 = "0wqd8sjmxfskrflaxywc7gqw7sfawrfvdxd9skxawzfgyy0pzdz6";
   };
 
   doCheck = true;
diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix
index 51e765bb690a..f3fb575c6e57 100644
--- a/pkgs/applications/misc/ikiwiki/default.nix
+++ b/pkgs/applications/misc/ikiwiki/default.nix
@@ -1,32 +1,49 @@
-{ stdenv, fetchurl, perl, gettext, makeWrapper, lib, PerlMagick, YAML
+{ stdenv, fetchurl, perl, gettext, makeWrapper, PerlMagick, YAML
 , TextMarkdown, URI, HTMLParser, HTMLScrubber, HTMLTemplate, TimeDate
 , CGISession, CGIFormBuilder, DBFile, LocaleGettext, RpcXML, XMLSimple
-, YAMLLibYAML
+, YAMLLibYAML, which, HTMLTree
 , gitSupport ? false, git ? null
+, docutilsSupport ? false, python ? null, docutils ? null
 , monotoneSupport ? false, monotone ? null
+, bazaarSupport ? false, bazaar ? null
+, cvsSupport ? false, cvs ? null, cvsps ? null, Filechdir ? null
+, subversionSupport ? false, subversion ? null
+, mercurialSupport ? false, mercurial ? null
 , extraUtils ? []
 }:
 
+assert docutilsSupport -> (python != null && docutils != null);
 assert gitSupport -> (git != null);
 assert monotoneSupport -> (monotone != null);
+assert bazaarSupport -> (bazaar != null);
+assert cvsSupport -> (cvs != null && cvsps != null && Filechdir != null);
+assert subversionSupport -> (subversion != null);
+assert mercurialSupport -> (mercurial != null);
 
 let
   name = "ikiwiki";
-  version = "3.20120419";
+  version = "3.20120629";
+
+  lib = stdenv.lib;
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz";
-    sha256 = "0d4fd709f4b3d33336d2dfa27f08e1473019d87869d9c1ffcb77f3ca9c434eaf";
+    sha256 = "7e39cdb727f261ce20fde5f0b05966680589a3d028c569780addd4b530382f07";
   };
 
   buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate
     TimeDate gettext makeWrapper DBFile CGISession CGIFormBuilder LocaleGettext
-    RpcXML XMLSimple PerlMagick YAML YAMLLibYAML ]
-    ++ stdenv.lib.optionals gitSupport [git]
-    ++ stdenv.lib.optionals monotoneSupport [monotone];
+    RpcXML XMLSimple PerlMagick YAML YAMLLibYAML which HTMLTree ]
+    ++ lib.optionals docutilsSupport [python docutils]
+    ++ lib.optionals gitSupport [git]
+    ++ lib.optionals monotoneSupport [monotone]
+    ++ lib.optionals bazaarSupport [bazaar]
+    ++ lib.optionals cvsSupport [cvs cvsps Filechdir]
+    ++ lib.optionals subversionSupport [subversion]
+    ++ lib.optionals mercurialSupport [mercurial];
 
   patchPhase = ''
     sed -i s@/usr/bin/perl@${perl}/bin/perl@ pm_filter mdwn2man
@@ -42,17 +59,26 @@ stdenv.mkDerivation {
   postInstall = ''
     for a in "$out/bin/"*; do
       wrapProgram $a --suffix PERL5LIB : $PERL5LIB --prefix PATH : ${perl}/bin:$out/bin \
-      ${lib.optionalString gitSupport
-        ''--prefix PATH : ${git}/bin \''}
-      ${lib.optionalString monotoneSupport
-        ''--prefix PATH : ${monotone}/bin \''}
+      ${lib.optionalString gitSupport ''--prefix PATH : ${git}/bin \''}
+      ${lib.optionalString monotoneSupport ''--prefix PATH : ${monotone}/bin \''}
+      ${lib.optionalString bazaarSupport ''--prefix PATH : ${bazaar}/bin \''}
+      ${lib.optionalString cvsSupport ''--prefix PATH : ${cvs}/bin \''}
+      ${lib.optionalString cvsSupport ''--prefix PATH : ${cvsps}/bin \''}
+      ${lib.optionalString subversionSupport ''--prefix PATH : ${subversion}/bin \''}
+      ${lib.optionalString mercurialSupport ''--prefix PATH : ${mercurial}/bin \''}
       ${lib.concatMapStrings (x: "--prefix PATH : ${x}/bin ") extraUtils}
     done
   '';
 
+  checkTarget = "test";
+  doCheck = true;
+
   meta = {
     description = "Wiki compiler, storing pages and history in a RCS";
-    homepage = http://ikiwiki.info/;
+    homepage = "http://ikiwiki.info/";
     license = "GPLv2+";
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix
index 64ff3142ef17..4358c3fe6e75 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -4,25 +4,21 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.0";
+  version = "2.0.3";
   name = "lyx-${version}";
 
   src = fetchurl {
     url = "ftp://ftp.lyx.org/pub/lyx/stable/2.0.x/${name}.tar.xz";
-    sha256 = "a790951d6ed660b254e82d682b478665f119dd522ab4759fdeb5cd8d42f66f61";
+    sha256 = "1j2sl22w41h4vrgnxv2n0s7d11k6zchjbggjw3ai9yxcahvrj72f";
   };
 
   buildInputs = [texLive qt python makeWrapper pkgconfig ];
 
-  # don't ask me why it can't find libX11.so.6
-  postInstall = ''
-    wrapProgram $out/bin/lyx \
-      --prefix LD_LIBRARY_PATH ":" ${libX11}/lib
-  '';
-
-  meta = { 
-      description = "WYSIWYM frontend for LaTeX, DocBook, etc.";
-      homepage = "http://www.lyx.org";
-      license = "GPL2";
+  meta = {
+    description = "WYSIWYM frontend for LaTeX, DocBook, etc.";
+    homepage = "http://www.lyx.org";
+    license = "GPL2";
+    maintainers = [ stdenv.lib.maintainers.neznalek ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/stardict/stardict-3.0.3-compositelookup_cpp.patch b/pkgs/applications/misc/stardict/stardict-3.0.3-compositelookup_cpp.patch
new file mode 100644
index 000000000000..86825555d9cb
--- /dev/null
+++ b/pkgs/applications/misc/stardict/stardict-3.0.3-compositelookup_cpp.patch
@@ -0,0 +1,19 @@
+This patch is from OpenSUSE .src.rpm for the following crash on startup:
+
+ERROR:compositelookup.cpp:53:void CompositeLookup::send_net_dict_request(const string&, const string&): assertion failed: (NetDictRequests.end() == std::find(NetDictRequests.begin(), NetDictRequests.end(), request))
+
+--- dict/src/lib/compositelookup.cpp
++++ dict/src/lib/compositelookup.cpp
+@@ -50,8 +50,10 @@
+ void CompositeLookup::send_net_dict_request(const std::string& dict_id, const std::string& key)
+ {
+ 	NetDictRequest request(dict_id, key);
+-	g_assert(NetDictRequests.end() == std::find(NetDictRequests.begin(), NetDictRequests.end(), request));
+-	NetDictRequests.push_back(request);
++	if(NetDictRequests.end() == std::find(NetDictRequests.begin(), NetDictRequests.end(), request))
++	{
++	  NetDictRequests.push_back(request);
++	}
+ }
+ 
+ /* returns true if got expected response */
diff --git a/pkgs/applications/misc/stardict/stardict-3.0.3-correct-glib-include.patch b/pkgs/applications/misc/stardict/stardict-3.0.3-correct-glib-include.patch
new file mode 100644
index 000000000000..fd89243938eb
--- /dev/null
+++ b/pkgs/applications/misc/stardict/stardict-3.0.3-correct-glib-include.patch
@@ -0,0 +1,13 @@
+http://bugs.gentoo.org/396219
+
+--- dict/src/tomboykeybinder.h
++++ dict/src/tomboykeybinder.h
+@@ -21,7 +21,7 @@
+ #ifndef __TOMBOY_KEY_BINDER_H__
+ #define __TOMBOY_KEY_BINDER_H__
+ 
+-#include <glib/gtypes.h>
++#include <glib.h>
+ 
+ G_BEGIN_DECLS
+ 
diff --git a/pkgs/applications/misc/stardict/stardict-3.0.3-entry.patch b/pkgs/applications/misc/stardict/stardict-3.0.3-entry.patch
new file mode 100644
index 000000000000..38182b0c8e0b
--- /dev/null
+++ b/pkgs/applications/misc/stardict/stardict-3.0.3-entry.patch
@@ -0,0 +1,20 @@
+warning: key "Encoding" in group "Desktop Entry" is deprecated
+error: value "stardict.png" for key "Icon" in group "Desktop Entry" is an icon name with an extension, but there should be no extension
+error: value "Dictionary" in key "Categories" in group "Desktop Entry" requires another category to be present among the following categories: Office;TextTools
+
+--- dict/data/stardict.desktop.in
++++ dict/data/stardict.desktop.in
+@@ -1,11 +1,10 @@
+ [Desktop Entry]
+-Encoding=UTF-8
+ _Name=StarDict
+ _Comment=Lookup words
+ Exec=stardict
+ Terminal=false
+ Type=Application
+-Icon=stardict.png
++Icon=stardict
+ StartupNotify=true
+-Categories=Utility;Dictionary;
++Categories=Utility;Office;TextTools;Dictionary;
+ X-GNOME-DocPath=stardict/stardict.xml
diff --git a/pkgs/applications/misc/stardict/stardict-3.0.3-gcc46.patch b/pkgs/applications/misc/stardict/stardict-3.0.3-gcc46.patch
new file mode 100644
index 000000000000..d85bc0de5ce0
--- /dev/null
+++ b/pkgs/applications/misc/stardict/stardict-3.0.3-gcc46.patch
@@ -0,0 +1,13 @@
+http://bugs.gentoo.org/362299
+
+--- dict/stardict-plugins/stardict-wordnet-plugin/scene.h
++++ dict/stardict-plugins/stardict-wordnet-plugin/scene.h
+@@ -25,6 +25,8 @@
+ #ifndef __PHYSICS_H__
+ #define __PHYSICS_H__
+ 
++#include <cstddef>
++
+ #include "partic.h"
+ #include "spring.h"
+ 
diff --git a/pkgs/applications/misc/stardict/stardict-3.0.3-overflow.patch b/pkgs/applications/misc/stardict/stardict-3.0.3-overflow.patch
new file mode 100644
index 000000000000..482490105704
--- /dev/null
+++ b/pkgs/applications/misc/stardict/stardict-3.0.3-overflow.patch
@@ -0,0 +1,26 @@
+This patch is stardict-tools-3.0.3-destbufferoverflow.patch from OpenSUSE .src.rpm for:
+
+warning: call to ‘__fgets_chk_warn’ declared with attribute warning: fgets called with bigger size than length of destination buffer [enabled by default]
+
+--- tools/src/myspell2dic.c
++++ tools/src/myspell2dic.c
+@@ -132,7 +132,7 @@ if (argc<3) 
+ 
+ fprintf(stderr, "Enter grammar language [Spanish]: ");
+ fflush(stderr);
+-fgets(lang, 100, stdin);
++fgets(lang, 50, stdin);
+ if ((p=strchr(lang, '\n'))!=NULL) *p=0;
+ if (*lang==0) strcpy(lang, "Spanish");
+ 
+--- tools/src/ooo2dict.c
++++ tools/src/ooo2dict.c
+@@ -71,7 +71,7 @@ current2=malloc(10000);
+ 
+ fprintf(stderr, "Enter thesaurus language [WordNet_English]: ");
+ fflush(stderr);
+-fgets(lang, 100, stdin);
++fgets(lang, 50, stdin);
+ if ((p=strchr(lang, '\n'))!=NULL) *p=0;
+ if (*lang==0) strcpy(lang, "WordNet_English");
+ F=fopen((argc>1)? argv[1]: "/usr/share/myspell/dicts/th_en_US_v2.dat", "rt");
diff --git a/pkgs/applications/misc/stardict/stardict-3.0.3-zlib-1.2.5.2.patch b/pkgs/applications/misc/stardict/stardict-3.0.3-zlib-1.2.5.2.patch
new file mode 100644
index 000000000000..6a320bd4a9f2
--- /dev/null
+++ b/pkgs/applications/misc/stardict/stardict-3.0.3-zlib-1.2.5.2.patch
@@ -0,0 +1,39 @@
+http://bugs.gentoo.org/401887
+
+diff --git a/lib/src/libcommon.cpp b/lib/src/libcommon.cpp
+index 16770a3..a4299e7 100644
+--- a/lib/src/libcommon.cpp
++++ b/lib/src/libcommon.cpp
+@@ -614,7 +614,7 @@ int unpack_zlib(const char* arch_file_name, const char* out_file_name)
+ 		return EXIT_FAILURE;
+ 	}
+ 	while(true) {
+-		len = gzread(get_impl(in), buf, buffer_size);
++		len = gzread((gzFile)get_impl(in), buf, buffer_size);
+ 		if(len < 0) {
+ 			g_critical(read_file_err, arch_file_name, "");
+ 			return EXIT_FAILURE;
+@@ -871,3 +871,8 @@ int remove_recursive(const std::string& path)
+ 		return res;
+ 	}
+ }
++
++int gzclose_compat(void * file)
++{
++    return gzclose ((gzFile)file);
++}
+diff --git a/lib/src/libcommon.h b/lib/src/libcommon.h
+index 10f13b4..bdcbf2f 100644
+--- a/lib/src/libcommon.h
++++ b/lib/src/libcommon.h
+@@ -187,8 +187,9 @@ namespace clib {
+ 	typedef ResourceWrapper<FILE, FILE*, int, fclose> File;
+ }
+ 
++extern int gzclose_compat(void * file);
+ namespace zip {
+-typedef ResourceWrapper<void, void*, int, gzclose> gzFile;
++typedef ResourceWrapper<void, void*, int, gzclose_compat> gzFile;
+ }
+ 
+ /* Create a new temporary file. Return file name in file name encoding.
diff --git a/pkgs/applications/misc/stardict/stardict.nix b/pkgs/applications/misc/stardict/stardict.nix
new file mode 100644
index 000000000000..9eb3e1123421
--- /dev/null
+++ b/pkgs/applications/misc/stardict/stardict.nix
@@ -0,0 +1,46 @@
+{stdenv, fetchurl, pkgconfig, gtk, glib, zlib, libxml2, intltool, gnome_doc_utils, libgnomeui, scrollkeeper, mysql, pcre, which, libxslt}:
+stdenv.mkDerivation rec {
+  name= "stardict-3.0.3";
+
+  src = fetchurl {
+    url = "http://stardict-3.googlecode.com/files/${name}.tar.bz2";
+    sha256 = "0wrb8xqy6x9piwrn0vw5alivr9h3b70xlf51qy0jpl6d7mdhm8cv";
+  };
+
+  buildInputs = [ pkgconfig gtk glib zlib libxml2 intltool gnome_doc_utils libgnomeui scrollkeeper mysql pcre which libxslt];
+
+  postPatch = ''
+    # mysql hacks: we need dynamic linking as there is no libmysqlclient.a
+    substituteInPlace tools/configure --replace '/usr/local/include/mysql' '${mysql}/include/mysql/'
+    substituteInPlace tools/configure --replace 'AC_FIND_FILE([libmysqlclient.a]' 'AC_FIND_FILE([libmysqlclient.so]'
+    substituteInPlace tools/configure --replace '/usr/local/lib/mysql' '${mysql}/lib/mysql/'
+    substituteInPlace tools/configure --replace 'for y in libmysqlclient.a' 'for y in libmysqlclient.so'
+    substituteInPlace tools/configure --replace 'libmysqlclient.a' 'libmysqlclient.so'
+
+    # a list of p0 patches from gentoo devs
+    patch -p0 < ${./stardict-3.0.3-overflow.patch}
+    patch -p0 < ${./stardict-3.0.3-gcc46.patch}
+    patch -p0 < ${./stardict-3.0.3-compositelookup_cpp.patch}
+    patch -p0 < ${./stardict-3.0.3-correct-glib-include.patch}
+    patch -p0 < ${./stardict-3.0.3-entry.patch}
+
+    # disable the xsltproc internet query
+    substituteInPlace dict/help/Makefile.am --replace 'xsltproc -o' 'xsltproc --nonet -o'
+    substituteInPlace dict/help/Makefile.in --replace 'xsltproc -o' 'xsltproc --nonet -o'
+  '';
+
+  # another gentoo patch: a p1 patch
+  patches = [ ./stardict-3.0.3-zlib-1.2.5.2.patch ];
+
+  configurePhase = ''
+    ./configure --disable-spell --disable-gucharmap --disable-festival --disable-espeak --disable-scrollkeeper --prefix=$out
+  '';
+
+  meta = {
+    description = "stardict";
+    homepage = "A international dictionary supporting fuzzy and glob style matching";
+    license = "LGPL3";
+    maintainers = with stdenv.lib.maintainers; [qknight];
+  };
+}
+
diff --git a/pkgs/applications/misc/taskwarrior/default.nix b/pkgs/applications/misc/taskwarrior/default.nix
index 1202c4327bb4..95f9de2f42b8 100644
--- a/pkgs/applications/misc/taskwarrior/default.nix
+++ b/pkgs/applications/misc/taskwarrior/default.nix
@@ -1,13 +1,26 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, cmake, lua5 }:
 
 stdenv.mkDerivation {
-  name = "task-warrior-1.9.4";
+  name = "task-warrior-2.0.0";
 
   src = fetchurl {
-    url = http://www.taskwarrior.org/download/task-1.9.4.tar.gz;
-    sha256 = "0jnk30k1b2j3nx39il70jmj6p49wxp6cl4awd8hw71gqkcf6480h";
+    url = http://www.taskwarrior.org/download/task-2.0.0.tar.gz;
+    sha256 = "1gbmcynj2n2c9dcykxn27ffk034mvm0zri5hqhfdx593dhv1x5vq";
   };
 
+  NIX_LDFLAGS = "-ldl";
+
+  buildNativeInputs = [ cmake ];
+  buildInputs = [ lua5 ];
+
+  crossAttrs = {
+    preConfigure = ''
+      export NIX_CROSS_LDFLAGS="$NIX_CROSS_LDFLAGS -ldl"
+    '';
+  };
+
+  enableParallelBuilding = true;
+
   meta = {
     description = "Command-line todo list manager";
     homepage = http://taskwarrior.org/;
diff --git a/pkgs/applications/misc/taskwarrior/unstable.nix b/pkgs/applications/misc/taskwarrior/unstable.nix
deleted file mode 100644
index a50654b28d25..000000000000
--- a/pkgs/applications/misc/taskwarrior/unstable.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, cmake, lua5 }:
-
-stdenv.mkDerivation {
-  name = "task-warrior-2.0.0.beta4";
-
-  src = fetchurl {
-    url = http://www.taskwarrior.org/download/task-2.0.0.beta4.tar.gz;
-    sha256 = "1c9n6b5ly3m5kminnsvqgmjxdkb68w4av9kdnh47dw4sj3gwrn1w";
-  };
-
-  NIX_LDFLAGS = "-ldl";
-
-  buildNativeInputs = [ cmake ];
-  buildInputs = [ lua5 ];
-
-  crossAttrs = {
-    preConfigure = ''
-      export NIX_CROSS_LDFLAGS="$NIX_CROSS_LDFLAGS -ldl"
-    '';
-  };
-
-  meta = {
-    description = "Command-line todo list manager";
-    homepage = http://taskwarrior.org/;
-    license = "MIT";
-  };
-}
diff --git a/pkgs/applications/misc/viking/default.nix b/pkgs/applications/misc/viking/default.nix
index a98ed2aa5ff5..70ac055db098 100644
--- a/pkgs/applications/misc/viking/default.nix
+++ b/pkgs/applications/misc/viking/default.nix
@@ -1,19 +1,27 @@
 { fetchurl, stdenv, pkgconfig, intltool, gettext, gtk, expat, curl
-, gpsd, bc, file }:
+, gpsd, bc, file, gnome_doc_utils, libexif, libxml2, libxslt, scrollkeeper
+, docbook_xml_dtd_412 }:
 
-stdenv.mkDerivation rec {
-  name = "viking-0.9.8";
+let version = "1.3"; in
+stdenv.mkDerivation {
+  name = "viking-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/viking/${name}.tar.gz";
-    sha256 = "1is8g6ld5pd13iiv9qm8526q1cblg01pqyakg52sd6k7fys7dz2d";
+    url = "mirror://sourceforge/viking/viking/${version}/viking-${version}.tar.gz";
+    sha256 = "1psgy1myx9xn7zgpvqrpricsv041sz41mm82hj5i28k72fq47p2l";
   };
 
-  patches = [
-    ./test-bc.patch ./gpsdclient.patch ./implicit-declaration.patch
-  ];
+  buildInputs =
+   [ pkgconfig intltool gettext gtk expat curl gpsd bc file gnome_doc_utils
+     libexif libxml2 libxslt scrollkeeper docbook_xml_dtd_412
+   ];
 
-  buildInputs = [ pkgconfig intltool gettext gtk expat curl gpsd bc file ];
+  configureFlags = [ "--disable-scrollkeeper" ];
+
+  preBuild =
+    '' sed -i help/Makefile \
+           -e 's|--noout|--noout --nonet --path "${scrollkeeper}/share/xml/scrollkeeper/dtds"|g'
+    '';
 
   doCheck = true;
 
diff --git a/pkgs/applications/misc/viking/gpsdclient.patch b/pkgs/applications/misc/viking/gpsdclient.patch
deleted file mode 100644
index 417226322600..000000000000
--- a/pkgs/applications/misc/viking/gpsdclient.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Debian patch that allows compilation with libgps (from `gpsd').
-Failing to apply this patch, we get the following error:
-
-  vikgpslayer.c:237: error: field 'realtime_gpsd_unit' has incomplete type
-  vikgpslayer.c: In function 'vik_gps_layer_new':
-  vikgpslayer.c:473: warning: implicit declaration of function 'gpsd_units'
-  vikgpslayer.c: In function 'rt_gpsd_try_connect':
-  vikgpslayer.c:1321: warning: passing argument 2 of 'gps_set_raw_hook' from incompatible pointer type
-
-diff -urNad trunk~/src/gpsdclient.h trunk/src/gpsdclient.h
---- trunk~/src/gpsdclient.h	1970-01-01 01:00:00.000000000 +0100
-+++ trunk/src/gpsdclient.h	2009-04-15 14:30:22.000000000 +0200
-@@ -0,0 +1,25 @@
-+/* $Id: gpsdclient.h 5330 2009-03-03 04:05:42Z ckuethe $ */
-+/* gpsdclient.h -- common functions for GPSD clients */
-+
-+#ifndef _GPSD_GPSDCLIENT_H_
-+#define _GPSD_GPSDCLIENT_H_
-+struct fixsource_t 
-+/* describe a data source */
-+{
-+    char *spec;		/* pointer to actual storage */
-+    char *server;
-+    char *port;
-+    char *device;
-+};
-+
-+enum unit {unspecified, imperial, nautical, metric};
-+enum unit gpsd_units(void);
-+enum deg_str_type { deg_dd, deg_ddmm, deg_ddmmss };
-+
-+extern /*@observer@*/ char *deg_to_str( enum deg_str_type type,  double f);
-+
-+extern void gpsd_source_spec(/*@null@*/const char *fromstring, 
-+			     /*@out@*/struct fixsource_t *source);
-+
-+#endif /* _GPSDCLIENT_H_ */
-+/* gpsdclient.h ends here */
-diff -urNad trunk~/src/vikgpslayer.c trunk/src/vikgpslayer.c
---- trunk~/src/vikgpslayer.c	2009-02-08 14:47:01.000000000 +0100
-+++ trunk/src/vikgpslayer.c	2009-04-15 14:30:55.000000000 +0200
-@@ -39,6 +39,9 @@
- #include <glib/gi18n.h>
- #ifdef VIK_CONFIG_REALTIME_GPS_TRACKING
- #include <gps.h>
-+#ifndef gpsd_units
-+#include "gpsdclient.h"
-+#endif
- #endif
- 
- #if ! GLIB_CHECK_VERSION(2,14,0)
diff --git a/pkgs/applications/misc/viking/implicit-declaration.patch b/pkgs/applications/misc/viking/implicit-declaration.patch
deleted file mode 100644
index 60f8ad1177ff..000000000000
--- a/pkgs/applications/misc/viking/implicit-declaration.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Debian patch that fixes an implicat declaration.
-
-diff -urNad trunk~/src/util.c trunk/src/util.c
---- trunk~/src/util.c	2009-02-08 14:47:01.000000000 +0100
-+++ trunk/src/util.c	2009-04-15 17:23:44.000000000 +0200
-@@ -26,6 +26,7 @@
- #endif
- 
- #include <glib/gi18n.h>
-+#include <glib/gprintf.h>
- 
- #include "dialog.h"
- 
diff --git a/pkgs/applications/misc/viking/test-bc.patch b/pkgs/applications/misc/viking/test-bc.patch
deleted file mode 100644
index fc0c91eec522..000000000000
--- a/pkgs/applications/misc/viking/test-bc.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-For some reason, `bc -l' yields no output.
-
---- viking-0.9.8/test/check_degrees_conversions.sh	2008-03-15 23:01:48.000000000 +0100
-+++ viking-0.9.8/test/check_degrees_conversions.sh	2009-05-30 23:23:27.000000000 +0200
-@@ -7,7 +7,7 @@ function check_success()
-   for value in "$@"
-   do
-     result=`./degrees_converter "$value" | cut -d' ' -f3`
--    diff=`echo "$result - $expected" | bc -l`
-+    diff=`echo "$result - $expected" | bc`
-     if [ $diff != 0 ]
-     then
-       echo "$value -> $result != $expected"
-@@ -23,7 +23,7 @@ function check_failure()
-   for value in "$@"
-   do
-     result=`./degrees_converter "$value" | cut -d' ' -f3`
--    diff=`echo "$result - $expected" | bc -l`
-+    diff=`echo "$result - $expected" | bc`
-     if [ $diff = 0 ]
-     then
-       echo "$value -> $result = $expected"
diff --git a/pkgs/applications/misc/xfontsel/default.nix b/pkgs/applications/misc/xfontsel/default.nix
index c81a346914c9..3179e1f34401 100644
--- a/pkgs/applications/misc/xfontsel/default.nix
+++ b/pkgs/applications/misc/xfontsel/default.nix
@@ -2,7 +2,7 @@
 # at http://www.x.org/releases/individual/.
 # That is why this expression is not inside pkgs.xorg
 
-{stdenv, fetchurl, libX11, pkgconfig, libXaw}:
+{stdenv, fetchurl, makeWrapper, libX11, pkgconfig, libXaw}:
 stdenv.mkDerivation rec {
   name = "xfontsel-1.0.2";
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1a86a08sf0wjrki9ydh7hr5qf6hrixc4ljlxizakjzmx20wvlrks";
   };
 
-  buildInputs = [libX11 pkgconfig libXaw];
+  buildInputs = [libX11 makeWrapper pkgconfig libXaw];
 
   # Without this, it gets Xmu as a dependency, but without rpath entry
   NIX_LDFLAGS = "-lXmu";
@@ -19,8 +19,10 @@ stdenv.mkDerivation rec {
   # This will not make xfontsel find its app-defaults, but at least the $out
   # directory will contain them.
   # hack: Copying the XFontSel app-defaults file to $HOME makes xfontsel work.
-  preInstall = ''
-    installFlags="appdefaultdir=$out/share/X11/app-defaults"
+  installPhase = ''
+    make install appdefaultdir=$out/share/X11/app-defaults
+    wrapProgram $out/bin/xfontsel \
+      --set XAPPLRESDIR $out/share/X11/app-defaults
   '';
 
   meta = {
diff --git a/pkgs/applications/misc/xmobar/default.nix b/pkgs/applications/misc/xmobar/default.nix
index 5fa4ecfc3ffe..73eefef25055 100644
--- a/pkgs/applications/misc/xmobar/default.nix
+++ b/pkgs/applications/misc/xmobar/default.nix
@@ -1,18 +1,21 @@
 { cabal, filepath, libXrandr, mtl, parsec, stm, time, utf8String
-, X11, X11Xft
+, wirelesstools, X11, X11Xft
 }:
 
 cabal.mkDerivation (self: {
   pname = "xmobar";
-  version = "0.14";
-  sha256 = "1y26b2a5v9hxv1zmjcb4m8j9qkqdn74mqc3q58vgp5cav45rphvh";
+  version = "0.15";
+  sha256 = "1wa141bf3krzr8qcd9cyix3cflbw1yr1l3299ashjs7skqnjadcl";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
     filepath mtl parsec stm time utf8String X11 X11Xft
   ];
-  extraLibraries = [ libXrandr ];
-  configureFlags = "-fwith_xft";
+  extraLibraries = [ libXrandr wirelesstools ];
+  configureFlags = "-fwith_xft -fwith_iwlib";
+  patchPhase = ''
+    sed -i -e 's|mtl ==.*$|mtl,|' xmobar.cabal
+  '';
   meta = {
     homepage = "http://projects.haskell.org/xmobar/";
     description = "A Minimalistic Text Based Status Bar";
diff --git a/pkgs/applications/networking/browsers/chromium/cups_allow_deprecated.patch b/pkgs/applications/networking/browsers/chromium/cups_allow_deprecated.patch
new file mode 100644
index 000000000000..4fd6a24cc143
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/cups_allow_deprecated.patch
@@ -0,0 +1,14 @@
+diff --git a/printing/printing.gyp b/printing/printing.gyp
+index 19fa1b2..f11d76e 100644
+--- a/printing/printing.gyp
++++ b/printing/printing.gyp
+@@ -26,6 +26,9 @@
+       'include_dirs': [
+         '..',
+       ],
++      'cflags': [
++        '-Wno-deprecated-declarations',
++      ],
+       'sources': [
+         'backend/print_backend.cc',
+         'backend/print_backend.h',
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 2ea5bac0600e..4c3a02dcecc2 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -1,62 +1,193 @@
-{ GConf, alsaLib, bzip2, cairo, cups, dbus, dbus_glib, expat
-, fetchurl, ffmpeg, fontconfig, freetype, libX11, libXfixes
-, glib, gtk, gdk_pixbuf, pango
-, libXScrnSaver, libXdamage, libXext, libXrender, libXt, libXtst, libXcomposite
-, libgcrypt, libjpeg, libpng, makeWrapper, nspr, nss, patchelf
-, stdenv, unzip, zlib, pam, pcre, udev }:
-
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" ;
-
-stdenv.mkDerivation rec {
-  name = "chromium-19.0.1061.0-pre${version}";
-
-  # To determine the latest revision, get
-  # ‘http://commondatastorage.googleapis.com/chromium-browser-continuous/Linux/LAST_CHANGE’.
-  # For the version number, see ‘about:version’.
-  version = "124950";
-  
-  src =
-    if stdenv.system == "x86_64-linux" then
-      fetchurl {
-        url = "http://commondatastorage.googleapis.com/chromium-browser-continuous/Linux_x64/${version}/chrome-linux.zip";
-        sha256 = "4472bf584a96e477e2c17f96d4452dd41f4f34ac3d6a9bb4c845cf15d8db0c73";
-      }
-    else if stdenv.system == "i686-linux" then
-      fetchurl {
-        url = "http://commondatastorage.googleapis.com/chromium-browser-continuous/Linux/${version}/chrome-linux.zip";
-        sha256 = "6e8a49d9917ee26b67d14cd10b85711c3b9382864197ba02b3cfe8e636d3d69c";
-      }
-    else throw "Chromium is not supported on this platform.";
-
-  phases = "unpackPhase installPhase";
-
-  buildInputs = [ makeWrapper unzip ];
-
-  libPath =
-    stdenv.lib.makeLibraryPath
-       [ GConf alsaLib bzip2 cairo cups dbus dbus_glib expat
-         ffmpeg fontconfig freetype libX11 libXScrnSaver libXfixes libXcomposite
-         libXdamage libXext libXrender libXt libXtst libgcrypt libjpeg
-         libpng nspr stdenv.gcc.gcc zlib stdenv.gcc.libc
-         glib gtk gdk_pixbuf pango
-         pam udev
-       ];
+{ stdenv, getConfig, fetchurl, makeWrapper, which
+
+# this is needed in order to build the versions older than 21.x
+, subversion
+
+# default dependencies
+, bzip2, flac, speex
+, libevent, expat, libjpeg
+, libpng, libxml2, libxslt
+, xdg_utils, yasm, zlib
+
+, python, perl, pkgconfig
+, nspr, udev, krb5
+, utillinux, alsaLib
+, gcc, bison, gperf
+, glib, gtk, dbus_glib
+, libXScrnSaver, libXcursor, mesa
+
+# optional dependencies
+, libgnome_keyring # config.gnomeKeyring
+, gconf # config.gnome
+, libgcrypt # config.gnome || config.cups
+, nss, openssl # config.openssl
+, pulseaudio # config.pulseaudio
+, libselinux # config.selinux
+}:
+
+let
+  mkConfigurable = stdenv.lib.mapAttrs (flag: default: getConfig ["chromium" flag] default);
+
+  config = mkConfigurable {
+    channel = "stable";
+    selinux = false;
+    nacl = false;
+    openssl = true;
+    gnome = false;
+    gnomeKeyring = false;
+    proprietaryCodecs = true;
+    cups = false;
+    pulseaudio = getConfig ["pulseaudio"] true;
+  };
+
+  sourceInfo = builtins.getAttr config.channel (import ./sources.nix);
+
+  mkGypFlags = with stdenv.lib; let
+    sanitize = value:
+      if value == true then "1"
+      else if value == false then "0"
+      else "${value}";
+    toFlag = key: value: "-D${key}=${sanitize value}";
+  in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs));
+
+  gypFlagsUseSystemLibs = {
+    use_system_bzip2 = true;
+    use_system_flac = true;
+    use_system_libevent = true;
+    use_system_libexpat = true;
+    use_system_libjpeg = true;
+    use_system_libpng = true;
+    use_system_libxml = true;
+    use_system_speex = true;
+    use_system_ssl = true;
+    use_system_stlport = true;
+    use_system_xdg_utils = true;
+    use_system_yasm = true;
+    use_system_zlib = true;
+
+    use_system_harfbuzz = false;
+    use_system_icu = false;
+    use_system_libwebp = false; # See chromium issue #133161
+    use_system_skia = false;
+    use_system_sqlite = false; # See chromium issue #22208
+    use_system_v8 = false;
+  };
+
+  needsSubversion = stdenv.lib.versionOlder sourceInfo.version "21.0.0.0";
+
+  defaultDependencies = [
+    bzip2 flac speex
+    libevent expat libjpeg
+    libpng libxml2 libxslt
+    xdg_utils yasm zlib
+  ] ++ stdenv.lib.optional needsSubversion subversion;
+
+in stdenv.mkDerivation rec {
+  name = "${packageName}-${version}";
+  packageName = "chromium";
+
+  version = sourceInfo.version;
+
+  src = fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.sha256;
+  };
+
+  buildInputs = defaultDependencies ++ [
+    which makeWrapper
+    python perl pkgconfig
+    nspr udev
+    (if config.openssl then openssl else nss)
+    utillinux alsaLib
+    gcc bison gperf
+    krb5
+    glib gtk dbus_glib
+    libXScrnSaver libXcursor mesa
+  ] ++ stdenv.lib.optional config.gnomeKeyring libgnome_keyring
+    ++ stdenv.lib.optionals config.gnome [ gconf libgcrypt ]
+    ++ stdenv.lib.optional config.selinux libselinux
+    ++ stdenv.lib.optional config.cups libgcrypt
+    ++ stdenv.lib.optional config.pulseaudio pulseaudio;
+
+  opensslPatches = stdenv.lib.optional config.openssl openssl.patches;
+
+  prePatch = "patchShebangs .";
+
+  patches = stdenv.lib.optional (!config.selinux) ./enable_seccomp.patch
+         ++ stdenv.lib.optional config.cups ./cups_allow_deprecated.patch
+         ++ stdenv.lib.optional config.pulseaudio ./pulseaudio_array_bounds.patch;
+
+  postPatch = stdenv.lib.optionalString config.openssl ''
+    cat $opensslPatches | patch -p1 -d third_party/openssl/openssl
+  '';
+
+  gypFlags = mkGypFlags (gypFlagsUseSystemLibs // {
+    linux_use_gold_binary = false;
+    linux_use_gold_flags = false;
+    proprietary_codecs = false;
+    use_gnome_keyring = config.gnomeKeyring;
+    use_gconf = config.gnome;
+    use_gio = config.gnome;
+    use_pulseaudio = config.pulseaudio;
+    disable_nacl = !config.nacl;
+    use_openssl = config.openssl;
+    selinux = config.selinux;
+    use_cups = config.cups;
+  } // stdenv.lib.optionalAttrs config.proprietaryCodecs {
+    # enable support for the H.264 codec
+    proprietary_codecs = true;
+    ffmpeg_branding = "Chrome";
+  } // stdenv.lib.optionalAttrs (stdenv.system == "x86_64-linux") {
+    target_arch = "x64";
+  } // stdenv.lib.optionalAttrs (stdenv.system == "i686-linux") {
+    target_arch = "ia32";
+  });
+
+  buildType = "Release";
+
+  enableParallelBuilding = true;
+
+  configurePhase = ''
+    python build/gyp_chromium --depth "$(pwd)" ${gypFlags}
+  '';
+
+  makeFlags = let
+    CC = "${gcc}/bin/gcc";
+    CXX = "${gcc}/bin/g++";
+  in [
+    "CC=${CC}"
+    "CXX=${CXX}"
+    "CC.host=${CC}"
+    "CXX.host=${CXX}"
+    "LINK.host=${CXX}"
+  ];
+
+  buildFlags = [
+    "BUILDTYPE=${buildType}"
+    "library=shared_library"
+    "chrome"
+  ];
 
   installPhase = ''
-    mkdir -p $out/bin
-    mkdir -p $out/libexec/chrome
+    mkdir -vp "$out/libexec/${packageName}"
+    cp -v "out/${buildType}/"*.pak "$out/libexec/${packageName}/"
+    cp -vR "out/${buildType}/locales" "out/${buildType}/resources" "$out/libexec/${packageName}/"
+
+    cp -v "out/${buildType}/chrome" "$out/libexec/${packageName}/${packageName}"
 
-    cp -R * $out/libexec/chrome
+    mkdir -vp "$out/bin"
+    makeWrapper "$out/libexec/${packageName}/${packageName}" "$out/bin/${packageName}"
 
-    strip $out/libexec/chrome/chrome
-    
-    ${patchelf}/bin/patchelf \
-      --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
-      --set-rpath ${libPath}:$out/lib:${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib \
-      $out/libexec/chrome/chrome
+    mkdir -vp "$out/share/man/man1"
+    cp -v "out/${buildType}/chrome.1" "$out/share/man/man1/${packageName}.1"
 
-    makeWrapper $out/libexec/chrome/chrome $out/bin/chrome \
-      --prefix LD_LIBRARY_PATH : "${pcre}/lib:${nss}/lib"
+    for icon_file in chrome/app/theme/chromium/product_logo_*[0-9].png; do
+      num_and_suffix="''${icon_file##*logo_}"
+      icon_size="''${num_and_suffix%.*}"
+      logo_output_path="$out/share/icons/hicolor/''${icon_size}x''${icon_size}/apps"
+      mkdir -vp "$logo_output_path"
+      cp -v "$icon_file" "$logo_output_path/${packageName}.png"
+    done
   '';
 
   meta =  with stdenv.lib; {
@@ -64,5 +195,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.chromium.org/;
     maintainers = with stdenv.lib.maintainers; [ goibhniu chaoflow ];
     license = licenses.bsd3;
+    platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/applications/networking/browsers/chromium/enable_seccomp.patch b/pkgs/applications/networking/browsers/chromium/enable_seccomp.patch
new file mode 100644
index 000000000000..edeee37f19ca
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/enable_seccomp.patch
@@ -0,0 +1,20 @@
+diff --git a/content/common/seccomp_sandbox.h b/content/common/seccomp_sandbox.h
+index a07d6f3..a622a35 100644
+--- a/content/common/seccomp_sandbox.h
++++ b/content/common/seccomp_sandbox.h
+@@ -29,15 +29,9 @@ static bool SeccompSandboxEnabled() {
+   // TODO(evan): turn on for release too once we've flushed out all the bugs,
+   // allowing us to delete this file entirely and just rely on the "disabled"
+   // switch.
+-#ifdef NDEBUG
+-  // Off by default; allow turning on with a switch.
+-  return CommandLine::ForCurrentProcess()->HasSwitch(
+-      switches::kEnableSeccompSandbox);
+-#else
+   // On by default; allow turning off with a switch.
+   return !CommandLine::ForCurrentProcess()->HasSwitch(
+       switches::kDisableSeccompSandbox);
+-#endif  // NDEBUG
+ }
+ #endif  // SECCOMP_SANDBOX
+ 
diff --git a/pkgs/applications/networking/browsers/chromium/pulseaudio_array_bounds.patch b/pkgs/applications/networking/browsers/chromium/pulseaudio_array_bounds.patch
new file mode 100644
index 000000000000..ca78b6959c05
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/pulseaudio_array_bounds.patch
@@ -0,0 +1,12 @@
+diff --git a/media/media.gyp b/media/media.gyp
+index 2a8c6c6..66ca767 100644
+--- a/media/media.gyp
++++ b/media/media.gyp
+@@ -399,6 +399,7 @@
+             ['use_pulseaudio == 1', {
+               'cflags': [
+                 '<!@(pkg-config --cflags libpulse)',
++                '-Wno-array-bounds',
+               ],
+               'link_settings': {
+                 'libraries': [
diff --git a/pkgs/applications/networking/browsers/chromium/sources.nix b/pkgs/applications/networking/browsers/chromium/sources.nix
new file mode 100644
index 000000000000..db07bc460c78
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/sources.nix
@@ -0,0 +1,19 @@
+# This file is autogenerated from update.sh in the same directory.
+# VHASH: 5e5af2017fa2e05f11aa741c6f87fff0549b93e3bc2aa40e6cc0a0aff84ba010
+{
+  dev = {
+    version = "21.0.1180.15";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-21.0.1180.15.tar.bz2";
+    sha256 = "0ahsrsyw4928vg1kl3dv44q77ksp85crw6m7fy20nq46qihb0mxa";
+  };
+  beta = {
+    version = "20.0.1132.47";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-20.0.1132.47.tar.bz2";
+    sha256 = "1rd1lfn9xchf4nrgi46van5aigqxj2n303890sslc4bcj6p8fkm3";
+  };
+  stable = {
+    version = "20.0.1132.47";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-20.0.1132.47.tar.bz2";
+    sha256 = "1rd1lfn9xchf4nrgi46van5aigqxj2n303890sslc4bcj6p8fkm3";
+  };
+}
diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh
new file mode 100755
index 000000000000..c9dd69df9a20
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/update.sh
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+channels_url="http://omahaproxy.appspot.com/";
+bucket_url="http://commondatastorage.googleapis.com/chromium-browser-official/";
+output_file="$(cd "$(dirname "$0")" && pwd)/sources.nix";
+
+get_channels()
+{
+    for chline in $(echo "$1" | cut -d, -f-2);
+    do
+        channel="${chline%%,*}";
+        version="${chline##*,}";
+
+        url="${bucket_url%/}/chromium-$version.tar.bz2";
+
+        sha256="$(nix-prefetch-url "$url")";
+
+        echo "  $channel = {";
+        echo "    version = \"$version\";";
+        echo "    url = \"$url\";";
+        echo "    sha256 = \"$sha256\";";
+        echo "  };";
+    done;
+}
+
+cd "$(dirname "$0")";
+
+versions="$(curl -s "$channels_url" | sed -n -e 's/^linux,\(\([^,]\+,\)\{2\}\).*$/\1/p')";
+
+if [ -e "$output_file" ];
+then
+    vhash="$(echo "$versions" | sha256sum | cut -d' ' -f1)";
+    old_vhash="$(sed -n 's/# *VHASH: *//p' "$output_file")";
+
+    if [ "x$vhash" = "x$old_vhash" ];
+    then
+        echo "$output_file is already up to date, bailing out." >&2;
+        exit 1;
+    fi;
+fi;
+
+channels="$(get_channels "$versions")";
+
+cat > "$output_file" <<-EOF
+# This file is autogenerated from update.sh in the same directory.
+# VHASH: $vhash
+{
+$channels
+}
+EOF
diff --git a/pkgs/applications/networking/browsers/firefox/11.0.nix b/pkgs/applications/networking/browsers/firefox/11.0.nix
deleted file mode 100644
index 28f0f476833c..000000000000
--- a/pkgs/applications/networking/browsers/firefox/11.0.nix
+++ /dev/null
@@ -1,181 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
-, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
-, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
-, yasm, mesa, sqlite, unzip
-
-, # If you want the resulting program to call itself "Firefox" instead
-  # of "Shiretoko" or whatever, enable this option.  However, those
-  # binaries may not be distributed without permission from the
-  # Mozilla Foundation, see
-  # http://www.mozilla.org/foundation/trademarks/.
-  enableOfficialBranding ? false
-}:
-
-assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
-
-rec {
-
-  firefoxVersion = "11.0";
-  
-  xulVersion = "11.0"; # this attribute is used by other packages
-
-  
-  src = fetchurl {
-    url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
-    md5 = "4b07acf47857aff72776d805409cdd1b";
-  };
-  
-  commonConfigureFlags =
-    [ "--enable-optimize"
-      "--disable-debug"
-      "--enable-strip"
-      "--with-system-jpeg"
-      "--with-system-zlib"
-      "--with-system-bz2"
-      "--with-system-nspr"
-      # "--with-system-nss"
-      # "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
-      "--enable-system-cairo"
-      "--enable-system-sqlite"
-      "--disable-crashreporter"
-      "--disable-tests"
-      "--disable-necko-wifi" # maybe we want to enable this at some point
-      "--disable-installer" 
-      "--disable-updater"
-    ];
-
-
-  xulrunner = stdenv.mkDerivation rec {
-    name = "xulrunner-${xulVersion}";
-    
-    inherit src;
-
-    buildInputs =
-      [ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
-        python dbus dbus_glib pango freetype fontconfig xlibs.libXi
-        xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
-        alsaLib nspr /* nss */ libnotify xlibs.pixman yasm mesa
-        xlibs.libXScrnSaver xlibs.scrnsaverproto
-        xlibs.libXext xlibs.xextproto sqlite unzip
-      ];
-
-    configureFlags =
-      [ "--enable-application=xulrunner"
-        "--disable-javaxpcom"
-      ] ++ commonConfigureFlags;
-
-    enableParallelBuilding = true;
-      
-    # Hack to work around make's idea of -lbz2 dependency
-    preConfigure =
-      ''
-        find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
-          stdenv.lib.concatStringsSep ":" 
-            (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
-        }' ';'
-
-        export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
-      '';
-
-    # !!! Temporary hack.
-    preBuild =
-      ''
-        export NIX_ENFORCE_PURITY=
-      '';
-
-    installFlags = "SKIP_GRE_REGISTRATION=1";
-
-    postInstall = ''
-      # Fix some references to /bin paths in the Xulrunner shell script.
-      substituteInPlace $out/bin/xulrunner \
-          --replace /bin/pwd "$(type -tP pwd)" \
-          --replace /bin/ls "$(type -tP ls)"
-
-      # Fix run-mozilla.sh search
-      libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
-      echo libDir: $libDir
-      test -n "$libDir"
-      cd $out/bin
-      mv xulrunner ../lib/$libDir/
-
-      for i in $out/lib/$libDir/*; do 
-          file $i;
-          if file $i | grep executable &>/dev/null; then 
-              echo -e '#! /bin/sh\n"'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
-              chmod a+x "$out/bin/$(basename "$i")";
-          fi;
-      done;
-      for i in $out/lib/$libDir/{xpcshell,plugin-container,*.so}; do
-              patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
-      done;
-      rm -f $out/bin/run-mozilla.sh
-    ''; # */
-
-    meta = {
-      description = "Mozilla Firefox XUL runner";
-      homepage = http://www.mozilla.com/en-US/firefox/;
-    };
-
-    passthru = { inherit gtk; version = xulVersion; };
-  };
-
-
-  firefox = stdenv.mkDerivation rec {
-    name = "firefox-${firefoxVersion}";
-
-    inherit src;
-
-    enableParallelBuilding = true;
-      
-    buildInputs =
-      [ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
-        dbus dbus_glib pango freetype fontconfig alsaLib nspr libnotify
-        xlibs.pixman yasm mesa sqlite file unzip
-      ];
-
-    propagatedBuildInputs = [xulrunner];
-
-    configureFlags =
-      [ "--enable-application=browser"
-        "--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
-        "--enable-chrome-format=jar"
-        "--disable-elf-hack"
-      ]
-      ++ commonConfigureFlags
-      ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
-
-    # Hack to work around make's idea of -lbz2 dependency
-    preConfigure =
-      ''
-        find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
-          stdenv.lib.concatStringsSep ":" 
-            (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
-        }' ';'
-      '';
-
-    postInstall =
-      ''
-        ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
-        for j in $out/bin/*; do 
-	    i="$(readlink "$j")";
-            file $i;
-            if file $i | grep executable &>/dev/null; then 
-	        rm "$out/bin/$(basename "$i")"
-                echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")"
-                chmod a+x "$out/bin/$(basename "$i")"
-            fi;
-        done;
-      ''; # */
-
-    meta = {
-      description = "Mozilla Firefox - the browser, reloaded";
-      homepage = http://www.mozilla.com/en-US/firefox/;
-      maintainers = [ stdenv.lib.maintainers.eelco ];
-    };
-
-    passthru = {
-      inherit gtk xulrunner nspr;
-      isFirefox3Like = true;
-    };
-  };
-}
diff --git a/pkgs/applications/networking/browsers/firefox/12.0.nix b/pkgs/applications/networking/browsers/firefox/12.0.nix
index d4b90d2726f1..6a22b1d8e5f4 100644
--- a/pkgs/applications/networking/browsers/firefox/12.0.nix
+++ b/pkgs/applications/networking/browsers/firefox/12.0.nix
@@ -21,7 +21,7 @@ rec {
 
   
   src = fetchurl {
-    url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
+    url = "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
     sha1 = "0177185e54b7d63dc36bd5bd5c80ba6afd52e199";
   };
   
diff --git a/pkgs/applications/networking/browsers/firefox/10.0.nix b/pkgs/applications/networking/browsers/firefox/13.0.nix
index ff16cad0ee12..1b0219557427 100644
--- a/pkgs/applications/networking/browsers/firefox/10.0.nix
+++ b/pkgs/applications/networking/browsers/firefox/13.0.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
 , libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
 , freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
-, yasm, mesa, sqlite, unzip
+, yasm, mesa, sqlite, unzip, makeWrapper
 
 , # If you want the resulting program to call itself "Firefox" instead
   # of "Shiretoko" or whatever, enable this option.  However, those
@@ -15,14 +15,14 @@ assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
 
 rec {
 
-  firefoxVersion = "10.0.2";
+  firefoxVersion = "13.0.1";
   
-  xulVersion = "10.0.2"; # this attribute is used by other packages
+  xulVersion = "13.0.1"; # this attribute is used by other packages
 
   
   src = fetchurl {
     url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
-    sha1 = "d9b459d915d4638a48b3e249fcbaf7cafc27e834";
+    sha1 = "3752f13f26a51dd2e42d2805a707a842e6f8d1b1";
   };
   
   commonConfigureFlags =
@@ -35,7 +35,7 @@ rec {
       "--with-system-nspr"
       # "--with-system-nss"
       # "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
-      "--enable-system-cairo"
+      # "--enable-system-cairo" # disabled for the moment because our Cairo is too old
       "--enable-system-sqlite"
       "--disable-crashreporter"
       "--disable-tests"
@@ -56,7 +56,7 @@ rec {
         xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
         alsaLib nspr /* nss */ libnotify xlibs.pixman yasm mesa
         xlibs.libXScrnSaver xlibs.scrnsaverproto
-        xlibs.libXext xlibs.xextproto sqlite unzip
+        xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
       ];
 
     configureFlags =
@@ -75,7 +75,11 @@ rec {
         }' ';'
 
         export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
-      '';
+
+        mkdir ../objdir
+        cd ../objdir
+        configureScript=../mozilla-release/configure
+      ''; # */
 
     # !!! Temporary hack.
     preBuild =
@@ -104,10 +108,13 @@ rec {
               echo -e '#! /bin/sh\n"'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
               chmod a+x "$out/bin/$(basename "$i")";
           fi;
-      done;
-      for i in $out/lib/$libDir/{xpcshell,plugin-container,*.so}; do
-              patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
-      done;
+      done
+      for i in $out/lib/$libDir/*.so; do
+          patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
+      done
+      for i in $out/lib/$libDir/{xpcshell,plugin-container}; do
+          wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir"
+      done
       rm -f $out/bin/run-mozilla.sh
     ''; # */
 
diff --git a/pkgs/applications/networking/browsers/links2/default.nix b/pkgs/applications/networking/browsers/links2/default.nix
index 4e5a3658730e..49bc93b80d27 100644
--- a/pkgs/applications/networking/browsers/links2/default.nix
+++ b/pkgs/applications/networking/browsers/links2/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optionals enableX11 [ libX11 libXau libXt ]
     ++ stdenv.lib.optional enableDirectFB [ directfb ];
 
-  buildNativeInputs = [ pkgconfig ];
+  buildNativeInputs = [ pkgconfig bzip2 ];
 
   configureFlags = [ "--with-ssl" ]
     ++ stdenv.lib.optional (enableX11 || enableFB || enableDirectFB) "--enable-graphics"
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
index 01f4fb901fd7..86588f2ed97b 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
@@ -40,18 +40,18 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "google-talk-plugin-2.8.5.0";
+  name = "google-talk-plugin-2.9.10.0";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://dl.google.com/linux/direct/google-talkplugin_current_x86_64.rpm";
-        sha256 = "15909wnhspjci0fspvh5j87v1xl7dfix36zrpvk6fpc3m0vys0nh";
+        sha256 = "1lgvv6bkdc5knghyn4gsg5gp7h3qyr4rb978gsi39gkvcazksm0b";
       }
     else if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://dl.google.com/linux/direct/google-talkplugin_current_i386.rpm";
-        sha256 = "0sclsj6mcaynkw28kipgmcj6sx5vbyrz1rwwyx89ll48n46k65ya";
+        sha256 = "0k9j27pklwb3vih2cydz9552p9270p73hdi14f0bmn6afxjxd13m";
       }
     else throw "Google Talk does not support your platform.";
 
diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index b6c9789bcfe6..c53a5f345256 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -13,18 +13,18 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "opera-11.51-1087";
+  name = "opera-11.64-1403";
 
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
-        url = "${mirror}/linux/1151/${name}.i386.linux.tar.bz2";
-        sha256 = "1baaim404g8nwd7knbl1p1ardpx36ib5159nkvqfnnavfyhkinp2";
+        url = "${mirror}/linux/1164/${name}.i386.linux.tar.xz";
+        sha256 = "8b7998586b1b3f8f5722beef7ebb621c0f15915c260b096249e9db5973e30d82";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url = "${mirror}/linux/1151/${name}.x86_64.linux.tar.xz";
-        sha256 = "1bciqyfhhdywaasj717by1a975ywf672r3pv9cw9bn0b90pgp933";
+        url = "${mirror}/linux/1164/${name}.x86_64.linux.tar.xz";
+        sha256 = "3b2012cbab826a04417deb56b85d8d31f9c17130071304736bcfa572f78b4c69";
       }
     else throw "Opera is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";
 
diff --git a/pkgs/applications/networking/browsers/vimprobable2/default.nix b/pkgs/applications/networking/browsers/vimprobable2/default.nix
index 071dcd371173..2402d2a902bb 100644
--- a/pkgs/applications/networking/browsers/vimprobable2/default.nix
+++ b/pkgs/applications/networking/browsers/vimprobable2/default.nix
@@ -2,10 +2,10 @@
   pkgconfig, webkit }:
 
 stdenv.mkDerivation {
-  name = "vimprobable2-1.0.0";
+  name = "vimprobable2-1.0.2";
   src = fetchurl {
-    url = "mirror://sourceforge/vimprobable/vimprobable2_1.0.0.tar.bz2";
-    sha256 = "1jlx8ssgk42vg1d70n0aa86lr5zixdkkagmcxjc4c7pjvh8vq3gn";
+    url = "mirror://sourceforge/vimprobable/vimprobable2_1.0.2.tar.bz2";
+    sha256 = "19gwlfv0lczbns73xg3637q7ixly62y3ijccnv0m1bqaqxjl4v8x";
   };
   buildInputs = [ makeWrapper gtk libsoup libX11 perl pkgconfig webkit ];
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/skype/default.nix b/pkgs/applications/networking/instant-messengers/skype/default.nix
index f94d7e125f65..ddbba59e1450 100644
--- a/pkgs/applications/networking/instant-messengers/skype/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skype/default.nix
@@ -5,11 +5,11 @@
 assert stdenv.system == "i686-linux";
 
 stdenv.mkDerivation rec {
-  name = "skype-2.2.0.35";
+  name = "skype-4.0.0.7";
 
   src = fetchurl {
     url = "http://download.skype.com/linux/${name}.tar.bz2";
-    sha256 = "157ba3ci12bq0nv2m8wlsab45ib5sccqagyna8nixnhqw9q72sxm";
+    sha256 = "0mrswawqsv53mfghqlj1bzq0jfswha6b0c06px7snd85pd4gn5fn";
   };
 
   buildInputs = 
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
index 154057b9377e..25919875bd19 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix
@@ -2,11 +2,11 @@
 , sqlite, libsoup, libnice, gnutls }:
 
 stdenv.mkDerivation rec {
-  name = "telepathy-gabble-0.15.4";
+  name = "telepathy-gabble-0.16.0";
 
   src = fetchurl {
     url = "${meta.homepage}/releases/telepathy-gabble/${name}.tar.gz";
-    sha256 = "0rgqxsdcxds0ljcc01f9ifav26y80p4my37wqzkicr9hmv54h98s";
+    sha256 = "0fk65f7q75z3wm5h4wad7g5sm2j6r8v2845b74ycl29br78ki2hf";
   };
 
   buildNativeInputs = [pkgconfig libxslt];
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
new file mode 100644
index 000000000000..1e2ded5292ab
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pidgin, telepathy_glib, glib, dbus_glib, pkgconfig, libxslt }:
+
+stdenv.mkDerivation rec {
+  pname = "telepathy-haze";
+  name = "${pname}-0.6.0";
+
+  src = fetchurl {
+    url = "http://telepathy.freedesktop.org/releases/${pname}/${name}.tar.gz";
+    sha256 = "1qrgmcr8ga6nvaz9hhn0mv0p7v799wsawrg3k5l791cgxx5carz2";
+  };
+
+  buildInputs = [ glib telepathy_glib dbus_glib pidgin ];
+
+  buildNativeInputs = [ pkgconfig libxslt ];
+
+  meta = {
+    description = "A Telepathy connection manager based on libpurple";
+    platforms = stdenv.lib.platforms.gnu; # Random choice
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/kde/0.3.0.nix b/pkgs/applications/networking/instant-messengers/telepathy/kde/0.3.0.nix
deleted file mode 100644
index f2340415be7f..000000000000
--- a/pkgs/applications/networking/instant-messengers/telepathy/kde/0.3.0.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-[
-{name="ktp-accounts-kcm";key="accounts_kcm";sha256="0i4x4z6w4l9ngx0j258p2vjmsnsdn8hckq7cfld1iliq6fxb1vwv";}
-{name="ktp-approver";key="approver";sha256="0nj89jsina8b736sygxia8jmz6l81n6j0ffin8cpqbp9mczzpv9f";}
-{name="ktp-auth-handler";key="auth_handler";sha256="1fggj8aa56m7ycwi4q44kfzlx6gfigk0zaq8lhms4wdhm6736fhs";}
-{name="ktp-common-internals";key="common_internals";sha256="196f6gkfb3w11qdbamwvkq6hxk2zbdc3js53mh352yhmdyf3cya6";}
-{name="ktp-contact-applet";key="contact_applet";sha256="1vhv78qcyna1r4lmzpixb2a0p973ywjyi1izy8jf1vfhy3kk28dw";}
-{name="ktp-contact-list";key="contact_list";sha256="15gnm09j4g6ip7vgisayd3ixv2sryjazakzkfksxfkdxl3mgfzg3";}
-{name="ktp-filetransfer-handler";key="filetransfer_handler";sha256="1mq48clrlqwbg08211pr7hm24kagjzd8zs287mk9xl2wbv70jgc1";}
-{name="ktp-kded-integration-module";key="kded_integration_module";sha256="1p47dks5cvda4i8xhij01z1qmcv2vw27az0la15rhzqlf8kh4sam";}
-{name="ktp-presence-applet";key="presence_applet";sha256="1npr59g42yxb67dnplingqa2paaxdw60p99kilbvw15chfbrh47r";}
-{name="ktp-send-file";key="send_file";sha256="1961zh4b1bamjyqw3wkm2aclx5sbfbr84i3x7lvfr74vw6cky8mc";}
-{name="ktp-text-ui";key="text_ui";sha256="184zyw6l779nkgpc5dx9lcmh543kmr4ay8cvm8vsnrsknn6p0dgp";}
-]
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/kde/0.3.1.nix b/pkgs/applications/networking/instant-messengers/telepathy/kde/0.3.1.nix
new file mode 100644
index 000000000000..73eda93f7e84
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/telepathy/kde/0.3.1.nix
@@ -0,0 +1,13 @@
+[
+{name="ktp-accounts-kcm";key="accounts_kcm";sha256="1lkqiwibxabg5p3k8l0zyzjyysi56dvbbcxp1sybd81hmxf6fzxh";}
+{name="ktp-approver";key="approver";sha256="0bw3i8av55n93ac6phvar03b6rz34wbqrzx7l2vd48d0y5ib0j6m";}
+{name="ktp-auth-handler";key="auth_handler";sha256="0kby9935df474b7jvzzg7v3zvrgml5caf96ps4dcrcvyz91ckd1y";}
+{name="ktp-common-internals";key="common_internals";sha256="1g22b0g9g14dsdl0qkdglgkf26c3pjc96q19kj2kai1i644i8k5h";}
+{name="ktp-contact-applet";key="contact_applet";sha256="0iwr202snsm72xjxv1jb9z24j8ikdx6ljaz5v9i0ha8f8rb1vrp5";}
+{name="ktp-contact-list";key="contact_list";sha256="06y1cw2kkn6ig5qnmzl7bdz9nghpv2c83c9vf9glgbxf77qfg3ms";}
+{name="ktp-filetransfer-handler";key="filetransfer_handler";sha256="1cdnl4sn34lmm7h7qv8rrkp7ia5gcg2704fqhvpv8n8gxwwhrc1a";}
+{name="ktp-kded-integration-module";key="kded_integration_module";sha256="1ccihqk0pg28v2q6p9dx37ql7hnwdz2060jf1s6p9yyd27fc4is0";}
+{name="ktp-presence-applet";key="presence_applet";sha256="0zgl8z81kmy2a03kzgvvqlr244cw9gw2kfrph1d6ax8zk4fqvxnz";}
+{name="ktp-send-file";key="send_file";sha256="1d1j0klp8dvmldn5c19zqfsxcm5hbaq5fxikpjg0q3j9ib8yh9la";}
+{name="ktp-text-ui";key="text_ui";sha256="0qikjh8ywlnwkfr4nd4hc9b15b824simhdj3n62yd87pmkk3avw6";}
+]
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/kde/0.4.0.nix b/pkgs/applications/networking/instant-messengers/telepathy/kde/0.4.0.nix
new file mode 100644
index 000000000000..aadeb3e2a675
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/telepathy/kde/0.4.0.nix
@@ -0,0 +1,16 @@
+[
+{name="ktp-accounts-kcm";key="accounts_kcm";sha256="1a312cfm1i8ipqp0r09zfhlk7vacp006pbhwwvyf0sgracizr0cp";}
+{name="ktp-approver";key="approver";sha256="0wfpwlk5f3n37xl619jzjxmgrq81qnr9kg9m955zbcad2jsx3z35";}
+{name="ktp-auth-handler";key="auth_handler";sha256="1q5jjj3np3kg7py28jb74q8lpi6camw7907950igpnwzbzmacxwa";}
+{name="ktp-call-ui";key="call_ui";sha256="08k59q0gf6fq0mmz72akiqkldqy6grw1gs7jz44gzmr82jvaqjb3";}
+{name="ktp-common-internals";key="common_internals";sha256="1cmil7wp6rgqzl0bciphqmvdzipm856c45kx2mzrk6n1vnl9l500";}
+{name="ktp-contact-applet";key="contact_applet";sha256="1j42yqq06bkpfb4jgm88qqbwnz9538ys5aghyfg147jr50h9pk8k";}
+{name="ktp-contact-list";key="contact_list";sha256="1ndpr2z99clmy8f7l8l6ws7bljmmqvfrb5f0nrym91lyvcdz7sb2";}
+{name="ktp-contact-runner";key="contact_runner";sha256="1v8mcp8q1cfmxdg65qqh159q9pynz3pc3y0ycr6hn1nrgxncs48k";}
+{name="ktp-filetransfer-handler";key="filetransfer_handler";sha256="0dj2if34wxajwylgfxwd5chvxk63lxmsq52sc039dsj9p174cp3y";}
+{name="ktp-kded-integration-module";key="kded_integration_module";sha256="0p873h6cjdinfinfz1cggyw611v2gllmkvzczszxnl8q2hcprx96";}
+{name="ktp-presence-applet";key="presence_applet";sha256="1y8yhbbjp9qgycn93lqd6ss7jln1hpxa0dnqgirijfjn15c20nfl";}
+{name="ktp-send-file";key="send_file";sha256="0sacvda2xs5g7w2xca9p6z61f2w69sgw0g3sj2fazrsm0x7a0z0d";}
+{name="ktp-text-ui";key="text_ui";sha256="1xsslwaisk90wa45rgps3500wl1fbxq4qp6njljf4qbysyw4wfdb";}
+{name="telepathy-logger-qt";key="telepathy_logger_qt";sha256="1398iyb72grhwwi0idxdwj1qdi2s02cp2wvjv72wvv3vyfwb51kn";}
+]
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/kde/contact-applet-po.patch b/pkgs/applications/networking/instant-messengers/telepathy/kde/contact-applet-po.patch
deleted file mode 100644
index 6b73781af5ce..000000000000
--- a/pkgs/applications/networking/instant-messengers/telepathy/kde/contact-applet-po.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-commit eaf09e1242408ac8652ba3ffd1d698326e4b2360
-Author: Rohan Garg <rohangarg@kubuntu.org>
-Date:   Wed Feb 8 00:19:19 2012 +0530
-
-    Do not use CMake 2.8 just yet
-    
-    CMake 2.8 has some scope issues which cause the pofile target to
-    interfere while building translations in the tarball releases.
-    Not requiring CMake 2.8 fixes the build issue.
-    
-    BUGS: 292593 293030
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0b34038..50e94f3 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,7 +1,5 @@
- project(ktp-contact-applet)
- 
--cmake_minimum_required(VERSION 2.8)
--
- set(CMAKE_MODULE_PATH
-     "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules"
-     ${CMAKE_MODULE_PATH}
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix
index 3a7f2d32463d..70e6293c9a30 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix
@@ -1,18 +1,34 @@
-{ stdenv, fetchurl, fetchgit, telepathy_qt, kdelibs, gettext, pkgconfig
-, qt_gstreamer }:
+{ stdenv, fetchurl, fetchgit, telepathy_qt, kdelibs, kde_workspace, gettext, dbus_libs
+, pkgconfigUpstream , qt_gstreamer, telepathy_glib, telepathy_logger, qjson, flex, bison }:
 
 let
-  version = "0.3.0";
+  pkgconfig = pkgconfigUpstream;
+  version = "0.4.0";
   manifest = import (./. + "/${version}.nix");
+
   overrides = {
-    presence_applet = x : (x // { patches = [ ./presence-applet-po.patch ]; });
-    contact_applet = x: (x // { patches = [ ./contact-applet-po.patch ]; });
+    telepathy_logger_qt = x : x // {
+      NIX_CFLAGS_COMPILE = "-I${dbus_libs}/include/dbus-1.0";
+    };
+  };
+
+  extraBuildInputs = {
+    auth_handler = [ qjson ];
+    call_ui = [ qt_gstreamer telepathy_glib ];
+    contact_applet = [ kde_workspace ];
+    telepathy_logger_qt = [ telepathy_logger qt_gstreamer ];
+    text_ui = [ ktp.telepathy_logger_qt qt_gstreamer telepathy_logger ];
+  };
+
+  extraBuildNativeInputs = {
+    telepathy_logger_qt = [ flex bison ];
   };
+
   ktpFun = { name, key, sha256 }:
   {
     name = key;
     value = stdenv.mkDerivation (
-      (if builtins.hasAttr key overrides then builtins.getAttr key overrides else (x: x))
+      (stdenv.lib.attrByPath [ key ] (x : x) overrides)
       {
         name = "${name}-${version}";
 
@@ -21,9 +37,10 @@ let
           inherit sha256;
         };
 
-        buildNativeInputs = [ gettext pkgconfig ];
+        buildNativeInputs = [ gettext pkgconfig ] ++ (stdenv.lib.attrByPath [ key ] [] extraBuildNativeInputs);
         buildInputs = [ kdelibs telepathy_qt ]
-          ++ stdenv.lib.optional (name != "ktp-common-internals") common_internals;
+          ++ stdenv.lib.optional (name != "ktp-common-internals") ktp.common_internals
+          ++ (stdenv.lib.attrByPath [ key ] [] extraBuildInputs);
 
         meta = {
           inherit (kdelibs.meta) platforms;
@@ -33,26 +50,10 @@ let
     );
   };
 
-  stable = builtins.listToAttrs (map ktpFun manifest);
-  unstable = {
-    call_ui = stdenv.mkDerivation {
-      name = "ktp-call-ui-20120314";
-
-      src = fetchgit {
-        url = git://anongit.kde.org/ktp-call-ui;
-        rev = "3587166d1ace83b115e113853514a7acc04d9d86";
-        sha256 = "0yv386rqy4vkwmd38wvvsrbam59sbv5k2lwimv96kf93xgkp5g0l";
-      };
-
-      buildInputs = [ kdelibs telepathy_qt common_internals qt_gstreamer ];
-      buildNativeInputs = [ gettext pkgconfig ];
-    };
-  };
-  common_internals = pkgs.common_internals;
-  pkgs = unstable // stable;
+  ktp = builtins.listToAttrs (map ktpFun manifest);
 in
-pkgs // {
+ktp // {
   inherit version;
   recurseForDerivations = true;
-  full = stdenv.lib.attrValues stable;
+  full = stdenv.lib.attrValues ktp;
 }
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/kde/presence-applet-po.patch b/pkgs/applications/networking/instant-messengers/telepathy/kde/presence-applet-po.patch
deleted file mode 100644
index 10d190a62945..000000000000
--- a/pkgs/applications/networking/instant-messengers/telepathy/kde/presence-applet-po.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-commit bf59d0488708eb57ca91a9b6d0ce8951b99ba778
-Author: Rohan Garg <rohangarg@kubuntu.org>
-Date:   Wed Feb 8 01:19:42 2012 +0530
-
-    Do not use CMake 2.8 just yet
-    
-    CMake 2.8 has some scope issues which cause the pofile target to
-    interfere while building translations in the tarball releases.
-    Not requiring CMake 2.8 fixes the build issue.
-    
-    BUG: 292593
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8e2c1de..80add26 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,7 +1,5 @@
- project(ktp-presence-applet)
- 
--cmake_minimum_required(VERSION 2.8)
--
- set(CMAKE_MODULE_PATH
-     "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules"
-     ${CMAKE_MODULE_PATH}
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/kde/update.sh b/pkgs/applications/networking/instant-messengers/telepathy/kde/update.sh
index 19a8e2053bf2..199607047b80 100755
--- a/pkgs/applications/networking/instant-messengers/telepathy/kde/update.sh
+++ b/pkgs/applications/networking/instant-messengers/telepathy/kde/update.sh
@@ -1,38 +1,38 @@
 #!/bin/sh
 
 usage() {
-	echo "$0 version|directory"
+  echo "$0 version|directory"
 }
 
 download() {
-	URL=ftp://ftp.kde.org/pub/kde/unstable/kde-telepathy/$1/src
-	destdir=$2
-	if test -n "$KDE_FULL_SESSION"; then
-		kioclient copy $URL $destdir
-	else
-		mkdir $destdir
-		lftp -c "open $URL; lcd $destdir; mget -c *"
-	fi
+  URL=ftp://ftp.kde.org/pub/kde/unstable/kde-telepathy/$1/src
+  destdir=$2
+  if test -n "$KDE_FULL_SESSION"; then
+    kioclient copy $URL $destdir
+  else
+    mkdir $destdir
+    lftp -c "open $URL; lcd $destdir; mget -c *"
+  fi
 }
 
 if [[ -d $1 ]]; then
-	directory=$1
-	version=$(ls $directory/* | head -n1 |
-		sed -e "s,$directory/[^0-9.]*\\([0-9.]\\+\\)\\.tar.*,\\1,")
-	echo "Version $version"
+  directory=$1
+  version=$(ls $directory/* | head -n1 |
+    sed -e "s,$directory/[^0-9.]*\\([0-9.]\\+\\)\\.tar.*,\\1,")
+  echo "Version $version"
 else
-	version=$1
-	directory=src-$version
-	download $version $directory
+  version=$1
+  directory=src-$version
+  download $version $directory
 fi
 
-packages=$(ls $directory/* | sed -e "s,$directory/ktp-\\(.*\\)-$version.*,\\1,")
+packages=$(ls $directory/* | sed -e "s,$directory/\\(.*\\)-$version.*,\\1,")
 echo $packages
 exec >$version.nix
 echo "["
-for pkg in $packages; do
-	hash=$(nix-hash --flat --type sha256 --base32 $directory/ktp-$pkg-$version.*)
-	echo "{name=\"ktp-${pkg}\";key=\"${pkg//-/_}\";sha256=\"${hash}\";}"
+for name in $packages; do
+  hash=$(nix-hash --flat --type sha256 --base32 $directory/$name-$version.*)
+  key=${name#ktp-}
+  echo "{name=\"${name}\";key=\"${key//-/_}\";sha256=\"${hash}\";}"
 done
-echo "]"
-
+echo "]"
\ No newline at end of file
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
index 27d41140be0c..a820e0f8a99b 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   project = "telepathy-logger";
-  name = "${project}-0.2.12";
+  name = "${project}-0.4.0";
 
   src = fetchurl {
     url = "http://telepathy.freedesktop.org/releases/${project}/${name}.tar.bz2";
-    sha256 = "1681m1j6vqzy089fnbfpz9i8jsg64fq6x6kf25b9p2090dnqrkj3";
+    sha256 = "1rb58ipz56c9bac8b31md5gk1fw7jim8x9dx3cm5gmxg2q3apd86";
   };
 
   buildInputs = [ dbus_glib libxml2 sqlite telepathy_glib pkgconfig intltool ];
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
index 3d24fdf2a191..4d79f0c89d88 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, telepathy_glib, libxslt }:
 
 stdenv.mkDerivation rec {
-  name = "${pname}-5.11.0";
+  name = "${pname}-5.12.0";
   pname = "telepathy-mission-control";
 
   src = fetchurl {
     url = "http://telepathy.freedesktop.org/releases/${pname}/${name}.tar.gz";
-    sha256 = "19fz1lrsvrm0p58wkxhjn7xyickz8bgzks4mkhlvgp692ypvvppm";
+    sha256 = "0xsycjk2l19h026adqms8ik7c2xj9j9rba76znfh46ryaijyn2k6";
   };
 
   buildInputs = [ telepathy_glib ];
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix
index 33a935fa7eb5..e8b120b93316 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/rakia/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, pkgconfig, libxslt, telepathy_glib, libxml2, dbus_glib
+{ stdenv, fetchurl, pkgconfigUpstream, libxslt, telepathy_glib, libxml2, dbus_glib
 , python, sofia_sip }:
 
 stdenv.mkDerivation rec {
   pname = "telepathy-rakia";
-  name = "${pname}-0.7.3";
+  name = "${pname}-0.7.4";
 
   src = fetchurl {
     url = "${meta.homepage}/releases/${pname}/${name}.tar.gz";
-    sha256 = "1jnxlx135c660vb1n2vpg6ci2ps0rbrp3244jgchik3g6q5vwbb4";
+    sha256 = "11cmmdq31kivm6nsv61hxy3hxnnmbd8sj55xqwx9hyqzybh70dyf";
   };
 
-  buildNativeInputs = [pkgconfig libxslt python];
+  buildNativeInputs = [pkgconfigUpstream libxslt python];
   buildInputs = [ libxml2 dbus_glib telepathy_glib sofia_sip];
 
   meta = {
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
index 02701f9f1ce4..3c100282aa46 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl, libxslt, glib, libxml2, telepathy_glib, avahi, libsoup
-, libuuid, gnutls, sqlite, pkgconfig }:
+, libuuid, gnutls, sqlite, pkgconfigUpstream }:
 
 stdenv.mkDerivation rec {
   pname = "telepathy-salut";
-  name = "${pname}-0.7.2";
+  name = "${pname}-0.8.0";
 
   src = fetchurl {
     url = "http://telepathy.freedesktop.org/releases/${pname}/${name}.tar.gz";
-    sha256 = "0vahmqi78pbmsn472kijl3d4rshz07pmihxk5xkp99hvbqd4mb1f";
+    sha256 = "1kmmpwjbfph37bjvpkfphff8dzhr896i55knf311f778fbsgl17m";
   };
 
   buildInputs = [ glib libxml2 telepathy_glib avahi libsoup libuuid gnutls
     sqlite ];
 
-  buildNativeInputs = [ libxslt pkgconfig ];
+  buildNativeInputs = [ libxslt pkgconfigUpstream ];
 
   configureFlags = "--disable-avahi-tests";
 
diff --git a/pkgs/applications/networking/instant-messengers/tkabber-plugins/default.nix b/pkgs/applications/networking/instant-messengers/tkabber-plugins/default.nix
new file mode 100644
index 000000000000..c361f3270e65
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/tkabber-plugins/default.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl, tkabber}:
+
+stdenv.mkDerivation rec {
+  name = "tkabber-plugins-${version}";
+  version = "0.11.1";
+
+  src = fetchurl {
+    url = "http://files.jabber.ru/tkabber/tkabber-plugins-${version}.tar.gz";
+    sha256 = "0jxriqvsckbih5a4lpisxy6wjw022wsz5j5n171gz0q3xw19dbgz";
+  };
+
+  configurePhase = ''
+    mkdir -p $out/bin
+    sed -e "s@/usr/local@$out@" -i Makefile
+  '';
+
+  buildInputs = [tkabber];
+}
diff --git a/pkgs/applications/networking/instant-messengers/tkabber/default.nix b/pkgs/applications/networking/instant-messengers/tkabber/default.nix
new file mode 100644
index 000000000000..30c91d3d905b
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/tkabber/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, tcl, tk, tcllib, tcltls, bwidget, cacert, makeWrapper, x11 }:
+
+stdenv.mkDerivation rec {
+  name = "tkabber-0.11.1";
+
+  src = fetchurl {
+    url = "http://files.jabber.ru/tkabber/tkabber-0.11.1.tar.gz";
+    sha256 = "19xv555cm7a2gczdalf9srxm39hmsh0fbidhwxa74a89nqkbf4lv";
+  };
+
+  defaultTheme = "ocean-deep";
+
+  patchPhase = ''
+    substituteInPlace login.tcl --replace \
+      "custom::defvar loginconf(sslcacertstore) \"\"" \
+      "custom::defvar loginconf(sslcacertstore) \"${cacert}/etc/ca-bundle.crt\""
+
+    sed -i '/^if.*load_default_xrdb/,/^}$/ {
+        s@option readfile \(\[fullpath [^]]*\]\)@option readfile "'"$out/share/doc/tkabber/examples/xrdb/${defaultTheme}.xrdb"'"@
+    }' tkabber.tcl
+  '';
+
+  configurePhase = ''
+    mkdir -p $out/bin
+    sed -e "s@/usr/local@$out@" -i Makefile
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/tkabber --set TCLLIBPATH "${bwidget}/tcltk\ ${tcllib}/lib/tcllib${tcllib.version}\ ${tcltls}/lib/tls${tcltls.version}"
+  '';
+
+  buildInputs = [tcl tk tcllib tcltls bwidget x11 makeWrapper];
+
+  meta = {
+    homepage = "http://tkabber.jabber.ru/";
+    description = "A GUI client for the XMPP (Jabber) instant messaging protocol";
+  };
+}
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index a9cf07a0b123..a891c145b76d 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -1,18 +1,26 @@
-{stdenv, fetchurl, ncurses, openssl, perl, python, aspell}:
+{ stdenv, fetchurl, ncurses, openssl, perl, python, aspell, gnutls
+, zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile }:
 
-stdenv.mkDerivation {
-  name = "weechat-0.3.2";
+stdenv.mkDerivation rec {
+  version = "0.3.8";
+  name = "weechat-${version}";
 
   src = fetchurl {
-    url = http://weechat.org/files/src/weechat-0.3.2.tar.gz;
-    sha256 = "0ds548fmiv2fg69amhyg1v1rgyw51rqlp64p3rmsbm1lkcwwmivc";
+    url = "http://weechat.org/files/src/${name}.tar.gz";
+    sha256 = "4293eb9d29f11b8ee8c301049d57e535acbea677bc1dc41ab12fe1bb8af0f10e";
   };
 
-  buildInputs = [ncurses perl python openssl aspell];
+  buildInputs = 
+    [ ncurses perl python openssl aspell gnutls zlib curl pkgconfig
+      libgcrypt ruby lua5 tcl guile
+    ];
 
   meta = {
     homepage = http://http://www.weechat.org/;
     description = "A fast, light and extensible chat client";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.garbas ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
-     
+
diff --git a/pkgs/applications/networking/newsreaders/pan/default.nix b/pkgs/applications/networking/newsreaders/pan/default.nix
index 7c7449dd5025..c9965a784e0f 100644
--- a/pkgs/applications/networking/newsreaders/pan/default.nix
+++ b/pkgs/applications/networking/newsreaders/pan/default.nix
@@ -1,21 +1,21 @@
 { spellChecking ? true
 , stdenv, fetchurl, pkgconfig, gtk, gtkspell ? null
-, perl, pcre, gmime, gettext, intltool
+, perl, pcre, gmime, gettext, intltool, dbus_glib, libnotify
 }:
 
 assert spellChecking -> gtkspell != null;
 
-let version = "0.135"; in
+let version = "0.139"; in
 
 stdenv.mkDerivation {
   name = "pan-${version}";
 
   src = fetchurl {
     url = "http://pan.rebelbase.com/download/releases/${version}/source/pan-${version}.tar.bz2";
-    sha1 = "6cd93facf86615761279113badd7462e59399ae4";
+    sha1 = "01ea0361a6d81489888e6abb075fd552999c3c60";
   };
 
-  buildInputs = [ pkgconfig gtk perl gmime gettext intltool ]
+  buildInputs = [ pkgconfig gtk perl gmime gettext intltool dbus_glib libnotify ]
     ++ stdenv.lib.optional spellChecking gtkspell;
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/offrss/default.nix b/pkgs/applications/networking/offrss/default.nix
index ea994c889e2f..5166e8795d57 100644
--- a/pkgs/applications/networking/offrss/default.nix
+++ b/pkgs/applications/networking/offrss/default.nix
@@ -1,7 +1,7 @@
-{stdenv, fetchurl, curl, libmrss}:
+{ stdenv, fetchurl, curl, libmrss, podofo, libiconv }:
 
 stdenv.mkDerivation {
-  name = "offrss-1.1";
+  name = "offrss-1.3";
 
   installPhase = ''
     mkdir -p $out/bin
@@ -12,11 +12,16 @@ stdenv.mkDerivation {
     makeFlags = "CC=${stdenv.cross.config}-gcc";
   };
 
-  buildInputs = [ curl libmrss ];
+  buildInputs = [ curl libmrss podofo ]
+    ++ stdenv.lib.optional (!stdenv.isLinux) libiconv;
+
+  configurePhase = stdenv.lib.optionalString (!stdenv.isLinux) ''
+    sed 's/#EXTRA/EXTRA/' -i Makefile
+  '';
 
   src = fetchurl {
-    url = http://vicerveza.homeunix.net/~viric/soft/offrss/offrss-1.1.tar.gz;
-    sha256 = "1l8c5sw368zbrcfq4wf963fbh29q9lqgsn0lbsiwz3vpybc8plp2";
+    url = http://vicerveza.homeunix.net/~viric/soft/offrss/offrss-1.3.tar.gz;
+    sha256 = "1akw1x84jj2m9z60cvlvmz21qwlaywmw18pl7lgp3bj5nw6250p6";
   };
 
   meta = {
diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix
index be67c289814c..f2fbf7046492 100644
--- a/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -1,24 +1,21 @@
 { stdenv, fetchurl, libextractor, libmicrohttpd, libgcrypt
 , zlib, gmp, curl, libtool, adns, sqlite, pkgconfig
 , libxml2, ncurses, gettext, libunistring
-, gtkSupport ? false, gtk ? null, libglade ? null
 , makeWrapper }:
 
-assert gtkSupport -> (gtk != null) && (libglade != null);
-
 stdenv.mkDerivation rec {
-  name = "gnunet-0.9.2";
+  name = "gnunet-0.9.3";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/${name}.tar.gz";
-    sha256 = "1sa7xc85l7lkd0s7vyxnqhnm7cngnycrvp7zc6yj4b3qjg5z3x94";
+    sha256 = "0ppirvwjb7w7270g0w83z6wyk984cnxv2ydxj7qr0j1cz2j6nn2h";
   };
 
   buildInputs = [
     libextractor libmicrohttpd libgcrypt gmp curl libtool
     zlib adns sqlite libxml2 ncurses
     pkgconfig gettext libunistring makeWrapper
-  ] ++ (if gtkSupport then [ gtk libglade ] else []);
+  ];
 
   preConfigure = ''
     # Brute force: since nix-worker chroots don't provide
diff --git a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
new file mode 100644
index 000000000000..894b1363cd04
--- /dev/null
+++ b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gtk, json_glib, curl }:
+
+
+stdenv.mkDerivation rec {
+  name = "transmission-remote-gtk-1.0.1";
+
+  src = fetchurl {
+    url = "http://transmission-remote-gtk.googlecode.com/files/${name}.tar.gz";
+    sha256 = "b1ae032dd52b2d7975656913e4fe39e7f74d29ef8138292d8b82318ff9afed6f";
+  };
+
+  buildInputs = [ pkgconfig intltool gtk json_glib curl ];
+
+  meta = {
+   description = "GTK remote control for the Transmission BitTorrent client";
+  };
+}
diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix
index a1269b09e377..0a86e140347d 100644
--- a/pkgs/applications/networking/p2p/transmission/default.nix
+++ b/pkgs/applications/networking/p2p/transmission/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchurl, pkgconfig, openssl, curl, intltool, libevent, gtkClient ? true, gtk }:
 
 stdenv.mkDerivation rec {
-  name = "transmission-2.31";
-  
+  name = "transmission-2.52";
+
   src = fetchurl {
-    url = "http://download.transmissionbt.com/files/${name}.tar.bz2";
-    sha256 = "0z0npasbrbii5qnjyk31v0kfr04kwm57dmnl2542bpx615q212zk";
+    url = "http://download.transmissionbt.com/files/${name}.tar.xz";
+    sha256 = "05sfq5h3731xc9a1k5r1q4gbs9yk0dr229asfxjjgg0lw1xzppdw";
   };
-  
+
   buildInputs = [ pkgconfig openssl curl intltool libevent ] ++
                 stdenv.lib.optional gtkClient gtk;
-  
+
   configureFlags = if gtkClient then "--enable-gtk" else "--disable-gtk";
 
   postInstall = ''
     rm $out/share/icons/hicolor/icon-theme.cache
   '';
-  
+
   meta = {
     description = "A fast, easy and free BitTorrent client";
     longDescription = ''
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index 3aeeb8dd0ee0..434d75bce585 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/downloads/FreeRDP/FreeRDP/FreeRDP-${version}.tar.gz";
-    sha256 = "1h7b2ykgsp1b04p67syb3p2xgpsb45i6zl1jvm09h0dr5an85awd";
+    sha256 = "df9f5f3275436f3e413824ca40f1e41733a95121f45e1ed41ab410701c5764cc";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix
new file mode 100644
index 000000000000..b2b24a2565c6
--- /dev/null
+++ b/pkgs/applications/networking/remote/remmina/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, cmake, pkgconfig, makeWrapper
+, glib, gtk, gettext, libxkbfile, libgnome_keyring, libX11
+, freerdp, libssh, libgcrypt, gnutls }:
+
+let version = "1.0.0"; in
+
+stdenv.mkDerivation {
+  name = "remmina-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/downloads/FreeRDP/Remmina/Remmina-${version}.tar.gz";
+    sha256 = "7cd0d2d6adbd96c7139da8c4bfc4cf4821e1fa97242bb9cc9db32a53df289731";
+  };
+
+  buildInputs = [ cmake pkgconfig makeWrapper
+                  glib gtk gettext libxkbfile libgnome_keyring libX11
+                  freerdp libssh libgcrypt gnutls ];
+
+  cmakeFlags = "-DWITH_VTE=OFF -DWITH_TELEPATHY=OFF -DWITH_AVAHI=OFF";
+
+  postInstall = ''
+    wrapProgram $out/bin/remmina --prefix LD_LIBRARY_PATH : "${libX11}/lib"
+  '';
+
+  meta = {
+    license = "GPLv2";
+    homepage = "http://remmina.sourceforge.net/";
+    description = "Remmina is a remote desktop client written in GTK+";
+    maintainers = [];
+  };
+}
diff --git a/pkgs/applications/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix
index a447323332ab..b64338adaf18 100644
--- a/pkgs/applications/office/calligra/default.nix
+++ b/pkgs/applications/office/calligra/default.nix
@@ -4,11 +4,11 @@
 , libkdcraw, libxslt, fftw, glew, gsl, shared_desktop_ontologies }:
 
 stdenv.mkDerivation rec {
-  name = "calligra-2.3.92";
+  name = "calligra-2.4.2";
 
   src = fetchurl {
-    url = "mirror://kde/unstable/${name}/${name}.tar.bz2";
-    sha256 = "1ad7vzdhfkv48xhs9p84mwpq8zsdiajz3qjng3h2rswd88sgrblg";
+    url = "mirror://kde/stable/${name}/${name}.tar.bz2";
+    sha256 = "14wi8mr87aas12f75qi6p8x0pij365sbz4c737qhh4302fh8fsqg";
   };
 
   buildNativeInputs = [ cmake perl pkgconfig ];
diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix
new file mode 100644
index 000000000000..6063024c2160
--- /dev/null
+++ b/pkgs/applications/office/gnumeric/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl
+, bzip2, glib, goffice, gtk3, intltool, libglade, libgsf, libxml2
+, pango, pkgconfig, scrollkeeper, zlib
+}:
+
+stdenv.mkDerivation {
+  name = "gnumeric-1.11.3";
+
+  src = fetchurl {
+    url = mirror://gnome/sources/gnumeric/1.11/gnumeric-1.11.3.tar.xz;
+    sha256 = "1hblcbba4qzlby094dih6ncclgf2n5ac59lqg9dykpz8ad3hxw72";
+  };
+
+  configureFlags = "--disable-component";
+
+  buildInputs = [
+    bzip2 glib goffice gtk3 intltool libglade libgsf libxml2
+    pango pkgconfig scrollkeeper zlib
+  ];
+
+  meta = {
+    description = "The GNOME Office Spreadsheet";
+    license = "GPLv2+";
+    homepage = http://projects.gnome.org/gnumeric/;
+  };
+}
diff --git a/pkgs/applications/office/hledger-interest/default.nix b/pkgs/applications/office/hledger-interest/default.nix
index 6715df077bf2..5b9aefa182e8 100644
--- a/pkgs/applications/office/hledger-interest/default.nix
+++ b/pkgs/applications/office/hledger-interest/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hledger-interest";
-  version = "1.4";
-  sha256 = "0lm4jcxcig3yxzhbnka1q54fvshn5b9d91a5a2mbmkzbwhzjj0lg";
+  version = "1.4.1";
+  sha256 = "05mzqmnr9c4zmss0f2aac4qh4s954nbkimv924d31q2lisdddvw8";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ Cabal hledgerLib mtl time ];
diff --git a/pkgs/applications/office/kbibtex/default.nix b/pkgs/applications/office/kbibtex/default.nix
new file mode 100644
index 000000000000..ba0d719a049d
--- /dev/null
+++ b/pkgs/applications/office/kbibtex/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, kdelibs, libxslt, popplerQt4 }:
+
+stdenv.mkDerivation rec {
+  pname = "kbibtex";
+  version = "0.4";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://download.gna.org/${pname}/${version}/${name}.tar.bz2";
+    sha256 = "1hq0az0dp96195z26wjfwj9ynd57pfv13f1xcl5vbsswcjfrczws";
+  };
+
+  patchPhase = ''
+    sed -e '25i#include <QModelIndex>' -i src/gui/preferences/settingsabstractwidget.h
+    '';
+
+  buildInputs = [ kdelibs libxslt popplerQt4 ];
+}
diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix
index b83f79f46e47..9b27a3e23797 100644
--- a/pkgs/applications/office/skrooge/default.nix
+++ b/pkgs/applications/office/skrooge/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, kdelibs, grantlee, qca2, libofx, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "skrooge-1.1.1";
+  name = "skrooge-1.3.0";
 
   src = fetchurl {
     url = "http://skrooge.org/files/${name}.tar.bz2";
-    sha256 = "0qkd1hay7lglb0b4iw3arlwgm0yr8x789x7zf815skxvfhdaclv5";
+    sha256 = "1sfzzn9xz01c0095w4scckiiwv2gfbaxx05h7ds5n02a113w53kz";
   };
 
   buildInputs = [ kdelibs grantlee qca2 libofx ];
diff --git a/pkgs/applications/office/zanshin/default.nix b/pkgs/applications/office/zanshin/default.nix
index 5cfe2d01f58d..123342882542 100644
--- a/pkgs/applications/office/zanshin/default.nix
+++ b/pkgs/applications/office/zanshin/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, kdelibs, kdepimlibs, boost }:
 
 stdenv.mkDerivation rec {
-  name = "zanshin-0.2.2";
+  name = "zanshin-0.2.1";
 
   src = fetchurl {
-    url = "http://files.kde.org/zanshin/zanshin-0.2.0.tar.bz2";
-    sha256 = "0kskk8rj4bwx5zywxw0h2lgl7byw9dxzdcafb6xp5cvdkjkg9j87";
+    url = "http://files.kde.org/zanshin/${name}.tar.bz2";
+    sha256 = "155k72vk7kw0p0x9dhlky6q017kanzcbwvp4dpf1hcbr1dsr55fx";
   };
 
   buildInputs = [ kdelibs kdepimlibs boost ];
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index 3fef10b44fb2..bf759a4a3260 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -1,10 +1,16 @@
-# TODO:
-# - coqide compilation should be optional or (better) separate;
+# - coqide compilation can be disabled by setting lablgtk to null;
 
-{stdenv, fetchurl, ocaml, findlib, camlp5, lablgtk, ncurses}:
+{stdenv, fetchurl, ocaml, findlib, camlp5, ncurses, lablgtk ? null}:
 
-let
-  version = "8.3pl3";
+let 
+  version = "8.3pl4";
+  buildIde = lablgtk != null;
+  ideFlags = if buildIde then "-lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt" else "";
+  idePatch = if buildIde then ''
+    substituteInPlace scripts/coqmktop.ml --replace \
+    "\"-I\"; \"+lablgtk2\"" \
+    "\"-I\"; \"$(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)\"; \"-I\"; \"$(echo "${lablgtk}"/lib/ocaml/*/site-lib/stublibs)\""
+  '' else "";
 in
 
 stdenv.mkDerivation {
@@ -12,7 +18,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://coq.inria.fr/V${version}/files/coq-${version}.tar.gz";
-    sha256 = "0ivrafwr4p8pklb9wfq3zyai19xdk05xr3q16xqk4q9pfad9w9dg";
+    sha256 = "17d3lmchmqir1rawnr52g78srg4wkd7clzpzfsivxc4y1zp6rwkr";
   };
 
   buildInputs = [ ocaml findlib camlp5 ncurses lablgtk ];
@@ -21,9 +27,10 @@ stdenv.mkDerivation {
 
   preConfigure = ''
     configureFlagsArray=(
+      -opt
       -camldir ${ocaml}/bin
       -camlp5dir $(ocamlfind query camlp5)
-      -lablgtkdir ${lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -opt -coqide opt
+      ${ideFlags}
     )
   '';
 
@@ -36,17 +43,16 @@ stdenv.mkDerivation {
     RM=$(type -tp rm)
     substituteInPlace configure --replace "/bin/uname" "$UNAME"
     substituteInPlace tools/beautify-archive --replace "/bin/rm" "$RM"
-    substituteInPlace scripts/coqmktop.ml --replace \
-      "\"-I\"; \"+lablgtk2\"" \
-      "\"-I\"; \"$(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)\"; \"-I\"; \"$(echo "${lablgtk}"/lib/ocaml/*/site-lib/stublibs)\""
+    ${idePatch}
   '';
 
   # This post install step is needed to build ssrcoqide from the ssreflect package
   # It could be made optional, but I see little harm in including it in the default
   # distribution -- roconnor
-  postInstall = ''
+  # This will likely no longer be necessary for coq >= 8.4. -- roconnor
+  postInstall = if buildIde then ''
    cp ide/*.cmi ide/ide.*a $out/lib/coq/ide/
-  '';
+  '' else "";
 
   meta = {
     description = "Coq proof assistant";
@@ -58,5 +64,6 @@ stdenv.mkDerivation {
     '';
     homepage = "http://coq.inria.fr";
     license = "LGPL";
+    maintainers = [ stdenv.lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/applications/science/logic/hol_light/default.nix b/pkgs/applications/science/logic/hol_light/default.nix
index 01746a748fe4..5d9866a650bc 100644
--- a/pkgs/applications/science/logic/hol_light/default.nix
+++ b/pkgs/applications/science/logic/hol_light/default.nix
@@ -9,11 +9,11 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "hol_light-20120427";
+  name = "hol_light-20120529";
   src = fetchsvn {
     url = http://hol-light.googlecode.com/svn/trunk;
-    rev = "134";
-    sha256 = "91e7575eeac37a1fbd127eabe99f736b9e1a19fb7b1a0fa27cf31b66edad4b17";
+    rev = "141";
+    sha256 = "a11d7e5db7c6035a2debcf9e73f43c6322389aeac5bc4d123ebf58918052a57f";
   };
 
   buildInputs = [ ocaml findlib camlp5 ];
diff --git a/pkgs/applications/science/logic/ssreflect/default.nix b/pkgs/applications/science/logic/ssreflect/default.nix
index 8443974a0a0a..c554b5dcea1c 100644
--- a/pkgs/applications/science/logic/ssreflect/default.nix
+++ b/pkgs/applications/science/logic/ssreflect/default.nix
@@ -2,11 +2,11 @@
 # - 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}:
+{stdenv, fetchurl, ocaml, camlp5, coq, makeWrapper}:
 
 let
   pname = "ssreflect";
-  version = "1.3pl1";
+  version = "1.3pl4";
   name = "${pname}-${version}";
   webpage = http://www.msr-inria.inria.fr/Projects/math-components;
 in
@@ -16,22 +16,29 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "${webpage}/${name}.tar.gz";
-    sha256 = "0ykrhqb68aanl5d4dmn0vnx8m34gg0jsbdhwx2852rqi7r00b9ri";
+    sha256 = "1ha3iiqq79pgll5ra9z0xdi3d3dr3wb9f5vsm4amy884l5anva02";
   };
 
-  buildInputs = [ ocaml camlp5 coq ];
+  buildInputs = [ ocaml camlp5 coq makeWrapper ];
+
+  patches = [ ./static.patch ];
 
-  # this fails
-  /*
   postBuild = ''
     cd src
     coqmktop -ide -opt ssreflect.cmx -o ../bin/ssrcoqide
+    cd ..
   '';
-  */
 
   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
   '';
 
   meta = {
@@ -43,5 +50,6 @@ stdenv.mkDerivation {
     '';
     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
new file mode 100644
index 000000000000..edb8a6111f7e
--- /dev/null
+++ b/pkgs/applications/science/logic/ssreflect/static.patch
@@ -0,0 +1,33 @@
+--- ssreflect1.3pl4/Make	(revision 3823)
++++ ssreflect1.3pl4/Make	(working copy)
+@@ -1,18 +1,18 @@
+ ## Uncomment for static linking
+ ## <static>
+-#
+-#-custom "$(COQBIN)coqmktop -opt -o bin/ssrcoq src/ssreflect.cmx" "src/ssreflect.cmx" bin/ssrcoq
+-#-custom "$(COQBIN)coqmktop -o bin/ssrcoq.byte src/ssreflect.cmo" "src/ssreflect.cmo bin/ssrcoq" bin/ssrcoq.byte
+-#-custom "$(SSRCOQ) $(COQFLAGS) -compile $*" "%.v $(SSRCOQ)" "%.vo"
+-#SSRCOQ = bin/ssrcoq
+-#
++
++-custom "$(COQBIN)coqmktop -opt -o bin/ssrcoq src/ssreflect.cmx" "src/ssreflect.cmx" bin/ssrcoq
++-custom "$(COQBIN)coqmktop -o bin/ssrcoq.byte src/ssreflect.cmo" "src/ssreflect.cmo bin/ssrcoq" bin/ssrcoq.byte
++-custom "$(SSRCOQ) $(COQFLAGS) -compile $*" "%.v $(SSRCOQ)" "%.vo"
++SSRCOQ = bin/ssrcoq
++
+ ## </static>
+ 
+ ## Uncomment for dynamic linking
+ ## <dynamic>
+-
+--I src
+-
++#
++#-I src
++#
+ ## </dynamic>
+ 
+ ## What follows should be left untouched by the final user of ssreflect
+Common subdirectories: old/src and new/src
+Common subdirectories: old/test and new/test
+Common subdirectories: old/theories and new/theories
diff --git a/pkgs/applications/science/logic/tptp/default.nix b/pkgs/applications/science/logic/tptp/default.nix
index ecd70843e0fd..87a320067131 100644
--- a/pkgs/applications/science/logic/tptp/default.nix
+++ b/pkgs/applications/science/logic/tptp/default.nix
@@ -11,10 +11,10 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="TPTP";
-    version="5.3.0";
+    version="5.4.0";
     name="${baseName}-${version}";
     url="http://www.cs.miami.edu/~tptp/TPTP/Distribution/TPTP-v${version}.tgz";
-    hash="0xzybh332x53q4cmb3i47ygln0x6rd2nx810la1hmja9d1ixnz9b";
+    hash="0nyq2kkiphwgj3hczc7zglzqjj6hxxsh6zcygpy4yhxh9a9rpkg1";
   };
 in
 rec {
diff --git a/pkgs/applications/science/math/ginac/default.nix b/pkgs/applications/science/math/ginac/default.nix
new file mode 100644
index 000000000000..081d2bd62530
--- /dev/null
+++ b/pkgs/applications/science/math/ginac/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, cln, pkgconfig, readline }:
+
+stdenv.mkDerivation rec {
+  name = "ginac-1.6.2";
+
+  src = fetchurl {
+    url = "${meta.homepage}/${name}.tar.bz2";
+    sha256 = "1pivcqqaf142l6vrj2azq6dxrcyzhag4za2dwicb4gsb09ax4d0g";
+  };
+
+  propagatedBuildInputs = [ cln ];
+  buildInputs = [ readline ];
+
+  buildNativeInputs = [ pkgconfig ];
+
+  configureFlags = "--disable-rpath";
+
+  meta = {
+    description = "GiNaC is Not a CAS";
+    homepage = http://www.ginac.de/;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.urkud ];
+  };
+}
diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix
index 0d3a12b38c28..41c21f94b011 100644
--- a/pkgs/applications/science/math/maxima/default.nix
+++ b/pkgs/applications/science/math/maxima/default.nix
@@ -2,7 +2,7 @@
 
 let
   name    = "maxima";
-  version = "5.26.0";
+  version = "5.27.0";
 
   searchPath =
     stdenv.lib.makeSearchPath "bin"
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
-    sha256 = "887105c99a91122f3e622472aa39bdd1ca8ed6198cf09b49917f63f8396dced9";
+    sha256 = "9006803714f1385221c4395697fad53f125a13d29b50b188d045d08e25f8dca7";
   };
 
   buildInputs = [sbcl texinfo perl makeWrapper];
diff --git a/pkgs/applications/science/math/wxmaxima/default.nix b/pkgs/applications/science/math/wxmaxima/default.nix
index 9592f8f98718..52048dc9d197 100644
--- a/pkgs/applications/science/math/wxmaxima/default.nix
+++ b/pkgs/applications/science/math/wxmaxima/default.nix
@@ -2,14 +2,14 @@
 
 let
   name    = "wxmaxima";
-  version = "12.01.0";
+  version = "12.04.0";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/wxMaxima-${version}.tar.gz";
-    sha256 = "358cdafe81b7e7290f6bb8c93580b0e2f0ae5a4d148a476e5af375aa9bf77054";
+    sha256 = "60110507e0a63738a1f420b22697eaac9bea3866122e072dcd697077e8744824";
   };
 
   buildInputs = [wxGTK maxima makeWrapper];
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index 6d69c9f8131e..53e214e8f370 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -39,14 +39,14 @@ rec {
   gitFull = appendToName "full" (git.override {
     svnSupport = true;
     guiSupport = true;
-    sendEmailSupport = stdenv.isDarwin == false;
+    sendEmailSupport = !stdenv.isDarwin;
   });
 
   gitAnnex = lib.makeOverridable (import ./git-annex) {
-    inherit stdenv fetchurl libuuid rsync findutils curl perl git ikiwiki which coreutils;
-    inherit (haskellPackages_ghc741) ghc MissingH utf8String pcreLight SHA dataenc
+    inherit stdenv fetchurl libuuid rsync findutils curl perl git ikiwiki which coreutils openssh;
+    inherit (haskellPackages) ghc MissingH utf8String pcreLight SHA dataenc
       HTTP testpack hS3 mtl network hslogger hxt json liftedBase monadControl IfElse
-      QuickCheck2 bloomfilter editDistance;
+      QuickCheck bloomfilter editDistance stm hinotify;
   };
 
   qgit = import ./qgit {
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 82d333d17830..16f62ad50ec2 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
@@ -1,26 +1,26 @@
 { stdenv, fetchurl, curl, dataenc, findutils, ghc, git, hS3, hslogger, HTTP, hxt
 , ikiwiki, json, libuuid, MissingH, monadControl, mtl, network, pcreLight, perl
-, QuickCheck2, rsync, SHA, testpack, utf8String, which, liftedBase, coreutils
-, IfElse, bloomfilter, editDistance
+, QuickCheck, rsync, SHA, testpack, utf8String, which, liftedBase, coreutils
+, IfElse, bloomfilter, editDistance, openssh, stm, hinotify
 }:
 
 let
-  version = "3.20120430";
+  version = "3.20120629";
 in
 stdenv.mkDerivation {
   name = "git-annex-${version}";
 
   src = fetchurl {
     url = "http://git.kitenet.net/?p=git-annex.git;a=snapshot;sf=tgz;h=refs/tags/${version}";
-    sha256 = "74540ef25461b91acc2e1733ade169e54492fa96370f6ec22554524078e0c7dd";
+    sha256 = "0dajcmx1sn3rqlba5b66lkiwji849gxzcb5d8666in21g7lc1ccs";
     name = "git-annex-${version}.tar.gz";
   };
 
   buildInputs = [
     curl dataenc findutils ghc git hS3 hslogger HTTP hxt ikiwiki json
-    libuuid MissingH monadControl mtl network pcreLight perl QuickCheck2
+    libuuid MissingH monadControl mtl network pcreLight perl QuickCheck
     rsync SHA testpack utf8String which liftedBase IfElse bloomfilter
-    editDistance
+    editDistance openssh stm hinotify
   ];
 
   checkTarget = "test";
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 64f9cf36270d..4ed5f78d6e0c 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -8,15 +8,19 @@
 }:
 
 let
-  version = "1.7.9.5";
+
+  version = "1.7.11";
+  
   svn = subversionClient.override { perlBindings = true; };
+  
 in
+
 stdenv.mkDerivation {
   name = "git-${version}";
 
   src = fetchurl {
     url = "http://git-core.googlecode.com/files/git-${version}.tar.gz";
-    sha256 = "0nap6z8kfl61hx0h64ylk0x8786fxk31prdv7zk14ljbihs55p9x";
+    sha256 = "0qgi1cj19dnn0sl3n38dbz68nllvyppdvs2jb77ksiar4jb9lsc3";
   };
 
   patches = [ ./docbook2texi.patch ];
@@ -36,7 +40,7 @@ stdenv.mkDerivation {
 
   postInstall =
     ''
-      notSupported(){
+      notSupported() {
         echo -e "#\!/bin/sh\necho '`basename $1` not supported, $2'\nexit 1" > "$1"
         chmod +x $1
       }
@@ -68,11 +72,11 @@ stdenv.mkDerivation {
         for i in ${builtins.toString perlLibs} ${svn}; do
           gitperllib=$gitperllib:$i/lib/perl5/site_perl
         done
-        wrapProgram "$out/libexec/git-core/git-svn"     \
-                     --set GITPERLLIB "$gitperllib"     \
+        wrapProgram $out/libexec/git-core/git-svn     \
+                     --set GITPERLLIB "$gitperllib"   \
                      --prefix PATH : "${svn}/bin" ''
        else '' # replace git-svn by notification script
-        notSupported $out/bin/git-svn "reinstall with config git = { svnSupport = true } set"
+        notSupported $out/libexec/git-core/git-svn "reinstall with config git = { svnSupport = true } set"
        '')
 
    + (if sendEmailSupport then
@@ -81,10 +85,10 @@ stdenv.mkDerivation {
         for i in ${builtins.toString smtpPerlLibs}; do
           gitperllib=$gitperllib:$i/lib/perl5/site_perl
         done
-        wrapProgram "$out/libexec/git-core/git-send-email"     \
+        wrapProgram $out/libexec/git-core/git-send-email \
                      --set GITPERLLIB "$gitperllib" ''
        else '' # replace git-send-email by notification script
-        notSupported $out/bin/git-send-email "reinstall with config git = { sendEmailSupport = true } set"
+        notSupported $out/libexec/git-core/git-send-email "reinstall with config git = { sendEmailSupport = true } set"
        '')
 
    + ''# Install man pages and Info manual
diff --git a/pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix b/pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix
index 1d8f0dcb9e5f..c44f2dbcbb6b 100644
--- a/pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/svn2git-kde/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchgit, qt4, subversion, apr}:
 
 stdenv.mkDerivation rec {
-  name = "svn2git-kde";
+  name = "svn2git-kde-1.0.5";
 
   src = fetchgit {
     url = http://git.gitorious.org/svn2git/svn2git.git;
-    rev = "197979b6a641b8b5fa4856c700b1235491c73a41";
-    sha256 = "7be1a8f5822aff2d4ea7f415dce0b4fa8c6a82310acf24e628c5f1ada2d2d613";
+    rev = "149d6c6e14a1724c96999328683a9264fc508264";
+    sha256 = "818673fe751b00a42b6ed3e78a783549fb09b5245a01dee47b3dded667bfc582";
   };
 
   buildPhase = ''
diff --git a/pkgs/applications/version-management/mr/default.nix b/pkgs/applications/version-management/mr/default.nix
new file mode 100644
index 000000000000..ca272504517a
--- /dev/null
+++ b/pkgs/applications/version-management/mr/default.nix
@@ -0,0 +1,57 @@
+{ stdenv, fetchgit, fetchgitrevision, perl }:
+
+stdenv.mkDerivation rec {
+
+  version = "1.12";
+  name = "mr-" + version;
+
+  src = fetchgit {
+    url = "git://git.kitenet.net/mr.git";
+    rev = "353f63c968368edea9b14261f510c34ce4e0c97f";
+  };
+
+  buildInputs = [perl];
+
+  buildPhase = ''
+    make build
+  '';
+
+  installPhase = ''
+    ensureDir $out/bin
+    ensureDir $out/share/man/man1
+    cp mr $out/bin
+    cp webcheckout $out/bin
+    cp mr.1 $out/share/man/man1
+    cp webcheckout.1 $out/share/man/man1
+  '';
+      
+  meta = {
+    description = "Multiple Repository management tool";
+    longDescription = ''The mr(1) command can checkout, update, or perform other actions on a
+      set of repositories as if they were one combined respository. It
+      supports any combination of subversion, git, cvs, mercurial, bzr,
+      darcs, cvs, vcsh, fossil and veracity repositories, and support for
+      other revision control systems can easily be added. (There are
+      extensions adding support for unison and git-svn.)
+
+      It is extremely configurable via simple shell scripting. Some examples
+      of things it can do include:
+
+        - Update a repository no more frequently than once every twelve
+          hours.
+        - Run an arbitrary command before committing to a
+          repository.
+        - When updating a git repository, pull from two
+          different upstreams and merge the two together.
+        - Run several repository updates in parallel, greatly speeding
+          up the update process.
+        - Remember actions that failed due to a laptop being
+          offline, so they can be retried when it comes back online.
+    '';
+    homepage = http://joeyh.name/code/mr/;
+    license = "GPLv2+";
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.antono ];
+  };
+}
+ 
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index 30b15f833d9f..50a5ae8f6c3d 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -21,13 +21,13 @@ assert compressionSupport -> neon.compressionSupport;
 
 stdenv.mkDerivation rec {
 
-  version = "1.7.4";
+  version = "1.7.5";
 
   name = "subversion-${version}";
 
   src = fetchurl {
     url = "mirror://apache/subversion//${name}.tar.bz2";
-    sha1 = "57a3cd351c1dbedddd020e7a1952df6cd2674527";
+    sha1 = "05c079762690d5ac1ccd2549742e7ef70fa45cf1";
   };
 
   buildInputs = [ zlib apr aprutil sqlite ]
diff --git a/pkgs/applications/video/kdenlive/default.nix b/pkgs/applications/video/kdenlive/default.nix
index c133c90f8e92..d8620eb33cdd 100644
--- a/pkgs/applications/video/kdenlive/default.nix
+++ b/pkgs/applications/video/kdenlive/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchurl, lib, cmake, qt4, perl, kdelibs, automoc4, phonon, mlt, gettext
-, qimageblitz, qjson, shared_mime_info, soprano, pkgconfig }:
+{ stdenv, fetchurl, lib, cmake, qt4, perl, kdelibs, automoc4, phonon
+, mlt, gettext , qimageblitz, qjson, shared_mime_info, soprano
+, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "kdenlive-${version}";
-  version = "0.8.2.1";
+  version = "0.9.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/kdenlive/${name}.tar.gz";
-    sha256 = "a454a0659c9673453800df8382dfdbcb87acfb9b174712ffeb46b8304bf00717";
+    url = "mirror://kde/stable/kdenlive/0.9.2/src/${name}.tar.bz2";
+    sha256 = "1h240s0c10z8sgvwmrfzam33qlx7j2a5b12lw1mk02ihs9hl43j1";
   };
 
-  patches = [ ./qtgl-header-change.patch ];
-
-  buildInputs = [ cmake qt4 perl kdelibs automoc4 phonon mlt gettext
-    qimageblitz qjson shared_mime_info soprano pkgconfig ];
+  buildInputs = 
+    [ cmake qt4 perl kdelibs automoc4 phonon mlt gettext qimageblitz
+      qjson shared_mime_info soprano pkgconfig 
+    ];
 
   meta = {
     description = "Free and open source video editor";
diff --git a/pkgs/applications/video/kdenlive/qtgl-header-change.patch b/pkgs/applications/video/kdenlive/qtgl-header-change.patch
deleted file mode 100644
index 91d9f13737bd..000000000000
--- a/pkgs/applications/video/kdenlive/qtgl-header-change.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Correct for changed Qt opengl includes.
-Reference: http://www.kdenlive.org/mantis/view.php?id=2396
-
-diff -Naur kdenlive-0.8.2.1.orig//src/videoglwidget.cpp kdenlive-0.8.2.1/src/videoglwidget.cpp
---- kdenlive-0.8.2.1.orig//src/videoglwidget.cpp	2012-01-24 00:04:53.588121469 -0430
-+++ kdenlive-0.8.2.1/src/videoglwidget.cpp	2012-01-24 00:05:32.817410938 -0430
-@@ -2,6 +2,7 @@
- #include <QtGui>
- #include <QtOpenGL>
- #include "videoglwidget.h"
-+#include "GL/glu.h"
- 
- #ifndef GL_TEXTURE_RECTANGLE_EXT
- #define GL_TEXTURE_RECTANGLE_EXT GL_TEXTURE_RECTANGLE_NV
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 7355266b9349..812826d7ec28 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -11,17 +11,19 @@
 , zlib
 , ruby
 , gettext
+, pkgconfig
+, curl
 }:
 
 stdenv.mkDerivation rec {
-  name = "mkvtoolnix-4.4.0";
+  name = "mkvtoolnix-5.6.0";
 
   src = fetchurl {
     url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.bz2";
-    sha256 = "0apgmah1d4dh5x1phr4n5vgwmy0w1nym9pydzh4kdgcs167l8n6l";
+    sha256 = "1hzwf4zaamny3qzmd6hyhy4hy9l67s3fjvznbi0avw0ad7g05i89";
   };
 
-  buildInputs = [ libmatroska flac libvorbis file boost lzo xdg_utils expat wxGTK zlib ruby gettext ];
+  buildInputs = [ libmatroska flac libvorbis file boost lzo xdg_utils expat wxGTK zlib ruby gettext pkgconfig curl ];
 
   configureFlags = "--with-boost-libdir=${boost}/lib";
   buildPhase = ''
diff --git a/pkgs/applications/video/ogmtools/default.nix b/pkgs/applications/video/ogmtools/default.nix
new file mode 100644
index 000000000000..1a6bc6629993
--- /dev/null
+++ b/pkgs/applications/video/ogmtools/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, libogg, libvorbis, libdvdread }:
+
+stdenv.mkDerivation rec {
+  name = "ogmtools-1.5";
+
+  src = fetchurl {
+    url = "http://www.bunkus.org/videotools/ogmtools/${name}.tar.bz2";
+    sha256 = "1spx81p5wf59ksl3r3gvf78d77sh7gj8a6lw773iv67bphfivmn8";
+  };
+
+  buildInputs = [libogg libvorbis libdvdread];
+
+  meta = {
+    description = "Tools for modifying and inspecting OGG media streams. Includes dvdxchap tool for extracting chapter information from DVD.";
+    longDescription = "These tools allow information about (ogminfo) or extraction from (ogmdemux) or creation of (ogmmerge) OGG media streams.";
+    homepage = http://www.bunkus.org/videotools/ogmtools/;
+    license = "GPLv2";
+
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/video/xine-ui/default.nix b/pkgs/applications/video/xine-ui/default.nix
index 38bacb251177..821e1c7bb0c5 100644
--- a/pkgs/applications/video/xine-ui/default.nix
+++ b/pkgs/applications/video/xine-ui/default.nix
@@ -1,18 +1,18 @@
-{stdenv, fetchurl, pkgconfig, xlibs, xineLib, libpng12, readline, ncurses, curl
-, lirc, shared_mime_info }:
+{stdenv, fetchurl, pkgconfig, xlibs, libpng, xineLib, readline, ncurses, curl
+, lirc, shared_mime_info, libjpeg }:
 
 stdenv.mkDerivation rec {
-  name = "xine-ui-0.99.6";
+  name = "xine-ui-0.99.7";
   
   src = fetchurl {
     url = "mirror://sourceforge/xine/${name}.tar.xz";
-    sha256 = "1wwylnckm5kfq5fi154w8jqf5cwvp7c1ani15q7sgfrfdkmy7caf";
+    sha256 = "1i3byriqav06b55kwzs4dkzrjw7mmmcv0rc7jzb52hn8qp8xz34x";
   };
   
   buildNativeInputs = [ pkgconfig shared_mime_info ];
 
   buildInputs =
-    [ xineLib libpng12 readline ncurses curl lirc
+    [ xineLib libpng readline ncurses curl lirc libjpeg
       xlibs.xlibs xlibs.libXext xlibs.libXv xlibs.libXxf86vm xlibs.libXtst xlibs.inputproto
       xlibs.libXinerama xlibs.libXi xlibs.libXft
     ];
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index a2a8cff84d2f..2736c603a48d 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -8,7 +8,7 @@
 
 with stdenv.lib;
 
-let version = "4.1.12"; in
+let version = "4.1.18"; in
 
 stdenv.mkDerivation {
   name = "virtualbox-${version}-${kernel.version}";
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
-    sha256 = "00hx7cl8n4qdmipxxx8a96x8yw6yim9bz3fjbyzcrs8yls0r2jsf";
+    sha256 = "e650e4fdc23581b9edc0e5d5705cc596c76796851ebf65ccda0edb8e413fa3b7";
   };
 
   buildInputs =
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index a11e4ee8218e..ec77ca91910f 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, lib, patchelf, cdrkit, kernel, which, makeWrapper
 , libX11, libXt, libXext, libXmu, libXcomposite, libXfixes, libXrandr, libXcursor}:
 
-let version = "4.1.12"; in
+let version = "4.1.18"; in
 
 stdenv.mkDerivation {
   name = "VirtualBox-GuestAdditions-${version}";
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "0if2q188zf608p1dkq6pd46dafhslqcxmfpmarypbd68k7fi7kkx";
+    sha256 = "1zsjh4q71ny10s2zaxnaw4w3bs961c21xv6dd6zpwhnbimlhlrqb";
   };
   KERN_DIR = "${kernel}/lib/modules/*/build";
   buildInputs = [ patchelf cdrkit makeWrapper ];
diff --git a/pkgs/applications/window-managers/compton/default.nix b/pkgs/applications/window-managers/compton/default.nix
new file mode 100644
index 000000000000..dc1622972ad1
--- /dev/null
+++ b/pkgs/applications/window-managers/compton/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchgit, pkgconfig, libXcomposite, libXfixes, libXdamage
+, libXrender, libXext }:
+stdenv.mkDerivation rec {
+  name = "compton-20120507";
+  src = fetchgit {
+    url = git://github.com/chjj/compton.git;
+    rev = "d52f7a06dbc55d92e061f976730952177edac739";
+    sha256 = "0f7600a841c4c77d181b54bc14cf7d90d0bad25aa5edbade320ca8b9946f14eb";
+  };
+  buildInputs = [ pkgconfig libXcomposite libXfixes libXdamage libXrender libXext ];
+  buildFlagsArray = ["CFLAGS=-O3 -fomit-frame-pointer"];
+  installFlags = "PREFIX=$(out)";
+  meta = {
+    homepage = http://www.x.org/;
+    description = "A fork of XCompMgr, a sample compositing manager for X servers";
+    longDescription = ''
+      A fork of XCompMgr, which is a  sample compositing manager for X servers
+      supporting the XFIXES, DAMAGE, RENDER, and COMPOSITE extensions.  It enables
+      basic eye-candy effects. This fork adds additional features, such as additional
+      effects, and a fork at a well-defined and proper place.
+    '';
+    license = "bsd";
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix
index 04e50f808274..3a3a3626fb93 100644
--- a/pkgs/applications/window-managers/i3/default.nix
+++ b/pkgs/applications/window-managers/i3/default.nix
@@ -13,18 +13,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutil bison xcbutilwm
     libstartup_notification libX11 pcre libev yajl flex libXcursor perl ];
 
-  prePatch = ''
-    sed s,/usr/bin/env,${coreutils}/bin/env, -i generate-command-parser.pl
-    sed s,/usr/bin/env,${coreutils}/bin/env, -i i3-migrate-config-to-v4
-    sed s,/usr/bin/env,${coreutils}/bin/env, -i i3-wsbar
-  '';
-
-  makeFlags = "all";
-  installFlags = "PREFIX=\${out}";
+  configurePhase = "makeFlags=PREFIX=$out";
 
   meta = {
     description = "i3 is a tiling window manager";
-    homepage = http://i3wm.org;
+    homepage = "http://i3wm.org";
     maintainers = [ stdenv.lib.maintainers.garbas ];
     license = stdenv.lib.licenses.bsd3;
   };
diff --git a/pkgs/applications/window-managers/i3/lock.nix b/pkgs/applications/window-managers/i3/lock.nix
index a1d7409eaf2b..12e4c91e24d0 100644
--- a/pkgs/applications/window-managers/i3/lock.nix
+++ b/pkgs/applications/window-managers/i3/lock.nix
@@ -2,11 +2,11 @@
   pam, libX11, libev, cairo }:
 
 stdenv.mkDerivation rec {
-  name = "i3lock-2.4";
+  name = "i3lock-2.4.1";
 
   src = fetchurl {
     url = "http://i3wm.org/i3lock/${name}.tar.bz2";
-    sha256 = "ce6a47aaa25357ef6214628ddb992b5ba1562a116f63621a6095d422e5001229";
+    sha256 = "4d29e66841138de562e71903d31ecaaefd8ecffe5e68da0d6c8d560ed543047c";
   };
 
   buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutilimage pam libX11
diff --git a/pkgs/applications/window-managers/i3/status.nix b/pkgs/applications/window-managers/i3/status.nix
index a60db1b38021..549cfc5d20dc 100644
--- a/pkgs/applications/window-managers/i3/status.nix
+++ b/pkgs/applications/window-managers/i3/status.nix
@@ -1,15 +1,15 @@
-{ fetchurl, stdenv, confuse, alsaLib, wirelesstools
+{ fetchurl, stdenv, confuse, yajl, alsaLib, wirelesstools
   }:
 
 stdenv.mkDerivation rec {
-  name = "i3status-2.4";
+  name = "i3status-2.5.1";
 
   src = fetchurl {
     url = "http://i3wm.org/i3status/${name}.tar.bz2";
-    sha256 = "620f3768dc4e9ea391ca5b5e358d018ca5d2820da1fce71a71664ca554778abd";
+    sha256 = "7734efdf79a77617023f1e6d80080251eab3a05defb67313283568511d3e58f2";
   };
 
-  buildInputs = [ confuse alsaLib wirelesstools ];
+  buildInputs = [ confuse yajl alsaLib wirelesstools ];
 
   makeFlags = "all";
   installFlags = "PREFIX=\${out}";
diff --git a/pkgs/applications/window-managers/ratpoison/default.nix b/pkgs/applications/window-managers/ratpoison/default.nix
index 77a998b9f74c..262b46190fbb 100644
--- a/pkgs/applications/window-managers/ratpoison/default.nix
+++ b/pkgs/applications/window-managers/ratpoison/default.nix
@@ -9,44 +9,43 @@ stdenv.mkDerivation rec {
     sha256 = "7391079db20b8613eecfd81d64d243edc9d3c586750c8f2da2bb9db14d260f03";
   };
 
-  patches =
-    [ (fetchurl {
-         url = "http://git.savannah.gnu.org/cgit/ratpoison.git/patch/?id=4ad0b38fb53506d613c4b4f7268dadfcedae9b8e";
-         sha256 = "118c5b481fa22b8fefbe34e3dbb157f621a3bf5de0c7beb540001c99ff403a5f";
-       })
-    ];
-
-  preConfigure = "autoreconf -vf";	# needed because of the patch above
-
-  NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2"; # urgh
-  
   buildInputs =
     [ libX11 inputproto libXt libXpm libXft fontconfig freetype libXtst
       xextproto readline libXi pkgconfig perl autoconf automake
     ];
 
-  meta = {
-    description = "Ratpoison, a simple mouse-free tiling window manager";
-    longDescription =
-      '' Ratpoison is a simple window manager with no fat library
-         dependencies, no fancy graphics, no window decorations, and no
-         rodent dependence.  It is largely modelled after GNU Screen which
-         has done wonders in the virtual terminal market.
+  NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2"; # urgh
+
+  preConfigure = "autoreconf -vf";      # needed because of the patch above
 
-         The screen can be split into non-overlapping frames.  All windows
-         are kept maximized inside their frames to take full advantage of
-         your precious screen real estate.
+  patches = [ ./glibc-fix.patch ];
 
-         All interaction with the window manager is done through keystrokes.
-         Ratpoison has a prefix map to minimize the key clobbering that
-         cripples Emacs and other quality pieces of software.
-      '';
+  postInstall = ''
+    mkdir -p $out/share/emacs/site-lisp
+    mv "$out/share/ratpoison/"*.el $out/share/emacs/site-lisp/
+  '';
 
+  meta = {
+    homepage = "http://www.nongnu.org/ratpoison/";
+    description = "Ratpoison, a simple mouse-free tiling window manager";
     license = "GPLv2+";
 
-    homepage = http://www.nongnu.org/ratpoison/;
+    longDescription = ''
+       Ratpoison is a simple window manager with no fat library
+       dependencies, no fancy graphics, no window decorations, and no
+       rodent dependence.  It is largely modelled after GNU Screen which
+       has done wonders in the virtual terminal market.
+
+       The screen can be split into non-overlapping frames.  All windows
+       are kept maximized inside their frames to take full advantage of
+       your precious screen real estate.
+
+       All interaction with the window manager is done through keystrokes.
+       Ratpoison has a prefix map to minimize the key clobbering that
+       cripples Emacs and other quality pieces of software.
+    '';
 
     maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/window-managers/ratpoison/glibc-fix.patch b/pkgs/applications/window-managers/ratpoison/glibc-fix.patch
new file mode 100644
index 000000000000..c779d5af795e
--- /dev/null
+++ b/pkgs/applications/window-managers/ratpoison/glibc-fix.patch
@@ -0,0 +1,22 @@
+From 4ad0b38fb53506d613c4b4f7268dadfcedae9b8e Mon Sep 17 00:00:00 2001
+From: Shawn Betts <sabetts@gmail.com>
+Date: Mon, 13 Jul 2009 01:23:25 +0000
+Subject: check for getline in configure.in
+
+This fixes a build error encountered on glibc 2.10 systems
+---
+diff --git a/configure.in b/configure.in
+index 0c1b42c..08f4ee8 100644
+--- a/configure.in
++++ b/configure.in
+@@ -146,7 +146,7 @@ AC_CHECK_HEADERS(unistd.h stdarg.h)
+ dnl Checks for typedefs, structures, and compiler characteristics.
+ 
+ dnl Checks for library functions.
+-AC_CHECK_FUNCS(getopt getopt_long setsid setpgid setpgrp putenv vsnprintf usleep)
++AC_CHECK_FUNCS(getopt getopt_long setsid setpgid setpgrp putenv vsnprintf usleep getline)
+ 
+ AC_TYPE_SIGNAL
+ 
+--
+cgit v0.9.0.2
diff --git a/pkgs/applications/window-managers/xcompmgr/default.nix b/pkgs/applications/window-managers/xcompmgr/default.nix
index 9dd5892d9fcf..3e402b05b94c 100644
--- a/pkgs/applications/window-managers/xcompmgr/default.nix
+++ b/pkgs/applications/window-managers/xcompmgr/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, libXcomposite, libXfixes, libXdamage
-, libXrender }:
+, libXrender, libXext }:
 stdenv.mkDerivation rec {
-  name = "xcompmgr-1.1.5";
+  name = "xcompmgr-1.1.6";
   src = fetchurl {
     url = "http://www.x.org/releases/individual/app/${name}.tar.bz2";
-    sha256 = "bb20737a6f9e0cdf5cfbd5288b6a9a4b16ca18d2be19444549c1d6be2a90b571";
+    sha256 = "c98949d36793b30ed1ed47495c87a05fa245ac0fc2857d2abc54979124687c02";
   };
-  buildInputs = [ pkgconfig libXcomposite libXfixes libXdamage libXrender ];
+  buildInputs = [ pkgconfig libXcomposite libXfixes libXdamage libXrender libXext ];
   meta = {
     homepage = http://www.x.org/;
     description = "A sample compositing manager for X servers";
diff --git a/pkgs/applications/window-managers/xmonad/xmonad-extras.nix b/pkgs/applications/window-managers/xmonad/xmonad-extras.nix
index ac0be1e70c4b..42ffeae6f9c2 100644
--- a/pkgs/applications/window-managers/xmonad/xmonad-extras.nix
+++ b/pkgs/applications/window-managers/xmonad/xmonad-extras.nix
@@ -1,15 +1,16 @@
-{ cabal, hint, HList, libmpd, mtl, network, parsec, random
-, regexPosix, split, X11, xmonad, xmonadContrib
+{ cabal, hint, libmpd, mtl, network, parsec, random, regexPosix
+, split, X11, xmonad, xmonadContrib
 }:
 
 cabal.mkDerivation (self: {
   pname = "xmonad-extras";
-  version = "0.10.1";
-  sha256 = "17rac0xjw1zw1jlc1rpq54vg50xscb3b98knk4gkb8bv1khpgz27";
+  version = "0.10.1.1";
+  sha256 = "1pkp9z58w2x8yhxhvm5nifxb1qcajv52ji53n77rjhpysvrgq5m7";
   buildDepends = [
-    hint HList libmpd mtl network parsec random regexPosix split X11
-    xmonad xmonadContrib
+    hint libmpd mtl network parsec random regexPosix split X11 xmonad
+    xmonadContrib
   ];
+  configureFlags = "-f-with_hlist";
   meta = {
     homepage = "http://projects.haskell.org/xmonad-extras";
     description = "Third party extensions for xmonad with wacky dependencies";
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index 979aa531092d..00cd7d3129b3 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -1,8 +1,8 @@
 #! /bin/sh -e
 
-url=$1
-rev=$2
-expHash=$3
+url=
+rev=
+expHash=
 hashType=$NIX_HASH_ALGO
 deepClone=$NIX_PREFETCH_GIT_DEEP_CLONE
 leaveDotGit=$NIX_PREFETCH_GIT_LEAVE_DOT_GIT
@@ -189,21 +189,19 @@ clone(){
 clone_user_rev() {
     local dir="$1"
     local url="$2"
-    local rev="$3"
+    local rev="${3:-HEAD}"
 
     # Perform the checkout.
     case "$rev" in
         HEAD|refs/*)
             clone "$dir" "$url" "" "$rev" 1>&2;;
-        [0-9a-f]*)
+        *)
             if test -z "$(echo $rev | tr -d 0123456789abcdef)"; then
                 clone "$dir" "$url" "$rev" "" 1>&2;
             else
                 echo 1>&2 "Bad commit hash or bad reference.";
                 exit 1;
             fi;;
-        "")
-            clone "$dir" "$url" "" "HEAD" 1>&2;;
     esac
 
     # Allow doing additional processing before .git removal
diff --git a/pkgs/build-support/kernel/make-initrd.sh b/pkgs/build-support/kernel/make-initrd.sh
index 8d334447b6dd..b2c784635699 100644
--- a/pkgs/build-support/kernel/make-initrd.sh
+++ b/pkgs/build-support/kernel/make-initrd.sh
@@ -36,7 +36,7 @@ storePaths=$(perl $pathsFromGraph closure-*)
 
 # Put the closure in a gzipped cpio archive.
 mkdir -p $out
-(cd root && find * -print0 | cpio -ov -H newc --null | gzip -9 > $out/initrd)
+(cd root && find * -print0 | cpio -o -H newc --null | gzip -9 > $out/initrd)
 
 if [ -n "$makeUInitrd" ]; then
     mv $out/initrd $out/initrd.gz
diff --git a/pkgs/build-support/release/debian-build.nix b/pkgs/build-support/release/debian-build.nix
index 8d2ea849a09f..0095a2ff8818 100644
--- a/pkgs/build-support/release/debian-build.nix
+++ b/pkgs/build-support/release/debian-build.nix
@@ -65,6 +65,7 @@ vmTools.runInLinuxImage (stdenv.mkDerivation (
         --fstrans=${if fsTranslation then "yes" else "no"} \
         --requires="${concatStringsSep "," debRequires}" \
         --provides="${concatStringsSep "," debProvides}" \
+        ${optionalString (src ? version) "--pkgversion=$(echo ${src.version} | tr _ -)"} \
         make install
 
       mkdir -p $out/debs
diff --git a/pkgs/build-support/release/rpm-build.nix b/pkgs/build-support/release/rpm-build.nix
index a3256769762a..9ec9ace07573 100644
--- a/pkgs/build-support/release/rpm-build.nix
+++ b/pkgs/build-support/release/rpm-build.nix
@@ -26,24 +26,22 @@ vmTools.buildRPM (
     ''; # */
 
     postInstall = ''
+      declare -a rpms rpmNames
       for i in $out/rpms/*/*.rpm; do
         if echo $i | grep -vq "\.src\.rpm$"; then
           echo "file rpm $i" >> $out/nix-support/hydra-build-products
-          
-          echo "installing $i..."
-          rpm -ip "$i" --excludepath /nix/store
+          rpms+=($i)
+          rpmNames+=("$(rpm -qp "$i")")
         fi
       done
 
+      echo "installing ''${rpms[*]}..."
+      rpm -ip ''${rpms[*]} --excludepath /nix/store
+
       eval "$postRPMInstall"
       
-      for i in $out/rpms/*/*.rpm; do
-        if echo $i | grep -vq "\.src\.rpm$"; then
-          rpmName="$(rpm -qp "$i")"
-          echo "uninstalling $rpmName..."
-          rpm -e "$rpmName"
-        fi
-      done
+      echo "uninstalling ''${rpmNames[*]}..."
+      rpm -e ''${rpmNames[*]}
 
       for i in $out/rpms/*/*.src.rpm; do
         echo "file srpm $i" >> $out/nix-support/hydra-build-products
diff --git a/pkgs/build-support/upstream-updater/attrset-to-dir.sh b/pkgs/build-support/upstream-updater/attrset-to-dir.sh
index 0e0c50e12598..2d99ef110a1c 100755
--- a/pkgs/build-support/upstream-updater/attrset-to-dir.sh
+++ b/pkgs/build-support/upstream-updater/attrset-to-dir.sh
@@ -1,8 +1,8 @@
 #! /bin/sh
 
 [ -n "$2" ] && NIXPKGS_ALL="$2";
-[ -z "$NIXPKGS_ALL" ] && [ -f "/etc/nixos/nixpkgs" ] && NIXPKGS_ALL="/etc/nixos/nixpkgs";
-[ -z "$NIXPKGS_ALL" ] && [ -f "$HOME/nixpkgs" ] && NIXPKGS_ALL="$HOME/nixpkgs";
+[ -z "$NIXPKGS_ALL" ] && [ -d "/etc/nixos/nixpkgs" ] && NIXPKGS_ALL="/etc/nixos/nixpkgs";
+[ -z "$NIXPKGS_ALL" ] && [ -d "$HOME/nixpkgs" ] && NIXPKGS_ALL="$HOME/nixpkgs";
 [ -z "$NIXPKGS_ALL" ] && {
   echo "Cannot find Nixpkgs source. Please specify it via NIXPKGS_ALL or second command line argument"
   exit 1
diff --git a/pkgs/build-support/upstream-updater/urls-from-page.sh b/pkgs/build-support/upstream-updater/urls-from-page.sh
index d9f2d34e011a..065e3faf309b 100755
--- a/pkgs/build-support/upstream-updater/urls-from-page.sh
+++ b/pkgs/build-support/upstream-updater/urls-from-page.sh
@@ -4,9 +4,11 @@ url="$1"
 protocol="${url%%:*}"
 path="${url#$protocol://}"
 server="${path%%/*}"
+basepath="${path%/*}"
 relpath="${path#$server}"
  
 echo "URL: $url" >&2
 
 curl -L -k "$url" | sed -re 's/^/-/;s/[hH][rR][eE][fF]="([^"]*)"/\n+\1\n-/g' | \
-  sed -e '/^-/d; s/^[+]//; /^#/d;'"s/^\\//$protocol:\\/\\/$server\\//g"
+  sed -e '/^-/d; s/^[+]//; /^#/d;'"s/^\\//$protocol:\\/\\/$server\\//g" | \
+  sed -re 's~^[^:]*$~'"$protocol://$basepath/&~"
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index b38ae0102165..6af4a5c05748 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -1300,7 +1300,7 @@ rec {
       fullName = "Debian 6.0.4 Squeeze (i386)";
       packagesList = fetchurl {
         url = mirror://debian/dists/squeeze/main/binary-i386/Packages.bz2;
-        sha256 = "5686732aa690d80ba4c390af3f7b9ba3c3c8c17861c89bca3a3694c403d7b7e6";
+        sha256 = "1aih4n1iz4gzzm5cy1j14mpx8i25jj1237994j33k7dm0gnqgr2w";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
@@ -1311,7 +1311,7 @@ rec {
       fullName = "Debian 6.0.4 Squeeze (amd64)";
       packagesList = fetchurl {
         url = mirror://debian/dists/squeeze/main/binary-amd64/Packages.bz2;
-        sha256 = "525f919bb48a4d2d0cb3a4fb5b0d4338e7936f68753ca945358ea1c3792ea7b7";
+        sha256 = "1gb3im7kl8dwd7z82xj4wb5g58r86fjj8cirvq0ssrvcm9bqaiz7";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix
index 71c41ccba612..0aca88a46c06 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.38";
+  name = "man-pages-3.41";
   
   src = fetchurl {
     url = "mirror://kernel/linux/docs/man-pages/Archive/${name}.tar.xz";
-    sha256 = "10ha41yj5v3rjy73x8kpn65srbcy0iz399vv149bh12lvyv67kvy";
+    sha256 = "1fldlsw51al9cvmz8dixrfv2j80bamjd5bzxsa66cvhc48n8p2nf";
   };
 
   preBuild =
diff --git a/pkgs/data/fonts/dosemu-fonts/default.nix b/pkgs/data/fonts/dosemu-fonts/default.nix
new file mode 100644
index 000000000000..6f325b4ea4fd
--- /dev/null
+++ b/pkgs/data/fonts/dosemu-fonts/default.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchurl, bdftopcf, mkfontdir, mkfontscale}:
+
+stdenv.mkDerivation {
+  name = "dosemu-fonts";
+
+  src = fetchurl {
+    url = mirror://sourceforge/dosemu/dosemu-1.4.0.tgz;
+    sha256 = "0l1zwmw42mpakjrzmbygshcg2qzq9mv8lx42738rz3j9hrqzg4pw";
+  };
+
+  configurePhase = "true";
+  buildPhase = "true";
+
+  buildInputs = [bdftopcf mkfontdir mkfontscale];
+
+  installPhase = ''
+    fontPath="$out/share/fonts/X11/misc/dosemu"
+    mkdir -p "$fontPath"
+    for i in etc/*.bdf; do
+      fontOut="$out/share/fonts/X11/misc/dosemu/$(basename "$i" .bdf).pcf.gz"
+      echo -n "Installing font $fontOut..." >&2
+      bdftopcf $i | gzip -c -9 > "$fontOut"
+      echo " done." >&2
+    done
+    cp etc/dosemu.alias "$fontPath/fonts.alias"
+    cd "$fontPath"
+    mkfontdir
+    mkfontscale
+  '';
+
+  meta = {
+    description = "Various fonts from the DOSEmu project";
+  };
+}
diff --git a/pkgs/data/fonts/ubuntu-font-family/default.nix b/pkgs/data/fonts/ubuntu-font-family/default.nix
new file mode 100644
index 000000000000..130aeef88ab4
--- /dev/null
+++ b/pkgs/data/fonts/ubuntu-font-family/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  name = "ubuntu-font-family-0.80";
+  buildInputs = [unzip];
+
+  src = fetchurl {
+    url = "http://font.ubuntu.com/download/${name}.zip";
+    sha256 = "0k4f548riq23gmw4zhn30qqkcpaj4g2ab5rbc3lflfxwkc4p0w8h";
+  };
+
+  installPhase =
+    ''
+      mkdir -p $out/share/fonts/ubuntu
+      cp *.ttf $out/share/fonts/ubuntu
+    '';
+
+  meta = {
+    description = "Ubuntu Font Family";
+    longDescription = "The Ubuntu typeface has been specially
+    created to complement the Ubuntu tone of voice. It has a
+    contemporary style and contains characteristics unique to
+    the Ubuntu brand that convey a precise, reliable and free attitude.";
+    homepage = http://font.ubuntu.com/;
+    license = "free";
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.antono ];
+  };
+}
diff --git a/pkgs/data/misc/cacert/default.nix b/pkgs/data/misc/cacert/default.nix
index 4db1e84b4853..7349ab3e9828 100644
--- a/pkgs/data/misc/cacert/default.nix
+++ b/pkgs/data/misc/cacert/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "cacert-20110902";
+  name = "cacert-20120628";
 
   src = fetchurl {
     url = "http://nixos.org/tarballs/${name}.pem.bz2";
-    sha256 = "05vwziwrckgdg4l029jsb8apj65lcvk0rfcyyrvz34m2znk0vlmi";
+    sha256 = "0xg9f1w2pmsv221lgc60c07bs0xf2rr189a2yp2y9an95h3gx7ir";
   };
 
   unpackPhase = "true";
diff --git a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
new file mode 100644
index 000000000000..3d47ed567873
--- /dev/null
+++ b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, python, pkgconfig, libgnome, GConf, pygobject, pygtk, glib, gtk, pythonDBus}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  version = "2.28";
+  name = "gnome-python-${version}.1";
+
+  src = fetchurl {
+    url = "http://ftp.gnome.org/pub/GNOME/sources/gnome-python/${version}/${name}.tar.bz2";
+    sha256 = "759ce9344cbf89cf7f8449d945822a0c9f317a494f56787782a901e4119b96d8";
+  };
+
+  phases = "unpackPhase configurePhase buildPhase installPhase";
+
+  # You should be using WAF instead; see the file INSTALL.WAF
+  configurePhase = ''
+    python waf configure --prefix=$out
+  '';
+
+  buildPhase = ''
+    python waf build
+  '';
+
+  installPhase = ''
+    python waf install
+  '';
+
+  buildInputs = [ python pkgconfig pygobject pygtk glib gtk GConf libgnome pythonDBus ];
+
+  doCheck = false;
+
+  meta = {
+    homepage = "http://projects.gnome.org/gconf/";
+    description = "Python wrapper for gconf";
+    maintainers = [ stdenv.lib.maintainers.qknight ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix
index 4a4e6eaaefb7..943dbc9a5008 100644
--- a/pkgs/desktops/gnome-2/default.nix
+++ b/pkgs/desktops/gnome-2/default.nix
@@ -33,6 +33,8 @@
 
   GConf = callPackage ./platform/GConf { };
 
+  gconfmm = callPackage ./platform/gconfmm { };
+
   libgnomecanvas = callPackage ./platform/libgnomecanvas { };
 
   libgnomecanvasmm = callPackage ./platform/libgnomecanvasmm { };
@@ -67,6 +69,8 @@
 
   gtkglext = callPackage ./platform/gtkglext { };
 
+  gtkglextmm = callPackage ./platform/gtkglextmm { };
+
 #### DESKTOP
 
   gnome_keyring = callPackage ./desktop/gnome-keyring { };
@@ -111,4 +115,6 @@
 
   libglademm = callPackage ./bindings/libglademm { };
 
+  gnome_python = callPackage ./bindings/gnome-python { };
+
 }
diff --git a/pkgs/desktops/gnome-2/desktop/vte/default.nix b/pkgs/desktops/gnome-2/desktop/vte/default.nix
index c061a2684792..c91522e695ef 100644
--- a/pkgs/desktops/gnome-2/desktop/vte/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/vte/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, intltool, pkgconfig, glib, gtk, ncurses
-, pythonSupport ? false, python}:
+, pythonSupport ? false, python, pygtk}:
 
 stdenv.mkDerivation rec {
   name = "vte-0.28.0";
@@ -10,12 +10,19 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ intltool pkgconfig glib gtk ncurses ] ++
-                stdenv.lib.optional pythonSupport python;
+                stdenv.lib.optionals pythonSupport [python pygtk];
                 
   configureFlags = ''
     ${if pythonSupport then "--enable-python" else "--disable-python"}
   '';
-  
+
+  postInstall = stdenv.lib.optionalString pythonSupport ''
+    cd $(toPythonPath $out)/gtk-2.0
+    for n in *; do
+      ln -s "gtk-2.0/$n" "../$n"
+    done
+  '';
+
   meta = {
     homepage = http://www.gnome.org/;
     description = "A library implementing a terminal emulator widget for GTK+";
diff --git a/pkgs/desktops/gnome-2/platform/gconfmm/default.nix b/pkgs/desktops/gnome-2/platform/gconfmm/default.nix
new file mode 100644
index 000000000000..0597da92e68a
--- /dev/null
+++ b/pkgs/desktops/gnome-2/platform/gconfmm/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl_gnome, pkgconfig, GConf, gtkmm, glibmm }:
+
+stdenv.mkDerivation rec {
+  name = src.pkgname;
+
+  src = fetchurl_gnome {
+    project = "gconfmm";
+    major = "2"; minor = "28"; patchlevel = "3"; extension = "bz2";
+    sha256 = "a5e0092bb73371a3ca76b2ecae794778f3a9409056fee9b28ec1db072d8e6108";
+  };
+
+  buildNativeInputs = [pkgconfig];
+
+  propagatedBuildInputs = [ GConf gtkmm glibmm ];
+
+  meta = {
+    description = "C++ wrappers for GConf";
+
+    license = "LGPLv2+";
+
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix b/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix
new file mode 100644
index 000000000000..38b816ccc77f
--- /dev/null
+++ b/pkgs/desktops/gnome-2/platform/gtkglextmm/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl_gnome, pkgconfig, gtkglext, gtkmm, gtk, mesa, gdk_pixbuf }:
+
+stdenv.mkDerivation rec {
+  name = src.pkgname;
+
+  src = fetchurl_gnome {
+    project = "gtkglextmm";
+    major = "1"; minor = "2"; patchlevel = "0"; extension = "bz2";
+    sha256 = "6cd4bd2a240e5eb1e3a24c5a3ebbf7ed905b522b888439778043fdeb58771fea";
+  };
+
+  patches = [ ./gdk.patch ];
+
+  buildNativeInputs = [pkgconfig];
+
+  propagatedBuildInputs = [ gtkglext gtkmm gtk mesa gdk_pixbuf ];
+
+  meta = {
+    description = "C++ wrappers for GtkGLExt";
+
+    license = "LGPLv2+";
+
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-2/platform/gtkglextmm/gdk.patch b/pkgs/desktops/gnome-2/platform/gtkglextmm/gdk.patch
new file mode 100644
index 000000000000..8a39b521d63c
--- /dev/null
+++ b/pkgs/desktops/gnome-2/platform/gtkglextmm/gdk.patch
@@ -0,0 +1,15 @@
+# fixes: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=621976
+# reference: http://www.mail-archive.com/pld-cvs-commit@lists.pld-linux.org/msg250570.html
+--- gtkglextmm-1.2.0-orig/gtkglext/gtkmm/gl/widget.cc	2004-05-18 03:01:50.000000000 -0300
++++ gtkglextmm-1.2.0/gtkglext/gtkmm/gl/widget.cc	2011-06-12 17:57:13.075541070 -0300
+@@ -17,9 +17,8 @@
+  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA.
+  */
+ 
+-#include <gtk/gtkglwidget.h>
+-
+ #include "widget.h"
++#include <gtk/gtkglwidget.h>
+ 
+ namespace Gtk
+ {
\ No newline at end of file
diff --git a/pkgs/desktops/kde-4.7/kdeutils/superkaramba.nix b/pkgs/desktops/kde-4.7/kdeutils/superkaramba.nix
index 1475ab041ac3..4dce768078ba 100644
--- a/pkgs/desktops/kde-4.7/kdeutils/superkaramba.nix
+++ b/pkgs/desktops/kde-4.7/kdeutils/superkaramba.nix
@@ -3,7 +3,7 @@
 kde {
   buildInputs = [ kdelibs qimageblitz ];
 
-  cmakeFlags = [ "-DBUILD_icons=TRUE" "-DBULD_plasma=TRUE" ];
+  cmakeFlags = [ "-DBUILD_icons=TRUE" "-DBUILD_plasma=TRUE" ];
 
   meta = {
     description = "A KDE Eye-candy Application";
diff --git a/pkgs/desktops/kde-4.8/default.nix b/pkgs/desktops/kde-4.8/default.nix
index 7b85e8c198e3..b77a9e4bfecf 100644
--- a/pkgs/desktops/kde-4.8/default.nix
+++ b/pkgs/desktops/kde-4.8/default.nix
@@ -1,7 +1,7 @@
 { callPackage, callPackageOrig, stdenv, qt48 }:
 
 let
-  release = "4.8.2";
+  release = "4.8.4";
 
   # Need callPackageOrig to avoid infinite cycle
   kde = callPackageOrig ./kde-package {
diff --git a/pkgs/desktops/kde-4.8/kde-package/4.8.2.nix b/pkgs/desktops/kde-4.8/kde-package/4.8.2.nix
deleted file mode 100644
index 16878de71754..000000000000
--- a/pkgs/desktops/kde-4.8/kde-package/4.8.2.nix
+++ /dev/null
@@ -1,299 +0,0 @@
-{stable=true;
-hashes=builtins.listToAttrs[
-  {name="analitza";value="0dkz8y16qjjwq81rnnz7r8nchcqlk8rs0vlz9vlib2fsd85y2rm3";}
-  {name="ark";value="11adynnzli5w3g82g9mbl1gl9n4kph7n746sw0bc3hdwfzzy361c";}
-  {name="blinken";value="13b88f08c1p76k5067bhkbivgwi1zx05gwxp8yx22rx03ql5114i";}
-  {name="cantor";value="1di1lbqzz1i0ijd8bl1dyn29vkz2d7968a5lnzz226dhgzkkacx3";}
-  {name="filelight";value="0r1ay89hci5pkgk2gl2f5mmj91acsd3qqjh5286sv2s06fnwx9yw";}
-  {name="gwenview";value="1qfisab89bkqcxnj80d57bfl0b2ps3kz8hxxqpp7srp8x0wmwlr4";}
-  {name="jovie";value="0jxav473r1bcsjlccykihnmnjw6pcdgrc29q6lv6gw41d0dwl1a1";}
-  {name="kaccessible";value="0czgqnzv74fx5nrgfld2ii04k694dn6wp75zq0yxq0642pjla8xc";}
-  {name="kactivities";value="1hnpspy4xsmany48babzi7y88xmjihhb7smv6gmhqbwqpnrzn7dy";}
-  {name="kalgebra";value="1028gjmdlirm2mc5l72c7wlmhhkclfmx4pkscxywfa5a6cafkxxy";}
-  {name="kalzium";value="14xcrq2p3rhr66xvf6fxapf1xc5w72wf3yc3fl2g902g655d3li1";}
-  {name="kamera";value="03smprvzrvdi3j8h9zn76rjwhzsqi44wg2bs95c31mxa7kydxz2r";}
-  {name="kanagram";value="022il9rkxzpdhb8wr0gyv4dsys5zvsazq1k390gv2r5m0h13bdzb";}
-  {name="kate";value="1ady49ipndsvk6b43msllmpvygn299d6hmhpx8lzlhxxyvp5k3gk";}
-  {name="kbruch";value="1icm1f0lp4hyh5dp413dgnq709jkz5xr5bp1v05l4gfwk4gcmh7f";}
-  {name="kcalc";value="057cqdmxj0j6kp4q1lx830kypp52ph56lhdhg6cz32xz64igvk75";}
-  {name="kcharselect";value="0wblkfmg7lbnfnl042d2k7rgdh2pfm0pw4l691adaxvczm031ig2";}
-  {name="kcolorchooser";value="168kfmam4vxf7g120c9gsjwr78cs7l7pfl3q1zcna0ysd9cz9v4y";}
-  {name="kdeadmin";value="0cxkq2gq3gv5apb6yg8phnkn0ln1mdq6cq6s5icsf5qz5m7b9996";}
-  {name="kdeartwork";value="16iip7ys2kah3xnlj8n972530kd58f4baihhcgdmlr6x0dlxviqq";}
-  {name="kde-baseapps";value="0fd2amnlx3vg06k8xkarg13zksjzvwz1bqdhqmpj4hqjq04s7pkh";}
-  {name="kdegames";value="1plvrdj46ldgc7plx3b3g252a5l24hkdwdxwf848bja78717mp8w";}
-  {name="kdegraphics-mobipocket";value="0x4c0pb4a0rwvwk6xnq0c73px0p9ha4dyrym78gs22m7j8wh44zb";}
-  {name="kdegraphics-strigi-analyzer";value="10nkkqvipzmh8lyc5rwsclk5y4y0q6l9x6q14ybcyi9sjrdp16xj";}
-  {name="kdegraphics-thumbnailers";value="12434z4c5hvqqkii2lbmfay09pl4pmcdh2xf248j75jdis0wxr03";}
-  {name="kdelibs";value="0ic0f8d2qx77z971rkmkll2095alaz0ih5mnx9xfh51zjprrxqk8";}
-  {name="kdemultimedia";value="0lrn0v44pr5k169g21q3gx059n9aspaj77x44vrr2iaqdbqzipjj";}
-  {name="kdenetwork";value="04knna0rfvxj5d90mpwln341fspagyh1hpprb0gw7ambjzpicv1n";}
-  {name="kdepim";value="17wgnf3l4zhwr0lr0d05ik419ik1s18c7fd2d3fd8mmgcj0k8s8q";}
-  {name="kdepimlibs";value="1w3qz42rhj4spi88lp6dn3i92c1dx89004mwpakjcbh0bb10fyc2";}
-  {name="kdepim-runtime";value="0gl0qa0nyvf403fwb16v9bg2d98c8y1xnkfgwrf7f26ww8mink46";}
-  {name="kdeplasma-addons";value="05dfp0l8n7k5hplfrr47y15xq2qbl8km6m06m91hb0v5ds6zsjhn";}
-  {name="kde-runtime";value="0sx46fwl07s0z6bb0sadnv6w6p8x735kbwzgvm004m9y1fdn3pp8";}
-  {name="kdesdk";value="0aly8br19y4acj3ah61aypxqpig3cf25xdnr9drgqgl2519rb0bk";}
-  {name="kdetoys";value="1wjwibf0aqwnjwysc9khriwg8h80fyzcgprrvam0a82b3xzns43v";}
-  {name="kde-wallpapers";value="07l035jhrysn56nbivxnkgyrayfczbk2b6idij5pfr29c9nha7xk";}
-  {name="kdewebdev";value="0768x2c70xr9fybjw24aw9n53517496hrlhx5ww2p5lbxd71m9hp";}
-  {name="kde-workspace";value="0a4rn3j8aardsdn9qp20i7f3dijsyhh691cac2z9djkcx0zb4fxd";}
-  {name="kdf";value="0d7pp1l86qwp40zkj575ispxszsjm3nsg5c0x2f6i2bagi9wnrq8";}
-  {name="kfloppy";value="0mcs7fnj0y505nwbg76fgq2n107vwhf0ypw3v4y0gyswvcg6lv5f";}
-  {name="kgamma";value="09jqqrqnpc1n0pkm3mw1qh0i7l1f1v8a7wqg2x0cawd0vqiqjd8n";}
-  {name="kgeography";value="1a0dxqzz8z5ndnnznmafgs8i6kz7jqsgl8ra0nqclbghzpxjbl55";}
-  {name="kgpg";value="0w2hfg5bi5cdr8rh783m1ygx6f1w9674gp7knifhiv037zc47xn8";}
-  {name="khangman";value="0rkaawjv3g5jnlnqkaxcg1946zrmmxr5x6g24ip0syvwrasaa98z";}
-  {name="kig";value="1mjppcj8rbalhaafr4m9xbc2ydagfmdwwhdcjrwxnk84xr1p5a53";}
-  {name="kimono";value="1ayx8zbrjq4j78970k0pifs3m7z1a2szh6d6qk2bajr3dav708cb";}
-  {name="kiten";value="10mmfys6bg16whpgidjmbwqcd9hcq30gn3vkyasq8kblvkig2g7m";}
-  {name="klettres";value="0w4zhan6q9rsilvhf724b0nrj03szrf91zc861vbizch64a7glw2";}
-  {name="kmag";value="1vgwpfiy5n1kjrd6f87ikxg6hmnj85qcn8nsgsbg4c4wwg325mhp";}
-  {name="kmousetool";value="0aiznlb7nkq6im14zfr6iikkrhv62c96cnq5iqax55w432bqjx7x";}
-  {name="kmouth";value="1nnvhb29q9s55byns0bk4xj165dlk7mypzama6l9ayc734qpcib8";}
-  {name="kmplot";value="1ic4g3g87fg7shmr8lw7xnyqpkgc0ha9rji9a64knanv94c21jfz";}
-  {name="kolourpaint";value="096xqwnx54s37lbzdgqgdi3lvc0dw3xgpvbmn2zbchk98rfccrbg";}
-  {name="konsole";value="05w05c6579hvs98iajf3vw3rck2a90nvy1bapyrb0hhwz651p1n7";}
-  {name="korundum";value="1wqshxypn9v3jlcx518xqbmmcng71fk1nb7xq3q9m2dqn81p7095";}
-  {name="kremotecontrol";value="0ry7jr09klkkfa446yg820dc5j3wivkyz6z9h117wiccacpfylxl";}
-  {name="kross-interpreters";value="0wcmaac003h5gc0z29sqkzczgap1i7abir75gpp5y67qkvb52zbn";}
-  {name="kruler";value="14f209gh2rbjvjvv9pjlcl6vhfnfr4s0rnc57vzirk0cb5wjfjx9";}
-  {name="ksaneplugin";value="15p822y8nn817b4qsmxfb1cz928dnk14mr3667ysvynjfa9l0kkc";}
-  {name="ksecrets";value="1i87ccjdvmlpvqlqsyihxcb9r7xg8ybhc9y8z91fn0y0dihvysfs";}
-  {name="ksnapshot";value="1p4krsbkgmzgsa0q6xrs4anq35qzxzdx1g0mv129p5wg6570yr0c";}
-  {name="kstars";value="15dan9l18wm25i2lkdlgxrmn6rkznhq1riag3kd83i4qwc2rzzdj";}
-  {name="ktimer";value="1pwxilhr3ymqghii00vmpsjrmzivv8j9jn6aypzs9z1qhp9v7gi7";}
-  {name="ktouch";value="0m08zgr6phkp8c8k04sj67m4d6him0c6pirijdb4z8ki0b5sgmp6";}
-  {name="kturtle";value="1701nb2p78yyl5j7f9cq0i6maddy0pjkrxjs4v8r92n2bl0wpl8b";}
-  {name="kwallet";value="1p7krlp824v7v0hlafgwx139i7g42x2x7raqjyyw5l22gy6qq05l";}
-  {name="kwordquiz";value="175pm548vkdfpiiq9c66jsw9p1h3m6bi6q6b8df5kknap914radi";}
-  {name="libkdcraw";value="12brv1wlgcghhcha1h65902rgpcdl2hfh5vaaysmvczs72j18rvf";}
-  {name="libkdeedu";value="085qfp84r2ck4b1rzh5qqk0cr5z6g7b4xnw3cgnqr6z93901llic";}
-  {name="libkexiv2";value="1mcvm7ffjy5brybbpr3pdcfh0prkd55323023rjysv3iyv4lylp8";}
-  {name="libkipi";value="0mhqaaxglh1ksc9fga3llvnmi66d0xkpnp8pcq1k3xc03f9gay3w";}
-  {name="libksane";value="0cxamj8djmhqn2xcx8672y06zq511l92p56ic32bpq8337xf9gzl";}
-  {name="marble";value="13ndxh8jdydz7adslkc4bzrq741hw3w0w16vys0ps0829sqbqpzn";}
-  {name="okular";value="038b1c9d7w3hyzfinzirixfmakxva4hyhbsrkjn3kgxmndmp2rrn";}
-  {name="oxygen-icons";value="1a15rjma3wgb36c6v1x58m8dv6ndgsp6k9a958vyack57775xri9";}
-  {name="parley";value="1bf2zc8qcx4m3yam1wsydmhs5z0830zfdl1s7zy84nffnslmszn6";}
-  {name="perlkde";value="0lkpvnqfjspl9c61avczvc1lbl515vkpr82vxa0bdkrnjijn2zz9";}
-  {name="perlqt";value="04sp4ricpwvaz856lyf6r7aal9pbr2chn8w8x77ydhy9pm6lpr3c";}
-  {name="printer-applet";value="0c5bazz3xa5scxiih11fx2z4qakcvmgnbnla3hy7hyc5xygzicpz";}
-  {name="pykde4";value="1rg0zikjdldm7vnrnhi4z10f89b3ka8lsghkwvjqmi742rqa097v";}
-  {name="qtruby";value="0nbn1lm55sxaiq5xkdqnph8kd9v831lq15h6niyard744133fhir";}
-  {name="qyoto";value="11ispw0a60dzxn9v9m1l6g61q7242z5jr95s3lf2ajl13gmrx0l9";}
-  {name="rocs";value="1jgpigcirjdyvpryvgba76qy46lnxsvr2x2d5chf7jzgzy3l5753";}
-  {name="smokegen";value="1qy7qj47rlsp56j3ghc1a077k2qydsy9lv1d09i48cn8xf3r0mcs";}
-  {name="smokekde";value="0fxfplcdndcvb7lsp6f3va5nn1x9knk1qi76wrmfwm1h4ahb0jsr";}
-  {name="smokeqt";value="0whw8r6hx8qza9an9x4yil8klmdicwxp3gsh2pq4bxavlgrw1f28";}
-  {name="step";value="06kf1vc6bxs8sg0j691cyprkv6bkaw8fmi3ikna9d54s33mnq5cj";}
-  {name="superkaramba";value="02k9f1jr9bvlf2zg8wm47qwch3i4ps24mhp6j2i25rpj9l8g7pm1";}
-  {name="svgpart";value="0sl94xia81hqjqy0ydqlqffpwsdybyaam9an4w6qa6sszmx7kbyj";}
-  {name="sweeper";value="0yin8jbpxjkdxv1sg3n8nysfm4hvfr37m15bxhn92bgjdkbh2zdz";}
-];
-modules=[
-{
-  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="kdeutils";
-  split=true;
-  pkgs=[
-    { name="ark";  }
-    { name="filelight";  }
-    { name="kcalc";  }
-    { name="kcharselect";  }
-    { name="kdf";  }
-    { name="kfloppy";  }
-    { name="kgpg";  }
-    { name="kremotecontrol";  }
-    { name="ksecrets";  }
-    { name="ktimer";  }
-    { name="kwallet";  }
-    { name="printer-applet"; sane="printer_applet"; }
-    { name="superkaramba";  }
-    { name="sweeper";  }
-  ];
-}
-{
-  module="kdeedu";
-  split=true;
-  pkgs=[
-    { name="analitza";  }
-    { name="blinken";  }
-    { name="cantor";  }
-    { name="kalgebra";  }
-    { name="kalzium";  }
-    { name="kanagram";  }
-    { name="kbruch";  }
-    { name="kgeography";  }
-    { name="khangman";  }
-    { name="kig";  }
-    { name="kiten";  }
-    { name="klettres";  }
-    { name="kmplot";  }
-    { name="kstars";  }
-    { name="ktouch";  }
-    { name="kturtle";  }
-    { name="kwordquiz";  }
-    { name="libkdeedu";  }
-    { name="marble";  }
-    { name="parley";  }
-    { name="rocs";  }
-    { name="step";  }
-  ];
-}
-{
-  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="kate";  }
-    { name="kde-baseapps"; sane="kde_baseapps"; }
-    { name="konsole";  }
-  ];
-}
-{ module="kactivities";  split=false;}
-{ module="kdeadmin";  split=false;
-  pkgs=[
-    { name="strigi-analyzer"; sane="strigi_analyzer";}
-    { name="kuser"; }
-    { name="kcron"; }
-    { name="ksystemlog"; }
-    { name="system-config-printer-kde"; sane="system_config_printer_kde";}
-  ];
-
-}
-{ module="kdeartwork";  split=false;
-  pkgs=[
-    { name="ColorSchemes"; }
-    { name="IconThemes"; }
-    { name="emoticons"; }
-    { name="kscreensaver"; }
-    { name="kwin-styles"; sane="kwin_styles";}
-    { name="sounds"; }
-    { name="styles"; }
-    { name="wallpapers"; }
-    { name="HighResolutionWallpapers"; }
-    { name="WeatherWallpapers"; }
-    { name="desktopthemes"; }
-    { name="aurorae"; }
-  ];
-
-}
-{ module="kdegames";  split=false;}
-{ module="kdelibs";  split=false;}
-{ module="kdemultimedia";  split=false;}
-{ module="kdenetwork";  split=false;
-  pkgs=[
-    { name="kfile-plugins"; sane="kfile_plugins";}
-    { name="kget"; }
-    { name="kopete"; }
-    { name="krdc"; }
-    { name="kppp"; }
-    { name="krfb"; }
-    { name="kdnssd"; }
-    { name="filesharing"; }
-  ];
-
-}
-{ 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="kdesdk";  split=false;
-  pkgs=[
-    { name="cervisia"; }
-    { name="lokalize"; }
-    { name="kdeaccounts-plugin"; sane="kdeaccounts_plugin";}
-    { name="dolphin-plugins-svn"; sane="dolphin_plugins_svn";subdir="dolphin-plugins/svn"; }
-    { name="dolphin-plugins-git"; sane="dolphin_plugins_git";subdir="dolphin-plugins/git"; }
-    { name="dolphin-plugins-hg"; sane="dolphin_plugins_hg";subdir="dolphin-plugins/hg"; }
-    { name="dolphin-plugins-bazaar"; sane="dolphin_plugins_bazaar";subdir="dolphin-plugins/bazaar"; }
-    { name="kcachegrind"; }
-    { name="kapptemplate"; }
-    { name="kpartloader"; }
-    { name="strigi-analyzer"; sane="strigi_analyzer";}
-    { name="kioslave"; }
-    { name="okteta"; }
-    { name="kmtrace"; }
-    { name="kompare"; }
-    { name="kprofilemethod"; }
-    { name="kstartperf"; }
-    { name="kuiviewer"; }
-    { name="poxml"; }
-    { name="scripts"; }
-    { name="umbrello"; }
-  ];
-
-}
-{ module="kdetoys";  split=false;
-  pkgs=[
-    { name="kteatime"; }
-    { name="ktux"; }
-    { name="amor"; }
-  ];
-
-}
-{ 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.8/kde-package/4.8.4.nix b/pkgs/desktops/kde-4.8/kde-package/4.8.4.nix
new file mode 100644
index 000000000000..6fbaf097be09
--- /dev/null
+++ b/pkgs/desktops/kde-4.8/kde-package/4.8.4.nix
@@ -0,0 +1,299 @@
+{stable=true;
+hashes=builtins.listToAttrs[
+  {name="analitza";value="0g3k6i9ncl8m8xr85wz6k0vbmjq7jwmygm0353jq2lj2hy5i2ipg";}
+  {name="ark";value="10m6bmiz4ylgbmxx03q0zfayy1zinxx696jczmllxn557z75nzn5";}
+  {name="blinken";value="1n0m70by3wd5d4nqlgqrm6bg0nplc3b92cn74xq5adi1dfi63ggr";}
+  {name="cantor";value="1grjxbzyshc9jlmx9gvxfsxdhcgrn391s3bh0mmprnk0kcsi4s5i";}
+  {name="filelight";value="1fpkwyz74nqm0szfylbjqfxwv25rgfdg03ghq5mncs2ys8mh4rn1";}
+  {name="gwenview";value="1xxkhq4psl3zq0ah6fp42s5ih1xik0kxq4sb2r2mhkimrsj11rvz";}
+  {name="jovie";value="103d7c1h3qfqsh6phyxm4g712kykkpd1vls26kypn3d6linc9p1s";}
+  {name="kaccessible";value="0s772i8nc1lx6c8sjsy3m928dcyackd8pay44b8nlp8k8hzh5x62";}
+  {name="kactivities";value="0kxpg0bwr9ph3bzndc5vqgfqkxy443chyg3rbrdvgbgb0xm54r5f";}
+  {name="kalgebra";value="0p5qhxwd6h8kvfd8n81ah0pszaa550z7y2zlzvrgypmfcgx8a802";}
+  {name="kalzium";value="17sxslsg5pi1xh7l0h6y0rmjhb6nshq9psjjjqwhfl7id6ansb24";}
+  {name="kamera";value="0r8rr4lq3jrvfz2fw4in83vsxqjm02x16h842r4hnn3k5svaqs49";}
+  {name="kanagram";value="02wp2rkm5m6920rvs6iyalvv4xczgh21w1mrf4a694j14fna4m1n";}
+  {name="kate";value="0530rq6pfrim2mfjkvpl9qxv56fykml7aq3awchyda3xbkq7vk3y";}
+  {name="kbruch";value="1znm2dmsib7svyfqpyhblip5ic4y2xdylax1kxx7ssmjgsi3bw54";}
+  {name="kcalc";value="1dv3d833ksz9bqrwhq9pbsqk0a8hv3jlqlxbqccwgkx840hmpclz";}
+  {name="kcharselect";value="015pj1zmlnjr8ys3arks3b1yqf8rh9fc02p0xfq1fkp11ing0lfg";}
+  {name="kcolorchooser";value="04360b4pjsdl0ckdwipn3y407fmsx2bimkzqqm01hz4vdyb41d9k";}
+  {name="kdeadmin";value="0qvynvim50xsv060598bhv6pwxd578sg25g1z2dzdi4ih021nlr0";}
+  {name="kdeartwork";value="1v5an8385d9zjb29ps94xgvpazpvqffxnlvfp4940pj5imdg98nm";}
+  {name="kde-baseapps";value="0z2jasna2d8i3iy8w4grylfml9a510imhl0bxnsw6whar409rzki";}
+  {name="kdegames";value="1jji5dw9qllhv7zh7a456iwwsb5vqrvjd0p871s2qi8lcd54fs1a";}
+  {name="kdegraphics-mobipocket";value="1ya4jzj864ikw6ysp9ip1ha2n6a8im380k4yhmca9agp5f21zvva";}
+  {name="kdegraphics-strigi-analyzer";value="1cwvaszjawzdbvggxzzaxvxdjpxmr9x4p4fqy4wq38qzx06lnsd1";}
+  {name="kdegraphics-thumbnailers";value="1zxvqzadmcsy5ydxx617gpfh3vswcrnyjwn19scy1cv7nwdpxnqj";}
+  {name="kdelibs";value="1wr0kadmc33kqbr93h05g6yxqwp66cgs9ab32danvqbfns0qgb15";}
+  {name="kdemultimedia";value="0h56vy27kb1s4p3vpa42gj3xjbpwl38n97bbjq7g1vj8dq2k0pl4";}
+  {name="kdenetwork";value="10lyrygi3avfiyaqxgw9g6dc3pmsbggawjvnkxhm8f2j2gy7sbbc";}
+  {name="kdepim";value="0q4fq26gg3hfmvxzfbizsa1ffk88a994k31ybbv72b7xcdjz68ff";}
+  {name="kdepimlibs";value="1wqi7dh1w3cinkd8sgc0zx9qf7fyvizli4asbimxh5faal1b10bb";}
+  {name="kdepim-runtime";value="1v1klgcfa0hwi7bxqn0nphd7hlbxwh3v6apghra0b8f7qqnzxysp";}
+  {name="kdeplasma-addons";value="1f4bpgrjqa9c1ikngc9wn3a0y0hw39icswc77ys4j04b9zazg8qn";}
+  {name="kde-runtime";value="0g2jlxfxm4flx1pr920hbmqaq433y8bdglk08vnhycychppkacmc";}
+  {name="kdesdk";value="15zg649sm851ig7yxcsv9cx54x36k94y83q1wvm1kf84jb1vl1yg";}
+  {name="kdetoys";value="038h6fmqfy7mh2i7kg3510w0jwji9hac94dpzfmfgk36i461dbnn";}
+  {name="kde-wallpapers";value="18hbd9d19yf48vs4vmxrrxvr87baxxlf3z417f69kgvjpvmpl905";}
+  {name="kdewebdev";value="1mv5nq8ayz5np1vmgk58dsai6wmqdl1kvq96pvi5awmhxxla2f5x";}
+  {name="kde-workspace";value="12vn117nbqxipvb58v7swc4prfddijz7m0c03xn5wi1kbzq5xj9n";}
+  {name="kdf";value="0alc9a7x75f8dx5gbhdqwn0xfx7kr5q7dl9qfmcmrgm9vn6agxpw";}
+  {name="kfloppy";value="0ajc3yq86n4q7hxjgibvkrbbagg7xnlbd6g7mx3cvmq9l7na105b";}
+  {name="kgamma";value="1yviy8xz8cqlbpvjj7sp9jylq4lk98r3mpp6lxl95ypkjqbjx8w3";}
+  {name="kgeography";value="0wklqqprg7d7mxjlwfyv4n5d2igkr6b2i174vxzdhj9dbsh9r67f";}
+  {name="kgpg";value="034mg0s5v0vqq59x1fwddslg6r2dx3v70icka6j2r9lhi8635j5m";}
+  {name="khangman";value="0b64pqywvxdxrbp3xcscimdlsn44hwlvm6ydxiwx2salm2rn9xxa";}
+  {name="kig";value="0cblkm71j78dq4r90r9fladn8nxq3xq75w40f85jl9dkmm1y3yiv";}
+  {name="kimono";value="1ij7bcvxv8zkfzcrmjasq6x0nf41104x5bj6ksfc8mibml182bq7";}
+  {name="kiten";value="1c3rdagddk0xd0j6vnp0bj16in78879niakvq1s35s7grgxh31ia";}
+  {name="klettres";value="0sxd3hwpzyzvjrvly0w2fwrssg4a9rs35fp9yi6in19x7x8rbsxl";}
+  {name="kmag";value="0fgddhsf9f5n4crzp4z2ii5p1asyvpbmsiqgb61kswqbpsr96mv8";}
+  {name="kmousetool";value="0f4ym6dihq9wmwaassap0ixam46lqjvf6jqkr6ib0y87myj3h9mi";}
+  {name="kmouth";value="1hpphlav8ip4kx3787p3dkfddkzpgg4mj25ripjcpy0xpbfvc2lw";}
+  {name="kmplot";value="19sab4hmdv8kwipgjzg4v3gq4lv1i17yh4hdq3y6lcyf7wjkxjpd";}
+  {name="kolourpaint";value="0mr4f1vbhg3vhap92f8jj5lkpfr8cjphn863vda49rfdydhv1x6w";}
+  {name="konsole";value="10fgjsq2dj56ifnzxy3dz87s92m2zfcmpqa751b5ar0wp3pil045";}
+  {name="korundum";value="0vkhf40ghbqgs9vxl7zpfq21r7sc9z4rm0iyl9cab04wvi9r2nsk";}
+  {name="kremotecontrol";value="11z0wc9yvpk72yrx9ic3zpky2z346wdkvs8qcik9nfbbxxpk4vnx";}
+  {name="kross-interpreters";value="0afqwxxsysd7wwl5xgwdw58q7hjr8y5sdvsfrz8sfkirinfdmp9s";}
+  {name="kruler";value="19xppbxvyw6qzgxz4y1yzz9g104464z1i7dvsd3919njqhsrm628";}
+  {name="ksaneplugin";value="0z2gkc0997s79haf2nxgg5xgvmpk5iz2s33147qhhy12hys6jq9m";}
+  {name="ksecrets";value="1f4n3x5rmc0l16q3bripk49mj0nyak6s3vf3v7j4g89qz8rr4c87";}
+  {name="ksnapshot";value="069v2qs4nl8514kdgcp6y03n1n4d6ymm5j5yq1wwrgij6iqc7a78";}
+  {name="kstars";value="1hl0z77cl317pm442lcd2hk6rb83hvch904a0jgflcxcd2w0gg54";}
+  {name="ktimer";value="1hf0sbl9y0a9w2xdxdl88lmv55skz7fp1kl9sgnsyj8gzjyv3nwa";}
+  {name="ktouch";value="00hij38zk469ja3ns9d7qpj91kyndwrnmf0v2fqd2nicv9mqxdih";}
+  {name="kturtle";value="0wvskx6cif0gsgvsc072i33jl58bp2n74vyl2qgbw4bibckp9aq8";}
+  {name="kwallet";value="1n4vl0gvr8sqh8ld0bmz3qdz8lws19vzndrp10xl5fmb40cibdsz";}
+  {name="kwordquiz";value="1w2xwfqz3bjmm0rg4pn08vgm7f0m1wr2bc8cwgjayc8105xy572h";}
+  {name="libkdcraw";value="0fpx8yprgrk6sg03xms8swgqb7b41ia2rnf9n5phm5hvbpwwbw9f";}
+  {name="libkdeedu";value="1nz53vjmd48x9vk73wrfz6k94drxv0w2nsa0nnh68q1mphxm8cz3";}
+  {name="libkexiv2";value="1w7h8ckq2b7pi6qdf8p7rk6jzpn5caxflzdczlaxa7jn84k4rsjn";}
+  {name="libkipi";value="02cdmqjky5sfwpz9m85yixkmcsh9ybjdspsi8dwhypndpq3pgj3w";}
+  {name="libksane";value="11wgzdccwix4whfdj8f7fyapxk9yp8jfra56s9gyn7a4sfgp40sp";}
+  {name="marble";value="09ph1lg3y6bzkxdnpwbhlysj9s56fbaxwsxpn2ydwg4vnsspspiy";}
+  {name="okular";value="06xd3xpm1hp2dk382p4sd2dj2gdwb1f4d97hkh67riddwwzlcdal";}
+  {name="oxygen-icons";value="0zw6kv456gf955ip28iykx8nmd4h0scpqdj4f035yqiyxms9p4g1";}
+  {name="parley";value="1mg5mkxlzrb1clnclsfcl4vpd8yn97asgcazlq9wmgr077z0f9yd";}
+  {name="perlkde";value="1k94rfchpi7nvzvwz2flx49ni92aw6x8cc6qnq1vr98j9hangjg4";}
+  {name="perlqt";value="0rjwd2d2jlqlsjvw6w198jb79kjib89p3gbslj4dfgblrq1cgrdq";}
+  {name="printer-applet";value="1y8r39dyc04bkqm33s65m77c6y4y19bi32v2cx5bl67w5377hvh0";}
+  {name="pykde4";value="0gnzqw2xj1swm2jr728fxb7l48ll8whvc4ranwcvx8920jdd8vk7";}
+  {name="qtruby";value="1ixb8kav1pxpkwar99p3cgwi6nql1dfjwmyq7ai2h8ls7g075gz8";}
+  {name="qyoto";value="07m64n9xlnpgmw6jj91vwyzzjnmwn9px3ckfi93qs4mgnsj263zi";}
+  {name="rocs";value="0zxdskps9ifc8yhrk6lngjsh4abp98pv7d9y48lw830jhy78bm57";}
+  {name="smokegen";value="08yzxg6x3bdpza7hld1bd1ils5ipav2laazcar811vsn70lr8rqy";}
+  {name="smokekde";value="1k8r7d82mbmilg2x565w9nwxb5x6xfznscqwv9vmsgync56nk982";}
+  {name="smokeqt";value="036128q7mz5701ikw7fjc22ygkmnlscckmlgv3nb8d914maa1cl0";}
+  {name="step";value="1i1334p7qlc84m8xjc4sp20pmnqal26y8854pcv7lh8r3xzyscd6";}
+  {name="superkaramba";value="05xgflb9ramhrqb6avqagxp1kcdax6qwdf1k6wm85l8ys6vjimry";}
+  {name="svgpart";value="0xrs93njmp5322m4dh3ycvwgl9p618kzsi5xmrnlksb9n0hi91gw";}
+  {name="sweeper";value="1gcyffzzap2gdxk3js43bllf87795f97i0lmykgyllhp364czv6x";}
+];
+modules=[
+{
+  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="kdeutils";
+  split=true;
+  pkgs=[
+    { name="ark";  }
+    { name="filelight";  }
+    { name="kcalc";  }
+    { name="kcharselect";  }
+    { name="kdf";  }
+    { name="kfloppy";  }
+    { name="kgpg";  }
+    { name="kremotecontrol";  }
+    { name="ksecrets";  }
+    { name="ktimer";  }
+    { name="kwallet";  }
+    { name="printer-applet"; sane="printer_applet"; }
+    { name="superkaramba";  }
+    { name="sweeper";  }
+  ];
+}
+{
+  module="kdeedu";
+  split=true;
+  pkgs=[
+    { name="analitza";  }
+    { name="blinken";  }
+    { name="cantor";  }
+    { name="kalgebra";  }
+    { name="kalzium";  }
+    { name="kanagram";  }
+    { name="kbruch";  }
+    { name="kgeography";  }
+    { name="khangman";  }
+    { name="kig";  }
+    { name="kiten";  }
+    { name="klettres";  }
+    { name="kmplot";  }
+    { name="kstars";  }
+    { name="ktouch";  }
+    { name="kturtle";  }
+    { name="kwordquiz";  }
+    { name="libkdeedu";  }
+    { name="marble";  }
+    { name="parley";  }
+    { name="rocs";  }
+    { name="step";  }
+  ];
+}
+{
+  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="kate";  }
+    { name="kde-baseapps"; sane="kde_baseapps"; }
+    { name="konsole";  }
+  ];
+}
+{ module="kactivities";  split=false;}
+{ module="kdeadmin";  split=false;
+  pkgs=[
+    { name="strigi-analyzer"; sane="strigi_analyzer";}
+    { name="kuser"; }
+    { name="kcron"; }
+    { name="ksystemlog"; }
+    { name="system-config-printer-kde"; sane="system_config_printer_kde";}
+  ];
+
+}
+{ module="kdeartwork";  split=false;
+  pkgs=[
+    { name="ColorSchemes"; }
+    { name="IconThemes"; }
+    { name="emoticons"; }
+    { name="kscreensaver"; }
+    { name="kwin-styles"; sane="kwin_styles";}
+    { name="sounds"; }
+    { name="styles"; }
+    { name="wallpapers"; }
+    { name="HighResolutionWallpapers"; }
+    { name="WeatherWallpapers"; }
+    { name="desktopthemes"; }
+    { name="aurorae"; }
+  ];
+
+}
+{ module="kdegames";  split=false;}
+{ module="kdelibs";  split=false;}
+{ module="kdemultimedia";  split=false;}
+{ module="kdenetwork";  split=false;
+  pkgs=[
+    { name="kfile-plugins"; sane="kfile_plugins";}
+    { name="kget"; }
+    { name="kopete"; }
+    { name="krdc"; }
+    { name="kppp"; }
+    { name="krfb"; }
+    { name="kdnssd"; }
+    { name="filesharing"; }
+  ];
+
+}
+{ 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="kdesdk";  split=false;
+  pkgs=[
+    { name="cervisia"; }
+    { name="lokalize"; }
+    { name="kdeaccounts-plugin"; sane="kdeaccounts_plugin";}
+    { name="dolphin-plugins-svn"; sane="dolphin_plugins_svn";subdir="dolphin-plugins/svn"; }
+    { name="dolphin-plugins-git"; sane="dolphin_plugins_git";subdir="dolphin-plugins/git"; }
+    { name="dolphin-plugins-hg"; sane="dolphin_plugins_hg";subdir="dolphin-plugins/hg"; }
+    { name="dolphin-plugins-bazaar"; sane="dolphin_plugins_bazaar";subdir="dolphin-plugins/bazaar"; }
+    { name="kcachegrind"; }
+    { name="kapptemplate"; }
+    { name="kpartloader"; }
+    { name="strigi-analyzer"; sane="strigi_analyzer";}
+    { name="kioslave"; }
+    { name="okteta"; }
+    { name="kmtrace"; }
+    { name="kompare"; }
+    { name="kprofilemethod"; }
+    { name="kstartperf"; }
+    { name="kuiviewer"; }
+    { name="poxml"; }
+    { name="scripts"; }
+    { name="umbrello"; }
+  ];
+
+}
+{ module="kdetoys";  split=false;
+  pkgs=[
+    { name="kteatime"; }
+    { name="ktux"; }
+    { name="amor"; }
+  ];
+
+}
+{ 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.8/kde-runtime.nix b/pkgs/desktops/kde-4.8/kde-runtime.nix
index a3b687404cc5..b219bd4599af 100644
--- a/pkgs/desktops/kde-4.8/kde-runtime.nix
+++ b/pkgs/desktops/kde-4.8/kde-runtime.nix
@@ -1,13 +1,16 @@
 { kde, kdelibs, shared_desktop_ontologies, bzip2, libssh, exiv2, attica
-, libcanberra, virtuoso, samba, ntrack, libjpeg, fetchurl
+, libcanberra, virtuoso, samba, libjpeg, ntrack, pkgconfig, qca2, xz, pulseaudio
+, networkmanager
 }:
 
 kde {
   buildInputs =
-    [ kdelibs shared_desktop_ontologies bzip2 libssh exiv2 attica
-      samba (libcanberra.override { gtk = null; }) ntrack libjpeg
+    [ kdelibs shared_desktop_ontologies bzip2 libssh exiv2 attica xz networkmanager
+      samba (libcanberra.override { gtk = null; }) ntrack libjpeg qca2 pulseaudio
     ];
 
+  buildNativeInputs = [ pkgconfig ];
+
   passthru.propagatedUserEnvPackages = [ virtuoso ];
 
   meta = {
diff --git a/pkgs/desktops/kde-4.8/kde-wallpapers.nix b/pkgs/desktops/kde-4.8/kde-wallpapers.nix
index 4fadc9edf000..803b027668a8 100644
--- a/pkgs/desktops/kde-4.8/kde-wallpapers.nix
+++ b/pkgs/desktops/kde-4.8/kde-wallpapers.nix
@@ -9,7 +9,7 @@ kde {
 
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "69cbb2e8c6fd78931af7196c3a79918f87b5aed31c52521b8d4089eb98e7557b";
+  outputHash = "b8dfcc905abc46eebac2dd07267879d6a27e6e77f5253eb9c65fe594766770c4";
 
   meta = {
     description = "Wallpapers for KDE";
diff --git a/pkgs/desktops/kde-4.8/kdeutils/superkaramba.nix b/pkgs/desktops/kde-4.8/kdeutils/superkaramba.nix
index 1475ab041ac3..4dce768078ba 100644
--- a/pkgs/desktops/kde-4.8/kdeutils/superkaramba.nix
+++ b/pkgs/desktops/kde-4.8/kdeutils/superkaramba.nix
@@ -3,7 +3,7 @@
 kde {
   buildInputs = [ kdelibs qimageblitz ];
 
-  cmakeFlags = [ "-DBUILD_icons=TRUE" "-DBULD_plasma=TRUE" ];
+  cmakeFlags = [ "-DBUILD_icons=TRUE" "-DBUILD_plasma=TRUE" ];
 
   meta = {
     description = "A KDE Eye-candy Application";
diff --git a/pkgs/desktops/kde-4.8/l10n/manifest-4.8.2.nix b/pkgs/desktops/kde-4.8/l10n/manifest-4.8.2.nix
deleted file mode 100644
index 20734ec9424f..000000000000
--- a/pkgs/desktops/kde-4.8/l10n/manifest-4.8.2.nix
+++ /dev/null
@@ -1,277 +0,0 @@
-[
-{
-  lang = "ar";
-  saneName = "ar";
-  sha256 = "0xg4rp3k7zcvrrs7y2c3rxmb07mlmkfxnw5vnhgj0hp67zsa0xqc";
-}
-{
-  lang = "bg";
-  saneName = "bg";
-  sha256 = "13xh14bknqp0yfy093y70bkkazbfi81x190m0mqbc03npp7f0fny";
-}
-{
-  lang = "bs";
-  saneName = "bs";
-  sha256 = "1wdkxij7w04f73ha8aqqrh5awvad1flsv2yhl5qd5yrsf0f47pcn";
-}
-{
-  lang = "ca";
-  saneName = "ca";
-  sha256 = "03ngb8jidmh5xsfgrbcsgs387cwrqlb5bclyrx7x66ig2a6cj293";
-}
-{
-  lang = "ca@valencia";
-  saneName = "ca_valencia";
-  sha256 = "1lnir36hv69a2lr70l3gc787r4dmkwfm4cnygkajwz13hh02a5yw";
-}
-{
-  lang = "cs";
-  saneName = "cs";
-  sha256 = "0zrmcmxkcc31sys9svnvqdhls9z121hy6x4649hlvqykjy906wsx";
-}
-{
-  lang = "da";
-  saneName = "da";
-  sha256 = "18zwx64wsrlfamhq81573ss4zci4jsh9fzfiibqfnailyq7vh6af";
-}
-{
-  lang = "de";
-  saneName = "de";
-  sha256 = "14fm8lmwqzs741s9vpp6avq0xv41g528glj1inq53p9shxnnyqii";
-}
-{
-  lang = "el";
-  saneName = "el";
-  sha256 = "1282cf55vb6j1p7xj6k5yjvs5js6j2ia82qrk1lbilrp0z2i0gmv";
-}
-{
-  lang = "en_GB";
-  saneName = "en_GB";
-  sha256 = "03irsv325yl552afa6cwzvm51bsdhlvkk7p3j09bld64jdafsy51";
-}
-{
-  lang = "es";
-  saneName = "es";
-  sha256 = "1a2jwbzx1nygygsmhpiwchrm4lsfji0823dbhmi5a7nccdz8qcl7";
-}
-{
-  lang = "et";
-  saneName = "et";
-  sha256 = "0h3a2kpf2658mgix1p8l84mh64vd4d3pd57s9s0hhgkqz393rfyw";
-}
-{
-  lang = "eu";
-  saneName = "eu";
-  sha256 = "0mzyq0z6kjpp442i4y2v2xkfygd816ija2p9s4rmh8p83z3m4vf3";
-}
-{
-  lang = "fa";
-  saneName = "fa";
-  sha256 = "1ha1rnqki9ydlqyb8m9kxpvj706rg6jzzqpsy5dd3jwmbq9p3hih";
-}
-{
-  lang = "fi";
-  saneName = "fi";
-  sha256 = "0wljp5ka2mm4xxmf6gplsh06ynibw3vcn62dxhawpw04xpj561z0";
-}
-{
-  lang = "fr";
-  saneName = "fr";
-  sha256 = "18dihln161rrh8269j0c2pypxwhddigd6qgscjqypkhh3nclc158";
-}
-{
-  lang = "ga";
-  saneName = "ga";
-  sha256 = "0r8hv5lnrjjxbzbpxfsipaj0nd8lmlwf69073x0nyxvins6yl8r8";
-}
-{
-  lang = "gl";
-  saneName = "gl";
-  sha256 = "1qh81dqz5wm7viqvx9mkb6v5m11c67igqz2n44ax8f87m4d2n14n";
-}
-{
-  lang = "he";
-  saneName = "he";
-  sha256 = "1ld68csc2dxwmql2j79xnnbi7ib1hjs9hd28bbqcn3v240jmfrhc";
-}
-{
-  lang = "hr";
-  saneName = "hr";
-  sha256 = "00m40mxfgm8ymfq1l51i3kd1493cmddn0my6sahh6hy21zhbfb7p";
-}
-{
-  lang = "hu";
-  saneName = "hu";
-  sha256 = "0vxanrd8q8ykmzhyz9h2a38izccfyssmck2gvrm2r53hli3zfnl5";
-}
-{
-  lang = "ia";
-  saneName = "ia";
-  sha256 = "0ys5ysq15aazifmjx26sd73801bdfl5hsaranbwarrmky2w0ahmw";
-}
-{
-  lang = "id";
-  saneName = "id";
-  sha256 = "0lw4gi3p4cms519l36p1xa7hpavwmbvl60chw8ji1xyh29fkylz8";
-}
-{
-  lang = "is";
-  saneName = "is";
-  sha256 = "09lzndfxck7s5bryn7i9w8pya18wiy9y27rzqaq8sa9hmjswmkc7";
-}
-{
-  lang = "it";
-  saneName = "it";
-  sha256 = "1s2b9rrwj4yfx4xk323wcyzvidxiipb3sfws3hsb56vdvhkmr7hs";
-}
-{
-  lang = "ja";
-  saneName = "ja";
-  sha256 = "0gzishadvm9s863r0z6xbi35qgcl5da5l2nn8b5dqdjz61ndj7w7";
-}
-{
-  lang = "kk";
-  saneName = "kk";
-  sha256 = "1yy3yaifcgj8203wajnqvr7li42w8zvy02gqirxjb5n2kshcjnm3";
-}
-{
-  lang = "km";
-  saneName = "km";
-  sha256 = "1a717bsxp75xb8wrxg6a1817d69a9zdvhsha9dlrxqif8krvg8kw";
-}
-{
-  lang = "ko";
-  saneName = "ko";
-  sha256 = "1965ai6hchhmdsi8lz68zwgb0hynzdpv60vx7z716428qki4kaxy";
-}
-{
-  lang = "lt";
-  saneName = "lt";
-  sha256 = "15d6r4jyp3qkf64wfqixrkc899a27s7vkgzgaxr6qpln5nhwxhiz";
-}
-{
-  lang = "lv";
-  saneName = "lv";
-  sha256 = "0y6xdl7rpb78s4mdisr33afvmhvk2pn0x13vylv7rxcxa34qzgp0";
-}
-{
-  lang = "nb";
-  saneName = "nb";
-  sha256 = "1llf9w22ys3kr1gbff60rqr8x55b8rjchxwk3zx8sidpflfj2jxx";
-}
-{
-  lang = "nds";
-  saneName = "nds";
-  sha256 = "1qixvdl916lriar5cq5s2ssin9klavy1kap6n4mlj2v1pwzqncv0";
-}
-{
-  lang = "nl";
-  saneName = "nl";
-  sha256 = "1bq6dshbbl36pd1kik60kdqpm3fj95409wrz07rvw21bc5wn4ng0";
-}
-{
-  lang = "nn";
-  saneName = "nn";
-  sha256 = "085vkfx26sfqz2vg1zs38fri99h344gmjfg9p64l82csx9fkr6d3";
-}
-{
-  lang = "pa";
-  saneName = "pa";
-  sha256 = "01q6kirkn7ah0m9hkd5i90la52p9cdjs01q0a99ic6jyfkjnzdms";
-}
-{
-  lang = "pl";
-  saneName = "pl";
-  sha256 = "1ixrfkb8lklh0475j2w97s21hwxcsf1vqafq5hg0819g6qd2aijl";
-}
-{
-  lang = "pt";
-  saneName = "pt";
-  sha256 = "0hcbfhxw66vilad81rmw88wybbsalidq50wfy4c2cb415cfqi1sr";
-}
-{
-  lang = "pt_BR";
-  saneName = "pt_BR";
-  sha256 = "0pwzmhkk2acmkqfvsbv2r58wjfrikqzpy5j74prpwk7w3ikch683";
-}
-{
-  lang = "ro";
-  saneName = "ro";
-  sha256 = "0xs9m6hqiqgknbm139wv46g4gwz595bqdnhzxibaadibrpaby8yq";
-}
-{
-  lang = "ru";
-  saneName = "ru";
-  sha256 = "0j2nb2nwipm8y894s0dqxs46slwcwgj5c6j62xw40jxr3zl726xc";
-}
-{
-  lang = "si";
-  saneName = "si";
-  sha256 = "1np69csgvfmg9nr07jxy45z1hpr0s7x0cfyv4gzidgwgrrjgy9rx";
-}
-{
-  lang = "sk";
-  saneName = "sk";
-  sha256 = "0f46d1wkac2mnl9wmzg3xhak5jxs1rdnqafk26zvg84ksdapy9ji";
-}
-{
-  lang = "sl";
-  saneName = "sl";
-  sha256 = "1ca7z7n4hsf6x9dh1xy9if1i8x7vdmapwl03q67752rvms60zgpc";
-}
-{
-  lang = "sr";
-  saneName = "sr";
-  sha256 = "0vqhy5s3pw53h0mh0vqwicg9yxb7dc45qa1y37lrb3rxbl0hf4b2";
-}
-{
-  lang = "sv";
-  saneName = "sv";
-  sha256 = "0f864y58jg3cm7wl2almljqhdcspyxcxb0ig2axb4ynmk1m7qfwd";
-}
-{
-  lang = "tg";
-  saneName = "tg";
-  sha256 = "1xybl1cp7hivzyw2j4s3j3ahv18kpxx54zpi8qn9nfpsxwz6nzzm";
-}
-{
-  lang = "th";
-  saneName = "th";
-  sha256 = "06n7r9pc44y53qs3lkmywsh40g0mmlq91sn6ma1j4nxbyglyk851";
-}
-{
-  lang = "tr";
-  saneName = "tr";
-  sha256 = "1ibypwg8wgwsgwp6s7n56wa3j4paxl948cmbhmiahmclpyhs8g3k";
-}
-{
-  lang = "ug";
-  saneName = "ug";
-  sha256 = "0z99bs4yxr4w6d5xxbr4k8h6494b64g00i3fkv4r1lrbldp0nsmi";
-}
-{
-  lang = "uk";
-  saneName = "uk";
-  sha256 = "05jrypr1gwlv15yymk3qmh6y982256lz2jyyw6jak4pwv2l4pdp1";
-}
-{
-  lang = "vi";
-  saneName = "vi";
-  sha256 = "1wzrdgp6w33qzy6w4jk0w9yk4v1pbx31lnjg1423c3f4byb4rx8s";
-}
-{
-  lang = "wa";
-  saneName = "wa";
-  sha256 = "0grlfffq3qzh2l0pnxwil0812l1a628i9gsi7zm1p6rp6hhv9fwp";
-}
-{
-  lang = "zh_CN";
-  saneName = "zh_CN";
-  sha256 = "18q6nhk12fi10i582vm6sdbhirq81702pfc1793dww4s8ys8lf1x";
-}
-{
-  lang = "zh_TW";
-  saneName = "zh_TW";
-  sha256 = "0x4yq975xwn2igyzdw0ygc1qiwcg30fvdhwnv15md6bfwk2m813l";
-}
-]
diff --git a/pkgs/desktops/kde-4.8/l10n/manifest-4.8.4.nix b/pkgs/desktops/kde-4.8/l10n/manifest-4.8.4.nix
new file mode 100644
index 000000000000..fb823440abd5
--- /dev/null
+++ b/pkgs/desktops/kde-4.8/l10n/manifest-4.8.4.nix
@@ -0,0 +1,277 @@
+[
+{
+  lang = "ar";
+  saneName = "ar";
+  sha256 = "1s17fypvwbr7v2jz1cdmxcgyav8ggj6sjiamvxdb9c6waahhmpjv";
+}
+{
+  lang = "bg";
+  saneName = "bg";
+  sha256 = "1lpdd4h9xgssvd5srkiyfzl7ngiyq7pipjm896qfmz03j3yzbwnz";
+}
+{
+  lang = "bs";
+  saneName = "bs";
+  sha256 = "0g6f5nihxizixc17y92453b4gj6w0bfwk4kndg2z60in9m4cswz5";
+}
+{
+  lang = "ca";
+  saneName = "ca";
+  sha256 = "02har0kybcj2jj51lxkrm6akr9dmv0afrxmzggbrbhfglhln8221";
+}
+{
+  lang = "ca@valencia";
+  saneName = "ca_valencia";
+  sha256 = "06wcfrbq1yh1vmzcyn7klym9cvmk8p56b23k9nbgw129z0ylhqxx";
+}
+{
+  lang = "cs";
+  saneName = "cs";
+  sha256 = "14kn3xq62fxn138gkc63icmngl97vb1bkmqv93cscbr4zc5sfkvw";
+}
+{
+  lang = "da";
+  saneName = "da";
+  sha256 = "10h3crypajdrxghn3hwprsgm09dblwsr17pg99c03zs4cd3gyv6s";
+}
+{
+  lang = "de";
+  saneName = "de";
+  sha256 = "1pp5d3s1450wf1kwawj9n3gv4pgr32dh3nnvkl5n58wjq07b9ah7";
+}
+{
+  lang = "el";
+  saneName = "el";
+  sha256 = "1wkp2v8yspgyixyki962vb3y8qdkdlp9mkrvfbw8lr6w2ivhkd90";
+}
+{
+  lang = "en_GB";
+  saneName = "en_GB";
+  sha256 = "07qw1qinlndfdkz2dzdr9bbb9kqxqhq3ya1qmcz999bw3ggjyi25";
+}
+{
+  lang = "es";
+  saneName = "es";
+  sha256 = "0wfl76s3zdb29dckbds63cfi96v2v59f6cm9yzjhwn87kyicq7k1";
+}
+{
+  lang = "et";
+  saneName = "et";
+  sha256 = "04ip1493m35qdv9f42590r1zqf9g6cksqzp6n7xcfzi1lr0cipyv";
+}
+{
+  lang = "eu";
+  saneName = "eu";
+  sha256 = "1pisn8myphk38jym2i8rp60rnvh3jn8lxnjghf5ng7h6ac1ydki3";
+}
+{
+  lang = "fa";
+  saneName = "fa";
+  sha256 = "1vx01f0i8mcxzbizn32hpl737bgih73qnsysvzl6cdv06ckvxrmm";
+}
+{
+  lang = "fi";
+  saneName = "fi";
+  sha256 = "1gx78cc294xnq2n96br2ahr2p6jzgv9d7bbaf9rm4nsamzbdd5m6";
+}
+{
+  lang = "fr";
+  saneName = "fr";
+  sha256 = "0skvnga1xavx10l3hhyqdr0mfapnjnbh75pbjvibg96d7wzxxi23";
+}
+{
+  lang = "ga";
+  saneName = "ga";
+  sha256 = "1pqcxhsgca3c5h9i9jpx67b572r3nhxrd6zmpkhidp3b476j2fx4";
+}
+{
+  lang = "gl";
+  saneName = "gl";
+  sha256 = "03k0w0byra36krrm8gbfmfv7am74y85zy6n01nl3j4xgiy41yqy4";
+}
+{
+  lang = "he";
+  saneName = "he";
+  sha256 = "0llqgsp9nw92px54lidsgdx5mk6z5nivshs4p193iplypa1pcfck";
+}
+{
+  lang = "hr";
+  saneName = "hr";
+  sha256 = "0w8l6msbxmjg889kpprh3bfzbgks2abp30b0m6xn43jkrghghxsj";
+}
+{
+  lang = "hu";
+  saneName = "hu";
+  sha256 = "0j63m00ilk9k5dy12bp3ndrwk5vcz79pwqhj9znp9l077lr1ah5n";
+}
+{
+  lang = "ia";
+  saneName = "ia";
+  sha256 = "0d3nkv9kbh6rdaf46psy2iia1phkj49xf67cdmnhr8kqgh557vh6";
+}
+{
+  lang = "id";
+  saneName = "id";
+  sha256 = "1gq4asqwsayd7wgkyqqg93lhqa8m0ac35as4dlrbqph4rk56k54y";
+}
+{
+  lang = "is";
+  saneName = "is";
+  sha256 = "05l9d9xmf08nr14gjsl8qbqyn8xc3qji4wc4zsqnmnp2fk8l3ndd";
+}
+{
+  lang = "it";
+  saneName = "it";
+  sha256 = "0hhl7pdfs1kcmz18k08961xq7y5vvjkwwzibkg238xagjq6wh1wl";
+}
+{
+  lang = "ja";
+  saneName = "ja";
+  sha256 = "1ipf5y1vy5accxbxs74641iqs785n2nkgxy31lgcm0ay0s6y3kx4";
+}
+{
+  lang = "kk";
+  saneName = "kk";
+  sha256 = "1arhyqn4yarcff3zhpi7a0c26b0rr1k3dwds9r6vq383vmv5la4a";
+}
+{
+  lang = "km";
+  saneName = "km";
+  sha256 = "1ny008qwxpdl9l4a56y664hxb3y0c9i5rpbbwnpcmynm6fmnm1ik";
+}
+{
+  lang = "ko";
+  saneName = "ko";
+  sha256 = "0aimxflnbx716bdph6snfzw17kkqqsbxrxawgjwmdp69h02pj5zh";
+}
+{
+  lang = "lt";
+  saneName = "lt";
+  sha256 = "14np3z28z946mf1g93ci202mqmg3qlgi1wlv8yp7949lq36psfx2";
+}
+{
+  lang = "lv";
+  saneName = "lv";
+  sha256 = "1jqxyih3m9p0km610dmpv9c3nzxjfm2aga1lm7nz3akgb8n6lhdi";
+}
+{
+  lang = "nb";
+  saneName = "nb";
+  sha256 = "000lmksgcinsxr5ny607b2q4h108pk4jzyygrf38zpw02crsa0i5";
+}
+{
+  lang = "nds";
+  saneName = "nds";
+  sha256 = "0spg23ngm8lj7bkbcj0s62i22flqzwvnhg12ghkiyqrdg8v725hq";
+}
+{
+  lang = "nl";
+  saneName = "nl";
+  sha256 = "1qpdabq9clbb6r59gs7s0k3l1rb5fxvbhsasxsw1r7m4l32gnlib";
+}
+{
+  lang = "nn";
+  saneName = "nn";
+  sha256 = "1nfkwmic4vs287ywi0mrqw95fvy42xdaxrsafxhjwdxqiynq6z66";
+}
+{
+  lang = "pa";
+  saneName = "pa";
+  sha256 = "078m4ph7kcjvkbivhaa54wdqr8fz8qa8r8db76w1wlynwgqy4qfs";
+}
+{
+  lang = "pl";
+  saneName = "pl";
+  sha256 = "1vcgkikbq48kxcgpi0vp95gj3wgfmghrvr6gqhlfql19wp5mjvm8";
+}
+{
+  lang = "pt";
+  saneName = "pt";
+  sha256 = "04pjxaxllhhccwinn33ild0xjjn05wqb3a660xhf3cgr6wkgx02f";
+}
+{
+  lang = "pt_BR";
+  saneName = "pt_BR";
+  sha256 = "1bb2f14h73ba35ysl3snnbiawx2ciz8h80f80k76qnyxix6zk885";
+}
+{
+  lang = "ro";
+  saneName = "ro";
+  sha256 = "1gm22h89j0s91gdnpn8nf0zw761ddwj5wg5i58v8aza45dh026rx";
+}
+{
+  lang = "ru";
+  saneName = "ru";
+  sha256 = "13hmbpsvzxiz4ci29388crr8xwhqmbrgs3yn12ay6z8fcwi3v528";
+}
+{
+  lang = "si";
+  saneName = "si";
+  sha256 = "0557m5r07xdqc0ambzw7b5kqnjaxyx6si2w2zi804gx89cjkjzyn";
+}
+{
+  lang = "sk";
+  saneName = "sk";
+  sha256 = "0yy379i8hy37sq61xz3n9309srjgm46n8jhj5dqf120jfc4knp2m";
+}
+{
+  lang = "sl";
+  saneName = "sl";
+  sha256 = "03qk82hz3zdaj1rcpfyrzks4ss6rrqfwz1wkjqp1rrm5g7kl835w";
+}
+{
+  lang = "sr";
+  saneName = "sr";
+  sha256 = "1dz2ckc7h7sm8ac66ajpypfifkpnx94d5d24hsm9gnp271x3134a";
+}
+{
+  lang = "sv";
+  saneName = "sv";
+  sha256 = "0rynj1db0yijlb2ilwzia53h2xqaj5prz4ap0y06vpw5i84xf6f5";
+}
+{
+  lang = "tg";
+  saneName = "tg";
+  sha256 = "0s78pb4b6fkqwvn9hp0n2mb6jkdwnx3hfh7vs9dxdx3m7zpgjq9z";
+}
+{
+  lang = "th";
+  saneName = "th";
+  sha256 = "0xf646xnyjkwa5m32chsnsbb5ndfvbrzgc7i76g2fwp843wrn4rq";
+}
+{
+  lang = "tr";
+  saneName = "tr";
+  sha256 = "0bfawc1cp9f7q1cq69y0w9bwawh2f4bhl1795f0i171pvfmmwq9g";
+}
+{
+  lang = "ug";
+  saneName = "ug";
+  sha256 = "1lj7kjmfjk6micrspkpzx4jhskw33zi7jyshfz8i8234vzzn9j6d";
+}
+{
+  lang = "uk";
+  saneName = "uk";
+  sha256 = "09ssi2zx24cfwc4bm039i9p6si8cx22fqwisi356ijjclrb3k7sh";
+}
+{
+  lang = "vi";
+  saneName = "vi";
+  sha256 = "0sc3mjbi7gsyllgkqck75qgnfdmrlqh5ffmxl2p4q8m1whkgxqr1";
+}
+{
+  lang = "wa";
+  saneName = "wa";
+  sha256 = "06rfw2l812gf3zyw7kl500lxda751q3bhrl7dh67zsc4s18gy9cb";
+}
+{
+  lang = "zh_CN";
+  saneName = "zh_CN";
+  sha256 = "1zaxjza3q5ana63kqm9mbqssz73my07iikfq2w0i29naqx570p0y";
+}
+{
+  lang = "zh_TW";
+  saneName = "zh_TW";
+  sha256 = "1svp8ykbcssl028hn6vxb6yb5agkbzlzvxnm6imkillsvmqlchdj";
+}
+]
diff --git a/pkgs/desktops/kde-4.8/oxygen-icons.nix b/pkgs/desktops/kde-4.8/oxygen-icons.nix
index 32af5be17991..c821e2a7aac4 100644
--- a/pkgs/desktops/kde-4.8/oxygen-icons.nix
+++ b/pkgs/desktops/kde-4.8/oxygen-icons.nix
@@ -3,7 +3,7 @@
 kde {
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "973f53b59e31e1e1dca41aa5abf0fc50e9cf0cbee57f156d90c2e754f33cc1b9";
+  outputHash = "3984dac79aa7398578bcd9d69d74988bd992807518d46cd1dabc03867044c8a4";
 
   buildNativeInputs = [ cmake ];
 
diff --git a/pkgs/desktops/xfce-4.6/applications/mousepad.nix b/pkgs/desktops/xfce-4.6/applications/mousepad.nix
index 920151282a80..5912b21c7661 100644
--- a/pkgs/desktops/xfce-4.6/applications/mousepad.nix
+++ b/pkgs/desktops/xfce-4.6/applications/mousepad.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "mousepad-0.2.16";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/src/apps/mousepad/0.2/${name}.tar.bz2";
+    url = "http://archive.xfce.org/src/apps/mousepad/0.2/${name}.tar.bz2";
     sha1 = "4e63033e0a71578f3ec9a0d2e6a505efd0424ef9";
   };
 
diff --git a/pkgs/desktops/xfce-4.6/applications/ristretto.nix b/pkgs/desktops/xfce-4.6/applications/ristretto.nix
index 198421e21d3f..aefabcb65fbd 100644
--- a/pkgs/desktops/xfce-4.6/applications/ristretto.nix
+++ b/pkgs/desktops/xfce-4.6/applications/ristretto.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "ristretto-0.0.22";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/src/apps/ristretto/0.0/${name}.tar.gz";
+    url = "http://archive.xfce.org/src/apps/ristretto/0.0/${name}.tar.gz";
     sha1 = "bddbc8618ba67699ccf5ee4ea0b538b1be7fdb0a";
   };
 
diff --git a/pkgs/desktops/xfce-4.6/applications/xfce4-power-manager.nix b/pkgs/desktops/xfce-4.6/applications/xfce4-power-manager.nix
index 543b7660975f..65e906f5d83f 100644
--- a/pkgs/desktops/xfce-4.6/applications/xfce4-power-manager.nix
+++ b/pkgs/desktops/xfce-4.6/applications/xfce4-power-manager.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "xfce4-power-manager-0.8.5";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/src/apps/xfce4-power-manager/0.8/${name}.tar.bz2";
+    url = "http://archive.xfce.org/src/apps/xfce4-power-manager/0.8/${name}.tar.bz2";
     sha1 = "b1ce0f120733ec1a6267d50ba5c2990bbbbccfd4";
   };
 
diff --git a/pkgs/desktops/xfce-4.6/art/xfce4-icon-theme.nix b/pkgs/desktops/xfce-4.6/art/xfce4-icon-theme.nix
index a17267a336c3..f42790c62166 100644
--- a/pkgs/desktops/xfce-4.6/art/xfce4-icon-theme.nix
+++ b/pkgs/desktops/xfce-4.6/art/xfce4-icon-theme.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "xfce4-icon-theme-4.4.3";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/src/art/xfce4-icon-theme/4.4/${name}.tar.bz2";
+    url = "http://archive.xfce.org/src/art/xfce4-icon-theme/4.4/${name}.tar.bz2";
     sha1 = "0c0d0c45cd4a7f609310db8e9d17c1c4a131a6e7";
   };
 
diff --git a/pkgs/desktops/xfce-4.6/core/exo.nix b/pkgs/desktops/xfce-4.6/core/exo.nix
index 53fc8fa8fcdf..5115a402c0dc 100644
--- a/pkgs/desktops/xfce-4.6/core/exo.nix
+++ b/pkgs/desktops/xfce-4.6/core/exo.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "exo-0.3.107";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/xfce/4.6.2/src/${name}.tar.bz2";
+    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
     sha256 = "18z2xmdl577r60ln2waai10dd7i384k0bxrmf7gchrxd9c9aq4ha";
   };
 
diff --git a/pkgs/desktops/xfce-4.6/core/gtk-xfce-engine.nix b/pkgs/desktops/xfce-4.6/core/gtk-xfce-engine.nix
index bab382a263f0..156da1c64834 100644
--- a/pkgs/desktops/xfce-4.6/core/gtk-xfce-engine.nix
+++ b/pkgs/desktops/xfce-4.6/core/gtk-xfce-engine.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "gtk-xfce-engine-2.6.0";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/xfce/4.6.2/src/${name}.tar.bz2";
+    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
     sha1 = "a7be2f330833d150c5fb37f68a4c2138348b5446";
   };
 
diff --git a/pkgs/desktops/xfce-4.6/core/libxfce4menu.nix b/pkgs/desktops/xfce-4.6/core/libxfce4menu.nix
index f8a0c1ba87c9..fda09979819e 100644
--- a/pkgs/desktops/xfce-4.6/core/libxfce4menu.nix
+++ b/pkgs/desktops/xfce-4.6/core/libxfce4menu.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libxfce4menu-4.6.2";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/xfce-4.6.2/src/${name}.tar.bz2";
+    url = "http://archive.xfce.org/xfce-4.6.2/src/${name}.tar.bz2";
     sha1 = "32a85c1ad31360347d5a2f240c4ddc08b444d124";
   };
 
diff --git a/pkgs/desktops/xfce-4.6/core/libxfce4util.nix b/pkgs/desktops/xfce-4.6/core/libxfce4util.nix
index 2625966bb587..ca90822cfd0f 100644
--- a/pkgs/desktops/xfce-4.6/core/libxfce4util.nix
+++ b/pkgs/desktops/xfce-4.6/core/libxfce4util.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libxfce4util-4.6.2";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/xfce-4.6.2/src/${name}.tar.bz2";
+    url = "http://archive.xfce.org/xfce-4.6.2/src/${name}.tar.bz2";
     sha256 = "10wcw7r8cjb0farffic037pcjr5bwrjrm8s3jrcb7c0b038pwbmf";
   };
 
diff --git a/pkgs/desktops/xfce-4.6/core/libxfcegui4.nix b/pkgs/desktops/xfce-4.6/core/libxfcegui4.nix
index 52ee3a6262fc..056853f9eb15 100644
--- a/pkgs/desktops/xfce-4.6/core/libxfcegui4.nix
+++ b/pkgs/desktops/xfce-4.6/core/libxfcegui4.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "libxfcegui4-4.6.4";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/xfce-4.6.2/src/${name}.tar.bz2";
+    url = "http://archive.xfce.org/xfce-4.6.2/src/${name}.tar.bz2";
     sha1 = "a12c79f8fa14c5d1fc0fca5615a451b7d23f8695";
   };
 
diff --git a/pkgs/desktops/xfce-4.6/core/thunar.nix b/pkgs/desktops/xfce-4.6/core/thunar.nix
index adbbd461c5ee..2fecb7814b11 100644
--- a/pkgs/desktops/xfce-4.6/core/thunar.nix
+++ b/pkgs/desktops/xfce-4.6/core/thunar.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   name = "thunar-1.0.2";
   
   src = fetchurl {
-    url = http://www.xfce.org/archive/xfce/4.6.2/src/Thunar-1.0.2.tar.bz2;
+    url = http://archive.xfce.org/xfce/4.6.2/src/Thunar-1.0.2.tar.bz2;
     sha1 = "f7ae00c32402e4bc502aba15477b78e2c558c7c3";
   };
 
diff --git a/pkgs/desktops/xfce-4.6/core/xfce-utils.nix b/pkgs/desktops/xfce-4.6/core/xfce-utils.nix
index 4f520058ccf1..ed2bfc56108c 100644
--- a/pkgs/desktops/xfce-4.6/core/xfce-utils.nix
+++ b/pkgs/desktops/xfce-4.6/core/xfce-utils.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "xfce-utils-4.6.2";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/xfce/4.6.2/src/${name}.tar.bz2";
+    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
     sha1 = "6373886c3d70e576859741bde747a235567ffd8e";
   };
 
diff --git a/pkgs/desktops/xfce-4.6/core/xfce4-panel.nix b/pkgs/desktops/xfce-4.6/core/xfce4-panel.nix
index b8a8c1458011..7708d019b90a 100644
--- a/pkgs/desktops/xfce-4.6/core/xfce4-panel.nix
+++ b/pkgs/desktops/xfce-4.6/core/xfce4-panel.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "xfce4-panel-4.6.4";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/xfce/4.6.2/src/${name}.tar.bz2";
+    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
     sha1 = "d2b310c036be84ed9886c06ae35b7a1a8eabfcb8";
   };
 
diff --git a/pkgs/desktops/xfce-4.6/core/xfce4-session.nix b/pkgs/desktops/xfce-4.6/core/xfce4-session.nix
index dc563502542a..fc56be085c4a 100644
--- a/pkgs/desktops/xfce-4.6/core/xfce4-session.nix
+++ b/pkgs/desktops/xfce-4.6/core/xfce4-session.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "xfce4-session-4.6.2";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/xfce/4.6.2/src/${name}.tar.bz2";
+    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
     sha1 = "2a5778a1543f97845f118a186e2dbb8a8ea3ff4b";
   };
 
diff --git a/pkgs/desktops/xfce-4.6/core/xfce4-settings.nix b/pkgs/desktops/xfce-4.6/core/xfce4-settings.nix
index b0bfadf8e525..0935955231e3 100644
--- a/pkgs/desktops/xfce-4.6/core/xfce4-settings.nix
+++ b/pkgs/desktops/xfce-4.6/core/xfce4-settings.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "xfce4-settings-4.6.5";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/xfce/4.6.2/src/${name}.tar.bz2";
+    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
     sha1 = "c036cc2f3100a46b2649e678dff7c0106b219263";
   };
 
diff --git a/pkgs/desktops/xfce-4.6/core/xfconf.nix b/pkgs/desktops/xfce-4.6/core/xfconf.nix
index b4c14ef043e2..2fc88bd12586 100644
--- a/pkgs/desktops/xfce-4.6/core/xfconf.nix
+++ b/pkgs/desktops/xfce-4.6/core/xfconf.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "xfconf-4.6.2";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/xfce/4.6.2/src/${name}.tar.bz2";
+    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
     sha1 = "2b9656a1b7f323d2600ddc929191afb50c8018f8";
   };
 
diff --git a/pkgs/desktops/xfce-4.6/core/xfdesktop.nix b/pkgs/desktops/xfce-4.6/core/xfdesktop.nix
index 83de4ed4dfe7..90a69bd8692f 100644
--- a/pkgs/desktops/xfce-4.6/core/xfdesktop.nix
+++ b/pkgs/desktops/xfce-4.6/core/xfdesktop.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "xfdesktop-4.6.2";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/xfce/4.6.2/src/${name}.tar.bz2";
+    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
     sha1 = "cefcd1c1386d34386d4e900cbf88b7c24ef3bafb";
   };
 
diff --git a/pkgs/desktops/xfce-4.6/core/xfwm4.nix b/pkgs/desktops/xfce-4.6/core/xfwm4.nix
index c7bab240691e..6e88ef9cd0d9 100644
--- a/pkgs/desktops/xfce-4.6/core/xfwm4.nix
+++ b/pkgs/desktops/xfce-4.6/core/xfwm4.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "xfwm4-4.6.2";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/xfce/4.6.2/src/${name}.tar.bz2";
+    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
     sha256 = "0a2q2pr5mzp6hsrd0llr90i9wii2qj2054shkpvkain20gp1ja11";
   };
 
diff --git a/pkgs/desktops/xfce-4.8/applications/mousepad.nix b/pkgs/desktops/xfce-4.8/applications/mousepad.nix
index ab4bea16f1c3..395a5c9f0848 100644
--- a/pkgs/desktops/xfce-4.8/applications/mousepad.nix
+++ b/pkgs/desktops/xfce-4.8/applications/mousepad.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "mousepad-0.2.16";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/src/apps/mousepad/0.2/${name}.tar.bz2";
+    url = "http://archive.xfce.org/src/apps/mousepad/0.2/${name}.tar.bz2";
     sha1 = "4e63033e0a71578f3ec9a0d2e6a505efd0424ef9";
   };
 
diff --git a/pkgs/desktops/xfce-4.8/art/xfce4-icon-theme.nix b/pkgs/desktops/xfce-4.8/art/xfce4-icon-theme.nix
index d69a517b2039..afa934b60316 100644
--- a/pkgs/desktops/xfce-4.8/art/xfce4-icon-theme.nix
+++ b/pkgs/desktops/xfce-4.8/art/xfce4-icon-theme.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "xfce4-icon-theme-4.4.3";
   
   src = fetchurl {
-    url = "http://www.xfce.org/archive/src/art/xfce4-icon-theme/4.4/${name}.tar.bz2";
+    url = "http://archive.xfce.org/src/art/xfce4-icon-theme/4.4/${name}.tar.bz2";
     sha1 = "0c0d0c45cd4a7f609310db8e9d17c1c4a131a6e7";
   };
 
diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix
new file mode 100644
index 000000000000..fdb40be320c6
--- /dev/null
+++ b/pkgs/development/compilers/cudatoolkit/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchurl, patchelf, perl, ncurses, expat, python, zlib
+, xlibs, fontconfig, freetype, unixODBC, alsaLib
+} :
+
+stdenv.mkDerivation rec {
+  name = "cudatoolkit-4.2.9";
+
+  dontPatchELF = true;
+  dontStrip = true;
+
+  src =
+    if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url = http://developer.download.nvidia.com/compute/cuda/4_2/rel/toolkit/cudatoolkit_4.2.9_linux_64_suse11.2.run;
+        sha256 = "1inngzwq520bhpdfrh5bm4cxfyf3hxj94jialjxgviri5bj9hz60";
+      }
+    else throw "cudatoolkit does not support platform ${stdenv.system}";
+
+  buildInputs = [ perl ];
+
+  runtimeDependencies = [
+    ncurses expat python zlib
+    xlibs.libX11 xlibs.libXext xlibs.libXrender xlibs.libXt xlibs.libXtst xlibs.libXi xlibs.libXext
+    fontconfig freetype unixODBC alsaLib
+  ];
+
+  rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.gcc.gcc}/lib64";
+
+  unpackPhase = ''
+    sh $src --keep --noexec
+    cd pkg
+  '';
+
+  buildPhase = ''
+    find . -type f -executable -exec patchelf \
+      --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      '{}' \; || true
+    find . -type f -exec patchelf \
+      --set-rpath $rpath:$out/lib:$out/lib64:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \
+      --force-rpath \
+      '{}' \; || true
+  '';
+
+  installPhase = ''
+    mkdir $out
+    perl ./install-linux.pl --prefix="$out"
+  '';
+
+  meta = {
+    license = [ "nonfree" ];
+  };
+}
diff --git a/pkgs/development/compilers/gcc/4.6/default.nix b/pkgs/development/compilers/gcc/4.6/default.nix
index 3955455df4c1..c94a9285b29b 100644
--- a/pkgs/development/compilers/gcc/4.6/default.nix
+++ b/pkgs/development/compilers/gcc/4.6/default.nix
@@ -127,11 +127,21 @@ let version = "4.6.3";
           " --enable-threads=win32" +
           " --enable-sjlj-exceptions" +
           " --enable-hash-synchronization" +
-          " --enable-version-specific-runtime-libs" +
           " --disable-libssp" +
           " --disable-nls" +
-          " --with-dwarf2"
-          else
+          " --with-dwarf2" +
+          # I think noone uses shared gcc libs in mingw, so we better do the same.
+          # In any case, mingw32 g++ linking is broken by default with shared libs,
+          # unless adding "-lsupc++" to any linking command. I don't know why.
+          " --disable-shared" +
+          (if cross.config == "x86_64-w64-mingw32" then
+            # To keep ABI compatibility with upstream mingw-w64
+            " --enable-fully-dynamic-string"
+            else "")
+          else (if cross.libc == "uclibc" then
+            # In uclibc cases, libgomp needs an additional '-ldl'
+            # and as I don't know how to pass it, I disable libgomp.
+            " --disable-libgomp" else "") +
           " --enable-threads=posix" +
           " --enable-nls" +
           " --disable-decimal-float") # No final libdecnumber (it may work only in 386)
@@ -426,7 +436,8 @@ stdenv.mkDerivation ({
   installTargets = "install-gcc install-target-libgcc";
 }
 
-// optionalAttrs (!stripped) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
+# Strip kills static libs of other archs (hence cross != null)
+// optionalAttrs (!stripped || cross != null) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
 
 // optionalAttrs langVhdl rec {
   name = "ghdl-0.29";
diff --git a/pkgs/development/compilers/ghc/7.4.2.nix b/pkgs/development/compilers/ghc/7.4.2.nix
index 1ea9e24a120e..ea44e49cca3d 100644
--- a/pkgs/development/compilers/ghc/7.4.2.nix
+++ b/pkgs/development/compilers/ghc/7.4.2.nix
@@ -1,17 +1,19 @@
 { stdenv, fetchurl, ghc, perl, gmp, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "7.4.1.20120412";
+  version = "7.4.2";
 
   name = "ghc-${version}";
 
   src = fetchurl {
-    url = "http://haskell.org/ghc/dist/stable/dist/${name}-src.tar.bz2";
-    sha256 = "0hpzd51s5nvlsjk3wza45ji5v6m0szqjzch45fvv7wfzllrm595l";
+    url = "http://haskell.org/ghc/dist/7.4.2/${name}-src.tar.bz2";
+    sha256 = "0vc3zmxqi4gflssmj35n5c8idbvyrhd88abi50whbirwlf4i5vpj";
   };
 
   buildInputs = [ ghc perl gmp ncurses ];
 
+  enableParallelBuilding = true;
+
   buildMK = ''
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 66b939cdfed1..3db488737c32 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -1,17 +1,19 @@
 { stdenv, fetchurl, ghc, perl, gmp, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "7.5.20120419";
+  version = "7.5.20120706";
 
   name = "ghc-${version}";
 
   src = fetchurl {
     url = "http://haskell.org/ghc/dist/current/dist/${name}-src.tar.bz2";
-    sha256 = "0fwq2s3syk3l4xx0m8x6h67snldlf3qk9bjjkvx46sgr0q3xjd05";
+    sha256 = "196aghpgzf5k47l603fynxxjjkkk5f6y2cylxv3skavvd1g16bs2";
   };
 
   buildInputs = [ ghc perl gmp ncurses ];
 
+  enableParallelBuilding = true;
+
   buildMK = ''
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
     libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
diff --git a/pkgs/development/compilers/ghc/with-packages.nix b/pkgs/development/compilers/ghc/with-packages.nix
index 5f36db177ec7..9313c54b9080 100644
--- a/pkgs/development/compilers/ghc/with-packages.nix
+++ b/pkgs/development/compilers/ghc/with-packages.nix
@@ -10,6 +10,17 @@ stdenv.mkDerivation rec {
   unpackPhase = "true";
 
   installPhase = ''
+    numversion=$(${ghc}/bin/ghc --numeric-version)
+    majorversion=''${numversion%%.*}
+    minorversion=''${numversion#*.}
+    minorversion=''${minorversion%%.*}
+
+    if [[ $majorversion -gt 6 ]] && [[ $minorversion -gt 4 ]]; then
+      globalConf="--global-package-db"
+    else
+      globalConf="--global-conf"
+    fi
+
     originalTopDir="${ghc}/lib/ghc-${ghc.version}"
     originalPkgDir="$originalTopDir/package.conf.d"
     linkedTopDir="$out/lib"
@@ -57,7 +68,7 @@ stdenv.mkDerivation rec {
     done
 
     echo -n "Generating package cache "
-    ${ghc}/bin/ghc-pkg --global-conf $linkedPkgDir recache
+    ${ghc}/bin/ghc-pkg $globalConf $linkedPkgDir recache
     echo .
 
     echo -n "Generating wrappers "
@@ -73,7 +84,7 @@ stdenv.mkDerivation rec {
     done
 
     for prg in ghc-pkg ghc-pkg-${ghc.version}; do
-      makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "--global-conf $linkedPkgDir"
+      makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "$globalConf $linkedPkgDir"
       echo -n .
     done
 
diff --git a/pkgs/development/compilers/ikarus/default.nix b/pkgs/development/compilers/ikarus/default.nix
index bf63dfd2082b..4c3845f9ee56 100644
--- a/pkgs/development/compilers/ikarus/default.nix
+++ b/pkgs/development/compilers/ikarus/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl, gmp }:
 
 stdenv.mkDerivation rec {
-  name = "ikarus-0.0.3";
+  version = "0.0.3";
+  name = "ikarus-${version}";
 
   src = fetchurl {
-    url = "http://ikarus-scheme.org/${name}.tar.gz";
+    url = "http://launchpad.net/ikarus/0.0/${version}/+download/${name}.tar.gz";
     sha256 = "0d4vqwqfnj39l0gar2di021kcf6bfpkc6g40yapkmxm6sxpdcvjv";
   };
 
diff --git a/pkgs/development/compilers/llvm/3.1.nix b/pkgs/development/compilers/llvm/3.1.nix
new file mode 100644
index 000000000000..204c080b871a
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.1.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, perl, groff, cmake, python }:
+
+let version = "3.1"; in
+
+stdenv.mkDerivation {
+  name = "llvm-${version}";
+
+  src = fetchurl {
+    url    = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz";
+    sha256 = "1ea05135197b5400c1f88d00ff280d775ce778f8f9ea042e25a1e1e734a4b9ab";
+  };
+
+  buildInputs = [ perl groff cmake python ];
+
+  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://llvm.org/;
+    description = "Collection of modular and reusable compiler and toolchain technologies";
+    license = "BSD";
+    maintainers = with stdenv.lib.maintainers; [viric shlevy raskin];
+    platforms = with stdenv.lib.platforms; all;
+  };
+}
+
diff --git a/pkgs/development/compilers/ocaml/3.12.1-darwin-fix-configure.patch b/pkgs/development/compilers/ocaml/3.12.1-darwin-fix-configure.patch
new file mode 100644
index 000000000000..4b867bbb1e6f
--- /dev/null
+++ b/pkgs/development/compilers/ocaml/3.12.1-darwin-fix-configure.patch
@@ -0,0 +1,32 @@
+diff -Nuar ocaml-3.12.1/configure ocaml-3.12.1-fix-configure/configure
+--- ocaml-3.12.1/configure	2011-07-04 23:15:01.000000000 +0200
++++ ocaml-3.12.1-fix-configure/configure	2012-06-06 22:20:40.000000000 +0200
+@@ -259,7 +259,7 @@
+     bytecccompopts="-fno-defer-pop $gcc_warnings -DSHRINKED_GNUC"
+     mathlib="";;
+   *,*-*-darwin*)
+-    bytecccompopts="-fno-defer-pop -no-cpp-precomp $gcc_warnings"
++    bytecccompopts="-fno-defer-pop $gcc_warnings"
+     mathlib=""
+     # Tell gcc that we can use 32-bit code addresses for threaded code
+     # unless we are compiled for a shared library (-fPIC option)
+@@ -739,7 +739,7 @@
+   *,*,rhapsody,*)      nativecccompopts="$gcc_warnings -DDARWIN_VERSION_6 $dl_defs"
+                        if $arch64; then partialld="ld -r -arch ppc64"; fi;;
+   *,gcc*,cygwin,*)     nativecccompopts="$gcc_warnings -U_WIN32";;
+-  amd64,gcc*,macosx,*) partialld="ld -r -arch x86_64";;
++  amd64,gcc*,macosx,*) partialld="ld -r";;
+   amd64,gcc*,solaris,*) partialld="ld -r -m elf_x86_64";;
+   *,gcc*,*,*)          nativecccompopts="$gcc_warnings";;
+ esac
+@@ -752,8 +752,8 @@
+                     asppprofflags='-pg -DPROFILING';;
+   alpha,*,*)        as='as'
+                     aspp='gcc -c';;
+-  amd64,*,macosx)   as='as -arch x86_64'
+-                    aspp='gcc -arch x86_64 -c';;
++  amd64,*,macosx)   as='as'
++                    aspp='gcc -c';;
+   amd64,*,solaris)  as='as --64'
+                     aspp='gcc -m64 -c';;
+   amd64,*,*)        as='as'
diff --git a/pkgs/development/compilers/ocaml/3.12.1.nix b/pkgs/development/compilers/ocaml/3.12.1.nix
index 44fe2d139d8b..66075d4a9669 100644
--- a/pkgs/development/compilers/ocaml/3.12.1.nix
+++ b/pkgs/development/compilers/ocaml/3.12.1.nix
@@ -20,7 +20,8 @@ stdenv.mkDerivation rec {
   buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
   buildInputs = [ncurses] ++ optionals useX11 [ x11 ];
   installTargets = "install" + optionalString useNativeCompilers " installopt";
-  patchPhase = ''
+  patches = optionals stdenv.isDarwin [ ./3.12.1-darwin-fix-configure.patch ];
+  preConfigure = ''
     CAT=$(type -tp cat)
     sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
   '';
diff --git a/pkgs/development/compilers/pakcs/default.nix b/pkgs/development/compilers/pakcs/default.nix
index bd194b0bf321..35771f6691f2 100644
--- a/pkgs/development/compilers/pakcs/default.nix
+++ b/pkgs/development/compilers/pakcs/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation {
     sed -i '68d' configure-pakcs
   '';
 
+  patches = [ ./pakcs-ghc741.patch ];
+
   preConfigure = ''
     # Path to GHC and SWI Prolog
     sed -i 's@GHC=@GHC=${ghc}/bin/ghc@' bin/.pakcs_variables
@@ -43,7 +45,7 @@ stdenv.mkDerivation {
 
     mkdir -p $out/share/emacs/site-lisp/curry-pakcs
     for e in "$out/tools/emacs/"*.el ; do
-      ln -s $out/tools/emacs/$e $out/share/emacs/site-lisp/curry-pakcs/;
+      ln -s $e $out/share/emacs/site-lisp/curry-pakcs/;
     done
 
     sed -i 's@which@type -P@' $out/bin/.pakcs_wrapper
diff --git a/pkgs/development/compilers/pakcs/pakcs-ghc741.patch b/pkgs/development/compilers/pakcs/pakcs-ghc741.patch
new file mode 100644
index 000000000000..439cb787d67d
--- /dev/null
+++ b/pkgs/development/compilers/pakcs/pakcs-ghc741.patch
@@ -0,0 +1,1004 @@
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/AbstractCurry.hs pakcs-new/mccparser/src/AbstractCurry.hs
+--- pakcs/mccparser/src/AbstractCurry.hs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/AbstractCurry.hs	2012-06-10 23:41:02.278126416 -0430
+@@ -29,7 +29,7 @@
+                       readCurry, writeCurry) where
+ 
+ import PathUtils (writeModule,readModule)
+-import List(intersperse)
++import Data.List(intersperse)
+ 
+ ------------------------------------------------------------------------------
+ -- Definition of data types for representing abstract Curry programs:
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/AnsiCodes.hs pakcs-new/mccparser/src/AnsiCodes.hs
+--- pakcs/mccparser/src/AnsiCodes.hs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/AnsiCodes.hs	2012-06-10 23:41:02.278126416 -0430
+@@ -27,8 +27,8 @@
+ 
+   )  where
+ 
+-import Char
+-import List
++import Data.Char
++import Data.List
+ 
+ -- escape character
+ esc = chr 27
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Base.lhs pakcs-new/mccparser/src/Base.lhs
+--- pakcs/mccparser/src/Base.lhs	2011-11-14 09:23:07.000000000 -0430
++++ pakcs-new/mccparser/src/Base.lhs	2012-06-10 23:41:02.302127057 -0430
+@@ -22,12 +22,12 @@
+ > import FlatWithSrcRefs hiding (SrcRef, Fixity(..), TypeExpr, Expr(..))
+ > import Env
+ > import TopEnv
+-> import List
++> import Data.List
+ > import Map
+-> import Monad
++> import Control.Monad
+ > import Set
+ > import Utils
+-> import Maybe
++> import Data.Maybe
+ 
+ > import qualified FlatWithSrcRefs (Fixity(..), TypeExpr)
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Cam.lhs pakcs-new/mccparser/src/Cam.lhs
+--- pakcs/mccparser/src/Cam.lhs	2011-11-14 09:23:08.000000000 -0430
++++ pakcs-new/mccparser/src/Cam.lhs	2012-06-10 23:41:02.302127057 -0430
+@@ -10,7 +10,7 @@
+ \begin{verbatim}
+ 
+ > module Cam where
+-> import Char
++> import Data.Char
+ 
+ \end{verbatim}
+ An abstract machine code module consists of a list of import, data,
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/CamPP.lhs pakcs-new/mccparser/src/CamPP.lhs
+--- pakcs/mccparser/src/CamPP.lhs	2011-11-14 09:23:08.000000000 -0430
++++ pakcs-new/mccparser/src/CamPP.lhs	2012-06-10 23:41:02.303127084 -0430
+@@ -9,7 +9,7 @@
+ 
+ > module CamPP where
+ > import Cam
+-> import Char
++> import Data.Char
+ > import Pretty
+ 
+ > default(Int)
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/CaseCompletion.hs pakcs-new/mccparser/src/CaseCompletion.hs
+--- pakcs/mccparser/src/CaseCompletion.hs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/CaseCompletion.hs	2012-06-10 23:41:02.280126456 -0430
+@@ -21,7 +21,7 @@
+ import Position (SrcRef)
+ import OldScopeEnv as ScopeEnv
+ import ILScope
+-import Maybe
++import Data.Maybe
+ 
+ 
+ -------------------------------------------------------------------------------
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/CCode.lhs pakcs-new/mccparser/src/CCode.lhs
+--- pakcs/mccparser/src/CCode.lhs	2011-11-14 09:23:08.000000000 -0430
++++ pakcs-new/mccparser/src/CCode.lhs	2012-06-10 23:41:02.303127084 -0430
+@@ -15,8 +15,8 @@
+ \begin{verbatim}
+ 
+ > module CCode where
+-> import List
+-> import Maybe
++> import Data.List
++> import Data.Maybe
+ > infixl 9 `CElem`,`CField`
+ > infixr 8 `CCast`
+ > infixl 7 `CMul`,`CDiv`,`CMod`
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/CGen.lhs pakcs-new/mccparser/src/CGen.lhs
+--- pakcs/mccparser/src/CGen.lhs	2011-11-14 09:23:08.000000000 -0430
++++ pakcs-new/mccparser/src/CGen.lhs	2012-06-10 23:41:02.306127165 -0430
+@@ -13,10 +13,10 @@
+ > import CCode
+ > import CPS
+ > import CElim
+-> import Char
+-> import List
++> import Data.Char
++> import Data.List
+ > import Map
+-> import Maybe
++> import Data.Maybe
+ > import Set
+ > import Utils
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Combined.lhs pakcs-new/mccparser/src/Combined.lhs
+--- pakcs/mccparser/src/Combined.lhs	2011-11-14 09:23:08.000000000 -0430
++++ pakcs-new/mccparser/src/Combined.lhs	2012-06-10 23:41:02.306127165 -0430
+@@ -19,8 +19,8 @@
+ 
+ > module Combined where
+ > import Error
+-> import Monad
+-> import IO
++> import Control.Monad
++> import System.IO
+ > import IORefCompat
+ 
+ \end{verbatim}
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/config.hs pakcs-new/mccparser/src/config.hs
+--- pakcs/mccparser/src/config.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/config.hs	2012-06-10 23:41:02.280126456 -0430
+@@ -9,9 +9,9 @@
+ -- Martin Engelke (men@informatik.uni-kiel.de)
+ --
+ 
+-import Time
+-import System
+-import Directory
++import System.Time
++import System.Cmd
++import System.Directory
+ 
+ 
+ -------------------------------------------------------------------------------
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/CPretty.lhs pakcs-new/mccparser/src/CPretty.lhs
+--- pakcs/mccparser/src/CPretty.lhs	2011-11-14 09:23:08.000000000 -0430
++++ pakcs-new/mccparser/src/CPretty.lhs	2012-06-10 23:41:02.307127192 -0430
+@@ -18,7 +18,7 @@
+ 
+ > import CCode
+ > import Pretty
+-> import List
++> import Data.List
+ 
+ > ppCFile :: CFile -> Doc
+ > ppCFile = vsep . map ppTopDecl
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/CPS.lhs pakcs-new/mccparser/src/CPS.lhs
+--- pakcs/mccparser/src/CPS.lhs	2011-11-14 09:23:08.000000000 -0430
++++ pakcs-new/mccparser/src/CPS.lhs	2012-06-10 23:41:02.308127219 -0430
+@@ -12,7 +12,7 @@
+ >            cpsFunction, cpsApply, cpsVars, fromCaseBlock, caseBlockTag,
+ >            fresh) where
+ > import Cam
+-> import List
++> import Data.List
+ > import Set
+ > import SCC
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/CurryBuilder.hs pakcs-new/mccparser/src/CurryBuilder.hs
+--- pakcs/mccparser/src/CurryBuilder.hs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/CurryBuilder.hs	2012-06-10 23:46:43.708361686 -0430
+@@ -18,13 +18,13 @@
+ import Ident
+ import PathUtils
+ import Env
+-import System
+-import Directory
+-import Time
+-import Monad
+-import Maybe
+-import List
+-import IO
++import System.Directory
++import System.Exit
++import System.Time
++import Control.Monad
++import Data.Maybe
++import Data.List
++import System.IO
+ 
+ 
+ -------------------------------------------------------------------------------
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/CurryCompiler.hs pakcs-new/mccparser/src/CurryCompiler.hs
+--- pakcs/mccparser/src/CurryCompiler.hs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/CurryCompiler.hs	2012-06-10 23:46:11.828499672 -0430
+@@ -13,8 +13,8 @@
+ import CurryCompilerOpts
+ import CompilerResults
+ import Modules
+-import System
+-import IO
++import System.Exit
++import System.IO
+ 
+ 
+ -------------------------------------------------------------------------------
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/CurryDeps.lhs pakcs-new/mccparser/src/CurryDeps.lhs
+--- pakcs/mccparser/src/CurryDeps.lhs	2011-11-14 09:23:08.000000000 -0430
++++ pakcs-new/mccparser/src/CurryDeps.lhs	2012-06-10 23:41:02.309127246 -0430
+@@ -20,11 +20,11 @@
+ > import CurryParser(parseHeader)
+ > import SCC
+ > import Env
+-> import List
+-> import Maybe
+-> import Monad
++> import Data.List
++> import Data.Maybe
++> import Control.Monad
+ > import Error
+-> import IO
++> import System.IO
+ > import PathUtils
+ 
+ > data Source = Source FilePath [ModuleIdent]
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/CurryEnv.hs pakcs-new/mccparser/src/CurryEnv.hs
+--- pakcs/mccparser/src/CurryEnv.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/CurryEnv.hs	2012-06-10 23:41:02.283126538 -0430
+@@ -15,7 +15,7 @@
+ import Ident
+ import Base
+ import Env
+-import Maybe
++import Data.Maybe
+ 
+ ------------------------------------------------------------------------------
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/CurryHtml.hs pakcs-new/mccparser/src/CurryHtml.hs
+--- pakcs/mccparser/src/CurryHtml.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/CurryHtml.hs	2012-06-10 23:48:58.040993372 -0430
+@@ -2,8 +2,8 @@
+ 
+ import SyntaxColoring
+ import Ident
+-import Maybe
+-import Char
++import Data.Maybe
++import Data.Char hiding (Space)
+ import System.Environment
+ import CurryDeps(getCurryPath)
+ import PathUtils (writeModule)
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/CurryLexer.lhs pakcs-new/mccparser/src/CurryLexer.lhs
+--- pakcs/mccparser/src/CurryLexer.lhs	2011-11-14 09:23:08.000000000 -0430
++++ pakcs-new/mccparser/src/CurryLexer.lhs	2012-06-10 23:41:02.310127273 -0430
+@@ -15,8 +15,8 @@
+ > import LexComb
+ > import Position
+ > import Map
+-> import Char 
+-> import List
++> import Data.Char 
++> import Data.List
+ 
+ \end{verbatim}
+ \paragraph{Tokens} Note that the equality and ordering instances of
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/CurrySubdir.hs pakcs-new/mccparser/src/CurrySubdir.hs
+--- pakcs/mccparser/src/CurrySubdir.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/CurrySubdir.hs	2012-06-10 23:41:02.283126538 -0430
+@@ -1,9 +1,9 @@
+ module CurrySubdir where
+ 
+-import Directory
++import System.Directory
+ import System.Time (ClockTime)
+ import Control.Monad (when)
+-import List(intersperse)
++import Data.List(intersperse)
+ 
+ -- some definitions from PathUtils
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/CurrySyntaxTools.lhs pakcs-new/mccparser/src/CurrySyntaxTools.lhs
+--- pakcs/mccparser/src/CurrySyntaxTools.lhs	2011-11-14 09:23:08.000000000 -0430
++++ pakcs-new/mccparser/src/CurrySyntaxTools.lhs	2012-06-10 23:41:02.314127381 -0430
+@@ -2,7 +2,7 @@
+ 
+ > import CurrySyntax
+ > import Ident
+-> import Maybe
++> import Data.Maybe
+ 
+ >------------------------------------------------------------------------------
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/cycc.hs pakcs-new/mccparser/src/cycc.hs
+--- pakcs/mccparser/src/cycc.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/cycc.hs	2012-06-10 23:41:02.283126538 -0430
+@@ -7,9 +7,9 @@
+ import PathUtils
+ import Options
+ import GetOpt
+-import Maybe
+-import IO
+-import System
++import Data.Maybe
++import System.IO
++import System.Cmd
+ 
+ main :: IO ()
+ main =
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/cymake.hs pakcs-new/mccparser/src/cymake.hs
+--- pakcs/mccparser/src/cymake.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/cymake.hs	2012-06-10 23:50:08.306892587 -0430
+@@ -14,13 +14,14 @@
+ import GetOpt
+ import CurryBuilder
+ import CurryBuilderOpts
+-import System
+-import Maybe
+-import IO
++import System.Environment
++import System.Exit
++import Data.Maybe
++import System.IO
+ import CurryHtml
+-import List
++import Data.List
+ import Control.Monad (unless)
+-import Char (isDigit)
++import Data.Char (isDigit)
+ 
+ 
+ -------------------------------------------------------------------------------
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/cymk.hs pakcs-new/mccparser/src/cymk.hs
+--- pakcs/mccparser/src/cymk.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/cymk.hs	2012-06-10 23:41:02.284126572 -0430
+@@ -7,11 +7,11 @@
+ 
+ import CurryDeps
+ import GetOpt
+-import Maybe
+-import Monad
+-import IO
++import Data.Maybe
++import Control.Monad
++import System.IO
+ import PathUtils
+-import System
++import System.Cmd
+ 
+ data Options =
+   Options{
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/cyxml.hs pakcs-new/mccparser/src/cyxml.hs
+--- pakcs/mccparser/src/cyxml.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/cyxml.hs	2012-06-10 23:41:02.285126603 -0430
+@@ -9,8 +9,8 @@
+ -- Martin Engelke (men@informatik.uni-kiel.de)
+ --
+ 
+-import System
+-import Directory
++import System.Cmd
++import System.Directory
+ 
+ 
+ -------------------------------------------------------------------------------
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Desugar.lhs pakcs-new/mccparser/src/Desugar.lhs
+--- pakcs/mccparser/src/Desugar.lhs	2011-11-14 09:23:08.000000000 -0430
++++ pakcs-new/mccparser/src/Desugar.lhs	2012-06-10 23:41:02.316127435 -0430
+@@ -64,12 +64,12 @@
+ > import Base
+ > import Combined
+ > import TopEnv (qualRebindTopEnv)
+-> import List
+-> import Monad
++> import Data.List
++> import Control.Monad
+ > import Typing
+ > import Utils
+ > import Ident
+-> import Maybe
++> import Data.Maybe
+ 
+ posE = undefined
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/DTransform.lhs pakcs-new/mccparser/src/DTransform.lhs
+--- pakcs/mccparser/src/DTransform.lhs	2011-11-14 09:23:08.000000000 -0430
++++ pakcs-new/mccparser/src/DTransform.lhs	2012-06-10 23:41:02.318127490 -0430
+@@ -18,7 +18,7 @@
+ 
+ > module DTransform(module DTransform) where
+ > import Ident
+-> import List
++> import Data.List
+ > import IL
+ 
+ \end{verbatim}
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Error.lhs pakcs-new/mccparser/src/Error.lhs
+--- pakcs/mccparser/src/Error.lhs	2011-11-14 09:23:08.000000000 -0430
++++ pakcs-new/mccparser/src/Error.lhs	2012-06-10 23:41:02.318127490 -0430
+@@ -13,7 +13,7 @@
+ \begin{verbatim}
+ 
+ > module Error where
+-> import Monad
++> import Control.Monad
+ 
+ > data Error a = Ok a | Error String deriving (Eq,Ord,Show)
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Exports.lhs pakcs-new/mccparser/src/Exports.lhs
+--- pakcs/mccparser/src/Exports.lhs	2011-11-14 09:23:09.000000000 -0430
++++ pakcs-new/mccparser/src/Exports.lhs	2012-06-10 23:41:02.319127517 -0430
+@@ -14,9 +14,9 @@
+ 
+ > module Exports(expandInterface,exportInterface) where
+ > import Base
+-> import List
++> import Data.List
+ > import Map
+-> import Maybe
++> import Data.Maybe
+ > import Set
+ > import TopEnv
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/FlatCurry.hs pakcs-new/mccparser/src/FlatCurry.hs
+--- pakcs/mccparser/src/FlatCurry.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/FlatCurry.hs	2012-06-10 23:41:02.286126629 -0430
+@@ -24,8 +24,8 @@
+ 		  writeFlatCurry) where
+ 
+ import PathUtils (writeModule,maybeReadModule)
+-import Directory
+-import List(intersperse)
++import System.Directory
++import Data.List(intersperse)
+ import Control.Monad (liftM)
+ 
+ ------------------------------------------------------------------------------
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/FlatCurry.lhs pakcs-new/mccparser/src/FlatCurry.lhs
+--- pakcs/mccparser/src/FlatCurry.lhs	2011-11-14 09:23:09.000000000 -0430
++++ pakcs-new/mccparser/src/FlatCurry.lhs	2012-06-10 23:41:02.320127544 -0430
+@@ -19,9 +19,9 @@
+ >                   CaseType(..), CombType(..), Expr(..), BranchExpr(..),
+ >                   Pattern(..), Literal(..)) where
+ 
+-import System
+-import Directory
+-import Char
++import System.Cmd
++import System.Directory
++import Data.Char
+ import ReadShowTerm
+ import PathUtils (doesModuleExist)
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/FlatInfo.lhs pakcs-new/mccparser/src/FlatInfo.lhs
+--- pakcs/mccparser/src/FlatInfo.lhs	2011-11-14 09:23:09.000000000 -0430
++++ pakcs-new/mccparser/src/FlatInfo.lhs	2012-06-10 23:41:02.320127544 -0430
+@@ -6,7 +6,7 @@
+ > import CurrySyntax
+ > import qualified IL
+ > import Ident
+-> import Maybe
++> import Data.Maybe
+ 
+ ------------------------------------------------------------------------------
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/FlatWithSrcRefs.hs pakcs-new/mccparser/src/FlatWithSrcRefs.hs
+--- pakcs/mccparser/src/FlatWithSrcRefs.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/FlatWithSrcRefs.hs	2012-06-10 23:41:02.286126629 -0430
+@@ -27,8 +27,8 @@
+ 		  writeFlatCurry,gshowsPrec) where
+ 
+ import PathUtils (writeModule,maybeReadModule)
+-import Directory
+-import List(intersperse)
++import System.Directory
++import Data.List(intersperse)
+ import Control.Monad (liftM)
+ import Data.Generics hiding (Fixity)
+ import Position (SrcRef)
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Frontend.hs pakcs-new/mccparser/src/Frontend.hs
+--- pakcs/mccparser/src/Frontend.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/Frontend.hs	2012-06-10 23:41:02.287126654 -0430
+@@ -33,10 +33,10 @@
+ import Position
+ import PathUtils
+ import Env
+-import List
+-import Maybe
+-import Monad
+-import System
++import Data.List
++import Data.Maybe
++import Control.Monad
++import System.Cmd
+ import Prelude hiding (lex)
+ 
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/GenAbstractCurry.hs pakcs-new/mccparser/src/GenAbstractCurry.hs
+--- pakcs/mccparser/src/GenAbstractCurry.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/GenAbstractCurry.hs	2012-06-10 23:41:02.289126703 -0430
+@@ -18,9 +18,9 @@
+ import Position
+ import TopEnv
+ import Env
+-import Maybe
+-import List
+-import Char
++import Data.Maybe
++import Data.List
++import Data.Char
+ 
+ 
+ -------------------------------------------------------------------------------
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/GenFlatCurry.hs pakcs-new/mccparser/src/GenFlatCurry.hs
+--- pakcs/mccparser/src/GenFlatCurry.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/GenFlatCurry.hs	2012-06-10 23:41:02.292126785 -0430
+@@ -37,9 +37,9 @@
+ import TopEnv
+ import Env
+ import Map
+-import Monad
+-import Maybe
+-import List
++import Control.Monad
++import Data.Maybe
++import Data.List
+ 
+ 
+ -------------------------------------------------------------------------------
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/GetOpt.hs pakcs-new/mccparser/src/GetOpt.hs
+--- pakcs/mccparser/src/GetOpt.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/GetOpt.hs	2012-06-10 23:41:02.292126785 -0430
+@@ -19,7 +19,7 @@
+ 
+ module GetOpt (ArgOrder(..), OptDescr(..), ArgDescr(..), usageInfo, getOpt) where
+ 
+-import List(isPrefixOf)
++import Data.List(isPrefixOf)
+ 
+ data ArgOrder a                        -- what to do with options following non-options:
+    = RequireOrder                      --    no option processing after first non-option
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/HeaderTable.lhs pakcs-new/mccparser/src/HeaderTable.lhs
+--- pakcs/mccparser/src/HeaderTable.lhs	2011-11-14 09:23:09.000000000 -0430
++++ pakcs-new/mccparser/src/HeaderTable.lhs	2012-06-10 23:41:02.321127571 -0430
+@@ -3,7 +3,7 @@
+ > import CurrySyntax
+ > import Ident
+ > import Env
+-> import Maybe
++> import Data.Maybe
+ 
+ 
+ -------------------------------------------------------------------------------
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Ident.lhs pakcs-new/mccparser/src/Ident.lhs
+--- pakcs/mccparser/src/Ident.lhs	2011-11-14 09:23:09.000000000 -0430
++++ pakcs-new/mccparser/src/Ident.lhs	2012-06-10 23:41:02.322127598 -0430
+@@ -49,9 +49,9 @@
+ >              addPositionIdent, removePositionIdent, positionOfIdent,
+ >              addPositionModuleIdent, removePositionModuleIdent,addRef,addRefId,
+ >              positionOfModuleIdent,positionOfQualIdent,updQualIdent ) where
+-> import Char
+-> import List
+-> import Maybe
++> import Data.Char
++> import Data.List
++> import Data.Maybe
+ > import Position
+ > import Data.Generics
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/ILCompile.lhs pakcs-new/mccparser/src/ILCompile.lhs
+--- pakcs/mccparser/src/ILCompile.lhs	2011-11-14 09:23:09.000000000 -0430
++++ pakcs-new/mccparser/src/ILCompile.lhs	2012-06-10 23:41:02.323127625 -0430
+@@ -18,10 +18,10 @@
+ > import IL
+ > import qualified Cam
+ > import Env
+-> import List
++> import Data.List
+ > import Map
+-> import Maybe
+-> import Monad
++> import Data.Maybe
++> import Control.Monad
+ > import SCC
+ > import Combined
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/ILLift.lhs pakcs-new/mccparser/src/ILLift.lhs
+--- pakcs/mccparser/src/ILLift.lhs	2011-11-14 09:23:09.000000000 -0430
++++ pakcs-new/mccparser/src/ILLift.lhs	2012-06-10 23:41:02.323127625 -0430
+@@ -20,8 +20,8 @@
+ > import IL
+ > import Ident
+ > import Combined
+-> import List
+-> import Monad
++> import Data.List
++> import Control.Monad
+ > import Utils
+ 
+ > type LiftState a = St [QualIdent] a
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/ILTrans.lhs pakcs-new/mccparser/src/ILTrans.lhs
+--- pakcs/mccparser/src/ILTrans.lhs	2011-11-14 09:23:09.000000000 -0430
++++ pakcs-new/mccparser/src/ILTrans.lhs	2012-06-10 23:41:02.325127679 -0430
+@@ -26,8 +26,8 @@
+ > import Env
+ > import Set
+ > import Map
+-> import Maybe
+-> import List
++> import Data.Maybe
++> import Data.List
+ 
+ \end{verbatim}
+ \paragraph{Modules}
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/ILxml.lhs pakcs-new/mccparser/src/ILxml.lhs
+--- pakcs/mccparser/src/ILxml.lhs	2011-11-14 09:23:09.000000000 -0430
++++ pakcs-new/mccparser/src/ILxml.lhs	2012-06-10 23:41:02.326127706 -0430
+@@ -25,8 +25,8 @@
+ > import qualified CurrySyntax as CS
+ > import CurryEnv
+ > import Pretty
+-> import Char(chr,ord,isAlphaNum)
+-> import Maybe
++> import Data.Char(chr,ord,isAlphaNum)
++> import Data.Maybe
+ 
+ > -- identation level
+ > level::Int
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Imports.lhs pakcs-new/mccparser/src/Imports.lhs
+--- pakcs/mccparser/src/Imports.lhs	2011-11-14 09:23:09.000000000 -0430
++++ pakcs-new/mccparser/src/Imports.lhs	2012-06-10 23:41:02.327127733 -0430
+@@ -14,7 +14,7 @@
+ > import Base
+ > import Env
+ > import TopEnv
+-> import Maybe
++> import Data.Maybe
+ > import Map
+ > import Set
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/InterfaceCheck.hs pakcs-new/mccparser/src/InterfaceCheck.hs
+--- pakcs/mccparser/src/InterfaceCheck.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/InterfaceCheck.hs	2012-06-10 23:41:02.293126815 -0430
+@@ -10,7 +10,7 @@
+ module InterfaceCheck where
+ 
+ import FlatWithSrcRefs
+-import List
++import Data.List
+ 
+ 
+ -------------------------------------------------------------------------------
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/IntfCheck.lhs pakcs-new/mccparser/src/IntfCheck.lhs
+--- pakcs/mccparser/src/IntfCheck.lhs	2011-11-14 09:23:09.000000000 -0430
++++ pakcs-new/mccparser/src/IntfCheck.lhs	2012-06-10 23:41:02.328127760 -0430
+@@ -16,8 +16,8 @@
+ 
+ > module IntfCheck(intfCheck,fixInterface,intfEquiv) where
+ > import Base
+-> import Maybe
+-> import List(deleteFirstsBy)
++> import Data.Maybe
++> import Data.List(deleteFirstsBy)
+ > import Set
+ 
+ \end{verbatim}
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/KindCheck.lhs pakcs-new/mccparser/src/KindCheck.lhs
+--- pakcs/mccparser/src/KindCheck.lhs	2011-11-14 09:23:09.000000000 -0430
++++ pakcs-new/mccparser/src/KindCheck.lhs	2012-06-10 23:41:02.329127787 -0430
+@@ -25,7 +25,7 @@
+ 
+ > module KindCheck(kindCheck,kindCheckGoal) where
+ > import Base hiding (bindArity)
+-> import Maybe
++> import Data.Maybe
+ > import TopEnv
+ 
+ \end{verbatim}
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/LexComb.lhs pakcs-new/mccparser/src/LexComb.lhs
+--- pakcs/mccparser/src/LexComb.lhs	2011-11-14 09:23:09.000000000 -0430
++++ pakcs-new/mccparser/src/LexComb.lhs	2012-06-10 23:41:02.329127787 -0430
+@@ -19,7 +19,7 @@
+ > module LexComb where
+ > import Position
+ > import Error
+-> import Char
++> import Data.Char
+ 
+ > infixl 1 `thenP`, `thenP_`
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Lift.lhs pakcs-new/mccparser/src/Lift.lhs
+--- pakcs/mccparser/src/Lift.lhs	2011-11-14 09:23:09.000000000 -0430
++++ pakcs-new/mccparser/src/Lift.lhs	2012-06-10 23:41:02.330127814 -0430
+@@ -22,8 +22,8 @@
+ > import Env
+ > import TopEnv
+ > import Set
+-> import List
+-> import Monad
++> import Data.List
++> import Control.Monad
+ > import Combined
+ > import SCC
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/LLParseComb.lhs pakcs-new/mccparser/src/LLParseComb.lhs
+--- pakcs/mccparser/src/LLParseComb.lhs	2011-11-14 09:23:09.000000000 -0430
++++ pakcs-new/mccparser/src/LLParseComb.lhs	2012-06-10 23:41:02.330127814 -0430
+@@ -29,8 +29,8 @@
+ > import Position
+ > import Set
+ > import Map
+-> import Maybe
+-> import Monad
++> import Data.Maybe
++> import Control.Monad
+ > import Error
+ > import LexComb
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Map.lhs pakcs-new/mccparser/src/Map.lhs
+--- pakcs/mccparser/src/Map.lhs	2011-11-14 09:23:09.000000000 -0430
++++ pakcs-new/mccparser/src/Map.lhs	2012-06-10 23:41:02.331127841 -0430
+@@ -11,7 +11,7 @@
+ 
+ > module Map(FM, nullFM, zeroFM, unitFM, addToFM, deleteFromFM,
+ >            lookupFM, fromListFM, toListFM) where
+-> import List
++> import Data.List
+ 
+ \end{verbatim}
+ A 2-3 tree is either empty or a node with either two or three children
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Modules.lhs pakcs-new/mccparser/src/Modules.lhs
+--- pakcs/mccparser/src/Modules.lhs	2011-11-14 09:23:09.000000000 -0430
++++ pakcs-new/mccparser/src/Modules.lhs	2012-06-10 23:41:02.333127895 -0430
+@@ -55,10 +55,10 @@
+ > import CaseCompletion
+ > import PathUtils
+ > import TypeSubst
+-> import List
+-> import IO
+-> import Maybe
+-> import Monad
++> import Data.List
++> import System.IO
++> import Data.Maybe
++> import Control.Monad
+ > import Pretty
+ > import Error
+ > import Env
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/newer.lhs pakcs-new/mccparser/src/newer.lhs
+--- pakcs/mccparser/src/newer.lhs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/newer.lhs	2012-06-10 23:41:02.333127895 -0430
+@@ -24,10 +24,10 @@
+ code 2.
+ \begin{verbatim}
+ 
+-> import IO
+-> import Directory
+-> import System
+-> import Time
++> import System.IO
++> import System.Directory
++> import System.Cmd
++> import System.Time
+ > import PathUtils (getModuleModTime)
+ 
+ > main =
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/OldScopeEnv.hs pakcs-new/mccparser/src/OldScopeEnv.hs
+--- pakcs/mccparser/src/OldScopeEnv.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/OldScopeEnv.hs	2012-06-10 23:41:02.294126843 -0430
+@@ -8,7 +8,7 @@
+ 
+ import Ident
+ import Env
+-import Maybe
++import Data.Maybe
+ 
+ 
+ -------------------------------------------------------------------------------
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/PathUtils.lhs pakcs-new/mccparser/src/PathUtils.lhs
+--- pakcs/mccparser/src/PathUtils.lhs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/PathUtils.lhs	2012-06-10 23:41:02.334127922 -0430
+@@ -15,8 +15,8 @@
+ >                  listSep, pathList, lookupFile,
+ >                  currySubdir,writeModule,readModule,
+ >                  doesModuleExist,maybeReadModule,getModuleModTime) where
+-> -- import List
+-> import Directory
++> -- import Data.List
++> import System.Directory
+ > import CurrySubdir
+ 
+ \end{verbatim}
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/PrecCheck.lhs pakcs-new/mccparser/src/PrecCheck.lhs
+--- pakcs/mccparser/src/PrecCheck.lhs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/PrecCheck.lhs	2012-06-10 23:41:02.335127950 -0430
+@@ -18,7 +18,7 @@
+ 
+ > module PrecCheck(precCheck,precCheckGoal) where
+ > import Base
+-> import List
++> import Data.List
+ > import Env
+ > import TopEnv
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Pretty.lhs pakcs-new/mccparser/src/Pretty.lhs
+--- pakcs/mccparser/src/Pretty.lhs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/Pretty.lhs	2012-06-10 23:41:02.337128004 -0430
+@@ -180,7 +180,7 @@
+ 
+ -- Don't import Util( assertPanic ) because it makes a loop in the module structure
+ 
+-import Ratio
++import Data.Ratio
+ infixl 6 <> 
+ infixl 6 <+>
+ infixl 5 $$, $+$
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Set.lhs pakcs-new/mccparser/src/Set.lhs
+--- pakcs/mccparser/src/Set.lhs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/Set.lhs	2012-06-10 23:41:02.338128031 -0430
+@@ -11,9 +11,9 @@
+ \begin{verbatim}
+ 
+ > module Set where
+-> import List
++> import Data.List
+ > import Map
+-> import Maybe
++> import Data.Maybe
+ 
+ > infixl 8 `addToSet`, `deleteFromSet`
+ > infixl 7 `unionSet`, `intersectionSet`
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Simplify.lhs pakcs-new/mccparser/src/Simplify.lhs
+--- pakcs/mccparser/src/Simplify.lhs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/Simplify.lhs	2012-06-10 23:41:02.339128058 -0430
+@@ -26,10 +26,10 @@
+ > import Base
+ > import Combined
+ > import Env
+-> import Monad
++> import Control.Monad
+ > import SCC
+ > import Typing
+-> import List (partition)
++> import Data.List (partition)
+ 
+ > type SimplifyState a = StateT ValueEnv (ReaderT EvalEnv (StateT Int Id)) a
+ > type InlineEnv = Env Ident Expression
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/smake.hs pakcs-new/mccparser/src/smake.hs
+--- pakcs/mccparser/src/smake.hs	2011-11-14 09:23:12.000000000 -0430
++++ pakcs-new/mccparser/src/smake.hs	2012-06-10 23:41:02.296126896 -0430
+@@ -22,11 +22,11 @@
+ -- Martin Engelke (men@informatik.uni-kiel.de)
+ --
+ 
+-import System
+-import Directory
+-import Time
+-import Monad
+-import Maybe
++import System.Cmd
++import System.Directory
++import System.Time
++import Control.Monad
++import Data.Maybe
+ import PathUtils (getModuleModTime)
+ 
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/SyntaxCheck.lhs pakcs-new/mccparser/src/SyntaxCheck.lhs
+--- pakcs/mccparser/src/SyntaxCheck.lhs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/SyntaxCheck.lhs	2012-06-10 23:41:02.342128139 -0430
+@@ -24,9 +24,9 @@
+ > import Base
+ > import Env
+ > import NestEnv
+-> import List
+-> import Maybe
+-> import Monad
++> import Data.List
++> import Data.Maybe
++> import Control.Monad
+ > import Combined
+ > import Utils
+ 
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/SyntaxColoring.hs pakcs-new/mccparser/src/SyntaxColoring.hs
+--- pakcs/mccparser/src/SyntaxColoring.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/SyntaxColoring.hs	2012-06-10 23:48:14.526817048 -0430
+@@ -10,9 +10,9 @@
+ import Frontend
+ import Ident
+ import CurrySyntax 
+-import Char
+-import Maybe
+-import List
++import Data.Char hiding (Space)
++import Data.Maybe
++import Data.List
+ import Debug.Trace
+ import Message
+ import Control.Exception
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/TopEnv.lhs pakcs-new/mccparser/src/TopEnv.lhs
+--- pakcs/mccparser/src/TopEnv.lhs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/TopEnv.lhs	2012-06-10 23:41:02.342128139 -0430
+@@ -41,7 +41,7 @@
+ >               allImports,moduleImports,localBindings) where
+ > import Env
+ > import Ident
+-> import Maybe
++> import Data.Maybe
+ > import Utils
+ 
+ > data Source = Local | Import [ModuleIdent] deriving (Eq,Show)
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/TypeCheck.lhs pakcs-new/mccparser/src/TypeCheck.lhs
+--- pakcs/mccparser/src/TypeCheck.lhs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/TypeCheck.lhs	2012-06-10 23:45:05.513706248 -0430
+@@ -33,9 +33,9 @@
+ > import SCC
+ > import TypeSubst
+ > import Utils
+-> import List
+-> import Monad
+-> import Maybe
++> import Data.List
++> import Control.Monad
++> import Data.Maybe
+ 
+ > infixl 5 $-$
+ 
+@@ -1136,9 +1136,6 @@
+ >   where tvs = [tv | tv <- nub (typeVars ty), tv `notElemSet` gvs]
+ >         tvs' = map TypeVariable [0..]
+ 
+-> replicateM :: Monad m => Int -> m a -> m [a]
+-> replicateM n = sequence . replicate n
+-
+ \end{verbatim}
+ \paragraph{Auxiliary Functions}
+ The functions \texttt{constrType}, \texttt{varType}, and
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Types.lhs pakcs-new/mccparser/src/Types.lhs
+--- pakcs/mccparser/src/Types.lhs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/Types.lhs	2012-06-10 23:41:02.346128247 -0430
+@@ -13,8 +13,8 @@
+ 
+ > module Types where
+ > import Ident
+-> import List
+-> import Maybe
++> import Data.List
++> import Data.Maybe
+ 
+ \end{verbatim}
+ A type is either a type variable, an application of a type constructor
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/TypeSubst.lhs pakcs-new/mccparser/src/TypeSubst.lhs
+--- pakcs/mccparser/src/TypeSubst.lhs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/TypeSubst.lhs	2012-06-10 23:41:02.346128247 -0430
+@@ -12,8 +12,8 @@
+ > module TypeSubst(module TypeSubst, idSubst,bindSubst,compose) where
+ > import Base
+ > import TopEnv
+-> import Maybe
+-> import List
++> import Data.Maybe
++> import Data.List
+ > import Subst
+ 
+ > type TypeSubst = Subst Int Type
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Typing.lhs pakcs-new/mccparser/src/Typing.lhs
+--- pakcs/mccparser/src/Typing.lhs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/Typing.lhs	2012-06-10 23:41:02.347128274 -0430
+@@ -12,10 +12,10 @@
+ > import Base
+ > import TypeSubst
+ > import Combined
+-> import Monad
++> import Control.Monad
+ > import TopEnv
+ > import Utils
+-> import Maybe
++> import Data.Maybe
+ 
+ \end{verbatim}
+ During the transformation of Curry source code into the intermediate
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/Unlit.lhs pakcs-new/mccparser/src/Unlit.lhs
+--- pakcs/mccparser/src/Unlit.lhs	2011-11-14 09:23:10.000000000 -0430
++++ pakcs-new/mccparser/src/Unlit.lhs	2012-06-10 23:41:02.347128274 -0430
+@@ -27,7 +27,7 @@
+ \begin{verbatim}
+ 
+ > module Unlit(unlit) where
+-> import Char
++> import Data.Char
+ > import Position
+ 
+ \end{verbatim}
+diff -Naur '--exclude=*.o' '--exclude=*.hi' '--exclude=*~' '--exclude=cymake' pakcs/mccparser/src/WarnCheck.hs pakcs-new/mccparser/src/WarnCheck.hs
+--- pakcs/mccparser/src/WarnCheck.hs	2011-11-14 09:23:11.000000000 -0430
++++ pakcs-new/mccparser/src/WarnCheck.hs	2012-06-10 23:41:02.300127003 -0430
+@@ -17,8 +17,8 @@
+ import ScopeEnv (ScopeEnv)
+ import Message
+ import Env
+-import Monad
+-import List
++import Control.Monad
++import Data.List
+ 
+ 
+ -------------------------------------------------------------------------------
diff --git a/pkgs/development/compilers/sbcl/src-for-default.nix b/pkgs/development/compilers/sbcl/src-for-default.nix
index 66e389947a0a..467ed05a6a44 100644
--- a/pkgs/development/compilers/sbcl/src-for-default.nix
+++ b/pkgs/development/compilers/sbcl/src-for-default.nix
@@ -1,9 +1,9 @@
 rec {
-   version="1.0.56";
-   name="sbcl-1.0.56";
-   hash="0cq5hyzv3nnva0y1y6zjyd7rfdwwpxswnvmbfmqvhihz72ivyl1w";
-   url="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.56/sbcl-1.0.56-source.tar.bz2";
-   advertisedUrl="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.56/sbcl-1.0.56-source.tar.bz2";
+   version="1.0.57";
+   name="sbcl-1.0.57";
+   hash="1vvifyq0lapx6p6wz6jknsgch3lbyr7m785844wdgkdx2hh8ch51";
+   url="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.57/sbcl-1.0.57-source.tar.bz2";
+   advertisedUrl="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.57/sbcl-1.0.57-source.tar.bz2";
   
   
 }
diff --git a/pkgs/development/compilers/uhc/default.nix b/pkgs/development/compilers/uhc/default.nix
index 8aa27674677f..2c812e8842b6 100644
--- a/pkgs/development/compilers/uhc/default.nix
+++ b/pkgs/development/compilers/uhc/default.nix
@@ -2,7 +2,11 @@
 , uuagc, mtl, network, binary, llvm, fgl, syb
 }:
 
-stdenv.mkDerivation {
+# this check won't be needed anymore after ghc-wrapper is fixed
+# to show ghc-builtin packages in "ghc-pkg list" output.
+let binaryIsBuiltIn = builtins.compareVersions "7.2.1" ghc.ghcVersion != 1;
+
+in stdenv.mkDerivation {
   name = "uhc-svn-git20120502";
 
   src = fetchgit {
@@ -30,6 +34,8 @@ stdenv.mkDerivation {
     sed -i "s|-fglasgow-exts|-fglasgow-exts -package-conf=$p|g" mk/shared.mk.in
     sed -i "s|/bin/date|${coreutils}/bin/date|g" mk/dist.mk
     sed -i "s|/bin/date|${coreutils}/bin/date|g" mk/config.mk.in
+  '' + stdenv.lib.optionalString binaryIsBuiltIn ''
+    sed -i "s|ghcLibBinary=no|ghcLibBinaryExists=yes|" configure
   '';
 
   meta = {
diff --git a/pkgs/development/compilers/vala/15.2.nix b/pkgs/development/compilers/vala/15.2.nix
new file mode 100644
index 000000000000..822102b7bd4f
--- /dev/null
+++ b/pkgs/development/compilers/vala/15.2.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchurl, yacc, flex, pkgconfig, glib, xz}:
+
+stdenv.mkDerivation rec {
+
+  version = "0.15.2";
+  name = "vala-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/vala/0.15/${name}.tar.xz";
+    sha256 = "0g71zq6dpqrw2f40wfzdf18fdw41ymr17laqniy2kr622hkxdi8w";
+  };
+
+  buildNativeInputs = [ yacc flex pkgconfig xz ];
+
+  buildInputs = [ glib ];
+
+  meta = {
+    description = "Compiler for the GObject type system";
+    homepage = "http://live.gnome.org/Vala";
+    license = "free-copyleft";
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.antono ];
+  };
+}
diff --git a/pkgs/development/compilers/vala/16.1.nix b/pkgs/development/compilers/vala/16.1.nix
new file mode 100644
index 000000000000..54e6af8798d5
--- /dev/null
+++ b/pkgs/development/compilers/vala/16.1.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchurl, yacc, flex, pkgconfig, glib, xz}:
+
+stdenv.mkDerivation rec {
+
+  version = "0.16.1";
+  name = "vala-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/vala/0.16/${name}.tar.xz";
+    sha256 = "1n708n9ixyy9qrzyv1wf4ybvcclx43ib9ki028wwpvkz6kv8zqlb";
+  };
+
+  buildNativeInputs = [ yacc flex pkgconfig xz ];
+
+  buildInputs = [ glib ];
+
+  meta = {
+    description = "Compiler for the GObject type system";
+    homepage = "http://live.gnome.org/Vala";
+    license = "free-copyleft";
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.antono ];
+  };
+}
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index 0aaab91cd81e..a60a71e35806 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -1,11 +1,13 @@
 {stdenv, fetchurl, yacc, flex, pkgconfig, glib, xz}:
 
 stdenv.mkDerivation rec {
-  name = "vala-0.14.2";
+
+  version = "0.17.2";
+  name = "vala-${version}";
 
   src = fetchurl {
-    url = mirror://gnome/sources/vala/0.14/vala-0.14.2.tar.xz;
-    sha256 = "1l5kllw9vpwv24lzv9fp64l3sad46wpxgvsgryrwlrjg91w6jzl0";
+    url = "mirror://gnome/sources/vala/0.17/${name}.tar.xz";
+    sha256 = "09i2s0dwmrk147ind2dx7nq845g12fp6fsjqrphhrr0dbi0zzgh3";
   };
 
   buildNativeInputs = [ yacc flex pkgconfig xz ];
@@ -15,5 +17,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Compiler for the GObject type system";
     homepage = "http://live.gnome.org/Vala";
+    license = "free-copyleft";
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.antono ];
   };
 }
diff --git a/pkgs/development/interpreters/erlang/default.nix b/pkgs/development/interpreters/erlang/default.nix
index 0940936e531c..18cfeca63294 100644
--- a/pkgs/development/interpreters/erlang/default.nix
+++ b/pkgs/development/interpreters/erlang/default.nix
@@ -1,4 +1,7 @@
-{ stdenv, fetchurl, perl, gnum4, ncurses, openssl }:
+{ stdenv, fetchurl, perl, gnum4, ncurses, openssl
+, wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }:
+
+assert wxSupport -> mesa != null && wxGTK != null && xlibs != null;
 
 let version = "R15B01"; in
 
@@ -10,7 +13,9 @@ stdenv.mkDerivation {
     sha256 = "1pmb3hk51p6dwsspxx40qs7gjfyhxjjc3290qk6w1wwa6bkpskzr";
   };
   
-  buildInputs = [ perl gnum4 ncurses openssl ];
+  buildInputs = 
+    [ perl gnum4 ncurses openssl
+    ] ++ stdenv.lib.optional wxSupport [ mesa wxGTK xlibs.libX11 ];
   
   patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
   
diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix
index 127e49087d36..0e1e21ed9621 100644
--- a/pkgs/development/interpreters/guile/default.nix
+++ b/pkgs/development/interpreters/guile/default.nix
@@ -7,11 +7,11 @@
  else stdenv.mkDerivation)
 
 (rec {
-  name = "guile-2.0.5";
+  name = "guile-2.0.6";
 
   src = fetchurl {
     url = "mirror://gnu/guile/${name}.tar.xz";
-    sha256 = "1lycm10x316jzlv1nyag7x9gisn4d3dz8jcmbi6lbdn0z6a9skc2";
+    sha256 = "000ng5qsq3cl1k35jvzvhwxj92wx4q87745n2fppkd4irh58vv5l";
   };
 
   buildNativeInputs = [ makeWrapper gawk pkgconfig ];
@@ -46,7 +46,7 @@
 
   doCheck = true;
 
-  setupHook = ./setup-hook.sh;
+  setupHook = ./setup-hook-2.0.sh;
 
   crossAttrs.preConfigure =
     stdenv.lib.optionalString (stdenv.cross.config == "i586-pc-gnu")
diff --git a/pkgs/development/interpreters/guile/setup-hook-2.0.sh b/pkgs/development/interpreters/guile/setup-hook-2.0.sh
new file mode 100644
index 000000000000..6994c4cd8dc6
--- /dev/null
+++ b/pkgs/development/interpreters/guile/setup-hook-2.0.sh
@@ -0,0 +1,13 @@
+addGuileLibPath () {
+    if test -d "$1/share/guile/site/2.0"
+    then
+        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.0"
+        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.0"
+    elif test -d "$1/share/guile/site"
+    then
+        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
+        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
+    fi
+}
+
+envHooks=(${envHooks[@]} addGuileLibPath)
diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix
index dbbb0324d144..4293e0112991 100644
--- a/pkgs/development/interpreters/octave/default.nix
+++ b/pkgs/development/interpreters/octave/default.nix
@@ -15,7 +15,9 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  enableParallelBuilding = true;
+  /* The build failed with a missing libranlib.la in hydra,
+     but worked on my computer. I think they have concurrency problems */
+  enableParallelBuilding = false;
 
   configureFlags = [ "--enable-readline" "--enable-dl" ];
 
diff --git a/pkgs/development/interpreters/php/5.3.nix b/pkgs/development/interpreters/php/5.3.nix
index af550c6bc6cc..48eb8ac5ee9d 100644
--- a/pkgs/development/interpreters/php/5.3.nix
+++ b/pkgs/development/interpreters/php/5.3.nix
@@ -8,7 +8,7 @@ in
 
 composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
 
-  version = "5.3.10";
+  version = "5.3.14";
 
   name = "php-${version}";
 
@@ -157,7 +157,7 @@ composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
 
   src = args.fetchurl {
     url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror";
-    sha256 = "0jilzwscbcjzabzb7s2jnkcq2pjlya9a4z98gmck8r9q5fpmg49k";
+    sha256 = "1cqw0knkrb7wn49ki5kcly4i0hjnd12sf9l4rhk0vny5hdp5n1y8";
     name = "php-${version}.tar.bz2";
   };
 
diff --git a/pkgs/development/interpreters/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix
index a2a6273da604..bc50a08f29a8 100644
--- a/pkgs/development/interpreters/ruby/generated.nix
+++ b/pkgs/development/interpreters/ruby/generated.nix
@@ -3,68 +3,69 @@
 g: # Get dependencies from patched gems
 {
   aliases = {
-    ZenTest = g.ZenTest_4_8_0;
-    actionmailer = g.actionmailer_3_2_3;
-    actionpack = g.actionpack_3_2_3;
-    activemodel = g.activemodel_3_2_3;
-    activerecord = g.activerecord_3_2_3;
-    activeresource = g.activeresource_3_2_3;
-    activesupport = g.activesupport_3_2_3;
+    ZenTest = g.ZenTest_4_8_1;
+    actionmailer = g.actionmailer_3_2_6;
+    actionpack = g.actionpack_3_2_6;
+    activemodel = g.activemodel_3_2_6;
+    activerecord = g.activerecord_3_2_6;
+    activeresource = g.activeresource_3_2_6;
+    activesupport = g.activesupport_3_2_6;
     addressable = g.addressable_2_2_8;
     arel = g.arel_3_0_2;
-    atoulme_Antwrap = g.atoulme_Antwrap_0_7_1;
+    atoulme_Antwrap = g.atoulme_Antwrap_0_7_2;
     autotest_rails = g.autotest_rails_4_1_2;
     builder = g.builder_3_0_0;
-    buildr = g.buildr_1_4_6;
-    bundler = g.bundler_1_1_3;
-    childprocess = g.childprocess_0_3_2;
+    buildr = g.buildr_1_4_7;
+    bundler = g.bundler_1_1_4;
+    childprocess = g.childprocess_0_3_3;
     diff_lcs = g.diff_lcs_1_1_3;
     erubis = g.erubis_2_7_0;
+    fakes3 = g.fakes3_0_1_5;
     ffi = g.ffi_1_0_11;
-    highline = g.highline_1_5_1;
+    highline = g.highline_1_6_2;
     hike = g.hike_1_2_1;
     hoe = g.hoe_2_3_3;
     i18n = g.i18n_0_6_0;
-    journey = g.journey_1_0_3;
-    json = g.json_1_7_0;
-    json_pure = g.json_pure_1_7_0;
+    journey = g.journey_1_0_4;
+    json = g.json_1_7_3;
+    json_pure = g.json_pure_1_7_3;
     libwebsocket = g.libwebsocket_0_1_3;
     mail = g.mail_2_4_4;
-    mime_types = g.mime_types_1_18;
+    mime_types = g.mime_types_1_19;
     minitar = g.minitar_0_5_3;
-    multi_json = g.multi_json_1_3_4;
-    net_sftp = g.net_sftp_2_0_4;
-    net_ssh = g.net_ssh_2_3_0;
+    multi_json = g.multi_json_1_3_6;
+    net_sftp = g.net_sftp_2_0_5;
+    net_ssh = g.net_ssh_2_5_2;
     nix = g.nix_0_1_1;
     polyglot = g.polyglot_0_3_3;
     rack = g.rack_1_4_1;
     rack_cache = g.rack_cache_1_2;
     rack_ssl = g.rack_ssl_1_3_2;
     rack_test = g.rack_test_0_6_1;
-    rails = g.rails_3_2_3;
-    railties = g.railties_3_2_3;
+    rails = g.rails_3_2_6;
+    railties = g.railties_3_2_6;
     rake = g.rake_0_9_2_2;
     rb_fsevent = g.rb_fsevent_0_9_1;
     rdoc = g.rdoc_3_12;
     rjb = g.rjb_1_4_0;
-    rspec = g.rspec_2_1_0;
-    rspec_core = g.rspec_core_2_1_0;
-    rspec_expectations = g.rspec_expectations_2_1_0;
-    rspec_mocks = g.rspec_mocks_2_1_0;
+    rspec = g.rspec_2_9_0;
+    rspec_core = g.rspec_core_2_9_0;
+    rspec_expectations = g.rspec_expectations_2_9_1;
+    rspec_mocks = g.rspec_mocks_2_9_0;
     rubyforge = g.rubyforge_2_0_4;
-    rubyzip = g.rubyzip_0_9_8;
-    sass = g.sass_3_1_17;
-    selenium_webdriver = g.selenium_webdriver_2_21_2;
+    rubyzip = g.rubyzip_0_9_9;
+    sass = g.sass_3_1_20;
+    selenium_webdriver = g.selenium_webdriver_2_24_0;
     sprockets = g.sprockets_2_1_3;
-    thor = g.thor_0_14_6;
+    thor = g.thor_0_15_4;
     tilt = g.tilt_1_3_3;
     treetop = g.treetop_1_4_10;
     tzinfo = g.tzinfo_0_3_33;
     xml_simple = g.xml_simple_1_0_12;
   };
-  gem_nix_args = [ ''autotest-rails'' ''buildr'' ''nix'' ''rails'' ''rake'' ''rb-fsevent'' ''sass'' ''selenium-webdriver'' ];
+  gem_nix_args = [ ''autotest-rails'' ''buildr'' ''fakes3'' ''nix'' ''rails'' ''rake'' ''rb-fsevent'' ''sass'' ''selenium-webdriver'' ];
   gems = {
-    ZenTest_4_8_0 = {
+    ZenTest_4_8_1 = {
       basename = ''ZenTest'';
       meta = {
         description = ''ZenTest provides 4 different tools: zentest, unit_diff, autotest, and multiruby'';
@@ -91,75 +92,75 @@ multiruby runs anything you want on multiple versions of ruby. Great
 for compatibility checking! Use multiruby_setup to manage your
 installed versions.'';
       };
-      name = ''ZenTest-4.8.0'';
+      name = ''ZenTest-4.8.1'';
       requiredGems = [  ];
-      sha256 = ''1z999prd8imx8wnb8jv3i19xmzrwd72b05zhk875mbg5q64nbpnz'';
+      sha256 = ''0jp86czz16b0wamxvzs8p7pxwagj68h2zch9yjmjk7b069xrsg3v'';
     };
-    actionmailer_3_2_3 = {
+    actionmailer_3_2_6 = {
       basename = ''actionmailer'';
       meta = {
         description = ''Email composition, delivery, and receiving framework (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Email on Rails. Compose, deliver, receive, and test emails using the familiar controller/view pattern. First-class support for multipart email and attachments.'';
       };
-      name = ''actionmailer-3.2.3'';
+      name = ''actionmailer-3.2.6'';
       requiredGems = [ g.mail_2_4_4 ];
-      sha256 = ''09zzg09q6321l4gdyk9w7400di7rqvrhh427s666frlh1a91gdj4'';
+      sha256 = ''1h9035i9rnh98pc4z073cpcjjkwcswjigg1a3a6ll0s9lb6dnk54'';
     };
-    actionpack_3_2_3 = {
+    actionpack_3_2_6 = {
       basename = ''actionpack'';
       meta = {
         description = ''Web-flow and rendering framework putting the VC in MVC (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server.'';
       };
-      name = ''actionpack-3.2.3'';
-      requiredGems = [ g.activemodel_3_2_3 g.rack_cache_1_2 g.rack_test_0_6_1 g.journey_1_0_3 g.sprockets_2_1_3 g.erubis_2_7_0 ];
-      sha256 = ''0wg42jikmsy5bj8wp3kp21ggj1x6g0abbk1i39rlpfvsgj7fwx8v'';
+      name = ''actionpack-3.2.6'';
+      requiredGems = [ g.activemodel_3_2_6 g.rack_cache_1_2 g.rack_test_0_6_1 g.journey_1_0_4 g.sprockets_2_1_3 g.erubis_2_7_0 ];
+      sha256 = ''1qwy7p353sp3x3crinfsx873vfrc84bfy61hz95qhy8anq03ay34'';
     };
-    activemodel_3_2_3 = {
+    activemodel_3_2_6 = {
       basename = ''activemodel'';
       meta = {
         description = ''A toolkit for building modeling frameworks (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''A toolkit for building modeling frameworks like Active Record and Active Resource. Rich support for attributes, callbacks, validations, observers, serialization, internationalization, and testing.'';
       };
-      name = ''activemodel-3.2.3'';
-      requiredGems = [ g.builder_3_0_0 ];
-      sha256 = ''1n287g8nbm0bkvz0qh7pqw1racpzvfjzmgil9fn38p4k7dl3akg3'';
+      name = ''activemodel-3.2.6'';
+      requiredGems = [  ];
+      sha256 = ''18bvwpfxr6kp66b62n17qgn7bb02va6bvckips36cxrkznafsk6j'';
     };
-    activerecord_3_2_3 = {
+    activerecord_3_2_6 = {
       basename = ''activerecord'';
       meta = {
         description = ''Object-relational mapper framework (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes. Strong conventions for associations, validations, aggregations, migrations, and testing come baked-in.'';
       };
-      name = ''activerecord-3.2.3'';
+      name = ''activerecord-3.2.6'';
       requiredGems = [ g.arel_3_0_2 g.tzinfo_0_3_33 ];
-      sha256 = ''0ms5q7c13d1pmzgspnwh58h9y5bzdfsjzkrkxqrrjxp0212ixcxn'';
+      sha256 = ''1xc901m3a85j28bn2f96fh9c5y4wq4xivympm32xj4zr2ib20c2m'';
     };
-    activeresource_3_2_3 = {
+    activeresource_3_2_6 = {
       basename = ''activeresource'';
       meta = {
         description = ''REST modeling framework (part of Rails).'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''REST on Rails. Wrap your RESTful web app with Ruby classes and work with them like Active Record models.'';
       };
-      name = ''activeresource-3.2.3'';
+      name = ''activeresource-3.2.6'';
       requiredGems = [  ];
-      sha256 = ''1hdsr4fs355lv3ncfjv8h2s4p61rhsbz2yk21ms3n19qwblbvnwa'';
+      sha256 = ''1lyv64rccgrdfhzccxj9qm5dnjy212x4q1nc21mf2xf2nc4zi33a'';
     };
-    activesupport_3_2_3 = {
+    activesupport_3_2_6 = {
       basename = ''activesupport'';
       meta = {
         description = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework.'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing.'';
       };
-      name = ''activesupport-3.2.3'';
-      requiredGems = [ g.i18n_0_6_0 g.multi_json_1_3_4 ];
-      sha256 = ''05656xcknixlkpjj5xrzk4bbniywmjn9blj0nsrpglplcf5ivh4g'';
+      name = ''activesupport-3.2.6'';
+      requiredGems = [ g.i18n_0_6_0 g.multi_json_1_3_6 ];
+      sha256 = ''00jlixc7pkifikdgkjmgxypx8rizj3jizhjcpi4v9hd72yw8m7j2'';
     };
     addressable_2_2_8 = {
       basename = ''addressable'';
@@ -193,7 +194,7 @@ database compatibility and query generation.'';
       requiredGems = [  ];
       sha256 = ''158bvrhammpblky9z9dgimjr55bdypfx6w5s1dm4vyj42h49qpkx'';
     };
-    atoulme_Antwrap_0_7_1 = {
+    atoulme_Antwrap_0_7_2 = {
       basename = ''atoulme_Antwrap'';
       meta = {
         description = ''A Ruby module that wraps the Apache Ant build tool. Antwrap can be used to invoke Ant Tasks from a Ruby or a JRuby script.'';
@@ -211,9 +212,9 @@ database compatibility and query generation.'';
 	Ant (http://ant.apache.org/) tasks in a Java project. If you are tired of fighting with Ant or Maven XML files in your Java project, take some time to 
 	check out Buildr!'';
       };
-      name = ''atoulme-Antwrap-0.7.1'';
-      requiredGems = [ g.rjb_1_4_0 ];
-      sha256 = ''0r9jy2asyma8h0878nhjfbi00qvb4yapc8glngvmkkj21zbx2mfy'';
+      name = ''atoulme-Antwrap-0.7.2'';
+      requiredGems = [  ];
+      sha256 = ''0r9l3cn0gjck5q00djas5h43pr64pjvafhz6f7zhki4qqkwbb6j3'';
     };
     autotest_rails_4_1_2 = {
       basename = ''autotest_rails'';
@@ -224,7 +225,7 @@ database compatibility and query generation.'';
 rails support and extra plugins for migrations and fixtures.'';
       };
       name = ''autotest-rails-4.1.2'';
-      requiredGems = [ g.ZenTest_4_8_0 ];
+      requiredGems = [ g.ZenTest_4_8_1 ];
       sha256 = ''1wkb5jayb39yx0i8ly7sibygf9f9c3w24jg2z1qgm135zlb070v4'';
     };
     builder_2_1_2 = {
@@ -254,7 +255,7 @@ simple to do.  Currently the following builder objects are supported:
       requiredGems = [  ];
       sha256 = ''13k12jii9z1hma4xxk2dl74wsx985idl3cs9svvla8p0bmgf3lzv'';
     };
-    buildr_1_4_6 = {
+    buildr_1_4_7 = {
       basename = ''buildr'';
       meta = {
         description = ''Build like you code'';
@@ -266,42 +267,31 @@ to do, and it takes care of the rest.  But also something we can easily extend
 for those one-off tasks, with a language that's a joy to use.
 '';
       };
-      name = ''buildr-1.4.6'';
-      requiredGems = [ g.rake_0_8_7 g.builder_2_1_2 g.net_ssh_2_0_23 g.net_sftp_2_0_4 g.rubyzip_0_9_4 g.highline_1_5_1 g.json_pure_1_4_3 g.rubyforge_2_0_3 g.hoe_2_3_3 g.rjb_1_3_3 g.atoulme_Antwrap_0_7_1 g.diff_lcs_1_1_2 g.rspec_expectations_2_1_0 g.rspec_mocks_2_1_0 g.rspec_core_2_1_0 g.rspec_2_1_0 g.xml_simple_1_0_12 g.minitar_0_5_3 ];
-      sha256 = ''11qwqrdnmzzi4zhgajfq1f1ckvd4kpfm9gyqrfjfalphs4gi0vxz'';
+      name = ''buildr-1.4.7'';
+      requiredGems = [ g.rake_0_9_2_2 g.builder_2_1_2 g.net_ssh_2_3_0 g.net_sftp_2_0_5 g.rubyzip_0_9_4 g.highline_1_6_2 g.json_pure_1_4_3 g.rubyforge_2_0_3 g.hoe_2_3_3 g.rjb_1_4_0 g.atoulme_Antwrap_0_7_2 g.diff_lcs_1_1_3 g.rspec_expectations_2_9_0 g.rspec_mocks_2_9_0 g.rspec_core_2_9_0 g.rspec_2_9_0 g.xml_simple_1_0_12 g.minitar_0_5_3 ];
+      sha256 = ''0ddb71xgdjxvkf485c16kvip8i26wy4l171pjbw04qmy3cank42h'';
     };
-    bundler_1_1_3 = {
+    bundler_1_1_4 = {
       basename = ''bundler'';
       meta = {
         description = ''The best way to manage your application's dependencies'';
         homepage = ''http://gembundler.com'';
         longDescription = ''Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably'';
       };
-      name = ''bundler-1.1.3'';
+      name = ''bundler-1.1.4'';
       requiredGems = [  ];
-      sha256 = ''df5ce52b6229bae5cf2eabae71858ea7e735fa0e479b4d00cff1ee18c5f6e800'';
+      sha256 = ''13pj4kk01xrdmdvgz1mvvhnbp1vi40gq50n8wdk3lpqp5za26gr0'';
     };
-    childprocess_0_3_2 = {
+    childprocess_0_3_3 = {
       basename = ''childprocess'';
       meta = {
         description = ''This gem aims at being a simple and reliable solution for controlling external programs running in the background on any Ruby / OS combination.'';
         homepage = ''http://github.com/jarib/childprocess'';
         longDescription = ''This gem aims at being a simple and reliable solution for controlling external programs running in the background on any Ruby / OS combination.'';
       };
-      name = ''childprocess-0.3.2'';
+      name = ''childprocess-0.3.3'';
       requiredGems = [ g.ffi_1_0_11 ];
-      sha256 = ''006j501yik87rlgkng2nqn13awnlgagk9p93bfsiccvc4fn73m3q'';
-    };
-    diff_lcs_1_1_2 = {
-      basename = ''diff_lcs'';
-      meta = {
-        description = ''Provides a list of changes that represent the difference between two sequenced collections.'';
-        homepage = ''http://rubyforge.org/projects/ruwiki/'';
-        longDescription = ''Diff::LCS is a port of Algorithm::Diff that uses the McIlroy-Hunt longest common subsequence (LCS) algorithm to compute intelligent differences between two sequenced enumerable containers. The implementation is based on Mario I. Wolczko's Smalltalk version (1.2, 1993) and Ned Konz's Perl version (Algorithm::Diff).'';
-      };
-      name = ''diff-lcs-1.1.2'';
-      requiredGems = [  ];
-      sha256 = ''1i5bfxh77whaasajhzd2qkm5zwy7ryb7pfc96m1fv9afwn6cg3yp'';
+      sha256 = ''0yqlbxnc427lnh1xw71qyzkic1pdpmacqxp8zw0gvx7yzkw3fjr0'';
     };
     diff_lcs_1_1_3 = {
       basename = ''diff_lcs'';
@@ -351,6 +341,16 @@ is the MIT license.'';
       requiredGems = [  ];
       sha256 = ''1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3'';
     };
+    fakes3_0_1_5 = {
+      basename = ''fakes3'';
+      meta = {
+        description = ''FakeS3 is a server that simulates S3 commands so you can test your S3 functionality in your projects'';
+        longDescription = ''Use FakeS3 to test basic S3 functionality without actually connecting to S3'';
+      };
+      name = ''fakes3-0.1.5'';
+      requiredGems = [ g.thor_0_15_4 g.builder_3_0_0 ];
+      sha256 = ''1na5wrbarla6s414svqmr5spbpv6vmcgpswal444x4clcpmadhib'';
+    };
     ffi_1_0_11 = {
       basename = ''ffi'';
       meta = {
@@ -366,16 +366,20 @@ using Ruby-FFI here[http://wiki.github.com/ffi/ffi/why-use-ffi].'';
       requiredGems = [  ];
       sha256 = ''177v6bwslyb7n961nw11i8x9j43k796s11bs98kynl58n0a3n99b'';
     };
-    highline_1_5_1 = {
+    highline_1_6_2 = {
       basename = ''highline'';
       meta = {
         description = ''HighLine is a high-level command-line IO library.'';
         homepage = ''http://highline.rubyforge.org'';
-        longDescription = ''A high-level IO library that provides validation, type conversion, and more for command-line interfaces. HighLine also includes a complete menu system that can crank out anything from simple list selection to complete shells with just minutes of work.'';
+        longDescription = ''A high-level IO library that provides validation, type conversion, and more for
+command-line interfaces. HighLine also includes a complete menu system that can
+crank out anything from simple list selection to complete shells with just
+minutes of work.
+'';
       };
-      name = ''highline-1.5.1'';
+      name = ''highline-1.6.2'';
       requiredGems = [  ];
-      sha256 = ''0sawb011sc1i5glr80a4iflr0vvn3s5c97a4jmrhj3palv4df19i'';
+      sha256 = ''0azmahb70f1nlg6lq5wljbzcijhfb9lz8skwb4k2977kdml07mcn'';
     };
     hike_1_2_1 = {
       basename = ''hike'';
@@ -415,7 +419,7 @@ Plug-ins Provided:
 See class rdoc for help. Hint: ri Hoe'';
       };
       name = ''hoe-2.3.3'';
-      requiredGems = [ g.rubyforge_2_0_4 g.rake_0_9_2_2 ];
+      requiredGems = [ g.rubyforge_2_0_4 ];
       sha256 = ''06jlnbhimrn6znimaaxm7kh2269lapkbmnp3wssrjmw06ms7lq9m'';
     };
     i18n_0_6_0 = {
@@ -429,27 +433,27 @@ See class rdoc for help. Hint: ri Hoe'';
       requiredGems = [  ];
       sha256 = ''1pgmfhmh2wv409g7kla30mkp8jpslvp25vcmmim1figl87wpn3j0'';
     };
-    journey_1_0_3 = {
+    journey_1_0_4 = {
       basename = ''journey'';
       meta = {
         description = ''Journey is a router'';
         homepage = ''http://github.com/rails/journey'';
         longDescription = ''Journey is a router.  It routes requests.'';
       };
-      name = ''journey-1.0.3'';
+      name = ''journey-1.0.4'';
       requiredGems = [  ];
-      sha256 = ''15bxq7dqhk88n7cjvmx0ipizc22mzf5mnb58r1nq2sq5mcpag6gb'';
+      sha256 = ''03y1xidg1rx1yjz8xb50083vfwcsfkgs4zmizc040y1h4mhvhm3l'';
     };
-    json_1_7_0 = {
+    json_1_7_3 = {
       basename = ''json'';
       meta = {
         description = ''JSON Implementation for Ruby'';
         homepage = ''http://flori.github.com/json'';
         longDescription = ''This is a JSON implementation as a Ruby extension in C.'';
       };
-      name = ''json-1.7.0'';
+      name = ''json-1.7.3'';
       requiredGems = [  ];
-      sha256 = ''5affdd32dfc4a21f3d076d12e223a5da3778d0d027a6b033f556ba394c6ca6de'';
+      sha256 = ''1n969j5k0zb7dqfbnjhqm5hnxpsbi05rhsp5ww3cph7d5z6ycw0h'';
     };
     json_pure_1_4_3 = {
       basename = ''json_pure'';
@@ -462,16 +466,16 @@ See class rdoc for help. Hint: ri Hoe'';
       requiredGems = [  ];
       sha256 = ''1xw357gkmk6712c94lhpsrq8j9v91mgc2nxlr1m6n20yl6sz2g9r'';
     };
-    json_pure_1_7_0 = {
+    json_pure_1_7_3 = {
       basename = ''json_pure'';
       meta = {
         description = ''JSON Implementation for Ruby'';
         homepage = ''http://flori.github.com/json'';
         longDescription = ''This is a JSON implementation in pure Ruby.'';
       };
-      name = ''json_pure-1.7.0'';
+      name = ''json_pure-1.7.3'';
       requiredGems = [  ];
-      sha256 = ''1c661piay7i4zvjl2v8w01x69v17ip5gxwqkfzclqf3zznym28pp'';
+      sha256 = ''0m316halw0l1gd2lx811qhyfs9a98dfgxign8zij0a1wn9wsh2ci'';
     };
     libwebsocket_0_1_3 = {
       basename = ''libwebsocket'';
@@ -492,28 +496,28 @@ See class rdoc for help. Hint: ri Hoe'';
         longDescription = ''A really Ruby Mail handler.'';
       };
       name = ''mail-2.4.4'';
-      requiredGems = [ g.mime_types_1_18 g.treetop_1_4_10 ];
+      requiredGems = [ g.mime_types_1_19 g.treetop_1_4_10 ];
       sha256 = ''0idylz5pnlz34mrxm7gs9jbll2c0k0y9dq2qarhxk30gwyvjaxi3'';
     };
-    mime_types_1_18 = {
+    mime_types_1_19 = {
       basename = ''mime_types'';
       meta = {
         description = ''This library allows for the identification of a file's likely MIME content type'';
         homepage = ''http://mime-types.rubyforge.org/'';
         longDescription = ''This library allows for the identification of a file's likely MIME content
-type. This is release 1.17.2. The identification of MIME content type is based
-on a file's filename extensions.
+type. This is release 1.19 with new MIME types. The identification of MIME
+content type is based on a file's filename extensions.
 
-MIME::Types for Ruby originally based on and synchronized with MIME::Types for
-Perl by Mark Overmeer, copyright 2001 - 2009. As of version 1.15, the data
+MIME::Types for Ruby was originally based on and synchronized with MIME::Types
+for Perl by Mark Overmeer, copyright 2001 - 2009. As of version 1.15, the data
 format for the MIME::Type list has changed and the synchronization will no
 longer happen.
 
 :include: Licence.rdoc'';
       };
-      name = ''mime-types-1.18'';
+      name = ''mime-types-1.19'';
       requiredGems = [  ];
-      sha256 = ''00j7vragd5kdj235mskicn3nbg7hrdc6xjvc9bw9vqmal8x4707q'';
+      sha256 = ''1b44lrzk9v6i0jyajkx106qjyg8ns7siw1k42hmmwqj574ffsn26'';
     };
     minitar_0_5_3 = {
       basename = ''minitar'';
@@ -526,49 +530,49 @@ longer happen.
       requiredGems = [  ];
       sha256 = ''035vs1knnnjsb8arfp8vx75warvwcdpiljjwv38lqljai9v8fq53'';
     };
-    multi_json_1_3_4 = {
+    multi_json_1_3_6 = {
       basename = ''multi_json'';
       meta = {
         description = ''A gem to provide swappable JSON backends.'';
         homepage = ''http://github.com/intridea/multi_json'';
         longDescription = ''A gem to provide easy switching between different JSON backends, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, and OkJson.'';
       };
-      name = ''multi_json-1.3.4'';
+      name = ''multi_json-1.3.6'';
       requiredGems = [  ];
-      sha256 = ''1w6zaswd6v30vjs4v8vzh638mlaybzwh15k74vmfr0jkb63amga0'';
+      sha256 = ''0q2zjfvd2ibds9g9nzf2p1b47fc1wqliwfywv5pw85w15lmy91yr'';
     };
-    net_sftp_2_0_4 = {
+    net_sftp_2_0_5 = {
       basename = ''net_sftp'';
       meta = {
         description = ''A pure Ruby implementation of the SFTP client protocol'';
         homepage = ''http://net-ssh.rubyforge.org/sftp'';
         longDescription = ''A pure Ruby implementation of the SFTP client protocol'';
       };
-      name = ''net-sftp-2.0.4'';
-      requiredGems = [ g.net_ssh_2_3_0 ];
-      sha256 = ''1f0ml1z7kjnd79avn42fmys8j0w2995j5lk30ak5n40bq805yvky'';
+      name = ''net-sftp-2.0.5'';
+      requiredGems = [ g.net_ssh_2_5_2 ];
+      sha256 = ''0lqk735wspm8rbiyxpbil8ikrqcyg00ss1df7fny0761c3as6m0v'';
     };
-    net_ssh_2_0_23 = {
+    net_ssh_2_3_0 = {
       basename = ''net_ssh'';
       meta = {
         description = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.'';
         homepage = ''http://github.com/net-ssh/net-ssh'';
         longDescription = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.'';
       };
-      name = ''net-ssh-2.0.23'';
+      name = ''net-ssh-2.3.0'';
       requiredGems = [  ];
-      sha256 = ''1fllf6mgwc213m5mn266qwhl65zc84wl8rq9m3lvbggw9mh5ynrr'';
+      sha256 = ''1q1fznl4nk2963czpzfby4m9jw9rs37k1rzgbjad5r1n7r6dv0sv'';
     };
-    net_ssh_2_3_0 = {
+    net_ssh_2_5_2 = {
       basename = ''net_ssh'';
       meta = {
         description = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.'';
         homepage = ''http://github.com/net-ssh/net-ssh'';
-        longDescription = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.'';
+        longDescription = ''Net::SSH: a pure-Ruby implementation of the SSH2 client protocol. It allows you to write programs that invoke and interact with processes on remote servers, via SSH2.'';
       };
-      name = ''net-ssh-2.3.0'';
+      name = ''net-ssh-2.5.2'';
       requiredGems = [  ];
-      sha256 = ''1q1fznl4nk2963czpzfby4m9jw9rs37k1rzgbjad5r1n7r6dv0sv'';
+      sha256 = ''0kalahmwz9ypglrgg29wlvr4wx381pqwmx9fq3pk600v3j7j018l'';
     };
     nix_0_1_1 = {
       basename = ''nix'';
@@ -650,38 +654,27 @@ request helpers feature.'';
       requiredGems = [  ];
       sha256 = ''0hq5q8fjhbb7szzrj7k0l21z025c4qsxqzd5qmgivikhymw10ws0'';
     };
-    rails_3_2_3 = {
+    rails_3_2_6 = {
       basename = ''rails'';
       meta = {
         description = ''Full-stack web application framework.'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.'';
       };
-      name = ''rails-3.2.3'';
-      requiredGems = [ g.activesupport_3_2_3 g.actionpack_3_2_3 g.activerecord_3_2_3 g.activeresource_3_2_3 g.actionmailer_3_2_3 g.railties_3_2_3 g.bundler_1_1_3 ];
-      sha256 = ''08kwzxw3y4qfy10x1h8g699h1bcp5dls2h440zdgywq45lrybmmq'';
+      name = ''rails-3.2.6'';
+      requiredGems = [ g.activesupport_3_2_6 g.actionpack_3_2_6 g.activerecord_3_2_6 g.activeresource_3_2_6 g.actionmailer_3_2_6 g.railties_3_2_6 g.bundler_1_1_4 ];
+      sha256 = ''184ys6yfdclv59x0wk7dxx6ss60bv5vsi89nf8n85sh4mn19sf2m'';
     };
-    railties_3_2_3 = {
+    railties_3_2_6 = {
       basename = ''railties'';
       meta = {
         description = ''Tools for creating, working with, and running Rails applications.'';
         homepage = ''http://www.rubyonrails.org'';
         longDescription = ''Rails internals: application bootup, plugins, generators, and rake tasks.'';
       };
-      name = ''railties-3.2.3'';
-      requiredGems = [ g.thor_0_14_6 g.rack_ssl_1_3_2 g.rdoc_3_12 ];
-      sha256 = ''8715141b57dd5ad02dda101ea2812ece5e48bf6848d7586eb6c32f1d68ed7599'';
-    };
-    rake_0_8_7 = {
-      basename = ''rake'';
-      meta = {
-        description = ''Ruby based make-like utility.'';
-        homepage = ''http://rake.rubyforge.org'';
-        longDescription = ''Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax.'';
-      };
-      name = ''rake-0.8.7'';
-      requiredGems = [  ];
-      sha256 = ''03z1zm7xwl2r9v945ambwbd9sn2smbi34xldmac7qjcmsvd7pcqh'';
+      name = ''railties-3.2.6'';
+      requiredGems = [ g.rack_ssl_1_3_2 g.rdoc_3_12 ];
+      sha256 = ''1qyb4kcg2ld86qp411njr6cxfhv2ddw3jghk2rbr8d5f1ci7gfdh'';
     };
     rake_0_9_2_2 = {
       basename = ''rake'';
@@ -703,7 +696,7 @@ request helpers feature.'';
       };
       name = ''rb-fsevent-0.9.1'';
       requiredGems = [  ];
-      sha256 = ''d06bb8a10fe89e66a2e017152d9c40d5f728ad2561f8ddd305f56fedfe566f0b'';
+      sha256 = ''02vgavzfsvzm0p9xvy314nnjixym82f2s58pw2i6d7p81yhvhsyh'';
     };
     rdoc_3_12 = {
       basename = ''rdoc'';
@@ -717,20 +710,8 @@ documentation.
 See RDoc for a description of RDoc's markup and basic use.'';
       };
       name = ''rdoc-3.12'';
-      requiredGems = [ g.json_1_7_0 ];
-      sha256 = ''77b6deba13ca090fb4608c218ec5d5c05d78e841cb0b53cb31f91fb56686a431'';
-    };
-    rjb_1_3_3 = {
-      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.3.3'';
-      requiredGems = [  ];
-      sha256 = ''0jhj1y84yzdr11li784m255jvc191vs8d3zck21rfqv4z4zpifz6'';
+      requiredGems = [ g.json_1_7_3 ];
+      sha256 = ''0cd4hrkba7zr675m62yb87l7hpf0sp2qw8ccc2s0y2fa2fxdxdkp'';
     };
     rjb_1_4_0 = {
       basename = ''rjb'';
@@ -744,49 +725,60 @@ See RDoc for a description of RDoc's markup and basic use.'';
       requiredGems = [  ];
       sha256 = ''03ildf1k04a430mqdfggld4wjvca3xd0d4qn0dwcfa2zxs3vnbz3'';
     };
-    rspec_2_1_0 = {
+    rspec_2_9_0 = {
       basename = ''rspec'';
       meta = {
-        description = ''rspec-2.1.0'';
-        homepage = ''http://github.com/rspec/rspec'';
-        longDescription = ''Meta-gem that depends on the other rspec gems'';
+        description = ''rspec-2.9.0'';
+        homepage = ''http://github.com/rspec'';
+        longDescription = ''BDD for Ruby'';
       };
-      name = ''rspec-2.1.0'';
-      requiredGems = [  ];
-      sha256 = ''16h7s8wr969wiig4qahr03ln144pz39jindlc3z11d064zvzhiza'';
+      name = ''rspec-2.9.0'';
+      requiredGems = [ g.rspec_expectations_2_9_1 ];
+      sha256 = ''02r1cg82xia5vls4zq2dchmgdig8rpky8rivsqbckczr5k9w0hwv'';
     };
-    rspec_core_2_1_0 = {
+    rspec_core_2_9_0 = {
       basename = ''rspec_core'';
       meta = {
-        description = ''rspec-core-2.1.0'';
+        description = ''rspec-core-2.9.0'';
         homepage = ''http://github.com/rspec/rspec-core'';
-        longDescription = ''RSpec runner and example groups'';
+        longDescription = ''BDD for Ruby. RSpec runner and example groups.'';
       };
-      name = ''rspec-core-2.1.0'';
+      name = ''rspec-core-2.9.0'';
       requiredGems = [  ];
-      sha256 = ''1fs9c8dafg7v948wzxjhhzf0djr1rjva7lymah32rlj3x5xm9zmh'';
+      sha256 = ''17wc7mqrwl0zzrx3gywf4w931vfdig1spyvl46fyqakf36shyknd'';
     };
-    rspec_expectations_2_1_0 = {
+    rspec_expectations_2_9_0 = {
       basename = ''rspec_expectations'';
       meta = {
-        description = ''rspec-expectations-2.1.0'';
+        description = ''rspec-expectations-2.9.0'';
         homepage = ''http://github.com/rspec/rspec-expectations'';
         longDescription = ''rspec expectations (should[_not] and matchers)'';
       };
-      name = ''rspec-expectations-2.1.0'';
-      requiredGems = [ g.diff_lcs_1_1_3 ];
-      sha256 = ''0p7gs3zsj70fz30209961fzdgia1qyrpg54v0ywhqmvc5kl0q8lc'';
+      name = ''rspec-expectations-2.9.0'';
+      requiredGems = [  ];
+      sha256 = ''0pdws2zdi1h7mx0dqhkx6l5sqvrnpkrvqsnxvpmxk413db7li34x'';
+    };
+    rspec_expectations_2_9_1 = {
+      basename = ''rspec_expectations'';
+      meta = {
+        description = ''rspec-expectations-2.9.1'';
+        homepage = ''http://github.com/rspec/rspec-expectations'';
+        longDescription = ''rspec expectations (should[_not] and matchers)'';
+      };
+      name = ''rspec-expectations-2.9.1'';
+      requiredGems = [  ];
+      sha256 = ''1vb7axdg76naml7i6zd45ry4gszs274xfqk1w617z0719mc557gc'';
     };
-    rspec_mocks_2_1_0 = {
+    rspec_mocks_2_9_0 = {
       basename = ''rspec_mocks'';
       meta = {
-        description = ''rspec-mocks-2.1.0'';
+        description = ''rspec-mocks-2.9.0'';
         homepage = ''http://github.com/rspec/rspec-mocks'';
         longDescription = ''RSpec's 'test double' framework, with support for stubbing and mocking'';
       };
-      name = ''rspec-mocks-2.1.0'';
+      name = ''rspec-mocks-2.9.0'';
       requiredGems = [  ];
-      sha256 = ''1qhznpj0wq08z31i1rcv99dwx2abl4rlx2338ly0dcql54s8mma4'';
+      sha256 = ''10mp152j5l0r3mqqhxq35m3slamzdzwsm9qnf6chh0l3zx5dwifg'';
     };
     rubyforge_2_0_3 = {
       basename = ''rubyforge'';
@@ -803,7 +795,7 @@ See RDoc for a description of RDoc's markup and basic use.'';
 * For all rubyforge upgrades, run 'rubyforge config' to ensure you have latest.'';
       };
       name = ''rubyforge-2.0.3'';
-      requiredGems = [ g.json_pure_1_7_0 ];
+      requiredGems = [ g.json_pure_1_7_3 ];
       sha256 = ''1ck9hkad55dy25819v4gd1nmnpvcrb3i4np3hc03h1j6q8qpxg5p'';
     };
     rubyforge_2_0_4 = {
@@ -834,17 +826,17 @@ See RDoc for a description of RDoc's markup and basic use.'';
       requiredGems = [  ];
       sha256 = ''1lc67ssqyz49rm1jms5sdvy6x41h070razxlmvj4j5q6w3qixx41'';
     };
-    rubyzip_0_9_8 = {
+    rubyzip_0_9_9 = {
       basename = ''rubyzip'';
       meta = {
         description = ''rubyzip is a ruby module for reading and writing zip files'';
         homepage = ''http://github.com/aussiegeek/rubyzip'';
       };
-      name = ''rubyzip-0.9.8'';
+      name = ''rubyzip-0.9.9'';
       requiredGems = [  ];
-      sha256 = ''0nq7dcs3fhidfnvy241ypp05hj4hvw8srp70v52b9amjhsmbgbfd'';
+      sha256 = ''1khf6d903agnwd8965f5f8b353rzmfvygxp53z1199rqzw8h46q2'';
     };
-    sass_3_1_17 = {
+    sass_3_1_20 = {
       basename = ''sass'';
       meta = {
         description = ''A powerful but elegant CSS compiler that makes CSS fun again.'';
@@ -855,20 +847,20 @@ See RDoc for a description of RDoc's markup and basic use.'';
       command line tool or a web-framework plugin.
 '';
       };
-      name = ''sass-3.1.17'';
+      name = ''sass-3.1.20'';
       requiredGems = [  ];
-      sha256 = ''09ykjz5kam03cp6hbzmnch8g2ls3lhvnx1373bbpkvk6jckd26x7'';
+      sha256 = ''1aw2n5vg82d7ajx9wpyfrx6v1ddxhk73j77dkwjgsmlgci5lab8a'';
     };
-    selenium_webdriver_2_21_2 = {
+    selenium_webdriver_2_24_0 = {
       basename = ''selenium_webdriver'';
       meta = {
         description = ''The next generation developer focused tool for automated testing of webapps'';
         homepage = ''http://selenium.googlecode.com'';
         longDescription = ''WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application.'';
       };
-      name = ''selenium-webdriver-2.21.2'';
-      requiredGems = [ g.rubyzip_0_9_8 g.childprocess_0_3_2 g.libwebsocket_0_1_3 ];
-      sha256 = ''07f291d7c1828ba22b2e50947199d766a53fff9ad0016e479b47b35bc5cc1161'';
+      name = ''selenium-webdriver-2.24.0'';
+      requiredGems = [ g.rubyzip_0_9_9 g.childprocess_0_3_3 g.libwebsocket_0_1_3 ];
+      sha256 = ''0iricx2gglza44s92jhk7w44g2pbvg23jr5s0g3nggq7dc5mh48f'';
     };
     sprockets_2_1_3 = {
       basename = ''sprockets'';
@@ -881,16 +873,16 @@ See RDoc for a description of RDoc's markup and basic use.'';
       requiredGems = [ g.hike_1_2_1 g.tilt_1_3_3 ];
       sha256 = ''05q6qpskabl8v0vx1mwlzv5fhf48r9f4zvc7v3xdsygm2hbs3vzh'';
     };
-    thor_0_14_6 = {
+    thor_0_15_4 = {
       basename = ''thor'';
       meta = {
         description = ''A scripting framework that replaces rake, sake and rubigen'';
         homepage = ''http://github.com/wycats/thor'';
         longDescription = ''A scripting framework that replaces rake, sake and rubigen'';
       };
-      name = ''thor-0.14.6'';
+      name = ''thor-0.15.4'';
       requiredGems = [  ];
-      sha256 = ''c7c5abd6b7dfb331efb8740276724773cece66e1fe6b83216589bb87c67e15a3'';
+      sha256 = ''1q4y34p4v0ipr6z5wcnc6n1mwfysrgjcibc1ls7rbdfzx4sdcic8'';
     };
     tilt_1_3_3 = {
       basename = ''tilt'';
diff --git a/pkgs/development/interpreters/ruby/ruby-19.nix b/pkgs/development/interpreters/ruby/ruby-19.nix
index c5c12831c0a7..b954d7e6bf0f 100644
--- a/pkgs/development/interpreters/ruby/ruby-19.nix
+++ b/pkgs/development/interpreters/ruby/ruby-19.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   
   src = fetchurl {
     url = "ftp://ftp.ruby-lang.org/pub/ruby/1.9/${name}.tar.bz2";
-    sha256 = "09jmxz3lqsi5097233hc1wjnzg6z5f4y7kmlkqhskdaj6125jyn6";
+    sha256 = "1ymq5lhp3fz0j3cs65521aihcnivbfrn76in900ccxd0msgfmld9";
   };
 
   # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
@@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
     ++ (op opensslSupport openssl)
     ++ (op gdbmSupport gdbm)
     ++ (op yamlSupport libyaml);
+
+  enableParallelBuilding = true;
     
   configureFlags = ["--enable-shared" "--enable-pthread"];
 
@@ -48,7 +50,7 @@ stdenv.mkDerivation rec {
   passthru = rec {
     majorVersion = "1.9";
     minorVersion = "3";
-    patchLevel = "125";
+    patchLevel = "194";
     libPath = "lib/ruby/${majorVersion}";
     gemPath = "lib/ruby/gems/${majorVersion}";
   };
diff --git a/pkgs/development/libraries/SDL_net/default.nix b/pkgs/development/libraries/SDL_net/default.nix
index 38ac82537f75..54b38110e00d 100644
--- a/pkgs/development/libraries/SDL_net/default.nix
+++ b/pkgs/development/libraries/SDL_net/default.nix
@@ -13,7 +13,16 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [SDL];
 
-  postInstall = "ln -s $out/include/SDL/SDL_net.h $out/include/";
+  postInstall = ''
+    sed -i -e 's,"SDL.h",<SDL/SDL.h>,' \
+    -e 's,"SDL_endian.h",<SDL/SDL_endian.h>,' \
+    -e 's,"SDL_version.h",<SDL/SDL_version.h>,' \
+    -e 's,"begin_code.h",<SDL/begin_code.h>,' \
+    -e 's,"close_code.h",<SDL/close_code.h>,' \
+      $out/include/SDL/SDL_net.h
+
+    ln -sv $out/include/SDL/SDL_net.h $out/include/
+  '';
 
   meta = {
     description = "SDL networking library";
diff --git a/pkgs/development/libraries/apr-util/default.nix b/pkgs/development/libraries/apr-util/default.nix
index ce6337b3b6ad..ad02f9b84cce 100644
--- a/pkgs/development/libraries/apr-util/default.nix
+++ b/pkgs/development/libraries/apr-util/default.nix
@@ -1,29 +1,33 @@
 { stdenv, fetchurl, apr, expat
-, bdbSupport ? false, db4 ? null
-, ldapSupport ? !stdenv.isDarwin, openldap
+, sslSupport ? true, openssl
+, bdbSupport ? false, db4
+, ldapSupport ? true, openldap
 }:
 
+assert sslSupport -> openssl != null;
 assert bdbSupport -> db4 != null;
+assert ldapSupport -> openldap != null;
 
 stdenv.mkDerivation rec {
   name = "apr-util-1.4.1";
-  
+
   src = fetchurl {
     url = "mirror://apache/apr/${name}.tar.bz2";
     md5 = "52b31b33fb1aa16e65ddaefc76e41151";
   };
-  
+
   configureFlags = ''
     --with-apr=${apr} --with-expat=${expat}
-    ${if bdbSupport then "--with-berkeley-db=${db4}" else ""}
-    ${if ldapSupport then "--with-ldap" else ""}
+    --with-crypto
+    ${stdenv.lib.optionalString sslSupport "--with-openssl=${openssl}"}
+    ${stdenv.lib.optionalString bdbSupport "--with-berkeley-db=${db4}"}
+    ${stdenv.lib.optionalString ldapSupport "--with-ldap"}
   '';
 
   propagatedBuildInputs = stdenv.lib.optional ldapSupport openldap;
-  
+
   passthru = {
-    inherit bdbSupport;
-    inherit ldapSupport;
+    inherit sslSupport bdbSupport ldapSupport;
   };
 
   meta = {
@@ -31,4 +35,3 @@ stdenv.mkDerivation rec {
     description = "A companion library to APR, the Apache Portable Runtime";
   };
 }
-
diff --git a/pkgs/development/libraries/apr/darwin_fix_configure.patch b/pkgs/development/libraries/apr/darwin_fix_configure.patch
new file mode 100644
index 000000000000..84d3f2078700
--- /dev/null
+++ b/pkgs/development/libraries/apr/darwin_fix_configure.patch
@@ -0,0 +1,17 @@
+diff -Nuar apr-1.4.6/configure apr-1.4.6-darwin-fix-configure/configure
+--- apr-1.4.6/configure	2012-02-08 00:17:57.000000000 +0100
++++ apr-1.4.6-darwin-fix-configure/configure	2012-06-06 23:08:56.000000000 +0200
+@@ -6854,10 +6854,10 @@
+     *-apple-darwin*)
+ 
+   if test "x$CPPFLAGS" = "x"; then
+-    test "x$silent" != "xyes" && echo "  setting CPPFLAGS to \"-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp\""
+-    CPPFLAGS="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp"
++    test "x$silent" != "xyes" && echo "  setting CPPFLAGS to \"-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK\""
++    CPPFLAGS="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK"
+   else
+-    apr_addto_bugger="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp"
++    apr_addto_bugger="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK"
+     for i in $apr_addto_bugger; do
+       apr_addto_duplicate="0"
+       for j in $CPPFLAGS; do
diff --git a/pkgs/development/libraries/apr/default.nix b/pkgs/development/libraries/apr/default.nix
index a0b9017d35fe..07a565596bbc 100644
--- a/pkgs/development/libraries/apr/default.nix
+++ b/pkgs/development/libraries/apr/default.nix
@@ -1,5 +1,9 @@
 { stdenv, fetchurl }:
 
+let
+   inherit (stdenv.lib) optionals;
+in
+
 stdenv.mkDerivation rec {
   name = "apr-1.4.6";
 
@@ -8,13 +12,15 @@ stdenv.mkDerivation rec {
     md5 = "ffee70a111fd07372982b0550bbb14b7";
   };
 
+  patches = optionals stdenv.isDarwin [ ./darwin_fix_configure.patch ];
+
   configureFlags =
     # Don't use accept4 because it's only supported on Linux >= 2.6.28.
     [ "apr_cv_accept4=no" ]
     # Including the Windows headers breaks unistd.h.
     # Based on ftp://sourceware.org/pub/cygwin/release/libapr1/libapr1-1.3.8-2-src.tar.bz2
     ++ stdenv.lib.optional (stdenv.system == "i686-cygwin") "ac_cv_header_windows_h=no";
-  
+
   meta = {
     homepage = http://apr.apache.org/;
     description = "The Apache Portable Runtime library";
diff --git a/pkgs/development/libraries/attica/default.nix b/pkgs/development/libraries/attica/default.nix
index 6d53ff303beb..a719537dd2fb 100644
--- a/pkgs/development/libraries/attica/default.nix
+++ b/pkgs/development/libraries/attica/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, qt4 }:
 
 stdenv.mkDerivation rec {
-  name = "attica-0.3.0";
+  name = "attica-0.4.0";
   
   src = fetchurl {
     url = "mirror://kde/stable/attica/${name}.tar.bz2";
-    sha256 = "1wfd37mvskn77ppzjdh3x6cb5p9na81ibh05ardfvbwqqn523gd0";
+    sha256 = "172d1z97aw9iscq6wh23i31s4hgq7mmhr3mk4xgifqv0hjcmzyhq";
   };
   
   buildInputs = [ qt4 ];
diff --git a/pkgs/development/libraries/audio/lilv/default.nix b/pkgs/development/libraries/audio/lilv/default.nix
new file mode 100644
index 000000000000..a02a6ebabac0
--- /dev/null
+++ b/pkgs/development/libraries/audio/lilv/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, lv2, pkgconfig, python, serd, sord, sratom }:
+
+stdenv.mkDerivation rec {
+  name = "lilv-${version}";
+  version = "0.14.2";
+
+  src = fetchurl {
+    url = "http://download.drobilla.net/${name}.tar.bz2";
+    sha256 = "0g9sg5f8xkkvsad0c6rh4j1k2b2hwsh83yg66f4qznxh43np7zlx";
+  };
+
+  buildInputs = [ lv2 pkgconfig python serd sord sratom ];
+
+  configurePhase = "python waf configure --prefix=$out";
+
+  buildPhase = "python waf";
+
+  installPhase = "python waf install";
+
+  meta = with stdenv.lib; {
+    homepage = http://drobilla.net/software/lilv;
+    description = "A C library to make the use of LV2 plugins";
+    license = licenses.mit;
+    maintainers = [ maintainers.goibhniu ];
+
+  };
+}
diff --git a/pkgs/development/libraries/audio/lv2/default.nix b/pkgs/development/libraries/audio/lv2/default.nix
new file mode 100644
index 000000000000..136a825eef90
--- /dev/null
+++ b/pkgs/development/libraries/audio/lv2/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, gtk, libsndfile, pkgconfig, python }:
+
+stdenv.mkDerivation rec {
+  name = "lv2-${version}";
+  version = "1.0.0";
+
+  src = fetchurl {
+    url = "http://lv2plug.in/spec/${name}.tar.bz2";
+    sha256 = "0lfp7679wwqd49k4mjxwqslpfx5fz2q7akxqayg400zqn70whzl5";
+  };
+
+  buildInputs = [ gtk libsndfile pkgconfig python ];
+
+  configurePhase = "python waf configure --prefix=$out";
+
+  buildPhase = "python waf";
+
+  installPhase = "python waf install";
+
+  meta = with stdenv.lib; {
+    homepage = http://lv2plug.in;
+    description = "A plugin standard for audio systems";
+    license = licenses.mit;
+    maintainers = [ maintainers.goibhniu ];
+
+  };
+}
diff --git a/pkgs/development/libraries/audio/sratom/default.nix b/pkgs/development/libraries/audio/sratom/default.nix
new file mode 100644
index 000000000000..b23b58a3f820
--- /dev/null
+++ b/pkgs/development/libraries/audio/sratom/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, lv2, pkgconfig, python, serd, sord }:
+
+stdenv.mkDerivation rec {
+  name = "sratom-${version}";
+  version = "0.2.0";
+
+  src = fetchurl {
+    url = "http://download.drobilla.net/${name}.tar.bz2";
+    sha256 = "12wi0ycjnn6mlddcp476wzr6k2bb4ig1489gg8h1k7v0w7d6ry1a";
+  };
+
+  buildInputs = [ lv2 pkgconfig python serd sord ];
+
+  configurePhase = "python waf configure --prefix=$out";
+
+  buildPhase = "python waf";
+
+  installPhase = "python waf install";
+
+  meta = with stdenv.lib; {
+    homepage = http://drobilla.net/software/sratom;
+    description = "A library for serialising LV2 atoms to/from RDF";
+    license = licenses.mit;
+    maintainers = [ maintainers.goibhniu ];
+
+  };
+}
diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix
new file mode 100644
index 000000000000..a7300f541c4e
--- /dev/null
+++ b/pkgs/development/libraries/audio/suil/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, lv2, pkgconfig, python, serd, sord, sratom }:
+
+stdenv.mkDerivation rec {
+  name = "suil-${version}";
+  version = "0.6.2";
+
+  src = fetchurl {
+    url = "http://download.drobilla.net/${name}.tar.bz2";
+    sha256 = "1rqi16zqnaf30gr2gwb8wbhg8a2l3m5fllf7rabldmgj4b4jlyzp";
+  };
+
+  buildInputs = [ lv2 pkgconfig python serd sord sratom ];
+
+  configurePhase = "python waf configure --prefix=$out";
+
+  buildPhase = "python waf";
+
+  installPhase = "python waf install";
+
+  meta = with stdenv.lib; {
+    homepage = http://drobilla.net/software/suil;
+    description = "A lightweight C library for loading and wrapping LV2 plugin UIs";
+    license = licenses.mit;
+    maintainers = [ maintainers.goibhniu ];
+
+  };
+}
diff --git a/pkgs/development/libraries/babl/default.nix b/pkgs/development/libraries/babl/default.nix
index 3449314a3816..41280e87253d 100644
--- a/pkgs/development/libraries/babl/default.nix
+++ b/pkgs/development/libraries/babl/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "babl-0.1.4";
+  name = "babl-0.1.10";
 
   src = fetchurl {
-    url = "http://ftp.snt.utwente.nl/pub/software/gimp/babl/0.1/${name}.tar.bz2";
-    sha256 = "0cz7zw206bb87c0n0h54h4wlkaa3hx3wsia30mgq316y50jk2djv";
+    url = "ftp://ftp.gtk.org/pub/babl/0.1/${name}.tar.bz2";
+    sha256 = "943fc36ceac7dd25bc928256bc7b535a42989c6b971578146869eee5fe5955f4";
   };
 
   meta = { 
diff --git a/pkgs/development/libraries/boost/1.42.nix b/pkgs/development/libraries/boost/1.42.nix
deleted file mode 100644
index 3dbc699da4d4..000000000000
--- a/pkgs/development/libraries/boost/1.42.nix
+++ /dev/null
@@ -1,80 +0,0 @@
-{ stdenv, fetchurl, icu, expat, zlib, bzip2, python
-, enableRelease ? true
-, enableDebug ? false
-, enableSingleThreaded ? false
-, enableMultiThreaded ? true
-, enableShared ? true
-, enableStatic ? false
-, enablePIC ? false
-}:
-
-let
-
-  variant = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableRelease "release" ++
-     stdenv.lib.optional enableDebug "debug");
-
-  threading = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableSingleThreaded "single" ++
-     stdenv.lib.optional enableMultiThreaded "multi");
-
-  link = stdenv.lib.concatStringsSep ","
-    (stdenv.lib.optional enableShared "shared" ++
-     stdenv.lib.optional enableStatic "static");
-
-  # To avoid library name collisions
-  finalLayout = if ((enableRelease && enableDebug) ||
-    (enableSingleThreaded && enableMultiThreaded) ||
-    (enableShared && enableStatic)) then
-    "tagged" else "system";
-
-  cflags = if (enablePIC) then "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC" else "";
-
-in
-
-stdenv.mkDerivation {
-  name = "boost-1.42.0";
-
-  meta = {
-    homepage = "http://boost.org/";
-    description = "Boost C++ Library Collection";
-    license = "boost-license";
-
-    maintainers = [ stdenv.lib.maintainers.simons ];
-  };
-
-  src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_42_0.tar.bz2";
-    sha256 = "02g6m6f7m11ig93p5sx7sfq75c15y9kn2pa3csn1bkjhs9dvj7jb";
-  };
-
-  enableParallelBuilding = true;
-
-  buildInputs = [icu expat zlib bzip2 python];
-
-  configureScript = "./bootstrap.sh";
-  configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python";
-
-  buildPhase = "./bjam -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${finalLayout} variant=${variant} threading=${threading} link=${link} ${cflags} install";
-
-  installPhase = ":";
-
-  crossAttrs = rec {
-    buildInputs = [ expat.hostDrv zlib.hostDrv bzip2.hostDrv ];
-    # all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to
-    # override them.
-    propagatedBuildInputs = buildInputs;
-    # We want to substitute the contents of configureFlags, removing thus the
-    # usual --build and --host added on cross building.
-    preConfigure = ''
-      export configureFlags="--prefix=$out --without-icu"
-    '';
-    buildPhase = ''
-      set -x
-      cat << EOF > user-config.jam
-      using gcc : cross : $crossConfig-g++ ;
-      EOF
-      ./bjam -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat.hostDrv}/include -sEXPAT_LIBPATH=${expat.hostDrv}/lib --layout=${finalLayout} --user-config=user-config.jam toolset=gcc-cross variant=${variant} threading=${threading} link=${link} ${cflags} --without-python install
-    '';
-  };
-}
diff --git a/pkgs/development/libraries/boost/1.44.nix b/pkgs/development/libraries/boost/1.44.nix
index 2b516be2cbf5..ad09adc8606c 100644
--- a/pkgs/development/libraries/boost/1.44.nix
+++ b/pkgs/development/libraries/boost/1.44.nix
@@ -6,6 +6,7 @@
 , enableShared ? true
 , enableStatic ? false
 , enablePIC ? false
+, taggedLayout ? false
 }:
 
 let
@@ -23,7 +24,7 @@ let
      stdenv.lib.optional enableStatic "static");
 
   # To avoid library name collisions
-  finalLayout = if ((enableRelease && enableDebug) ||
+  finalLayout = if (taggedLayout || (enableRelease && enableDebug) ||
     (enableSingleThreaded && enableMultiThreaded) ||
     (enableShared && enableStatic)) then
     "tagged" else "system";
@@ -63,12 +64,12 @@ stdenv.mkDerivation {
     # Patch to get rid of following error, experienced by some packages like encfs, bitcoin:
     #    terminate called after throwing an instance of 'std::runtime_error'
     #    what():  locale::facet::_S_create_c_locale name not valid
-    (fetchurl { 
+    (fetchurl {
        url = https://svn.boost.org/trac/boost/raw-attachment/ticket/4688/boost_filesystem.patch ;
-       sha256 = "15k91ihzs6190pnryh4cl0b3c2pjpl9d790mr14x16zq52y7px2d"; 
+       sha256 = "15k91ihzs6190pnryh4cl0b3c2pjpl9d790mr14x16zq52y7px2d";
      })
   ];
-  
+
   crossAttrs = rec {
     buildInputs = [ expat.hostDrv zlib.hostDrv bzip2.hostDrv ];
     # all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to
diff --git a/pkgs/development/libraries/boost/1.50-headers.nix b/pkgs/development/libraries/boost/1.50-headers.nix
new file mode 100644
index 000000000000..b901d73da733
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.50-headers.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "boost-1.50.0-headers";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/boost_1_50_0.tar.bz2";
+    sha256 = "0ac5b82g6b5pdhzypgddql0i3i9vvrwf9iqp3lyp19hzr2wf5b69";
+  };
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/include
+    tar xvf $src -C $out/include --strip-components=1 boost_1_50_0/boost
+  '';
+
+  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/boost/1.48.nix b/pkgs/development/libraries/boost/1.50.nix
index 2adc0191cc0c..3d6c6010a20f 100644
--- a/pkgs/development/libraries/boost/1.48.nix
+++ b/pkgs/development/libraries/boost/1.50.nix
@@ -7,6 +7,7 @@
 , enableStatic ? false
 , enablePIC ? false
 , enableExceptions ? false
+, taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
 }:
 
 let
@@ -24,10 +25,7 @@ let
      stdenv.lib.optional enableStatic "static");
 
   # To avoid library name collisions
-  finalLayout = if ((enableRelease && enableDebug) ||
-    (enableSingleThreaded && enableMultiThreaded) ||
-    (enableShared && enableStatic)) then
-    "tagged" else "system";
+  layout = if taggedLayout then "tagged" else "system";
 
   cflags = if (enablePIC && enableExceptions) then
              "cflags=-fPIC -fexceptions cxxflags=-fPIC linkflags=-fPIC"
@@ -40,7 +38,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "boost-1.48.0";
+  name = "boost-1.50.0";
 
   meta = {
     homepage = "http://boost.org/";
@@ -52,13 +50,10 @@ stdenv.mkDerivation {
   };
 
   src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_48_0.tar.bz2";
-    sha256 = "1njsircy5xfj5rws10w8vq2s0603z2i31p9wgbawr4wkssr59whv";
+    url = "mirror://sourceforge/boost/boost_1_50_0.tar.bz2";
+    sha256 = "0ac5b82g6b5pdhzypgddql0i3i9vvrwf9iqp3lyp19hzr2wf5b69";
   };
 
-  # See <http://svn.boost.org/trac/boost/ticket/4688>.
-  patches = [ ./boost_filesystem.patch ];
-
   enableParallelBuilding = true;
 
   buildInputs = [icu expat zlib bzip2 python];
@@ -66,7 +61,7 @@ stdenv.mkDerivation {
   configureScript = "./bootstrap.sh";
   configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python";
 
-  buildPhase = "./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${finalLayout} variant=${variant} threading=${threading} link=${link} ${cflags} install";
+  buildPhase = "./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${layout} variant=${variant} threading=${threading} link=${link} ${cflags} install";
 
   installPhase = ":";
 
@@ -85,7 +80,7 @@ stdenv.mkDerivation {
       cat << EOF > user-config.jam
       using gcc : cross : $crossConfig-g++ ;
       EOF
-      ./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat.hostDrv}/include -sEXPAT_LIBPATH=${expat.hostDrv}/lib --layout=${finalLayout} --user-config=user-config.jam toolset=gcc-cross variant=${variant} threading=${threading} link=${link} ${cflags} --without-python install
+      ./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat.hostDrv}/include -sEXPAT_LIBPATH=${expat.hostDrv}/lib --layout=${layout} --user-config=user-config.jam toolset=gcc-cross variant=${variant} threading=${threading} link=${link} ${cflags} --without-python install
     '';
   };
 }
diff --git a/pkgs/development/libraries/bwidget/default.nix b/pkgs/development/libraries/bwidget/default.nix
new file mode 100644
index 000000000000..693e0587a0b2
--- /dev/null
+++ b/pkgs/development/libraries/bwidget/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, tcl }:
+
+stdenv.mkDerivation rec {
+  name = "bwidget-${version}";
+  version = "1.9.5";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/tcllib/bwidget-${version}.tar.gz";
+    sha256 = "1njssjjvfalsfh37prkxwqi4hf0zj1d54qzggvjwpzkm424jjcii";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    ensureDir "$out/tcltk"
+    cp -R *.tcl lang images "$out/tcltk/"
+  '';
+
+  buildInputs = [tcl];
+}
diff --git a/pkgs/development/libraries/ccrtp/1.8.nix b/pkgs/development/libraries/ccrtp/1.8.nix
index 26e7050a60df..78bf7a678ac7 100644
--- a/pkgs/development/libraries/ccrtp/1.8.nix
+++ b/pkgs/development/libraries/ccrtp/1.8.nix
@@ -10,7 +10,9 @@ stdenv.mkDerivation {
 
   buildInputs = [ openssl pkgconfig libgcrypt commoncpp2 ];
 
-  meta = { 
+  patches = [ ./gcc-4.6-fix.patch ];
+
+  meta = {
     description = "GNU ccRTP is an implementation of RTP, the real-time transport protocol from the IETF";
     homepage = "http://www.gnu.org/software/ccrtp/";
     license = "GPLv2";
diff --git a/pkgs/development/libraries/ccrtp/gcc-4.6-fix.patch b/pkgs/development/libraries/ccrtp/gcc-4.6-fix.patch
new file mode 100644
index 000000000000..49d07a89e52a
--- /dev/null
+++ b/pkgs/development/libraries/ccrtp/gcc-4.6-fix.patch
@@ -0,0 +1,20 @@
+diff -ubr ccrtp-1.8.0-orig/src/ccrtp/sources.h ccrtp-1.8.0/src/ccrtp/sources.h
+--- ccrtp-1.8.0-orig/src/ccrtp/sources.h	2010-04-18 20:51:49.000000000 +0200
++++ ccrtp-1.8.0/src/ccrtp/sources.h	2012-07-07 11:42:50.961179016 +0200
+@@ -45,6 +45,7 @@
+ #define CCXX_RTP_SOURCES_H_
+ 
+ #include <string>
++#include <cstddef>
+ #include <ccrtp/rtcppkt.h>
+ 
+ #ifdef	CCXX_NAMESPACES
+@@ -406,7 +407,7 @@
+ 	public:
+ 		typedef std::forward_iterator_tag iterator_category;
+ 		typedef Participant value_type;
+-		typedef ptrdiff_t difference_type;
++		typedef std::ptrdiff_t difference_type;
+ 		typedef const Participant* pointer;
+ 		typedef const Participant& reference;
+ 
diff --git a/pkgs/development/libraries/cyrus-sasl/cyrus-sasl-2.1.22-bad-elif.patch b/pkgs/development/libraries/cyrus-sasl/cyrus-sasl-2.1.22-bad-elif.patch
deleted file mode 100644
index 33550c428d20..000000000000
--- a/pkgs/development/libraries/cyrus-sasl/cyrus-sasl-2.1.22-bad-elif.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -up cyrus-sasl-2.1.22/plugins/digestmd5.c.elif cyrus-sasl-2.1.22/plugins/digestmd5.c
---- cyrus-sasl-2.1.22/plugins/digestmd5.c.elif	2009-01-23 09:40:31.000000000 +0100
-+++ cyrus-sasl-2.1.22/plugins/digestmd5.c	2009-02-06 15:20:15.000000000 +0100
-@@ -2743,7 +2743,7 @@ static sasl_server_plug_t digestmd5_serv
- 	"DIGEST-MD5",			/* mech_name */
- #ifdef WITH_RC4
- 	128,				/* max_ssf */
--#elif WITH_DES
-+#elif defined(WITH_DES)
- 	112,
- #else 
- 	1,
-@@ -4071,7 +4071,7 @@ static sasl_client_plug_t digestmd5_clie
- 	"DIGEST-MD5",
- #ifdef WITH_RC4				/* mech_name */
- 	128,				/* max ssf */
--#elif WITH_DES
-+#elif defined(WITH_DES)
- 	112,
- #else
- 	1,
diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix
index 0da4d5da3e76..a03f753a1141 100644
--- a/pkgs/development/libraries/cyrus-sasl/default.nix
+++ b/pkgs/development/libraries/cyrus-sasl/default.nix
@@ -1,16 +1,27 @@
-{ stdenv, fetchurl, openssl, db4, gettext, automake} :
+{ stdenv, fetchurl, openssl, db4, gettext }:
 
-stdenv.mkDerivation {
-  name = "cyrus-sasl-2.1.23";
+stdenv.mkDerivation rec {
+  name = "cyrus-sasl-2.1.25";
 
   src = fetchurl {
-    url = ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.23.tar.gz;
-    sha256 = "0dmi41hfy015pzks8n93qsshgvi0az7pv81nls4nxayb810crvr0";
+    url = "ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/${name}.tar.gz";
+    sha256 = "418c16e6240a4f9b637cbe3d62937b9675627bad27c622191d47de8686fe24fe";
   };
-  preConfigure=''
-    configureFlags="--with-openssl=${openssl} --with-plugindir=$out/lib/sasl2 --with-configdir=$out/lib/sasl2 --enable-login"
-    cp ${automake}/share/automake*/config.{sub,guess} config
-  '';
+
   buildInputs = [ openssl db4 gettext ];
-  patches = [ ./cyrus-sasl-2.1.22-bad-elif.patch ];
+
+  # Set this variable at build-time to make sure $out can be evaluated.
+  preConfigure = ''
+    configureFlagsArray=( --with-plugindir=$out/lib/sasl2
+                          --with-configdir=$out/lib/sasl2
+			  --enable-login
+			)
+  '';
+
+  meta = {
+    homepage = "http://cyrusimap.web.cmu.edu/";
+    description = "library for adding authentication support to connection-based protocols";
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
 }
diff --git a/pkgs/development/libraries/ffmpeg/0.6.90.nix b/pkgs/development/libraries/ffmpeg/0.6.90.nix
index 31e00b5cd789..79d7816d7822 100644
--- a/pkgs/development/libraries/ffmpeg/0.6.90.nix
+++ b/pkgs/development/libraries/ffmpeg/0.6.90.nix
@@ -6,6 +6,7 @@
 , vpxSupport ? false, libvpx ? null
 , x264Support ? true, x264 ? null
 , xvidSupport ? true, xvidcore ? null
+, vdpauSupport ? true, libvdpau ? null
 , faacSupport ? false, faac ? null
 }:
 
@@ -15,6 +16,7 @@ assert vorbisSupport -> libvorbis != null;
 assert vpxSupport -> libvpx != null;
 assert x264Support -> x264 != null;
 assert xvidSupport -> xvidcore != null;
+assert vdpauSupport -> libvdpau != null;
 assert faacSupport -> faac != null;
 
 stdenv.mkDerivation rec {
@@ -44,6 +46,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional vpxSupport "--enable-libvpx"
     ++ stdenv.lib.optional x264Support "--enable-libx264"
     ++ stdenv.lib.optional xvidSupport "--enable-libxvid"
+    ++ stdenv.lib.optional vdpauSupport "--enable-vdpau"
     ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree";
 
   buildInputs = [ pkgconfig lame yasm ]
@@ -54,6 +57,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional vpxSupport libvpx
     ++ stdenv.lib.optional x264Support x264
     ++ stdenv.lib.optional xvidSupport xvidcore
+    ++ stdenv.lib.optional vdpauSupport libvdpau
     ++ stdenv.lib.optional faacSupport faac;
 
   crossAttrs = {
diff --git a/pkgs/development/libraries/ffmpeg/default.nix b/pkgs/development/libraries/ffmpeg/default.nix
index 3283302f1297..3b5e28a2ee7f 100644
--- a/pkgs/development/libraries/ffmpeg/default.nix
+++ b/pkgs/development/libraries/ffmpeg/default.nix
@@ -6,7 +6,9 @@
 , vpxSupport ? false, libvpx ? null
 , x264Support ? true, x264 ? null
 , xvidSupport ? true, xvidcore ? null
+, vdpauSupport ? true, libvdpau ? null
 , faacSupport ? false, faac ? null
+, dc1394Support ? false, libdc1394 ? null
 }:
 
 assert speexSupport -> speex != null;
@@ -15,6 +17,7 @@ assert vorbisSupport -> libvorbis != null;
 assert vpxSupport -> libvpx != null;
 assert x264Support -> x264 != null;
 assert xvidSupport -> xvidcore != null;
+assert vdpauSupport -> libvdpau != null;
 assert faacSupport -> faac != null;
 
 stdenv.mkDerivation rec {
@@ -32,7 +35,6 @@ stdenv.mkDerivation rec {
     "--enable-gpl"
     "--enable-postproc"
     "--enable-swscale"
-    "--disable-ffserver"
     "--disable-ffplay"
     "--enable-shared"
     "--enable-runtime-cpudetect"
@@ -44,7 +46,9 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional vpxSupport "--enable-libvpx"
     ++ stdenv.lib.optional x264Support "--enable-libx264"
     ++ stdenv.lib.optional xvidSupport "--enable-libxvid"
-    ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree";
+    ++ stdenv.lib.optional vdpauSupport "--enable-vdpau"
+    ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree"
+    ++ stdenv.lib.optional dc1394Support "--enable-libdc1394";
 
   buildInputs = [ pkgconfig lame yasm zlib bzip2 ]
     ++ stdenv.lib.optional mp3Support lame
@@ -54,7 +58,9 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional vpxSupport libvpx
     ++ stdenv.lib.optional x264Support x264
     ++ stdenv.lib.optional xvidSupport xvidcore
-    ++ stdenv.lib.optional faacSupport faac;
+    ++ stdenv.lib.optional vdpauSupport libvdpau
+    ++ stdenv.lib.optional faacSupport faac
+    ++ stdenv.lib.optional dc1394Support libdc1394;
 
   enableParallelBuilding = true;
     
diff --git a/pkgs/development/libraries/fltk/default.nix b/pkgs/development/libraries/fltk/default.nix
index bb835bb9c290..d51419f37540 100644
--- a/pkgs/development/libraries/fltk/default.nix
+++ b/pkgs/development/libraries/fltk/default.nix
@@ -4,11 +4,11 @@
 let inherit (composableDerivation) edf; in
 
 composableDerivation.composableDerivation {} rec {
-  name = "fltk-2.0.x-alpha-r8550";
+  name = "fltk-2.0.x-alpha-r9296";
 
   src = fetchurl {
     url = "ftp://ftp.easysw.com/pub/fltk/snapshots/${name}.tar.bz2";
-    sha256 = "0y9fazsv61j8dkg9aiinnw4nd68h7zxmvapmygrl4rq5ywqygng7";
+    sha256 = "0353ngb7gpyklc9mdz8629big2na3c73akfwhis8fhqp7jkbs9ih";
   };
 
   propagatedBuildInputs = [ x11 inputproto libXi freeglut ];
diff --git a/pkgs/development/libraries/gegl/default.nix b/pkgs/development/libraries/gegl/default.nix
index 3e7f29ecb6f3..5da6e3e40f4c 100644
--- a/pkgs/development/libraries/gegl/default.nix
+++ b/pkgs/development/libraries/gegl/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg
-, librsvg, pango, gtk, bzip2 }:
+, librsvg, pango, gtk, bzip2, intltool }:
         
 stdenv.mkDerivation rec {
-  name = "gegl-0.1.6";
+  name = "gegl-0.2.0";
 
   src = fetchurl {
-    url = "http://ftp.snt.utwente.nl/pub/software/gimp/gegl/0.1/${name}.tar.bz2";
-    sha256 = "1l966ygss2zkksyw62nm139v2abfzbqqrj0psizvbgzf4mb24rm1";
+    url = "ftp://ftp.gtk.org/pub/gegl/0.2/${name}.tar.bz2";
+    sha256 = "df2e6a0d9499afcbc4f9029c18d9d1e0dd5e8710a75e17c9b1d9a6480dd8d426";
   };
 
   # needs fonts otherwise  don't know how to pass them
   configureFlags = "--disable-docs";
 
-  buildInputs = [ babl libpng cairo libjpeg librsvg pango gtk bzip2 ];
+  buildInputs = [ babl libpng cairo libjpeg librsvg pango gtk bzip2 intltool ];
 
   buildNativeInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/libraries/geoclue/default.nix b/pkgs/development/libraries/geoclue/default.nix
index c5c8b694ba9c..4c5d17eca997 100644
--- a/pkgs/development/libraries/geoclue/default.nix
+++ b/pkgs/development/libraries/geoclue/default.nix
@@ -14,7 +14,7 @@ let
     baseName="geoclue";
     version="0.12.0";
     name="${baseName}-${version}";
-    url="http://folks.o-hand.com/jku/geoclue-releases/${name}.tar.gz";
+    url="https://launchpad.net/geoclue/trunk/0.12/+download/${name}.tar.gz";
     hash="15j619kvmdgj2hpma92mkxbzjvgn8147a7500zl3bap9g8bkylqg";
   };
 in
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix
index f7b31139b562..73366b2bdc95 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, libiconv }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
   name = "gettext-0.18.1.1";
   
   src = fetchurl {
@@ -8,7 +8,14 @@ stdenv.mkDerivation rec {
     sha256 = "1sa3ch12qxa4h3ya6hkz119yclcccmincl9j20dhrdx5mykp3b4k";
   };
 
-  configureFlags = "--disable-csharp";
+  configureFlags = [ "--disable-csharp" ]
+     ++ (stdenv.lib.optionals stdenv.isCygwin
+          [ # We have a static libiconv, so we can only build the static lib.
+            "--disable-shared" "--enable-static"
+
+            # Share the cache among the various `configure' runs.
+            "--config-cache"
+          ]);
 
   # On cross building, gettext supposes that the wchar.h from libc
   # does not fulfill gettext needs, so it tries to work with its
@@ -60,3 +67,16 @@ stdenv.mkDerivation rec {
     platforms = stdenv.lib.platforms.all;
   };
 }
+
+//
+
+stdenv.lib.optionalAttrs stdenv.isCygwin {
+  patchPhase =
+   # Make sure `error.c' gets compiled and is part of `libgettextlib.la'.
+   # This fixes:
+   # gettext-0.18.1.1/gettext-tools/src/msgcmp.c:371: undefined reference to `_error_message_count'
+
+   '' sed -i gettext-tools/gnulib-lib/Makefile.in \
+          -e 's/am_libgettextlib_la_OBJECTS =/am_libgettextlib_la_OBJECTS = error.lo/g'
+   '';
+})
diff --git a/pkgs/development/libraries/glibc/2.13/common.nix b/pkgs/development/libraries/glibc/2.13/common.nix
index 536f23fe3bb2..cc8c5373ff55 100644
--- a/pkgs/development/libraries/glibc/2.13/common.nix
+++ b/pkgs/development/libraries/glibc/2.13/common.nix
@@ -102,7 +102,8 @@ stdenv.mkDerivation ({
     "-C"
     "--enable-add-ons"
     "--sysconfdir=/etc"
-    "--localedir=/var/run/current-system/sw/lib/locale"
+    "--localedir=/var/run/current-system/sw/lib/locale" ] ++
+    (stdenv.lib.optional (stdenv.name == "stdenv") "libc_cv_ssp=no") ++ [
     (if kernelHeaders != null
      then "--with-headers=${kernelHeaders}/include"
      else "--without-headers")
@@ -112,6 +113,9 @@ stdenv.mkDerivation ({
   ] ++ stdenv.lib.optionals (cross != null) [
     (if cross.withTLS then "--with-tls" else "--without-tls")
     (if cross.float == "soft" then "--without-fp" else "--with-fp")
+  ] ++ stdenv.lib.optionals (cross != null
+        && cross.platform ? kernelMajor
+        && cross.platform.kernelMajor == "2.6") [
     "--enable-kernel=2.6.0"
     "--with-__thread"
   ] ++ stdenv.lib.optionals stdenv.isArm [
diff --git a/pkgs/development/libraries/glibc/2.14/common.nix b/pkgs/development/libraries/glibc/2.14/common.nix
index a8d0f661b72f..ab3ef7c42f49 100644
--- a/pkgs/development/libraries/glibc/2.14/common.nix
+++ b/pkgs/development/libraries/glibc/2.14/common.nix
@@ -97,6 +97,7 @@ stdenv.mkDerivation ({
     "--enable-add-ons"
     "--sysconfdir=/etc"
     "--localedir=/var/run/current-system/sw/lib/locale"
+    "libc_cv_ssp=no"
     (if kernelHeaders != null
      then "--with-headers=${kernelHeaders}/include"
      else "--without-headers")
diff --git a/pkgs/development/libraries/gmp/5.0.5.nix b/pkgs/development/libraries/gmp/5.0.5.nix
index 3fb625850515..98ebe5fcc256 100644
--- a/pkgs/development/libraries/gmp/5.0.5.nix
+++ b/pkgs/development/libraries/gmp/5.0.5.nix
@@ -13,8 +13,10 @@ stdenv.mkDerivation rec {
   buildNativeInputs = [ m4 ];
 
   configureFlags =
-    # Build a "fat binary", with routines for several sub-architectures (x86).
-    [ "--enable-fat" ]
+    # Build a "fat binary", with routines for several sub-architectures
+    # (x86), except on Solaris where some tests crash with "Memory fault".
+    # See <http://hydra.nixos.org/build/2760931>, for instance.
+    (stdenv.lib.optional (!stdenv.isSunOS) "--enable-fat")
     ++ (if cxx then [ "--enable-cxx" ] else [ "--disable-cxx" ]);
 
   doCheck = true;
diff --git a/pkgs/development/libraries/goffice/0.9.nix b/pkgs/development/libraries/goffice/0.9.nix
new file mode 100644
index 000000000000..23b65b1c712c
--- /dev/null
+++ b/pkgs/development/libraries/goffice/0.9.nix
@@ -0,0 +1,37 @@
+{ fetchurl, stdenv, pkgconfig, glib, gtk, libglade, bzip2
+, pango, libgsf, libxml2, libart, librsvg, intltool, gettext
+, cairo, gconf, libgnomeui }:
+
+stdenv.mkDerivation rec {
+  name = "goffice-0.9.3";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/goffice/0.9/${name}.tar.xz";
+    sha256 = "0l9achvmbmhn2p5qd0nl7vxn5c3nf1ndzlyknczzyiaa6d5zj91h";
+  };
+
+  buildInputs = [
+    pkgconfig libglade bzip2 libart intltool gettext
+    gconf libgnomeui
+  ];
+
+  propagatedBuildInputs = [
+    glib libgsf libxml2 gtk libglade libart librsvg cairo pango
+  ];
+
+  doCheck = true;
+
+  meta = {
+    description = "GOffice, a Glib/GTK+ set of document centric objects and utilities";
+
+    longDescription = ''
+      There are common operations for document centric applications that are
+      conceptually simple, but complex to implement fully: plugins, load/save
+      documents, undo/redo.
+    '';
+
+    license = "GPLv2+";
+
+    platforms = stdenv.lib.platforms.gnu;
+  };
+}
diff --git a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
index e84c16005586..8bfeb8a4beac 100644
--- a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
@@ -2,17 +2,19 @@
 , automoc4, flex, bison, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "${pname}-0.10.1";
+  name = "${pname}-0.10.2";
   pname = "qt-gstreamer";
 
   src = fetchurl {
     url = "http://gstreamer.freedesktop.org/src/${pname}/${name}.tar.bz2";
-    sha256 = "0g377jlzlwgywgk7nbv9fd0aimv8wpzrymwzdiaffczxv5xvip5h";
+    sha256 = "1laryg5vgc3prdi7dmpfwa71nsrc3ngv27sgax44c4qfrgpsgwbf";
   };
 
   buildInputs = [ gstreamer gst_plugins_base glib qt4 ];
   propagatedBuildInputs = [ boost ];
   buildNativeInputs = [ cmake automoc4 flex bison pkgconfig ];
 
+  cmakeFlags = "-DUSE_QT_PLUGIN_DIR=OFF -DUSE_GST_PLUGIN_DIR=OFF";
+
   patches = [ ./boost1.48.patch ];
 }
diff --git a/pkgs/development/libraries/gtkdatabox/default.nix b/pkgs/development/libraries/gtkdatabox/default.nix
new file mode 100644
index 000000000000..43d0db9755a3
--- /dev/null
+++ b/pkgs/development/libraries/gtkdatabox/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "gtkdatabox-0.9.1.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/gtkdatabox/${name}.tar.gz";
+    sha256 = "90ff9fc20ea1541dfe75ae04ff98e02c3aa7ad1735d8f0e3b3352910a3f7427c";
+  };
+
+  patches = [ ./deprecated_GTK.patch ];
+
+  buildInputs = [ pkgconfig gtk ];
+
+  propagatedBuildInputs = [ gtk ];
+
+  meta = {
+    description = "Gtk+ widget for displaying large amounts of numerical data";
+
+    license = "LGPLv2";
+
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/gtkdatabox/deprecated_GTK.patch b/pkgs/development/libraries/gtkdatabox/deprecated_GTK.patch
new file mode 100644
index 000000000000..f0572cec1f9b
--- /dev/null
+++ b/pkgs/development/libraries/gtkdatabox/deprecated_GTK.patch
@@ -0,0 +1,194 @@
+# Fixes compilation errors. Stolen from Debian.
+Index: libgtkdatabox-0.9.1.1/examples/addremove.c
+===================================================================
+--- libgtkdatabox-0.9.1.1.orig/examples/addremove.c	2011-05-21 12:39:01.703594722 +0200
++++ libgtkdatabox-0.9.1.1/examples/addremove.c	2011-05-21 12:36:16.739594810 +0200
+@@ -203,7 +203,7 @@
+    g_signal_connect_swapped (GTK_OBJECT (close_button), "clicked",
+ 			     G_CALLBACK (gtk_main_quit), GTK_OBJECT (box));
+    gtk_box_pack_start (GTK_BOX (box2), close_button, TRUE, TRUE, 0);
+-   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
++   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
+    gtk_widget_grab_default (close_button);
+ 
+    gtk_widget_show_all (window);
+Index: libgtkdatabox-0.9.1.1/examples/basics.c
+===================================================================
+--- libgtkdatabox-0.9.1.1.orig/examples/basics.c	2011-05-21 12:39:02.075594722 +0200
++++ libgtkdatabox-0.9.1.1/examples/basics.c	2011-05-21 12:36:16.759594820 +0200
+@@ -113,7 +113,7 @@
+    g_signal_connect_swapped (GTK_OBJECT (close_button), "clicked",
+ 			     G_CALLBACK (gtk_main_quit), GTK_OBJECT (box));
+    gtk_box_pack_start (GTK_BOX (vbox), close_button, FALSE, FALSE, 0);
+-   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
++   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
+    gtk_widget_grab_default (close_button);
+    gtk_widget_grab_focus (close_button);
+ 
+Index: libgtkdatabox-0.9.1.1/examples/basics2.c
+===================================================================
+--- libgtkdatabox-0.9.1.1.orig/examples/basics2.c	2011-05-21 12:39:01.911594722 +0200
++++ libgtkdatabox-0.9.1.1/examples/basics2.c	2011-05-21 12:36:16.747594818 +0200
+@@ -225,7 +225,7 @@
+    g_signal_connect_swapped (GTK_OBJECT (close_button), "clicked",
+ 			     G_CALLBACK (gtk_main_quit), GTK_OBJECT (box));
+    gtk_box_pack_start (GTK_BOX (vbox), close_button, FALSE, FALSE, 0);
+-   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
++   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
+    gtk_widget_grab_default (close_button);
+    gtk_widget_grab_focus (close_button);
+ 
+Index: libgtkdatabox-0.9.1.1/examples/colors.c
+===================================================================
+--- libgtkdatabox-0.9.1.1.orig/examples/colors.c	2011-05-21 12:39:02.115594722 +0200
++++ libgtkdatabox-0.9.1.1/examples/colors.c	2011-05-21 12:36:16.763594819 +0200
+@@ -194,7 +194,7 @@
+    g_signal_connect (G_OBJECT (close_button), "clicked",
+ 		     G_CALLBACK (gtk_main_quit), (gpointer) NULL);
+    gtk_box_pack_start (GTK_BOX (box2), close_button, TRUE, TRUE, 0);
+-   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
++   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
+    gtk_widget_grab_default (close_button);
+ 
+ 
+Index: libgtkdatabox-0.9.1.1/examples/enable_disable.c
+===================================================================
+--- libgtkdatabox-0.9.1.1.orig/examples/enable_disable.c	2011-05-21 12:39:01.787594722 +0200
++++ libgtkdatabox-0.9.1.1/examples/enable_disable.c	2011-05-21 12:36:16.743594812 +0200
+@@ -145,7 +145,7 @@
+    g_signal_connect_swapped (GTK_OBJECT (close_button), "clicked",
+ 			     G_CALLBACK (gtk_main_quit), GTK_OBJECT (box));
+    gtk_box_pack_start (GTK_BOX (box2), close_button, TRUE, TRUE, 0);
+-   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
++   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
+    for (i = 0; i < noEnableSets; ++i)
+    {
+       GtkWidget *vbox = gtk_vbox_new (FALSE, 10);
+Index: libgtkdatabox-0.9.1.1/examples/grid.c
+===================================================================
+--- libgtkdatabox-0.9.1.1.orig/examples/grid.c	2011-05-21 12:39:01.995594722 +0200
++++ libgtkdatabox-0.9.1.1/examples/grid.c	2011-05-21 12:36:16.755594821 +0200
+@@ -133,7 +133,7 @@
+ 			     G_CALLBACK (gtk_main_quit),
+ 			     GTK_OBJECT (box));
+    gtk_box_pack_start (GTK_BOX (box2), close_button, TRUE, TRUE, 0);
+-   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
++   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
+    gtk_widget_grab_default (close_button);
+ 
+    gtk_widget_show_all (window);
+Index: libgtkdatabox-0.9.1.1/examples/grid_array.c
+===================================================================
+--- libgtkdatabox-0.9.1.1.orig/examples/grid_array.c	2011-05-21 12:39:01.951594722 +0200
++++ libgtkdatabox-0.9.1.1/examples/grid_array.c	2011-05-21 12:36:16.751594821 +0200
+@@ -134,7 +134,7 @@
+ 			     G_CALLBACK (gtk_main_quit),
+ 			     GTK_OBJECT (box));
+    gtk_box_pack_start (GTK_BOX (box2), close_button, TRUE, TRUE, 0);
+-   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
++   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
+    gtk_widget_grab_default (close_button);
+ 
+    gtk_widget_show_all (window);
+Index: libgtkdatabox-0.9.1.1/examples/keycontrol.c
+===================================================================
+--- libgtkdatabox-0.9.1.1.orig/examples/keycontrol.c	2011-05-21 12:39:02.155594722 +0200
++++ libgtkdatabox-0.9.1.1/examples/keycontrol.c	2011-05-21 12:37:15.211595055 +0200
+@@ -133,7 +133,8 @@
+    gtk_databox_create_box_with_scrollbars_and_rulers (&box, &table,
+ 						      TRUE, TRUE, TRUE, TRUE);
+    gtk_widget_add_events (box, GDK_KEY_PRESS_MASK);
+-   GTK_WIDGET_SET_FLAGS (box, GTK_CAN_FOCUS | GTK_CAN_DEFAULT);
++   gtk_widget_set_can_focus(box, GTK_CAN_FOCUS);
++   gtk_widget_set_can_default(box, GTK_CAN_DEFAULT);
+ 
+    gtk_box_pack_start (GTK_BOX (box1), table, TRUE, TRUE, 0);
+ 
+Index: libgtkdatabox-0.9.1.1/examples/lissajous.c
+===================================================================
+--- libgtkdatabox-0.9.1.1.orig/examples/lissajous.c	2011-05-21 12:39:02.035594722 +0200
++++ libgtkdatabox-0.9.1.1/examples/lissajous.c	2011-05-21 12:36:16.759594820 +0200
+@@ -154,7 +154,7 @@
+ 			     G_CALLBACK (gtk_main_quit), G_OBJECT (box));
+ 
+    gtk_box_pack_start (GTK_BOX (box2), close_button, TRUE, TRUE, 0);
+-   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
++   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
+    gtk_widget_grab_default (close_button);
+    lissajous_idle = g_idle_add ((GSourceFunc) lissajous_idle_func, box);
+ 
+Index: libgtkdatabox-0.9.1.1/examples/logarithmic.c
+===================================================================
+--- libgtkdatabox-0.9.1.1.orig/examples/logarithmic.c	2011-05-21 12:39:01.827594722 +0200
++++ libgtkdatabox-0.9.1.1/examples/logarithmic.c	2011-05-21 12:36:16.743594812 +0200
+@@ -207,7 +207,7 @@
+    g_signal_connect (GTK_OBJECT (close_button), "clicked",
+ 		     G_CALLBACK (gtk_main_quit), NULL);
+    gtk_box_pack_start (GTK_BOX (vbox), close_button, FALSE, FALSE, 0);
+-   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
++   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
+    gtk_widget_grab_default (close_button);
+    gtk_widget_grab_focus (close_button);
+ 
+Index: libgtkdatabox-0.9.1.1/examples/markers.c
+===================================================================
+--- libgtkdatabox-0.9.1.1.orig/examples/markers.c	2011-05-21 12:39:01.871594722 +0200
++++ libgtkdatabox-0.9.1.1/examples/markers.c	2011-05-21 12:36:16.747594818 +0200
+@@ -220,7 +220,7 @@
+    g_signal_connect_swapped (GTK_OBJECT (close_button), "clicked",
+ 			     G_CALLBACK (gtk_main_quit), GTK_OBJECT (box));
+    gtk_box_pack_start (GTK_BOX (box2), close_button, TRUE, TRUE, 0);
+-   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
++   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
+    gtk_widget_grab_default (close_button);
+ 
+    gtk_widget_show_all (window);
+Index: libgtkdatabox-0.9.1.1/examples/signals.c
+===================================================================
+--- libgtkdatabox-0.9.1.1.orig/examples/signals.c	2011-05-21 12:39:01.751594722 +0200
++++ libgtkdatabox-0.9.1.1/examples/signals.c	2011-05-21 12:36:16.743594812 +0200
+@@ -287,7 +287,7 @@
+    g_signal_connect_swapped (G_OBJECT (close_button), "clicked",
+ 			     G_CALLBACK (gtk_main_quit), G_OBJECT (box));
+    gtk_box_pack_start (GTK_BOX (box2), close_button, TRUE, TRUE, 0);
+-   GTK_WIDGET_SET_FLAGS (close_button, GTK_CAN_DEFAULT);
++   gtk_widget_set_can_default(close_button, GTK_CAN_DEFAULT);
+    gtk_widget_grab_default (close_button);
+ 
+    g_signal_connect (G_OBJECT (box), "zoomed",
+Index: libgtkdatabox-0.9.1.1/gtk/gtkdatabox.c
+===================================================================
+--- libgtkdatabox-0.9.1.1.orig/gtk/gtkdatabox.c	2011-05-21 12:39:01.583594722 +0200
++++ libgtkdatabox-0.9.1.1/gtk/gtkdatabox.c	2011-05-21 12:38:43.523595004 +0200
+@@ -453,7 +453,8 @@
+       gint width;
+       gint height;
+ 
+-      gdk_drawable_get_size (widget->window, &width, &height);
++      width = gdk_window_get_width(widget->window);
++      height = gdk_window_get_height(widget->window);
+       x = MAX (0, MIN (width - 1, x));
+       y = MAX (0, MIN (height - 1, y));
+ 
+@@ -587,7 +588,7 @@
+    gint attributes_mask;
+ 
+    box = GTK_DATABOX (widget);
+-   GTK_WIDGET_SET_FLAGS (box, GTK_REALIZED);
++   gtk_widget_set_realized(box, GTK_REALIZED);
+ 
+    attributes.window_type = GDK_WINDOW_CHILD;
+    attributes.x = widget->allocation.x;
+Index: libgtkdatabox-0.9.1.1/gtk/gtkdatabox_ruler.c
+===================================================================
+--- libgtkdatabox-0.9.1.1.orig/gtk/gtkdatabox_ruler.c	2011-05-21 12:39:01.631594722 +0200
++++ libgtkdatabox-0.9.1.1/gtk/gtkdatabox_ruler.c	2011-05-21 12:38:59.963594710 +0200
+@@ -842,7 +842,7 @@
+    gint attributes_mask;
+ 
+    ruler = GTK_DATABOX_RULER (widget);
+-   GTK_WIDGET_SET_FLAGS (ruler, GTK_REALIZED);
++   gtk_widget_set_realized(ruler, GTK_REALIZED);
+ 
+    attributes.window_type = GDK_WINDOW_CHILD;
+    attributes.x = widget->allocation.x;
diff --git a/pkgs/development/libraries/haskell/Agda/default.nix b/pkgs/development/libraries/haskell/Agda/default.nix
index 1aa4d4f8423c..c72177e2108f 100644
--- a/pkgs/development/libraries/haskell/Agda/default.nix
+++ b/pkgs/development/libraries/haskell/Agda/default.nix
@@ -13,6 +13,9 @@ cabal.mkDerivation (self: {
     QuickCheck syb xhtml zlib
   ];
   buildTools = [ alex happy ];
+  patchPhase = ''
+    sed -i -e 's|mtl == 2.0.\*|mtl|' Agda.cabal
+  '';
   meta = {
     homepage = "http://wiki.portal.chalmers.se/agda/";
     description = "A dependently typed functional programming language and proof assistant";
diff --git a/pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix b/pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix
new file mode 100644
index 000000000000..2b9a0fadfc92
--- /dev/null
+++ b/pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix
@@ -0,0 +1,17 @@
+{ cabal, freeglut, libICE, libSM, libXi, libXmu, mesa, OpenGL }:
+
+cabal.mkDerivation (self: {
+  pname = "GLUT";
+  version = "2.1.2.2";
+  sha256 = "14g2ykcczy1hhpgflxv158zx2izkl1p0wj1x0am1grkkj1n9jbwi";
+  buildDepends = [ OpenGL ];
+  extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ];
+  noHaddock = true;
+  meta = {
+    homepage = "http://www.haskell.org/HOpenGL/";
+    description = "A binding for the OpenGL Utility Toolkit";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix b/pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix
new file mode 100644
index 000000000000..9ac01e70865d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix
@@ -0,0 +1,17 @@
+{ cabal, deepseq }:
+
+cabal.mkDerivation (self: {
+  pname = "HUnit";
+  version = "1.2.4.3";
+  sha256 = "0sk2s0g28wly64nisgrj4wr914zx940pvj5zvkv9n467vssywzbr";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ deepseq ];
+  meta = {
+    homepage = "http://hunit.sourceforge.net/";
+    description = "A unit testing framework for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/HaXml/default.nix b/pkgs/development/libraries/haskell/HaXml/default.nix
index e1b061690fe5..55898e9d9d9e 100644
--- a/pkgs/development/libraries/haskell/HaXml/default.nix
+++ b/pkgs/development/libraries/haskell/HaXml/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "HaXml";
-  version = "1.22.5";
-  sha256 = "1ckmi8iwyaid4mcnh8117s9kq45f8r7sidh6dbhzbj0dl29rrkbz";
+  version = "1.23.3";
+  sha256 = "1gp3vjv8g0i9bd0sryfjarzp7n8ddfbrib68jzhqgjkqbyj2bs8g";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ filepath polyparse random ];
diff --git a/pkgs/development/libraries/haskell/Hipmunk/default.nix b/pkgs/development/libraries/haskell/Hipmunk/default.nix
index d6c3b5ffc231..770bfa275150 100644
--- a/pkgs/development/libraries/haskell/Hipmunk/default.nix
+++ b/pkgs/development/libraries/haskell/Hipmunk/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Hipmunk";
-  version = "5.2.0.8";
-  sha256 = "0xsckndxmzbp32fqb8i90k21rz0xjj3smxjijw742l637p3mv5zw";
+  version = "5.2.0.9";
+  sha256 = "0c0s5spsyp67ajfzck8f29px2xid8aiws12l3dswvp50d74a9mlq";
   buildDepends = [ StateVar transformers ];
   meta = {
     homepage = "http://patch-tag.com/r/felipe/hipmunk/home";
diff --git a/pkgs/development/libraries/haskell/JuicyPixels/default.nix b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
new file mode 100644
index 000000000000..a99f8295c60f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
@@ -0,0 +1,19 @@
+{ cabal, cereal, deepseq, mtl, primitive, transformers, vector
+, zlib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "JuicyPixels";
+  version = "1.3";
+  sha256 = "07wljfag4ylw16wdi7znjb61pfihdik5d7p4h2lmz6xirm4mjzrm";
+  buildDepends = [
+    cereal deepseq mtl primitive transformers vector zlib
+  ];
+  meta = {
+    homepage = "https://github.com/Twinside/Juicy.Pixels";
+    description = "Picture loading/serialization (in png, jpeg and bitmap)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ListLike/default.nix b/pkgs/development/libraries/haskell/ListLike/default.nix
index a50fdb8ddc04..f0b1ccd8bc04 100644
--- a/pkgs/development/libraries/haskell/ListLike/default.nix
+++ b/pkgs/development/libraries/haskell/ListLike/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ListLike";
-  version = "3.1.4";
-  sha256 = "0cpj7vqlazs2yzh0ffhlg69kdb18xyicybfw614nlqfhhrp53lj9";
+  version = "3.1.5";
+  sha256 = "0hxpjmj5qdyb55wda2bgd3crkg9q6dklhj2kff7qz6wkx5fdbvjs";
   isLibrary = true;
   isExecutable = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/MonadRandom/default.nix b/pkgs/development/libraries/haskell/MonadRandom/default.nix
index 1ee1734a9e42..da343a527ce6 100644
--- a/pkgs/development/libraries/haskell/MonadRandom/default.nix
+++ b/pkgs/development/libraries/haskell/MonadRandom/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "MonadRandom";
-  version = "0.1.6";
-  sha256 = "1429w2h66sf0cw992xj4w9clapcqgpdzmh80as7zxf8l87rarqqp";
+  version = "0.1.7";
+  sha256 = "0y4fsb3j0babq388rw3y1kbxbjz6plfgbg4g1y27hdf7jf5c8x33";
   buildDepends = [ mtl random ];
   meta = {
     description = "Random-number generation monad";
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.5.nix b/pkgs/development/libraries/haskell/QuickCheck/2.5.nix
new file mode 100644
index 000000000000..127d90ca5e7d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.5.nix
@@ -0,0 +1,15 @@
+{ cabal, extensibleExceptions, random }:
+
+cabal.mkDerivation (self: {
+  pname = "QuickCheck";
+  version = "2.5";
+  sha256 = "0a4ibyw5abm7ds6pds41147phjkccx8v60vqdj05c5n28hbzbgbh";
+  buildDepends = [ extensibleExceptions random ];
+  meta = {
+    homepage = "http://code.haskell.org/QuickCheck";
+    description = "Automatic testing of Haskell programs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/RepLib/default.nix b/pkgs/development/libraries/haskell/RepLib/default.nix
index 1be11a557f8d..1bc52184474f 100644
--- a/pkgs/development/libraries/haskell/RepLib/default.nix
+++ b/pkgs/development/libraries/haskell/RepLib/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "RepLib";
-  version = "0.5.2.1";
-  sha256 = "133zpiszfdb8s4hqd1xpgsiac98v04dclk3hivzxcg0h77m7qpcc";
+  version = "0.5.3";
+  sha256 = "1kpd4qli6fclrr3i21kmdwbpa0la7ssi9pgagzclr3yj2ca2hsgw";
   buildDepends = [ mtl typeEquality ];
   meta = {
     homepage = "http://code.google.com/p/replib/";
diff --git a/pkgs/development/libraries/haskell/SHA/default.nix b/pkgs/development/libraries/haskell/SHA/default.nix
index d1eff38c0d70..956b1a8f8a34 100644
--- a/pkgs/development/libraries/haskell/SHA/default.nix
+++ b/pkgs/development/libraries/haskell/SHA/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "SHA";
-  version = "1.5.0.1";
-  sha256 = "1nyj50hyka2fnk9nnidygl8d52xgvmj9m8aywjzbzdaxxrmdab8g";
+  version = "1.5.1";
+  sha256 = "009c0nabva0c4aq4yhqdmdqmrrjmg8scpy7yz65bbhqnfwnjvdks";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ binary ];
diff --git a/pkgs/development/libraries/haskell/Shellac/Shellac-haskeline.nix b/pkgs/development/libraries/haskell/Shellac/Shellac-haskeline.nix
index 4ce09964cc67..9f75a09ee690 100644
--- a/pkgs/development/libraries/haskell/Shellac/Shellac-haskeline.nix
+++ b/pkgs/development/libraries/haskell/Shellac/Shellac-haskeline.nix
@@ -5,6 +5,9 @@ cabal.mkDerivation (self: {
   version = "0.2.0.1";
   sha256 = "1xvs2ni83yyf7rx3ikmn2bkx20fyj03d03crqyyfw28mikhgv5br";
   buildDepends = [ haskeline mtl Shellac ];
+  patchPhase = ''
+    sed -i -e 's|mtl>=1.1 && < 2.1|mtl|' Shellac-haskeline.cabal
+  '';
   meta = {
     description = "Haskeline backend module for Shellac";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/Vec/default.nix b/pkgs/development/libraries/haskell/Vec/default.nix
index 232fb0f72721..996cfd1a78cd 100644
--- a/pkgs/development/libraries/haskell/Vec/default.nix
+++ b/pkgs/development/libraries/haskell/Vec/default.nix
@@ -1,12 +1,11 @@
-{ cabal, QuickCheck }:
+{ cabal }:
 
 cabal.mkDerivation (self: {
   pname = "Vec";
-  version = "0.9.8";
-  sha256 = "0yaqy0p2jh2ajf8897vsxl5w6bmavixn6n5cc7w8kdnybpbdms6v";
-  buildDepends = [ QuickCheck ];
+  version = "1.0";
+  sha256 = "1lyi7di92q1f0k08nj7766nm0ygaqdrjdphnb6imvyrsmjrspaqk";
   meta = {
-    homepage = "http://graphics.cs.ucdavis.edu/~sdillard/Vec";
+    homepage = "http://github.net/sedillard/Vec";
     description = "Fixed-length lists and low-dimensional linear algebra";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/accelerate-cuda/default.nix b/pkgs/development/libraries/haskell/accelerate-cuda/default.nix
new file mode 100644
index 000000000000..4ed0f4ea5e38
--- /dev/null
+++ b/pkgs/development/libraries/haskell/accelerate-cuda/default.nix
@@ -0,0 +1,25 @@
+{ cabal, accelerate, binary, blazeBuilder, cryptohash, cuda
+, fclabels, filepath, hashable, hashtables, languageCQuote
+, mainlandPretty, mtl, srcloc, transformers, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "accelerate-cuda";
+  version = "0.12.1.0";
+  sha256 = "1y6viivizv4frdh3xk5wqhs7wwnhqyjr9wid1y1d5l42mz41vp84";
+  buildDepends = [
+    accelerate binary blazeBuilder cryptohash cuda fclabels filepath
+    hashable hashtables languageCQuote mainlandPretty mtl srcloc
+    transformers unorderedContainers
+  ];
+  patchPhase = ''
+    sed -i -e 's|\<defaultMain\>|defaultMainWithHooks autoconfUserHooks|' Setup.hs
+  '';
+  meta = {
+    homepage = "http://www.cse.unsw.edu.au/~chak/project/accelerate/";
+    description = "Accelerate backend for NVIDIA GPUs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.stdenv.lib.platforms.none;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/accelerate-examples/default.nix b/pkgs/development/libraries/haskell/accelerate-examples/default.nix
new file mode 100644
index 000000000000..f1f7aefb736e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/accelerate-examples/default.nix
@@ -0,0 +1,28 @@
+{ cabal, accelerate, accelerateCuda, accelerateIo, attoparsec, bmp
+, bytestringLexing, cmdargs, criterion, cuda, deepseq, fclabels
+, filepath, gloss, hashtables, mtl, mwcRandom, pgm, QuickCheck
+, random, testFramework, testFrameworkQuickcheck2, vector
+, vectorAlgorithms
+}:
+
+cabal.mkDerivation (self: {
+  pname = "accelerate-examples";
+  version = "0.12.1.0";
+  sha256 = "0vlax90yy9h4ljm87ffmnqv881nr4ssbc968mbbwi2704hn4chhb";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    accelerate accelerateCuda accelerateIo attoparsec bmp
+    bytestringLexing cmdargs criterion cuda deepseq fclabels filepath
+    gloss hashtables mtl mwcRandom pgm QuickCheck random testFramework
+    testFrameworkQuickcheck2 vector vectorAlgorithms
+  ];
+  configureFlags = "-f-opencl";
+  meta = {
+    homepage = "http://www.cse.unsw.edu.au/~chak/project/accelerate/";
+    description = "Examples using the Accelerate library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/accelerate-io/default.nix b/pkgs/development/libraries/haskell/accelerate-io/default.nix
new file mode 100644
index 000000000000..1cefda353250
--- /dev/null
+++ b/pkgs/development/libraries/haskell/accelerate-io/default.nix
@@ -0,0 +1,15 @@
+{ cabal, accelerate, repa, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "accelerate-io";
+  version = "0.12.1.0";
+  sha256 = "1hcyshzfh7ldswv7sjklxlw5h1hx7spx6dy23bvdryrkq929gb8a";
+  buildDepends = [ accelerate repa vector ];
+  meta = {
+    homepage = "http://www.cse.unsw.edu.au/~chak/project/accelerate/";
+    description = "Read and write Accelerate arrays in various formats";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/accelerate/default.nix b/pkgs/development/libraries/haskell/accelerate/default.nix
new file mode 100644
index 000000000000..a2dc4cb2e592
--- /dev/null
+++ b/pkgs/development/libraries/haskell/accelerate/default.nix
@@ -0,0 +1,14 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "accelerate";
+  version = "0.12.1.0";
+  sha256 = "1zvrb36xvvzfdl0k7a25329mdplwa76k9wk0yf3za3j0kb20d4f4";
+  meta = {
+    homepage = "https://github.com/AccelerateHS/accelerate/";
+    description = "An embedded language for accelerated array processing";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/async/default.nix b/pkgs/development/libraries/haskell/async/default.nix
index d66ab5e86584..ca759009817f 100644
--- a/pkgs/development/libraries/haskell/async/default.nix
+++ b/pkgs/development/libraries/haskell/async/default.nix
@@ -1,12 +1,13 @@
-{ cabal }:
+{ cabal, stm }:
 
 cabal.mkDerivation (self: {
   pname = "async";
-  version = "1.4";
-  sha256 = "1d24bcvmw687jcf75wgavlhfs55f0va02xhl4xdnj2lrlr19s5dl";
+  version = "2.0.1.1";
+  sha256 = "132xr0sb3j02s134my4p7khj95d3v3jlpxqjrgn6h8brw0gp6wcq";
+  buildDepends = [ stm ];
   meta = {
-    homepage = "http://gitorious.org/async/";
-    description = "Asynchronous Computations";
+    homepage = "https://github.com/simonmar/async";
+    description = "Run IO operations asynchronously and wait for their results";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
diff --git a/pkgs/development/libraries/haskell/attoparsec/default.nix b/pkgs/development/libraries/haskell/attoparsec/default.nix
index bc05f92b561f..6f923605b678 100644
--- a/pkgs/development/libraries/haskell/attoparsec/default.nix
+++ b/pkgs/development/libraries/haskell/attoparsec/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "attoparsec";
-  version = "0.10.1.1";
-  sha256 = "07zl85nkimpswlb4rxycisaphhyrlq4la2limxxi7sk21gyh88b0";
+  version = "0.10.2.0";
+  sha256 = "0hvkx63knhxdc06lkv2avz2dblbvn0hhvckfqyr22ls1qrpgz71c";
   buildDepends = [ deepseq text ];
   meta = {
     homepage = "https://github.com/bos/attoparsec";
diff --git a/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix b/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix
index 020bce0a82c2..3eccd0a4ffac 100644
--- a/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix
+++ b/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "base-unicode-symbols";
-  version = "0.2.2.3";
-  sha256 = "0803ncdydkxivn4kcjfn9v0lm43xg47y5iws7lajhhyg6v4zq08j";
+  version = "0.2.2.4";
+  sha256 = "1afc5pchd3vw33bmjbjygkd0l5zh7glbsx4bfyxfscpc1x1l3y52";
   meta = {
     homepage = "http://haskell.org/haskellwiki/Unicode-symbols";
     description = "Unicode alternatives for common functions and operators";
diff --git a/pkgs/development/libraries/haskell/base16-bytestring/default.nix b/pkgs/development/libraries/haskell/base16-bytestring/default.nix
index 43bc52535383..3f81258f4263 100644
--- a/pkgs/development/libraries/haskell/base16-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/base16-bytestring/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "base16-bytestring";
-  version = "0.1.1.4";
-  sha256 = "061rxlw5kjwj0s08kml46qpw602xwwp05285gpad8c7baw5mzxlr";
+  version = "0.1.1.5";
+  sha256 = "1fgd3zdzjfry6jaz8hwhim0p2c35l73cxxambh0ff7p5fqjrlwym";
   meta = {
     homepage = "http://github.com/bos/base16-bytestring";
     description = "Fast base16 (hex) encoding and decoding for ByteStrings";
diff --git a/pkgs/development/libraries/haskell/base64-bytestring/default.nix b/pkgs/development/libraries/haskell/base64-bytestring/default.nix
index 014256b90495..5fd552d6272b 100644
--- a/pkgs/development/libraries/haskell/base64-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/base64-bytestring/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "base64-bytestring";
-  version = "0.1.1.1";
-  sha256 = "0j0jns0yf7dv2bx91hayc8hx0pdab7rhkjllmkl8019kf8rx3gwd";
+  version = "0.1.2.0";
+  sha256 = "039naasb3z8q42zl067paylxb9i1m1pkp4w6b5yqsc38sbmikv1z";
   meta = {
     homepage = "https://github.com/bos/base64-bytestring";
     description = "Fast base64 encoding and deconding for ByteStrings";
diff --git a/pkgs/development/libraries/haskell/binary-shared/default.nix b/pkgs/development/libraries/haskell/binary-shared/default.nix
index 63ba8acddf6f..6d70e384c380 100644
--- a/pkgs/development/libraries/haskell/binary-shared/default.nix
+++ b/pkgs/development/libraries/haskell/binary-shared/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "binary-shared";
-  version = "0.8.1";
-  sha256 = "0niq6hgsawsdg3kkjgkwyrgy8w7pfkqfph5d1x5bzcjrcl982jrg";
+  version = "0.8.2";
+  sha256 = "05cqdpclb4xc6ydwdpxfi3bvaaw7syxlmb5r9kxjcp3f6fji5rm2";
   buildDepends = [ binary mtl ];
   meta = {
     homepage = "http://www.leksah.org";
diff --git a/pkgs/development/libraries/haskell/binary/default.nix b/pkgs/development/libraries/haskell/binary/default.nix
index 01a9483c5541..a8fefba02741 100644
--- a/pkgs/development/libraries/haskell/binary/default.nix
+++ b/pkgs/development/libraries/haskell/binary/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "binary";
-  version = "0.5.1.0";
-  sha256 = "18si0f021447b1kqshar224zyh02gc65z7v82waxcn4igss7gm1a";
+  version = "0.5.1.1";
+  sha256 = "0s62a92a2wwp8hdmkc6j6i9lh5mi6z1yd26fbhsbbm8bxah64pcl";
   meta = {
     homepage = "http://code.haskell.org/binary/";
     description = "Binary serialisation for Haskell values using lazy ByteStrings";
diff --git a/pkgs/development/libraries/haskell/blaze-html/0.4.3.4.nix b/pkgs/development/libraries/haskell/blaze-html/0.4.3.4.nix
deleted file mode 100644
index e3ec5167f367..000000000000
--- a/pkgs/development/libraries/haskell/blaze-html/0.4.3.4.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, blazeBuilder, text }:
-
-cabal.mkDerivation (self: {
-  pname = "blaze-html";
-  version = "0.4.3.4";
-  sha256 = "1xd8l28rriczd5zxgmjif393kjzqibrp68pfah0kknrjmc3ybn20";
-  buildDepends = [ blazeBuilder text ];
-  meta = {
-    homepage = "http://jaspervdj.be/blaze";
-    description = "A blazingly fast HTML combinator library for Haskell";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/blaze-html/0.5.0.0.nix b/pkgs/development/libraries/haskell/blaze-html/default.nix
index c8b2eb06a321..c8b2eb06a321 100644
--- a/pkgs/development/libraries/haskell/blaze-html/0.5.0.0.nix
+++ b/pkgs/development/libraries/haskell/blaze-html/default.nix
diff --git a/pkgs/development/libraries/haskell/bloomfilter/default.nix b/pkgs/development/libraries/haskell/bloomfilter/default.nix
index fb88cf3d50a0..2545c3f4f407 100644
--- a/pkgs/development/libraries/haskell/bloomfilter/default.nix
+++ b/pkgs/development/libraries/haskell/bloomfilter/default.nix
@@ -2,11 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "bloomfilter";
-  version = "1.2.6.8";
-  sha256 = "0qv25dfyqbkswcbw1cxs4zcm8zl0xi5880zx6fab8ka6vnx2a5nf";
+  version = "1.2.6.10";
+  sha256 = "1z2jc7588fkv42dxf0dxsrgk5pmj3xapshy1vyfwipp1q6y20x4j";
   buildDepends = [ deepseq ];
   meta = {
-    homepage = "http://www.serpentine.com/software/bloomfilter";
+    homepage = "https://github.com/bos/bloomfilter";
     description = "Pure and impure Bloom Filter implementations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/bson/default.nix b/pkgs/development/libraries/haskell/bson/default.nix
index 3e0aacbaa9d4..20107eb17844 100644
--- a/pkgs/development/libraries/haskell/bson/default.nix
+++ b/pkgs/development/libraries/haskell/bson/default.nix
@@ -1,17 +1,16 @@
-{ cabal, binary, compactStringFix, cryptohash, dataBinaryIeee754
-, mtl, network, time
+{ cabal, binary, cryptohash, dataBinaryIeee754, mtl, network, text
+, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "bson";
-  version = "0.1.7";
-  sha256 = "1dmndq0rx22h9kxv31rxwqhwkgsvqg9qy4l0xmvpcvvl101zj4jx";
+  version = "0.2.1";
+  sha256 = "1g5xvkpn5j2yn9figxiv5dindwv6gg90np56k235hy9cwmdicmwq";
   buildDepends = [
-    binary compactStringFix cryptohash dataBinaryIeee754 mtl network
-    time
+    binary cryptohash dataBinaryIeee754 mtl network text time
   ];
   meta = {
-    homepage = "http://github.com/TonyGen/bson-haskell";
+    homepage = "http://github.com/selectel/bson-haskell";
     description = "BSON documents are JSON-like objects with a standard binary encoding";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/cabal-macosx/default.nix b/pkgs/development/libraries/haskell/cabal-macosx/default.nix
new file mode 100644
index 000000000000..0f651e1eaae3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cabal-macosx/default.nix
@@ -0,0 +1,17 @@
+{ cabal, Cabal, fgl, filepath, MissingH, parsec }:
+
+cabal.mkDerivation (self: {
+  pname = "cabal-macosx";
+  version = "0.2.2";
+  sha256 = "14dc7swk03q2kp5fmhwibjh0x0pzf9ah1004skgd5six0vzfc1ch";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ Cabal fgl filepath MissingH parsec ];
+  meta = {
+    homepage = "http://github.com/gimbo/cabal-macosx";
+    description = "Cabal support for creating Mac OSX application bundles";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cairo/default.nix b/pkgs/development/libraries/haskell/cairo/default.nix
index 46180b9a8276..183e0815f715 100644
--- a/pkgs/development/libraries/haskell/cairo/default.nix
+++ b/pkgs/development/libraries/haskell/cairo/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cairo";
-  version = "0.12.3";
-  sha256 = "0kgy6907vs41ws51dwqv6lwvfnvmgd1mns12cxzsifmli1jglswd";
+  version = "0.12.3.1";
+  sha256 = "173pql0n51a9z46vzpwd9q67nblhb61qirynjra9vzydiy79bfwi";
   buildDepends = [ mtl ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ cairo libc pkgconfig zlib ];
diff --git a/pkgs/development/libraries/haskell/cereal/default.nix b/pkgs/development/libraries/haskell/cereal/default.nix
index a2a87fda3855..a28ea11c511e 100644
--- a/pkgs/development/libraries/haskell/cereal/default.nix
+++ b/pkgs/development/libraries/haskell/cereal/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cereal";
-  version = "0.3.5.1";
-  sha256 = "1a9ri0fs0vh75c9llpjyvqp6qkjciqri6adpyn7hbqrn2z1h0l5n";
+  version = "0.3.5.2";
+  sha256 = "0yjxvhagsm552idfrs6d9lzlz6x5878xj1vfg0zxf8w1kixgghil";
   meta = {
     description = "A binary serialization library";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/certificate/default.nix b/pkgs/development/libraries/haskell/certificate/default.nix
index 019ff16733bf..89410dbcb004 100644
--- a/pkgs/development/libraries/haskell/certificate/default.nix
+++ b/pkgs/development/libraries/haskell/certificate/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "certificate";
-  version = "1.2.2";
-  sha256 = "0qwx0y534fa5p2wzxd5q2bvcsvmmvmy45rwzj01g6zyjzmx2rnsb";
+  version = "1.2.3";
+  sha256 = "0xn46327a50vj70d26gc4z2rn4l6qk77j7mkdwg1j2yh6mcn0n7a";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ asn1Data cryptoPubkeyTypes mtl pem time ];
diff --git a/pkgs/development/libraries/haskell/cpu/default.nix b/pkgs/development/libraries/haskell/cpu/default.nix
index 832b7db03690..dc27553c2a3b 100644
--- a/pkgs/development/libraries/haskell/cpu/default.nix
+++ b/pkgs/development/libraries/haskell/cpu/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cpu";
-  version = "0.1.0";
-  sha256 = "020s1cv3qkhjq0gypxligg2x68izb3z82krv8y1m1k360554nqyg";
+  version = "0.1.1";
+  sha256 = "0ygkxx8ksa0rh63569d3g0w8pzgwg6062sd4yyi3q646zcmryhj6";
   isLibrary = true;
   isExecutable = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/cryptocipher/default.nix b/pkgs/development/libraries/haskell/cryptocipher/default.nix
index 767891bf18ac..1798f4e21a59 100644
--- a/pkgs/development/libraries/haskell/cryptocipher/default.nix
+++ b/pkgs/development/libraries/haskell/cryptocipher/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cryptocipher";
-  version = "0.3.2";
-  sha256 = "0nw7rwlnakdslzg4z6ik9hfylwnrbn103n677w0xr5b81wj19a5j";
+  version = "0.3.5";
+  sha256 = "02qc1rr9l51dnk0sn7js8zv2w2qhkha3ik828j5s729h80cyw99s";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/cuda/default.nix b/pkgs/development/libraries/haskell/cuda/default.nix
new file mode 100644
index 000000000000..5c0614bc0b44
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cuda/default.nix
@@ -0,0 +1,43 @@
+{ cabal, c2hs, cudatoolkit, extensibleExceptions, nvidia_x11 }:
+
+cabal.mkDerivation (self: {
+  pname = "cuda";
+  version = "0.4.1.0";
+  sha256 = "1drr95d4v3khidxr6na5vyq28bv5rqk2n676q0bydc4rqwhb1z6w";
+  buildDepends = [ extensibleExceptions ];
+  buildTools = [ c2hs ];
+  extraLibraries = [ cudatoolkit nvidia_x11 self.stdenv.gcc ];
+  # Perhaps this should be the default in cabal.nix ...
+  #
+  # The cudatoolkit provides both 64 and 32-bit versions of the
+  # library. GHC's linker fails if the wrong version is found first.
+  # We solve this by eliminating lib64 from the path on 32-bit
+  # platforms and putting lib64 first on 64-bit platforms.
+  
+  libPaths = if self.stdenv.is64bit then "lib64 lib" else "lib";
+  
+  configurePhase = ''
+    for i in Setup.hs Setup.lhs; do
+      test -f $i && ghc --make $i
+    done
+  
+    for p in $extraBuildInputs $propagatedBuildNativeInputs; do
+      if [ -d "$p/include" ]; then
+        extraLibDirs="$extraLibDirs --extra-include-dir=$p/include"
+      fi
+      for d in $libPaths; do
+        if [ -d "$p/$d" ]; then
+          extraLibDirs="$extraLibDirs --extra-lib-dir=$p/$d"
+        fi
+      done
+    done
+  
+    ./Setup configure --verbose --prefix="$out" $libraryProfiling $extraLibDirs $configureFlags
+  '';
+  meta = {
+    description = "FFI binding to the CUDA interface for programming NVIDIA GPUs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/derive/default.nix b/pkgs/development/libraries/haskell/derive/default.nix
index f3c1685998e9..c05f7fd02317 100644
--- a/pkgs/development/libraries/haskell/derive/default.nix
+++ b/pkgs/development/libraries/haskell/derive/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "derive";
-  version = "2.5.8";
-  sha256 = "0l11pscya7mrn0502q8ndqn551k5aygbm7pihhs0nz8wwzr82xdv";
+  version = "2.5.9";
+  sha256 = "1rws401dpdck7c9jxfv9h46r06vn730lw1fsxvvidnf3hlr0yyk5";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/exception-mtl/default.nix b/pkgs/development/libraries/haskell/exception-mtl/default.nix
new file mode 100644
index 000000000000..9b378751ebf3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/exception-mtl/default.nix
@@ -0,0 +1,15 @@
+{ cabal, exceptionTransformers, mtl, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "exception-mtl";
+  version = "0.3.0.2";
+  sha256 = "1mhk1z7hz50h8ssr4s7dzdxzn02rr0njxijdddfjjw71fln3nl5h";
+  buildDepends = [ exceptionTransformers mtl transformers ];
+  meta = {
+    homepage = "http://www.eecs.harvard.edu/~mainland/";
+    description = "Exception monad transformer instances for mtl2 classes";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/exception-transformers/default.nix b/pkgs/development/libraries/haskell/exception-transformers/default.nix
new file mode 100644
index 000000000000..b1e0fcec5e0e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/exception-transformers/default.nix
@@ -0,0 +1,15 @@
+{ cabal, stm, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "exception-transformers";
+  version = "0.3.0.2";
+  sha256 = "1ah3dimnc980vkr2lycpl4nsb615gxqws6mv9j90mz6g165h9khf";
+  buildDepends = [ stm transformers ];
+  meta = {
+    homepage = "http://www.eecs.harvard.edu/~mainland/";
+    description = "Type classes and monads for unchecked extensible exceptions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/executable-path/default.nix b/pkgs/development/libraries/haskell/executable-path/default.nix
new file mode 100644
index 000000000000..5c69969c20d2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/executable-path/default.nix
@@ -0,0 +1,15 @@
+{ cabal, filepath }:
+
+cabal.mkDerivation (self: {
+  pname = "executable-path";
+  version = "0.0.3";
+  sha256 = "1jg58qf19qz93c60ryglcavwdcysz4fd4qn8kpw5im9w9kniawlc";
+  buildDepends = [ filepath ];
+  meta = {
+    homepage = "http://code.haskell.org/~bkomuves/";
+    description = "Finding out the full path of the executable";
+    license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/file-embed/default.nix b/pkgs/development/libraries/haskell/file-embed/default.nix
index dbff3aa803a2..1ca06b356ecf 100644
--- a/pkgs/development/libraries/haskell/file-embed/default.nix
+++ b/pkgs/development/libraries/haskell/file-embed/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "file-embed";
-  version = "0.0.4.3";
-  sha256 = "0iagibsab18czvam36si88swzf5sijm4phwy4za6gnn4z71nb9s6";
+  version = "0.0.4.4";
+  sha256 = "1czwa5vpafhvif4gv7bwa7hrxkrbrvvybgyjckd0hdpl6bpd4nhp";
   meta = {
     homepage = "https://github.com/snoyberg/file-embed";
     description = "Use Template Haskell to embed file contents directly";
diff --git a/pkgs/development/libraries/haskell/filestore/default.nix b/pkgs/development/libraries/haskell/filestore/default.nix
index 8462629a4be2..355c6ef876ce 100644
--- a/pkgs/development/libraries/haskell/filestore/default.nix
+++ b/pkgs/development/libraries/haskell/filestore/default.nix
@@ -4,15 +4,15 @@
 
 cabal.mkDerivation (self: {
   pname = "filestore";
-  version = "0.4.2";
-  sha256 = "1zv5c1r82a77p6dadabj8853a0z7p8qrk0fdxvr9sr02zd95cg16";
+  version = "0.5";
+  sha256 = "0cppm8iksz4dnh4kafyfy0cqbidw83rdpgc1mksiwh9c9gaxrlq7";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     Diff filepath HUnit mtl parsec split time utf8String xml
   ];
+  noHaddock = true;
   meta = {
-    homepage = "http://johnmacfarlane.net/repos/filestore";
     description = "Interface for versioning file stores";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/generic-deriving/default.nix b/pkgs/development/libraries/haskell/generic-deriving/default.nix
index 0ed052acd3ef..ffc44542976e 100644
--- a/pkgs/development/libraries/haskell/generic-deriving/default.nix
+++ b/pkgs/development/libraries/haskell/generic-deriving/default.nix
@@ -2,10 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "generic-deriving";
-  version = "1.0.3";
-  sha256 = "0g5sw4m9qdr1l47zq15l6jk9ksz1nazssdxz7lrdqx6ib3xbrz6y";
+  version = "1.2.1";
+  sha256 = "0ld4kh3p3lmavxi4y25fpxvq75qk7bd87yvwcbj63j6af1v60h2z";
   meta = {
-    description = "Generic programming library for generalized deriving";
+    description = "Generic programming library for generalised deriving";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
diff --git a/pkgs/development/libraries/haskell/ghc-events/default.nix b/pkgs/development/libraries/haskell/ghc-events/default.nix
index fa6ae059e845..4827b7494845 100644
--- a/pkgs/development/libraries/haskell/ghc-events/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-events/default.nix
@@ -7,6 +7,9 @@ cabal.mkDerivation (self: {
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ binary mtl ];
+  patchPhase = ''
+    sed -i -e 's|mtl *>=.*$|mtl,|' ghc-events.cabal
+  '';
   noHaddock = true;
   meta = {
     description = "Library and tool for parsing .eventlog files from GHC";
diff --git a/pkgs/development/libraries/haskell/ghc-mod/default.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix
index b95d1e6d73be..b4412c35421c 100644
--- a/pkgs/development/libraries/haskell/ghc-mod/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-mod/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-mod";
-  version = "1.10.15";
-  sha256 = "1ywsv8nxd5040k3v5r9kf4zb0myicnjg6yckxmp6xnvf5glylylm";
+  version = "1.11.0";
+  sha256 = "19cx6jhciww2xgad3q35h3jlwiv9s9b6na2qi1cbga7p77swarsv";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
@@ -14,14 +14,13 @@ cabal.mkDerivation (self: {
   ];
   buildTools = [ emacs ];
   postInstall = ''
-    cd $out/share/$pname-$version
-    make
-    rm Makefile
-    cd ..
-    ensureDir "$out/share/emacs"
-    mv $pname-$version emacs/site-lisp
-  '';
-
+      cd $out/share/$pname-$version
+      make
+      rm Makefile
+      cd ..
+      ensureDir "$out/share/emacs"
+      mv $pname-$version emacs/site-lisp
+    '';
   meta = {
     homepage = "http://www.mew.org/~kazu/proj/ghc-mod/";
     description = "Happy Haskell programming on Emacs/Vim";
@@ -30,7 +29,6 @@ cabal.mkDerivation (self: {
     maintainers = [
       self.stdenv.lib.maintainers.andres
       self.stdenv.lib.maintainers.bluescreen303
-      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gitit/default.nix b/pkgs/development/libraries/haskell/gitit/default.nix
index 14951eebbd54..7f15c201999b 100644
--- a/pkgs/development/libraries/haskell/gitit/default.nix
+++ b/pkgs/development/libraries/haskell/gitit/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gitit";
-  version = "0.9.0.1";
-  sha256 = "1k1z6qvp72c61yhrfma3340wf4ysjkb80f8lqapaqsyhp96qjl3m";
+  version = "0.10.0.1";
+  sha256 = "0dx4jq7j0s6h5lfl8qrr4qnyb3j0cnnc1c786yf8kcmhk04n028f";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/glib/default.nix b/pkgs/development/libraries/haskell/glib/default.nix
index 4183ac45f70e..86ce395f1ff2 100644
--- a/pkgs/development/libraries/haskell/glib/default.nix
+++ b/pkgs/development/libraries/haskell/glib/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "glib";
-  version = "0.12.3";
-  sha256 = "1hv7wnxsjzlr2bchl8ir967iv9qjzlv9lnlyvrilagzafr7nximb";
+  version = "0.12.3.1";
+  sha256 = "1k5s1d05kv0amvkjr644pqvicvmcgr5fffsz0xyljbj5jk4iv0py";
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
   pkgconfigDepends = [ glib ];
diff --git a/pkgs/development/libraries/haskell/graphviz/default.nix b/pkgs/development/libraries/haskell/graphviz/default.nix
index f17133b4da39..77867472d661 100644
--- a/pkgs/development/libraries/haskell/graphviz/default.nix
+++ b/pkgs/development/libraries/haskell/graphviz/default.nix
@@ -4,14 +4,11 @@
 
 cabal.mkDerivation (self: {
   pname = "graphviz";
-  version = "2999.13.0.2";
-  sha256 = "17b95zi8j7mnzrp3kybyfyqqpcdhbf0mdrk0sfnw3qp8fbyfrw1i";
+  version = "2999.13.0.3";
+  sha256 = "0rwjlwfa3s1vgh5mwzwmzq4s153iq338zy7jqi0qyxcs52illqq8";
   buildDepends = [
     colour dlist fgl filepath polyparse text transformers wlPprintText
   ];
-  patchPhase = ''
-    sed -i graphviz.cabal -e 's|transformers == 0.2.\*|transformers|'
-  '';
   meta = {
     homepage = "http://projects.haskell.org/graphviz/";
     description = "Bindings to Graphviz for graph visualisation";
diff --git a/pkgs/development/libraries/haskell/gtk/default.nix b/pkgs/development/libraries/haskell/gtk/default.nix
index 81c34f20c1cd..57e6e20f78d5 100644
--- a/pkgs/development/libraries/haskell/gtk/default.nix
+++ b/pkgs/development/libraries/haskell/gtk/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gtk";
-  version = "0.12.3";
-  sha256 = "0a5bb1qkxpkmm69b31jpqy7njnsk9bhhhp6z0h971zsxsrxpi04q";
+  version = "0.12.3.1";
+  sha256 = "0v9sh07lpvih2gk4ivy0jx2slw7rpvbf75xp20plzgzmay1y978s";
   buildDepends = [ cairo glib mtl pango ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
diff --git a/pkgs/development/libraries/haskell/gtk2hs-buildtools/0.12.3.nix b/pkgs/development/libraries/haskell/gtk2hs-buildtools/0.12.3.nix
deleted file mode 100644
index a9b5efe58779..000000000000
--- a/pkgs/development/libraries/haskell/gtk2hs-buildtools/0.12.3.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ cabal, alex, filepath, happy, random }:
-
-cabal.mkDerivation (self: {
-  pname = "gtk2hs-buildtools";
-  version = "0.12.3";
-  sha256 = "1129p2b0hvmin7zpq43ik670v2c63jv704bnmnh3cr0bw06qrrbi";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ filepath random ];
-  buildTools = [ alex happy ];
-  meta = {
-    homepage = "http://projects.haskell.org/gtk2hs/";
-    description = "Tools to build the Gtk2Hs suite of User Interface libraries";
-    license = self.stdenv.lib.licenses.gpl2;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/gtk2hs-buildtools/0.12.1.nix b/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
index 782e3fc9444c..aea067af9047 100644
--- a/pkgs/development/libraries/haskell/gtk2hs-buildtools/0.12.1.nix
+++ b/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gtk2hs-buildtools";
-  version = "0.12.1";
-  sha256 = "003d48q8q6ji4axa69bh0sp95fic19cgw3hwigsjbl46qgh6n9gl";
+  version = "0.12.3.1";
+  sha256 = "0a5lay1zy1pi6inaqjvhn8v0by2z5dpy3dssqsxwbq2hkfxizzy6";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ filepath random ];
diff --git a/pkgs/development/libraries/haskell/gtksourceview2/default.nix b/pkgs/development/libraries/haskell/gtksourceview2/default.nix
index 353ae9e441db..756e1a1df978 100644
--- a/pkgs/development/libraries/haskell/gtksourceview2/default.nix
+++ b/pkgs/development/libraries/haskell/gtksourceview2/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gtksourceview2";
-  version = "0.12.3";
-  sha256 = "0bhwvhwsg3mf4w94fl6z6qkn67i68hh3zwwhzqa59lia0nc233gd";
+  version = "0.12.3.1";
+  sha256 = "1c91ja753dzr2c7sv13wn47sjbjg45jv8xx9ybx1q3188xrldqng";
   buildDepends = [ glib gtk mtl ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index 04375877bca2..8dfeb9413d38 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -1,15 +1,16 @@
-{ cabal, binary, blazeHtml, citeprocHs, cryptohash, filepath
-, hamlet, mtl, pandoc, parsec, regexBase, regexTdfa, snapCore
-, snapServer, tagsoup, time
+{ cabal, binary, blazeHtml, blazeMarkup, citeprocHs, cryptohash
+, filepath, hamlet, mtl, pandoc, parsec, regexBase, regexTdfa
+, snapCore, snapServer, tagsoup, text, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "hakyll";
-  version = "3.2.7.2";
-  sha256 = "1l37w3q2jhcxjkq3h0nh8hl21vscgvsj6jkkd2hni62kfzfrgqhw";
+  version = "3.4.0.0";
+  sha256 = "1m69kzjbsspf69qc3yq6qhpnk3vd3k5qa7zssazm8717sgrb2z9m";
   buildDepends = [
-    binary blazeHtml citeprocHs cryptohash filepath hamlet mtl pandoc
-    parsec regexBase regexTdfa snapCore snapServer tagsoup time
+    binary blazeHtml blazeMarkup citeprocHs cryptohash filepath hamlet
+    mtl pandoc parsec regexBase regexTdfa snapCore snapServer tagsoup
+    text time
   ];
   meta = {
     homepage = "http://jaspervdj.be/hakyll";
diff --git a/pkgs/development/libraries/haskell/hamlet/default.nix b/pkgs/development/libraries/haskell/hamlet/default.nix
index 083e75a87f19..addc495d867d 100644
--- a/pkgs/development/libraries/haskell/hamlet/default.nix
+++ b/pkgs/development/libraries/haskell/hamlet/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hamlet";
-  version = "1.0.1.3";
-  sha256 = "0pdnq8kvln6jr5gwzd1fj0knd2ph1a76ra1njwaccliqig1s7j3n";
+  version = "1.0.1.4";
+  sha256 = "0rvsp54wrhaz5pnn136w1xlny9dkwv48ihyhq02yg5gg510v08v7";
   buildDepends = [
     blazeBuilder blazeHtml blazeMarkup failure parsec shakespeare text
   ];
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-data.nix b/pkgs/development/libraries/haskell/happstack/happstack-data.nix
deleted file mode 100644
index bdf27495d82a..000000000000
--- a/pkgs/development/libraries/haskell/happstack/happstack-data.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ cabal, binary, mtl, syb, sybWithClass, sybWithClassInstancesText
-, text, time
-}:
-
-cabal.mkDerivation (self: {
-  pname = "happstack-data";
-  version = "6.0.1";
-  sha256 = "0v2ln4mdnild72p02mzjn8mn5srvjixsjqjgkdqzshvxjnnm95l8";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    binary mtl syb sybWithClass sybWithClassInstancesText text time
-  ];
-  meta = {
-    homepage = "http://happstack.com";
-    description = "Happstack data manipulation libraries";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
index 6ccf6d77a0c9..39f93102da00 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-server.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "happstack-server";
-  version = "7.0.1";
-  sha256 = "0sjcfxcpv9sssk5fr5np57b10rajcid7x582s5ialf3yc9n1fshj";
+  version = "7.0.3";
+  sha256 = "06r5h1jhb4h9hra7radhr3rq404283nwv4mhppfxsh4adk5ng0qy";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-util.nix b/pkgs/development/libraries/haskell/happstack/happstack-util.nix
index f63d253864c6..b457ec6dc322 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-util.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-util.nix
@@ -12,6 +12,9 @@ cabal.mkDerivation (self: {
     extensibleExceptions filepath hslogger mtl network parsec random
     time unixCompat
   ];
+  patchPhase = ''
+    sed -i -e 's|mtl >= 1.1 && < 2.1|mtl|' happstack-util.cabal
+  '';
   meta = {
     homepage = "http://happstack.com";
     description = "Web framework";
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix
new file mode 100644
index 000000000000..be2aa50e3966
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix
@@ -0,0 +1,42 @@
+{cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
+ haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix,
+ stm, syb, deepseq, text, transformers, mtl, xhtml, zlib, random,
+ cabalInstall, alex, happy, haddock, ghc}:
+
+# This is just a meta-package. Because upstream fails to provide proper versioned
+# release tarballs that can be used for the purpose of verifying this package, we
+# just create it on the fly from a simple Setup.hs file and a .cabal file that we
+# store directly in the nixpkgs repository.
+
+cabal.mkDerivation (self : {
+  pname = "haskell-platform";
+  version = "2012.2.0.0";
+  cabalFile = ./haskell-platform-2012.2.0.0.cabal;
+  setupFile = ./Setup.hs;
+  src = null;
+  propagatedBuildInputs = [
+    GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
+    haskellSrc html network parallel parsec regexBase regexCompat regexPosix
+    stm syb deepseq text transformers mtl xhtml zlib random
+    cabalInstall alex happy ghc haddock
+  ];
+  unpackPhase = ''
+    sourceRoot=haskell-platform
+    mkdir $sourceRoot
+    cp ${self.cabalFile} $sourceRoot/${self.pname}.cabal
+    cp ${self.setupFile} $sourceRoot/Setup.hs
+    touch $sourceRoot/LICENSE
+  '';
+  noHaddock = true;
+  meta = {
+    homepage = "http://haskell.org/platform";
+    description = "Haskell Platform meta package";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
+
diff --git a/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.2.0.0.cabal b/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.2.0.0.cabal
new file mode 100644
index 000000000000..264d636f9942
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.2.0.0.cabal
@@ -0,0 +1,89 @@
+name:                haskell-platform
+version:             2012.2.0.0
+homepage:            http://haskell.org/platform
+license:             BSD3
+license-file:        LICENSE
+author:              libraries@haskell.org
+maintainer:          haskell-platform@projects.haskell.org
+category:            System
+synopsis:            The Haskell Platform
+description:
+    The Haskell Platform (HP) is the blessed set of libraries and tools on
+    which to build further Haskell libraries and applications. It is
+    intended to provide a comprehensive, stable, and quality tested base for
+    Haskell projects to work from.
+    .
+    This version specifies the following additional developer tools be
+    installed, for a system to be in full compliance:
+    . 
+    * cabal-install
+    * alex
+    * happy
+    * haddock
+
+cabal-version:       >= 1.8
+build-type:          Custom
+tested-with:         GHC ==7.4.1
+
+library
+  build-depends:
+    -- ghc                      ==7.4.1,
+    
+    -- Core libraries: provided by every ghc installation
+    -- We don't include "non-API" packages here.
+    -- array                    ==0.4.0.0,
+    -- base                     ==4.5.0.0,
+    -- bytestring               ==0.9.2.1,
+    -- Cabal                    ==1.14.0,
+    -- containers               ==0.4.2.1,
+    -- deepseq                  ==1.3.0.0,
+    -- directory                ==1.1.0.2,
+    -- extensible-exceptions    ==0.1.1.4,
+    -- filepath                 ==1.3.0.0,
+    -- haskell2010              ==1.1.0.1,
+    -- haskell98                ==2.0.0.1,
+    -- hpc                      ==0.5.1.1,
+    -- old-locale               ==1.0.0.4,
+    -- old-time                 ==1.1.0.0,
+    -- pretty                   ==1.1.1.0,
+    -- process                  ==1.1.0.1,
+    -- template-haskell         ==2.7.0.0,
+    -- time                     ==1.4,
+    -- unix                     ==2.5.1.0,
+    -- Win32                    ==2.2.2.0,
+
+    -- Libraries in addition to what GHC provides:
+    -- Note: newer versions of cgi need monad-catchio.
+    cgi                         ==3001.1.7.4,
+    fgl                         ==5.4.2.4,
+    GLUT                        ==2.1.2.1,
+    haskell-src                 ==1.0.1.5,
+    html                        ==1.0.1.2,
+    HTTP                        ==4000.2.3,
+    HUnit                       ==1.2.4.2,
+    mtl                         ==2.1.1,
+    network                     ==2.3.0.13,
+    OpenGL                      ==2.2.3.1,
+    parallel                    ==3.2.0.2,
+    parsec                      ==3.1.2,
+    QuickCheck                  ==2.4.2,
+    random                      ==1.0.1.1,
+    regex-base                  ==0.93.2,
+    regex-compat                ==0.95.1,
+    regex-posix                 ==0.95.1,
+    stm                         ==2.3,
+    syb                         ==0.3.6.1,
+    text                        ==0.11.2.0,
+    transformers                ==0.3.0.0,
+    xhtml                       ==3000.2.1,
+    zlib                        ==0.5.3.3
+
+  -- Depending on programs does not work, they are not registered
+  -- We list them to help distro packaging.
+  build-tools:
+    cabal-install               ==0.14.0,
+    alex                        ==3.0.1,
+    happy                       ==1.18.9
+    -- hscolour                 ==1.19
+    -- haddock                  ==2.10.0 -- need to use the one shipped with ghc
+
diff --git a/pkgs/development/libraries/haskell/hastache/default.nix b/pkgs/development/libraries/haskell/hastache/default.nix
index ef11e344b446..54decaa5ecb8 100644
--- a/pkgs/development/libraries/haskell/hastache/default.nix
+++ b/pkgs/development/libraries/haskell/hastache/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hastache";
-  version = "0.3.3";
-  sha256 = "18ayrfwi3jn3q650m5dm9wx9c7djwc2miz3mxlscd9gzlnrfi772";
+  version = "0.4.1";
+  sha256 = "1d6d3bmmfx1jh38hhmvaq1ncdxlfjc0mc7jvbxqgr00dg73wfgdk";
   buildDepends = [
     blazeBuilder filepath ieee754 mtl syb text utf8String
   ];
diff --git a/pkgs/development/libraries/haskell/haxr/default.nix b/pkgs/development/libraries/haskell/haxr/default.nix
index 3e14485ea1a1..1283d3a4a59e 100644
--- a/pkgs/development/libraries/haskell/haxr/default.nix
+++ b/pkgs/development/libraries/haskell/haxr/default.nix
@@ -1,13 +1,14 @@
-{ cabal, blazeBuilder, dataenc, HaXml, HTTP, mtl, network, time
-, utf8String
+{ cabal, base64Bytestring, blazeBuilder, HaXml, HTTP, mtl, network
+, time, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "haxr";
-  version = "3000.8.5";
-  sha256 = "1gfifqc7ldklapnymwd9ss0lll6q87sbg1hc6pa4c9sh275x1rz6";
+  version = "3000.9.0.1";
+  sha256 = "106hw8ysjx12dvwij4ld6n54mxj2yl1p7iihp2fwz50v50mz6102";
   buildDepends = [
-    blazeBuilder dataenc HaXml HTTP mtl network time utf8String
+    base64Bytestring blazeBuilder HaXml HTTP mtl network time
+    utf8String
   ];
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/HaXR";
diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
index 7799ae0c3114..d92d15d2a16f 100644
--- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix
+++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "highlighting-kate";
-  version = "0.5.0.6";
-  sha256 = "068ksmi8kdjm00279lnnhih4sqs9yh8mnvvn71brwak5r361m056";
+  version = "0.5.1";
+  sha256 = "0l0g71rg7cs9rm4i04h88fm20868s0kf2da89297xlrm58zfv0jj";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ blazeHtml filepath mtl parsec regexPcreBuiltin ];
diff --git a/pkgs/development/libraries/haskell/hinotify/default.nix b/pkgs/development/libraries/haskell/hinotify/default.nix
new file mode 100644
index 000000000000..8cbf3f20a72d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hinotify/default.nix
@@ -0,0 +1,14 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "hinotify";
+  version = "0.3.2";
+  sha256 = "0gr9rv1af6w7g2hbjhz1livi5zfhzdswjyapvjz3d7cga906bj48";
+  meta = {
+    homepage = "http://code.haskell.org/hinotify/README.html";
+    description = "Haskell binding to INotify";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hjsmin/default.nix b/pkgs/development/libraries/haskell/hjsmin/default.nix
index a61d798f429a..6d749feea3a0 100644
--- a/pkgs/development/libraries/haskell/hjsmin/default.nix
+++ b/pkgs/development/libraries/haskell/hjsmin/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hjsmin";
-  version = "0.1.1";
-  sha256 = "0v28z5l5fraf09b65j0fm75b702xp1s4ar8p5g9kigfn1wh8b62k";
+  version = "0.1.2";
+  sha256 = "04yk383504blg8x10x5j1fd5mzyybqkhz7jfsyimvz2wz2v86qsb";
   buildDepends = [ blazeBuilder languageJavascript text ];
   meta = {
     homepage = "http://github.com/alanz/hjsmin";
diff --git a/pkgs/development/libraries/haskell/hledger-chart/default.nix b/pkgs/development/libraries/haskell/hledger-chart/default.nix
deleted file mode 100644
index 020a8dfa2afa..000000000000
--- a/pkgs/development/libraries/haskell/hledger-chart/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ cabal, Chart, cmdargs, colour, hledger, hledgerLib, HUnit, safe
-, time
-}:
-
-cabal.mkDerivation (self: {
-  pname = "hledger-chart";
-  version = "0.16.1";
-  sha256 = "1yk563032ir98gqdvxazjjl1alg6q1pflzawh11pr3zrdnriracn";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [
-    Chart cmdargs colour hledger hledgerLib HUnit safe time
-  ];
-  patchPhase = ''
-    sed -i hledger-chart.cabal -e 's|Chart >= 0.11 && < 0.15|Chart|g'
-  '';
-  meta = {
-    homepage = "http://hledger.org";
-    description = "A pie chart image generator for the hledger accounting tool";
-    license = "GPL";
-    platforms = self.stdenv.lib.platforms.linux;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/hledger-lib/default.nix b/pkgs/development/libraries/haskell/hledger-lib/default.nix
index 62a90257d1d8..ef244bcb7689 100644
--- a/pkgs/development/libraries/haskell/hledger-lib/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-lib/default.nix
@@ -1,14 +1,14 @@
-{ cabal, cmdargs, filepath, HUnit, mtl, parsec, regexpr, safe
-, split, time, utf8String
+{ cabal, cmdargs, csv, filepath, HUnit, mtl, parsec, regexpr, safe
+, shakespeareText, split, time, transformers, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "hledger-lib";
-  version = "0.17";
-  sha256 = "0dlm3hjbcf48nzz597ag1q9y0phsc09062wvzpmfkhk4hsijpds4";
+  version = "0.18.2";
+  sha256 = "0lcs58bdix4m7sslrdi38rqw5x5fb4ip0n5is0phxdrbp0nggd4z";
   buildDepends = [
-    cmdargs filepath HUnit mtl parsec regexpr safe split time
-    utf8String
+    cmdargs csv filepath HUnit mtl parsec regexpr safe shakespeareText
+    split time transformers utf8String
   ];
   meta = {
     homepage = "http://hledger.org";
diff --git a/pkgs/development/libraries/haskell/hledger-vty/default.nix b/pkgs/development/libraries/haskell/hledger-vty/default.nix
deleted file mode 100644
index c304a6646ec7..000000000000
--- a/pkgs/development/libraries/haskell/hledger-vty/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ cabal, cmdargs, hledger, hledgerLib, HUnit, safe, time, vty }:
-
-cabal.mkDerivation (self: {
-  pname = "hledger-vty";
-  version = "0.16.1";
-  sha256 = "10aq9apxz6nrzvvynha0wkhy34dn8dybizr8assni6rns8ylh188";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [ cmdargs hledger hledgerLib HUnit safe time vty ];
-  meta = {
-    homepage = "http://hledger.org";
-    description = "A curses-style console interface for the hledger accounting tool";
-    license = "GPL";
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/hledger-web/default.nix b/pkgs/development/libraries/haskell/hledger-web/default.nix
index 6b4ef21dea67..cc4ccc186c63 100644
--- a/pkgs/development/libraries/haskell/hledger-web/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-web/default.nix
@@ -1,23 +1,21 @@
-{ cabal, aeson, blazeHtml, cabalFileTh, clientsession, cmdargs
-, dataObject, dataObjectYaml, failure, fileEmbed, filepath, hamlet
-, hledger, hledgerLib, httpEnumerator, HUnit, ioStorage, parsec
-, regexpr, safe, shakespeareCss, shakespeareJs, shakespeareText
-, text, time, tlsExtra, transformers, wai, waiExtra, warp, yesod
-, yesodCore, yesodForm, yesodJson, yesodStatic
+{ cabal, blazeHtml, cabalFileTh, clientsession, cmdargs, filepath
+, hamlet, hledger, hledgerLib, HUnit, ioStorage, networkConduit
+, parsec, regexpr, safe, shakespeareText, text, time, transformers
+, wai, waiExtra, warp, yaml, yesod, yesodCore, yesodDefault
+, yesodStatic
 }:
 
 cabal.mkDerivation (self: {
   pname = "hledger-web";
-  version = "0.17.1";
-  sha256 = "0cix0k2skbrcbjhj876cx4mizjvkqnr91s092a3lg4rv40dhgwa9";
+  version = "0.18.2";
+  sha256 = "1bhah29why34qaiy7mgzpzjd5dm94izcf3jmgflix56gkgzk86p1";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    aeson blazeHtml cabalFileTh clientsession cmdargs dataObject
-    dataObjectYaml failure fileEmbed filepath hamlet hledger hledgerLib
-    httpEnumerator HUnit ioStorage parsec regexpr safe shakespeareCss
-    shakespeareJs shakespeareText text time tlsExtra transformers wai
-    waiExtra warp yesod yesodCore yesodForm yesodJson yesodStatic
+    blazeHtml cabalFileTh clientsession cmdargs filepath hamlet hledger
+    hledgerLib HUnit ioStorage networkConduit parsec regexpr safe
+    shakespeareText text time transformers wai waiExtra warp yaml yesod
+    yesodCore yesodDefault yesodStatic
   ];
   meta = {
     homepage = "http://hledger.org";
diff --git a/pkgs/development/libraries/haskell/hledger/default.nix b/pkgs/development/libraries/haskell/hledger/default.nix
index e53f08618b17..815ca1b87fd9 100644
--- a/pkgs/development/libraries/haskell/hledger/default.nix
+++ b/pkgs/development/libraries/haskell/hledger/default.nix
@@ -1,16 +1,17 @@
-{ cabal, cabalFileTh, cmdargs, csv, filepath, haskeline, hledgerLib
-, HUnit, mtl, parsec, regexpr, safe, split, time, utf8String
+{ cabal, cabalFileTh, cmdargs, filepath, haskeline, hledgerLib
+, HUnit, mtl, parsec, regexpr, safe, shakespeareText, split, text
+, time, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "hledger";
-  version = "0.17";
-  sha256 = "0ah01d10hvz12zwkprk6sb3by8azz9fhm772440arhd7r9fn6232";
+  version = "0.18.2";
+  sha256 = "1i0rix3h5vrq9j01fzgwyhs2n8nfzhidi4rjlvn402ps0w6j15ld";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    cabalFileTh cmdargs csv filepath haskeline hledgerLib HUnit mtl
-    parsec regexpr safe split time utf8String
+    cabalFileTh cmdargs filepath haskeline hledgerLib HUnit mtl parsec
+    regexpr safe shakespeareText split text time utf8String
   ];
   meta = {
     homepage = "http://hledger.org";
diff --git a/pkgs/development/libraries/haskell/hoauth/default.nix b/pkgs/development/libraries/haskell/hoauth/default.nix
new file mode 100644
index 000000000000..e118f7650979
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoauth/default.nix
@@ -0,0 +1,19 @@
+{ cabal, binary, cryptoPubkeyTypes, curl, dataenc, entropy, mtl
+, random, RSA, SHA, time, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hoauth";
+  version = "0.3.4";
+  sha256 = "0a8a77smzhxmynfi0ayvsgibpw9aav2f7pi9j3dxjas14zg9qv2k";
+  buildDepends = [
+    binary cryptoPubkeyTypes curl dataenc entropy mtl random RSA SHA
+    time utf8String
+  ];
+  meta = {
+    description = "A Haskell implementation of OAuth 1.0a protocol.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hscolour/default.nix b/pkgs/development/libraries/haskell/hscolour/default.nix
index c608f6341a28..2c2aa5be7e60 100644
--- a/pkgs/development/libraries/haskell/hscolour/default.nix
+++ b/pkgs/development/libraries/haskell/hscolour/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hscolour";
-  version = "1.19";
-  sha256 = "17wzd1b7kd4di7djj8d203rn6r1zvd6rykpxhqv7j06kzgx2r7bz";
+  version = "1.20.2";
+  sha256 = "0jl2m2bpsqg2hnf9mmwwrpa7af8wqwaajfp2h3nnnmy5qks10ad5";
   isLibrary = true;
   isExecutable = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/hsemail/default.nix b/pkgs/development/libraries/haskell/hsemail/default.nix
index cdacd2b362cf..36a320dbe687 100644
--- a/pkgs/development/libraries/haskell/hsemail/default.nix
+++ b/pkgs/development/libraries/haskell/hsemail/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hsemail";
-  version = "1.7.1";
-  sha256 = "0059015ab93d5facf6060404984a295090ebfc667ae5b84b283163e126805a9e";
+  version = "1.7.2";
+  sha256 = "1bl017gfyvjvxs9z1fns6sknk1l55905r82i31aqbz9qyaj70gzx";
   buildDepends = [ mtl parsec ];
   meta = {
     homepage = "http://gitorious.org/hsemail";
diff --git a/pkgs/development/libraries/haskell/http-conduit/default.nix b/pkgs/development/libraries/haskell/http-conduit/default.nix
index c431118ed766..224e5ff6e967 100644
--- a/pkgs/development/libraries/haskell/http-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/http-conduit/default.nix
@@ -1,21 +1,21 @@
 { cabal, asn1Data, attoparsec, attoparsecConduit, base64Bytestring
 , blazeBuilder, blazeBuilderConduit, caseInsensitive, certificate
-, conduit, cookie, cprngAes, dataDefault, failure, httpTypes
-, liftedBase, monadControl, mtl, network, regexCompat, resourcet
-, socks, text, time, tls, tlsExtra, transformers, transformersBase
-, utf8String, void, zlibConduit
+, conduit, cookie, cprngAes, dataDefault, deepseq, failure
+, httpTypes, liftedBase, monadControl, mtl, network, regexCompat
+, resourcet, socks, text, time, tls, tlsExtra, transformers
+, transformersBase, utf8String, void, zlibConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "http-conduit";
-  version = "1.4.1.3";
-  sha256 = "15mpha91dfpzy6bz2577jk0866nmyj17rjwnjz3x7zh3x0i06534";
+  version = "1.4.1.10";
+  sha256 = "0a2014bzh4vvm3qx5yarxgirzlngzy2xrwpi3bvnz1h3q0hggq01";
   buildDepends = [
     asn1Data attoparsec attoparsecConduit base64Bytestring blazeBuilder
     blazeBuilderConduit caseInsensitive certificate conduit cookie
-    cprngAes dataDefault failure httpTypes liftedBase monadControl mtl
-    network regexCompat resourcet socks text time tls tlsExtra
-    transformers transformersBase utf8String void zlibConduit
+    cprngAes dataDefault deepseq failure httpTypes liftedBase
+    monadControl mtl network regexCompat resourcet socks text time tls
+    tlsExtra transformers transformersBase utf8String void zlibConduit
   ];
   meta = {
     homepage = "http://www.yesodweb.com/book/http-conduit";
diff --git a/pkgs/development/libraries/haskell/http-types/default.nix b/pkgs/development/libraries/haskell/http-types/default.nix
index 83cb547896fb..b3ae70bbb368 100644
--- a/pkgs/development/libraries/haskell/http-types/default.nix
+++ b/pkgs/development/libraries/haskell/http-types/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-types";
-  version = "0.6.10";
-  sha256 = "0py6l6hk14vrpqwrrajvsiasfksqsklk75sij4zx4xws01jwh9xd";
+  version = "0.6.11";
+  sha256 = "1waxhicqwp0nmvmpmfadpq9gdldbcx9wh6jz717ghi6y9l485vhf";
   buildDepends = [ blazeBuilder caseInsensitive text ];
   meta = {
     homepage = "https://github.com/aristidb/http-types";
diff --git a/pkgs/development/libraries/haskell/iteratee/default.nix b/pkgs/development/libraries/haskell/iteratee/default.nix
index 2a2708f70ac5..14c125121bde 100644
--- a/pkgs/development/libraries/haskell/iteratee/default.nix
+++ b/pkgs/development/libraries/haskell/iteratee/default.nix
@@ -1,14 +1,16 @@
-{ cabal, ListLike, MonadCatchIOTransformers, parallel, transformers
+{ cabal, ListLike, MonadCatchIOTransformers, monadControl, parallel
+, transformers, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "iteratee";
-  version = "0.8.8.2";
-  sha256 = "1d76an95y8svaja5ksx8p05fk22z62hp3gfwnd1d917qccffw6ry";
+  version = "0.8.9.1";
+  sha256 = "1yk7jvabmabf0qjcd00imbg7vx84yjf71h7x3zbv4a51ykfy5hax";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    ListLike MonadCatchIOTransformers parallel transformers
+    ListLike MonadCatchIOTransformers monadControl parallel
+    transformers transformersBase
   ];
   meta = {
     homepage = "http://www.tiresiaspress.us/haskell/iteratee";
diff --git a/pkgs/development/libraries/haskell/language-c-quote/default.nix b/pkgs/development/libraries/haskell/language-c-quote/default.nix
new file mode 100644
index 000000000000..a765b015a314
--- /dev/null
+++ b/pkgs/development/libraries/haskell/language-c-quote/default.nix
@@ -0,0 +1,21 @@
+{ cabal, alex, exceptionMtl, exceptionTransformers, filepath, happy
+, haskellSrcMeta, mainlandPretty, mtl, srcloc, syb, symbol
+}:
+
+cabal.mkDerivation (self: {
+  pname = "language-c-quote";
+  version = "0.3.2";
+  sha256 = "1pxrag9ws93rsqrsxcyxg07pvp2qw0f19yj2b40ynwzk112nkd16";
+  buildDepends = [
+    exceptionMtl exceptionTransformers filepath haskellSrcMeta
+    mainlandPretty mtl srcloc syb symbol
+  ];
+  buildTools = [ alex happy ];
+  meta = {
+    homepage = "http://www.eecs.harvard.edu/~mainland/";
+    description = "C/CUDA/OpenCL quasiquoting library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/language-c/0.3.2.1.nix b/pkgs/development/libraries/haskell/language-c/0.3.2.1.nix
new file mode 100644
index 000000000000..154bc68c3c5c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/language-c/0.3.2.1.nix
@@ -0,0 +1,16 @@
+{ cabal, alex, filepath, happy, syb }:
+
+cabal.mkDerivation (self: {
+  pname = "language-c";
+  version = "0.3.2.1";
+  sha256 = "1qk86p88p2jk1cbgl8p5g19ip3nh6z22ddj5jac58r5ny076iimx";
+  buildDepends = [ filepath syb ];
+  buildTools = [ alex happy ];
+  meta = {
+    homepage = "http://www.sivity.net/projects/language.c/";
+    description = "Analysis and generation of C code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/language-c/default.nix b/pkgs/development/libraries/haskell/language-c/0.4.2.nix
index 5b638ea9dab4..5b638ea9dab4 100644
--- a/pkgs/development/libraries/haskell/language-c/default.nix
+++ b/pkgs/development/libraries/haskell/language-c/0.4.2.nix
diff --git a/pkgs/development/libraries/haskell/largeword/default.nix b/pkgs/development/libraries/haskell/largeword/default.nix
index 0c5266523992..7f01336f281d 100644
--- a/pkgs/development/libraries/haskell/largeword/default.nix
+++ b/pkgs/development/libraries/haskell/largeword/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "largeword";
-  version = "1.0.1";
-  sha256 = "0kkkck220wap3ad2k6461ylhshiqbizv0qh35i2325fhqx892gyr";
+  version = "1.0.2";
+  sha256 = "0ylbl9rffhqw9ahasn23n00h7v5yqmghmqkrq446zdr72bq23hk2";
   meta = {
     homepage = "http://trac.haskell.org/largeword/wiki";
     description = "Provides Word128, Word192 and Word256 and a way of producing other large words if required";
diff --git a/pkgs/development/libraries/haskell/leksah/leksah-server.nix b/pkgs/development/libraries/haskell/leksah/leksah-server.nix
index f3658bdfe588..cfcc69641b5d 100644
--- a/pkgs/development/libraries/haskell/leksah/leksah-server.nix
+++ b/pkgs/development/libraries/haskell/leksah/leksah-server.nix
@@ -1,18 +1,18 @@
 { cabal, attoparsec, attoparsecEnumerator, binary, binaryShared
 , Cabal, deepseq, enumerator, filepath, haddock, hslogger, ltk
-, network, parsec, processLeksah, time, transformers
+, network, parsec, processLeksah, strict, time, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "leksah-server";
-  version = "0.12.0.5";
-  sha256 = "0kr5xsnjl0brbdysw1rhd7a1gy3i0kn8rq2c5grc2m734ankil6z";
+  version = "0.12.1.2";
+  sha256 = "0fzfyq1g1jrfl40nklgvkahlcv32m4gjbcyw52dky2qzc05b0g6m";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     attoparsec attoparsecEnumerator binary binaryShared Cabal deepseq
     enumerator filepath haddock hslogger ltk network parsec
-    processLeksah time transformers
+    processLeksah strict time transformers
   ];
   meta = {
     homepage = "http://leksah.org";
diff --git a/pkgs/development/libraries/haskell/lifted-base/default.nix b/pkgs/development/libraries/haskell/lifted-base/default.nix
index 7207c662d53c..ba5e580ada06 100644
--- a/pkgs/development/libraries/haskell/lifted-base/default.nix
+++ b/pkgs/development/libraries/haskell/lifted-base/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "lifted-base";
-  version = "0.1.1";
-  sha256 = "148631zwax809nzm01fqymmgvkscyv1kii36a12phkmg7sx014vm";
+  version = "0.1.1.1";
+  sha256 = "1cfk3n12qhyrrfvw410gfydbgmb7r9y65fsjp2r3c4ilcyd5li70";
   buildDepends = [
     baseUnicodeSymbols monadControl transformersBase
   ];
diff --git a/pkgs/development/libraries/haskell/ltk/default.nix b/pkgs/development/libraries/haskell/ltk/default.nix
index a45169b4cc1b..7960395eb098 100644
--- a/pkgs/development/libraries/haskell/ltk/default.nix
+++ b/pkgs/development/libraries/haskell/ltk/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ltk";
-  version = "0.12.0.0";
-  sha256 = "1hlsfi77yypfnvh1alr3rflbffby9pbmc71m507davr6b09v9w9f";
+  version = "0.12.1.0";
+  sha256 = "12x6nba5bll8fgzpxii1cf87j27jk4mn5gf1bx4ahd9v30h1a0h6";
   buildDepends = [ Cabal filepath glib gtk mtl parsec transformers ];
   meta = {
     homepage = "http://www.leksah.org";
diff --git a/pkgs/development/libraries/haskell/mainland-pretty/default.nix b/pkgs/development/libraries/haskell/mainland-pretty/default.nix
new file mode 100644
index 000000000000..d64a6c761800
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mainland-pretty/default.nix
@@ -0,0 +1,15 @@
+{ cabal, srcloc, symbol }:
+
+cabal.mkDerivation (self: {
+  pname = "mainland-pretty";
+  version = "0.1.3.0";
+  sha256 = "1grfsn066z11737dxdk1bdhyvz9vjxxn6krfgx9bc8jin6n9h6aq";
+  buildDepends = [ srcloc symbol ];
+  meta = {
+    homepage = "http://www.eecs.harvard.edu/~mainland/";
+    description = "Pretty printing designed for printing source code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/maude/default.nix b/pkgs/development/libraries/haskell/maude/default.nix
index 709156d290f7..84f0d83a9242 100644
--- a/pkgs/development/libraries/haskell/maude/default.nix
+++ b/pkgs/development/libraries/haskell/maude/default.nix
@@ -1,10 +1,10 @@
-{ cabal, parsec, text }:
+{ cabal, filepath, processExtras, temporary, text, xml }:
 
 cabal.mkDerivation (self: {
   pname = "maude";
-  version = "0.3.0";
-  sha256 = "1z9bk4fzkbfiqqx4mv4cdlckchvcli2gcp40d04ravvj7x6yaghg";
-  buildDepends = [ parsec text ];
+  version = "0.6.1";
+  sha256 = "0qadqpj5vzg84mqh29p6vr2ffih7y69ds0jdpxmr17am5bh3mhql";
+  buildDepends = [ filepath processExtras temporary text xml ];
   meta = {
     homepage = "https://github.com/davidlazar/maude-hs";
     description = "An interface to the Maude rewriting system";
diff --git a/pkgs/development/libraries/haskell/mime-types/default.nix b/pkgs/development/libraries/haskell/mime-types/default.nix
new file mode 100644
index 000000000000..8359d6dc181d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mime-types/default.nix
@@ -0,0 +1,15 @@
+{ cabal, text }:
+
+cabal.mkDerivation (self: {
+  pname = "mime-types";
+  version = "0.1.0.0";
+  sha256 = "0xc36pr84nszyych3jd8sl6kj1grsyv8ci8v7ilrbpnw7ngbkw1p";
+  buildDepends = [ text ];
+  meta = {
+    homepage = "https://github.com/yesodweb/wai";
+    description = "Basic mime-type handling types and functions";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/mmap/default.nix b/pkgs/development/libraries/haskell/mmap/default.nix
index 5861d7d67603..4d0b9fcabeb7 100644
--- a/pkgs/development/libraries/haskell/mmap/default.nix
+++ b/pkgs/development/libraries/haskell/mmap/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mmap";
-  version = "0.5.7";
-  sha256 = "0f08x9kmv3a03kz5a6dpxr30nks55cs9sp55qpn2jnw31qx6hg6p";
+  version = "0.5.8";
+  sha256 = "17zsb95ynyrqj51h4jxi9glsih4vq33hbxycgw13z5fivv261m7y";
   isLibrary = true;
   isExecutable = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/monad-control/default.nix b/pkgs/development/libraries/haskell/monad-control/default.nix
index 69c55ba049b4..bf27ac461c3d 100644
--- a/pkgs/development/libraries/haskell/monad-control/default.nix
+++ b/pkgs/development/libraries/haskell/monad-control/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monad-control";
-  version = "0.3.1.3";
-  sha256 = "0sx0jr8hccqh519sgn428y4xfk6m5jpwfm9201vn8zj1cxlppjv9";
+  version = "0.3.1.4";
+  sha256 = "0mvcj6rljh2drkpf29zavwsqpzd9lw7s0n4inxm82i2017xdazy1";
   buildDepends = [
     baseUnicodeSymbols transformers transformersBase
   ];
diff --git a/pkgs/development/libraries/haskell/monad-loops/default.nix b/pkgs/development/libraries/haskell/monad-loops/default.nix
index 8aca5bbfc5a3..ef7d6c27173b 100644
--- a/pkgs/development/libraries/haskell/monad-loops/default.nix
+++ b/pkgs/development/libraries/haskell/monad-loops/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monad-loops";
-  version = "0.3.2.0";
-  sha256 = "0si8vz1r13lwliya161kwgrb5dpj01j74b6gbjyv78d5fd4hn7n2";
+  version = "0.3.3.0";
+  sha256 = "06v8wnkbjrpsy47shjy2bd8asbw6d5rgzy8z5q0jwdhira42h3v1";
   buildDepends = [ stm ];
   meta = {
     homepage = "https://github.com/mokus0/monad-loops";
diff --git a/pkgs/development/libraries/haskell/mongoDB/default.nix b/pkgs/development/libraries/haskell/mongoDB/default.nix
index ddbbdcb8093e..aec216ea59d1 100644
--- a/pkgs/development/libraries/haskell/mongoDB/default.nix
+++ b/pkgs/development/libraries/haskell/mongoDB/default.nix
@@ -1,17 +1,17 @@
 { cabal, binary, bson, cryptohash, liftedBase, monadControl, mtl
-, network, parsec, random, randomShuffle, transformersBase
+, network, parsec, random, randomShuffle, text, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "mongoDB";
-  version = "1.2.0";
-  sha256 = "0rffa13p889mxbbkj2bmqy3yada3mrhngvp8pp7qvrll1acm7s13";
+  version = "1.3.0";
+  sha256 = "1l6r55bicjdybn8jn9rp94aamjqy5j5qs2775m05aba8svsl4kma";
   buildDepends = [
     binary bson cryptohash liftedBase monadControl mtl network parsec
-    random randomShuffle transformersBase
+    random randomShuffle text transformersBase
   ];
   meta = {
-    homepage = "http://github.com/TonyGen/mongoDB-haskell";
+    homepage = "http://github.com/selectel/mongodb-haskell";
     description = "Driver (client) for MongoDB, a free, scalable, fast, document DBMS";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/mtl/2.1.2.nix b/pkgs/development/libraries/haskell/mtl/2.1.2.nix
new file mode 100644
index 000000000000..c10f526acf21
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mtl/2.1.2.nix
@@ -0,0 +1,15 @@
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "mtl";
+  version = "2.1.2";
+  sha256 = "1vwb98ci3jnjpndym012amia41h3cjdwpy9330ws881l6dj5fxwc";
+  buildDepends = [ transformers ];
+  meta = {
+    homepage = "http://github.com/ekmett/mtl";
+    description = "Monad classes, using functional dependencies";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/multiarg/default.nix b/pkgs/development/libraries/haskell/multiarg/default.nix
index 0d922c4c0601..c376ab0cbd61 100644
--- a/pkgs/development/libraries/haskell/multiarg/default.nix
+++ b/pkgs/development/libraries/haskell/multiarg/default.nix
@@ -1,10 +1,10 @@
-{ cabal, explicitException, text, transformers, utf8String }:
+{ cabal, explicitException, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "multiarg";
-  version = "0.2.0.0";
-  sha256 = "1jmhlh4ngmkddrkcafx0qcmzwbmi5crkmd6p8b07cfjpaq2pc6yx";
-  buildDepends = [ explicitException text transformers utf8String ];
+  version = "0.4.0.0";
+  sha256 = "04m4ynf6x8rlnlmnl6a7jj42fszjc1bly4h3jyjxxsqjdynrv81q";
+  buildDepends = [ explicitException utf8String ];
   meta = {
     homepage = "https://github.com/massysett/multiarg";
     description = "Combinators to build command line parsers";
diff --git a/pkgs/development/libraries/haskell/multiplate/default.nix b/pkgs/development/libraries/haskell/multiplate/default.nix
index b53c0b955e56..ac572b7c59ac 100644
--- a/pkgs/development/libraries/haskell/multiplate/default.nix
+++ b/pkgs/development/libraries/haskell/multiplate/default.nix
@@ -5,6 +5,9 @@ cabal.mkDerivation (self: {
   version = "0.0.1.1";
   sha256 = "00rxgkvgx1rfvk15gjyyg00vqyg4j24d8d19q6rj07j2mgfvdxw6";
   buildDepends = [ transformers ];
+  patchPhase = ''
+    sed -i -e 's|transformers >= 0.2 && < 0.3|transformers|' multiplate.cabal
+  '';
   meta = {
     homepage = "http://haskell.org/haskellwiki/Multiplate";
     description = "Lightweight generic library for mutually recursive data types";
diff --git a/pkgs/development/libraries/haskell/multirec/default.nix b/pkgs/development/libraries/haskell/multirec/default.nix
index e636fc9dc8e8..4f73ffa98aec 100644
--- a/pkgs/development/libraries/haskell/multirec/default.nix
+++ b/pkgs/development/libraries/haskell/multirec/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "multirec";
-  version = "0.7.1";
-  sha256 = "1a3snlv6lr9mi4nrl4cyc5ilk6flbdn0ck2sqla6dyb2zdlgf5ph";
+  version = "0.7.2";
+  sha256 = "1f715h27x8gz73d2irgl1gw74zd5lyda80nzk9xxwihqqkzvbhsm";
   noHaddock = true;
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/Multirec";
diff --git a/pkgs/development/libraries/haskell/network/2.3.0.14.nix b/pkgs/development/libraries/haskell/network/2.3.0.14.nix
new file mode 100644
index 000000000000..bbc43abc42bf
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network/2.3.0.14.nix
@@ -0,0 +1,15 @@
+{ cabal, parsec }:
+
+cabal.mkDerivation (self: {
+  pname = "network";
+  version = "2.3.0.14";
+  sha256 = "0naqg7ai50m3p093mi342w2z0flaagarf9n9smkn1dqvq8jg75x5";
+  buildDepends = [ parsec ];
+  meta = {
+    homepage = "http://github.com/haskell/network";
+    description = "Low-level networking interface";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pandoc/default.nix b/pkgs/development/libraries/haskell/pandoc/default.nix
index 5f30b4074917..c1aabed388b5 100644
--- a/pkgs/development/libraries/haskell/pandoc/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pandoc";
-  version = "1.9.3";
-  sha256 = "0dhzzx91ljmrcmi3znz1xvj3gwma5z5bwc4fsp5y8zd5yyb9b4j0";
+  version = "1.9.4.2";
+  sha256 = "1zr2qx6bimyhzia5maqpb454hgdwjvgs234mcki4f1z3dgbq0lsk";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/parallel/3.2.0.3.nix b/pkgs/development/libraries/haskell/parallel/3.2.0.3.nix
new file mode 100644
index 000000000000..e089c8dce8ea
--- /dev/null
+++ b/pkgs/development/libraries/haskell/parallel/3.2.0.3.nix
@@ -0,0 +1,14 @@
+{ cabal, deepseq }:
+
+cabal.mkDerivation (self: {
+  pname = "parallel";
+  version = "3.2.0.3";
+  sha256 = "1kbdzdz9s8jq0xysqgvxx1zvzqlxgj1sk476mciwcn327kpl0fhn";
+  buildDepends = [ deepseq ];
+  meta = {
+    description = "Parallel programming library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/parsec/3.1.3.nix b/pkgs/development/libraries/haskell/parsec/3.1.3.nix
new file mode 100644
index 000000000000..b9b10f2e5b0d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/parsec/3.1.3.nix
@@ -0,0 +1,15 @@
+{ cabal, mtl, text }:
+
+cabal.mkDerivation (self: {
+  pname = "parsec";
+  version = "3.1.3";
+  sha256 = "1a64gzirgpa1i78gbbp9z059nh29xmcja4g8vgjb1fbylx6vn54z";
+  buildDepends = [ mtl text ];
+  meta = {
+    homepage = "http://www.cs.uu.nl/~daan/parsec.html";
+    description = "Monadic parser combinators";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pgm/default.nix b/pkgs/development/libraries/haskell/pgm/default.nix
new file mode 100644
index 000000000000..b1be8dd6d035
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pgm/default.nix
@@ -0,0 +1,15 @@
+{ cabal, parsec }:
+
+cabal.mkDerivation (self: {
+  pname = "pgm";
+  version = "0.1.3";
+  sha256 = "1byq8bacqgdpahf57ccwwa45wf9ij0kkgp89rg9flsv1g10364d4";
+  buildDepends = [ parsec ];
+  meta = {
+    homepage = "https://github.com/sergeyastanin/haskell-pgm";
+    description = "Pure Haskell implementation of PGM image format";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/process-extras/default.nix b/pkgs/development/libraries/haskell/process-extras/default.nix
new file mode 100644
index 000000000000..16c1b96f0425
--- /dev/null
+++ b/pkgs/development/libraries/haskell/process-extras/default.nix
@@ -0,0 +1,15 @@
+{ cabal, text }:
+
+cabal.mkDerivation (self: {
+  pname = "process-extras";
+  version = "0.1.0";
+  sha256 = "0bq8nz2iapmngmkx2vlyk4ffw20b34yw5q7h7j6r3zrjzq42prsp";
+  buildDepends = [ text ];
+  meta = {
+    homepage = "https://github.com/davidlazar/process-extras";
+    description = "Process extras";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/prolog-graph-lib/default.nix b/pkgs/development/libraries/haskell/prolog-graph-lib/default.nix
index 973a37a09831..98b65bb59f02 100644
--- a/pkgs/development/libraries/haskell/prolog-graph-lib/default.nix
+++ b/pkgs/development/libraries/haskell/prolog-graph-lib/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "prolog-graph-lib";
-  version = "0.1";
-  sha256 = "1gryhk0jd8bvmjbjkz6n7sfnsa6iwzkckpgi51xsj5f2nwdxbl6g";
+  version = "0.2.0.1";
+  sha256 = "02xa4hqmhmsv7vkdy3m3dr1w3z88kc8ly0jjn7q6pba5yarci7nr";
   buildDepends = [ fgl graphviz mtl prolog text ];
   meta = {
     homepage = "https://github.com/Erdwolf/prolog";
diff --git a/pkgs/development/libraries/haskell/prolog/default.nix b/pkgs/development/libraries/haskell/prolog/default.nix
index 96525599d130..b1e6e1d4e303 100644
--- a/pkgs/development/libraries/haskell/prolog/default.nix
+++ b/pkgs/development/libraries/haskell/prolog/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "prolog";
-  version = "0.1";
-  sha256 = "00791fb1f84wq42wvacnjl290fbn28x9hknxsic3ksi3f7psladm";
+  version = "0.2.0.1";
+  sha256 = "073sd3rhcfqw9csm0qsbc57ix57dv3k5yjr9hcc33b9zq5y10sp0";
   buildDepends = [ mtl parsec syb thLift transformers ];
   meta = {
     homepage = "https://github.com/Erdwolf/prolog";
diff --git a/pkgs/development/libraries/haskell/random-fu/default.nix b/pkgs/development/libraries/haskell/random-fu/default.nix
index dff11ae20330..729363084642 100644
--- a/pkgs/development/libraries/haskell/random-fu/default.nix
+++ b/pkgs/development/libraries/haskell/random-fu/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "random-fu";
-  version = "0.2.2.0";
-  sha256 = "1wv2c6ba3ad80zyj75xfds98q7psgjkmaqk2zm0srmipq06mx92r";
+  version = "0.2.3.0";
+  sha256 = "17vn1dz4z00xjpsxjx2dfjnz4qhbn5cbkm2s142kdskiphgxi2f8";
   buildDepends = [
     erf gamma monadLoops mtl randomShuffle randomSource rvar syb
     transformers vector
diff --git a/pkgs/development/libraries/haskell/random-shuffle/default.nix b/pkgs/development/libraries/haskell/random-shuffle/default.nix
index b4fc02da2f00..1104091ae57f 100644
--- a/pkgs/development/libraries/haskell/random-shuffle/default.nix
+++ b/pkgs/development/libraries/haskell/random-shuffle/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "random-shuffle";
-  version = "0.0.3";
-  sha256 = "120yh2k1n57vc9mi4dlnvv9dr79qaz4dsbvl3qp3y82mdz8maifw";
+  version = "0.0.4";
+  sha256 = "0586bnlh0g2isc44jbjvafkcl4yw6lp1db8x6vr0pza0y08l8w2j";
   buildDepends = [ MonadRandom random ];
   meta = {
     description = "Random shuffle implementation";
diff --git a/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix b/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix
new file mode 100644
index 000000000000..702e3383d340
--- /dev/null
+++ b/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix
@@ -0,0 +1,18 @@
+{ cabal, cabalMacosx, reactiveBanana, wx, wxcore }:
+
+cabal.mkDerivation (self: {
+  pname = "reactive-banana-wx";
+  version = "0.6.0.1";
+  sha256 = "1i674jy8fwirq267vwwdyqa4whxfx3r689rxjbrh9hyicqwcrl24";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ cabalMacosx reactiveBanana wx wxcore ];
+  configureFlags = "-f-buildExamples";
+  meta = {
+    homepage = "http://haskell.org/haskellwiki/Reactive-banana";
+    description = "Examples for the reactive-banana library, using wxHaskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/reactive-banana/default.nix b/pkgs/development/libraries/haskell/reactive-banana/default.nix
index 247b0aac4f6b..1c5cb92d47bd 100644
--- a/pkgs/development/libraries/haskell/reactive-banana/default.nix
+++ b/pkgs/development/libraries/haskell/reactive-banana/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "reactive-banana";
-  version = "0.5.0.3";
-  sha256 = "0j60g7k0xrq66m8g8fd9fdrpbnz2jbgqxnmbz1rfi5bvnrkhv10v";
+  version = "0.6.0.0";
+  sha256 = "1s0ymkqrjnzylxdwqfslf87g7sjqk135hnvgdkzy4dbvvpplq113";
   buildDepends = [
     fclabels hashable QuickCheck transformers unorderedContainers vault
   ];
diff --git a/pkgs/development/libraries/haskell/regex-pcre/default.nix b/pkgs/development/libraries/haskell/regex-pcre/default.nix
index 48785e97a2f6..2b7f53e4572a 100644
--- a/pkgs/development/libraries/haskell/regex-pcre/default.nix
+++ b/pkgs/development/libraries/haskell/regex-pcre/default.nix
@@ -2,12 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "regex-pcre";
-  version = "0.94.2";
-  sha256 = "0p4az8z4jlrcmmyz9bjf7n90hpg6n242vq4255w2dz5v29l822wn";
+  version = "0.94.4";
+  sha256 = "1h16w994g9s62iwkdqa7bar2n9cfixmkzz2rm8svm960qr57valf";
   buildDepends = [ regexBase ];
   extraLibraries = [ pcre ];
   meta = {
-    homepage = "http://sourceforge.net/projects/lazy-regex";
+    homepage = "http://hackage.haskell.org/package/regex-pcre";
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.95.2.nix b/pkgs/development/libraries/haskell/regex-posix/0.95.2.nix
new file mode 100644
index 000000000000..6d7fac51658e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/regex-posix/0.95.2.nix
@@ -0,0 +1,15 @@
+{ cabal, regexBase }:
+
+cabal.mkDerivation (self: {
+  pname = "regex-posix";
+  version = "0.95.2";
+  sha256 = "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an";
+  buildDepends = [ regexBase ];
+  meta = {
+    homepage = "http://sourceforge.net/projects/lazy-regex";
+    description = "Replaces/Enhances Text.Regex";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/remote/default.nix b/pkgs/development/libraries/haskell/remote/default.nix
new file mode 100644
index 000000000000..3e160130ea8f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/remote/default.nix
@@ -0,0 +1,18 @@
+{ cabal, binary, filepath, mtl, network, pureMD5, stm, syb, time
+, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "remote";
+  version = "0.1.1";
+  sha256 = "14awzhpc21pp4iq53vz4ib81ygxsnlnfppv723zy77z6jja08gf0";
+  buildDepends = [
+    binary filepath mtl network pureMD5 stm syb time utf8String
+  ];
+  meta = {
+    description = "Cloud Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/repa-algorithms/default.nix b/pkgs/development/libraries/haskell/repa-algorithms/default.nix
index ca6059b68b3e..d8a1e61c5d71 100644
--- a/pkgs/development/libraries/haskell/repa-algorithms/default.nix
+++ b/pkgs/development/libraries/haskell/repa-algorithms/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "repa-algorithms";
-  version = "3.1.3.1";
-  sha256 = "04d0r68k7dhk5ka9hzqf6wy9yyhjwc0rndp1ir1vllc6w6f8k4wl";
+  version = "3.2.1.1";
+  sha256 = "19gc2vbkqxysnm0argksn8c3cv7vf30hkdycgv8fdfn0yc95xz0v";
   buildDepends = [ repa vector ];
   extraLibraries = [ llvm ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/repa-examples/default.nix b/pkgs/development/libraries/haskell/repa-examples/default.nix
index 9acc949042f9..1f3e66e5e08c 100644
--- a/pkgs/development/libraries/haskell/repa-examples/default.nix
+++ b/pkgs/development/libraries/haskell/repa-examples/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "repa-examples";
-  version = "3.1.3.1";
-  sha256 = "15fg356a8sa48vmgn5fxgbj3s48hixsl1x4a8ds0mvvv8m0zlra8";
+  version = "3.2.1.1";
+  sha256 = "0nbdp3vwg7ha9vhz7f2kys3jxdlwiihxz031cfpkv2si5ci3gy1b";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ random repa repaAlgorithms repaIo vector ];
diff --git a/pkgs/development/libraries/haskell/repa-io/default.nix b/pkgs/development/libraries/haskell/repa-io/default.nix
index 21844f15fc80..293a7bc6d58c 100644
--- a/pkgs/development/libraries/haskell/repa-io/default.nix
+++ b/pkgs/development/libraries/haskell/repa-io/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "repa-io";
-  version = "3.1.3.1";
-  sha256 = "1ah5zqg3699p98820gs39xh1xipqdknlgkwxrdqsblnm33y1bqnb";
+  version = "3.2.1.1";
+  sha256 = "156amnlqsxhwalnc4nypcd66znv2f8c71d5xi8ja5g8d9f1yg02g";
   buildDepends = [ binary bmp repa vector ];
   meta = {
     homepage = "http://repa.ouroborus.net";
diff --git a/pkgs/development/libraries/haskell/repa/default.nix b/pkgs/development/libraries/haskell/repa/default.nix
index 678a5c83b3d3..b6102d45572b 100644
--- a/pkgs/development/libraries/haskell/repa/default.nix
+++ b/pkgs/development/libraries/haskell/repa/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "repa";
-  version = "3.1.4.2";
-  sha256 = "08vrrhaqhk03mmc2zddj4mm9dci9q7wkxwc3ilrh1p9q4j6r53qs";
+  version = "3.2.1.1";
+  sha256 = "0jzcy3xdlwmcjq1mpfqh0axcgbj3i03nxg7blw2sly8qrgfl0ri1";
   buildDepends = [ QuickCheck vector ];
   meta = {
     homepage = "http://repa.ouroborus.net";
diff --git a/pkgs/development/libraries/haskell/resourcet/default.nix b/pkgs/development/libraries/haskell/resourcet/default.nix
index adc6c2b40a84..7531008d8548 100644
--- a/pkgs/development/libraries/haskell/resourcet/default.nix
+++ b/pkgs/development/libraries/haskell/resourcet/default.nix
@@ -1,12 +1,13 @@
-{ cabal, liftedBase, monadControl, transformers, transformersBase
+{ cabal, liftedBase, monadControl, mtl, transformers
+, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "resourcet";
-  version = "0.3.2.1";
-  sha256 = "1gqcqbj9f13b9myrg7nhydrbbqnn80k69s65qsk3rc8wsqyk8i6g";
+  version = "0.3.3.1";
+  sha256 = "164r2p08j3im4wz5jkadl5pvb0qj02k4f2s3v08lm39a51kygjdl";
   buildDepends = [
-    liftedBase monadControl transformers transformersBase
+    liftedBase monadControl mtl transformers transformersBase
   ];
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
diff --git a/pkgs/development/libraries/haskell/shakespeare-js/default.nix b/pkgs/development/libraries/haskell/shakespeare-js/default.nix
index 1b8605bb8021..aa759a240c7c 100644
--- a/pkgs/development/libraries/haskell/shakespeare-js/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-js/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shakespeare-js";
-  version = "1.0.0.2";
-  sha256 = "1qygxihhfl7wzv3djxmldh82pwk8rhnk54zfvwy1pxhxb8y30wkm";
+  version = "1.0.0.3";
+  sha256 = "00x5xvjlaivl42q75cvbwbh055kgvk9i8s4y3xcmk4h7lnpfyzd6";
   buildDepends = [ shakespeare text ];
   meta = {
     homepage = "http://www.yesodweb.com/book/shakespearean-templates";
diff --git a/pkgs/development/libraries/haskell/shelly/default.nix b/pkgs/development/libraries/haskell/shelly/default.nix
new file mode 100644
index 000000000000..2d2b3ca495d2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/shelly/default.nix
@@ -0,0 +1,18 @@
+{ cabal, mtl, systemFileio, systemFilepath, text, time, unixCompat
+}:
+
+cabal.mkDerivation (self: {
+  pname = "shelly";
+  version = "0.13.0.1";
+  sha256 = "1iw2hbnr9pwfvz6hhmnmg4h2h58ggppbjy3vs0i08hc33nms1lvy";
+  buildDepends = [
+    mtl systemFileio systemFilepath text time unixCompat
+  ];
+  meta = {
+    homepage = "https://github.com/yesodweb/Shelly.hs";
+    description = "shell-like (systems) programming in Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/simple-sendfile/default.nix b/pkgs/development/libraries/haskell/simple-sendfile/default.nix
index 19ccce16ab28..313f2aa4869d 100644
--- a/pkgs/development/libraries/haskell/simple-sendfile/default.nix
+++ b/pkgs/development/libraries/haskell/simple-sendfile/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "simple-sendfile";
-  version = "0.2.3";
-  sha256 = "1i3jx90kwq504fdl2qbhz25psjvq9ldvwgx5cij82ajjqi61pfrv";
+  version = "0.2.4";
+  sha256 = "1c7imvkb5aq5mlg6a1r36fp9klniicbj56n32yvzj4qqf1zy2pbx";
   buildDepends = [ network ];
   meta = {
     description = "Cross platform library for the sendfile system call";
diff --git a/pkgs/development/libraries/haskell/snap/core.nix b/pkgs/development/libraries/haskell/snap/core.nix
index 08616b1b8419..1d51b9d99330 100644
--- a/pkgs/development/libraries/haskell/snap/core.nix
+++ b/pkgs/development/libraries/haskell/snap/core.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap-core";
-  version = "0.8.1";
-  sha256 = "11r4zd9z241qvzji7gcmynkib5w9b7c7wa8jx7al2z2aq4qhfx1b";
+  version = "0.9.0";
+  sha256 = "1fsjamv9sl19in2ws97v246sbvlnj05rm9dljc0pz7kasawyqsb7";
   buildDepends = [
     attoparsec attoparsecEnumerator base16Bytestring blazeBuilder
     blazeBuilderEnumerator bytestringMmap bytestringNums
diff --git a/pkgs/development/libraries/haskell/snap/server.nix b/pkgs/development/libraries/haskell/snap/server.nix
index 37111f3b847b..20a6af0ba90c 100644
--- a/pkgs/development/libraries/haskell/snap/server.nix
+++ b/pkgs/development/libraries/haskell/snap/server.nix
@@ -1,20 +1,19 @@
 { cabal, attoparsec, attoparsecEnumerator, binary, blazeBuilder
 , blazeBuilderEnumerator, bytestringNums, caseInsensitive
 , directoryTree, enumerator, filepath, MonadCatchIOTransformers
-, mtl, murmurHash, network, PSQueue, snapCore, text, time
-, transformers, unixCompat, vector, vectorAlgorithms
+, mtl, murmurHash, network, snapCore, text, time, transformers
+, unixCompat, vector, vectorAlgorithms
 }:
 
 cabal.mkDerivation (self: {
   pname = "snap-server";
-  version = "0.8.1.1";
-  sha256 = "0k47z9fhc64bnv86ixaxvndwc7hk28ny3mf5ny9d5jmp77a3ws46";
+  version = "0.9.0";
+  sha256 = "12mjy1w6gsnw93bcpsnxnw7kc2v73dfps7gk542iw73lldfhh3va";
   buildDepends = [
     attoparsec attoparsecEnumerator binary blazeBuilder
     blazeBuilderEnumerator bytestringNums caseInsensitive directoryTree
     enumerator filepath MonadCatchIOTransformers mtl murmurHash network
-    PSQueue snapCore text time transformers unixCompat vector
-    vectorAlgorithms
+    snapCore text time transformers unixCompat vector vectorAlgorithms
   ];
   meta = {
     homepage = "http://snapframework.com/";
diff --git a/pkgs/development/libraries/haskell/split/default.nix b/pkgs/development/libraries/haskell/split/default.nix
index 271d695fa9be..33f927e3d576 100644
--- a/pkgs/development/libraries/haskell/split/default.nix
+++ b/pkgs/development/libraries/haskell/split/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "split";
-  version = "0.1.4.2";
-  sha256 = "09vi7vw4i4r78gyp3bbvhvvyiqi8rgf678ppmq99qrfqm34c2fl9";
+  version = "0.1.4.3";
+  sha256 = "1i9vmb0zvmhqj6qcbnsapsk9lhsyzznz336c8s7v4sz20s99hsby";
   meta = {
     homepage = "http://code.haskell.org/~byorgey/code/split";
     description = "Combinator library for splitting lists";
diff --git a/pkgs/development/libraries/haskell/srcloc/default.nix b/pkgs/development/libraries/haskell/srcloc/default.nix
new file mode 100644
index 000000000000..d76309bc7956
--- /dev/null
+++ b/pkgs/development/libraries/haskell/srcloc/default.nix
@@ -0,0 +1,15 @@
+{ cabal, syb, symbol }:
+
+cabal.mkDerivation (self: {
+  pname = "srcloc";
+  version = "0.1.2";
+  sha256 = "08awipz6al7jk7d974am5v9fkp87i5dy6d457mx1rv7lczlyhws9";
+  buildDepends = [ syb symbol ];
+  meta = {
+    homepage = "http://www.eecs.harvard.edu/~mainland/";
+    description = "Data types for managing source code locations";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/stm/2.4.nix b/pkgs/development/libraries/haskell/stm/2.4.nix
new file mode 100644
index 000000000000..a949474cef12
--- /dev/null
+++ b/pkgs/development/libraries/haskell/stm/2.4.nix
@@ -0,0 +1,13 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "stm";
+  version = "2.4";
+  sha256 = "13flyzh2vnqnap78qjawdh3150rmp9bxnlgynsf793lm1b3z15fl";
+  meta = {
+    description = "Software Transactional Memory";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/stringsearch/default.nix b/pkgs/development/libraries/haskell/stringsearch/default.nix
new file mode 100644
index 000000000000..fb31ab76a2c5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/stringsearch/default.nix
@@ -0,0 +1,14 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "stringsearch";
+  version = "0.3.6.3";
+  sha256 = "1f0sl1zjya8glvlscf3g5i0in0ai1knls7kg9dp82grg2k287sgz";
+  meta = {
+    homepage = "https://bitbucket.org/dafis/stringsearch";
+    description = "Fast searching, splitting and replacing of ByteStrings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/svgcairo/default.nix b/pkgs/development/libraries/haskell/svgcairo/default.nix
index 6bacea99b593..e7aafd37264e 100644
--- a/pkgs/development/libraries/haskell/svgcairo/default.nix
+++ b/pkgs/development/libraries/haskell/svgcairo/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "svgcairo";
-  version = "0.12.1";
-  sha256 = "1nyr849ayk1fyjpxnpam1pychny609d6j2v3is84llh3gsyq99ps";
+  version = "0.12.1.1";
+  sha256 = "0fl9flsv4brvwryzxv4xpy8x3w0if4psx8nypxm2ix6l9qh3pghb";
   buildDepends = [ cairo glib mtl ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc ];
diff --git a/pkgs/development/libraries/haskell/syb/0.3.6.2.nix b/pkgs/development/libraries/haskell/syb/0.3.6.2.nix
new file mode 100644
index 000000000000..a37e238ff710
--- /dev/null
+++ b/pkgs/development/libraries/haskell/syb/0.3.6.2.nix
@@ -0,0 +1,14 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "syb";
+  version = "0.3.6.2";
+  sha256 = "0n1h0zlq2ygwkh7s914gfy4rg4b5kg6msd65id84c5412sri3mk4";
+  meta = {
+    homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
+    description = "Scrap Your Boilerplate";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/syb/0.3.7.nix b/pkgs/development/libraries/haskell/syb/0.3.7.nix
new file mode 100644
index 000000000000..44a16e0bf5ca
--- /dev/null
+++ b/pkgs/development/libraries/haskell/syb/0.3.7.nix
@@ -0,0 +1,14 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "syb";
+  version = "0.3.7";
+  sha256 = "0wysa348icabskih3k9xbmwaaw34hg58lpz3w3075942h650bx2r";
+  meta = {
+    homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
+    description = "Scrap Your Boilerplate";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/symbol/default.nix b/pkgs/development/libraries/haskell/symbol/default.nix
new file mode 100644
index 000000000000..b8dd2aa69a2d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/symbol/default.nix
@@ -0,0 +1,15 @@
+{ cabal, deepseq, syb }:
+
+cabal.mkDerivation (self: {
+  pname = "symbol";
+  version = "0.1.3";
+  sha256 = "1kz4kzbv6bara31pv4vc75r6wvjln6md8gjlsxx8hf50ab8vb68j";
+  buildDepends = [ deepseq syb ];
+  meta = {
+    homepage = "http://www.eecs.harvard.edu/~mainland/";
+    description = "A 'Symbol' type for fast symbol comparison";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/system-fileio/default.nix b/pkgs/development/libraries/haskell/system-fileio/default.nix
index 4176cf2f6e21..7534ce4a1d13 100644
--- a/pkgs/development/libraries/haskell/system-fileio/default.nix
+++ b/pkgs/development/libraries/haskell/system-fileio/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "system-fileio";
-  version = "0.3.7";
-  sha256 = "0vjjpn3fq0s2assfg3p3wpk60jsrjp1f6i0djm3abdbmc53gqyi0";
+  version = "0.3.9";
+  sha256 = "0mfmijwnkp92s58jb51lk0p1p3418f6qskr95phc1zp40yrcw8nx";
   buildDepends = [ systemFilepath text time ];
   meta = {
     homepage = "https://john-millikin.com/software/haskell-filesystem/";
diff --git a/pkgs/development/libraries/haskell/text/0.11.2.2.nix b/pkgs/development/libraries/haskell/text/0.11.2.2.nix
new file mode 100644
index 000000000000..a4dc9f882773
--- /dev/null
+++ b/pkgs/development/libraries/haskell/text/0.11.2.2.nix
@@ -0,0 +1,15 @@
+{ cabal, deepseq }:
+
+cabal.mkDerivation (self: {
+  pname = "text";
+  version = "0.11.2.2";
+  sha256 = "0ch0fiwjwkpiwamfxxbcka2gp6lbwpqcv7pmik6qm850163f4i33";
+  buildDepends = [ deepseq ];
+  meta = {
+    homepage = "https://github.com/bos/text";
+    description = "An efficient packed Unicode text type";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tls/default.nix b/pkgs/development/libraries/haskell/tls/default.nix
index 71067cd75ff7..9a89c082959d 100644
--- a/pkgs/development/libraries/haskell/tls/default.nix
+++ b/pkgs/development/libraries/haskell/tls/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tls";
-  version = "0.9.5";
-  sha256 = "1nbfimyxi546n239brhw5lrb7907svvhvy5zgy1f853h17vnli5y";
+  version = "0.9.6";
+  sha256 = "0bcmq7pvdbgnc8ls949m3x9sxj5svsrdpagjns1iq575jg38jx3g";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/unbound/default.nix b/pkgs/development/libraries/haskell/unbound/default.nix
index b64aff3ae130..466285d3e55e 100644
--- a/pkgs/development/libraries/haskell/unbound/default.nix
+++ b/pkgs/development/libraries/haskell/unbound/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "unbound";
-  version = "0.4.0.2";
-  sha256 = "0vwbqrjrahg7ifsqgmq18ddmmczjxnsdz5w3kfgb4jpv1glwlxrh";
+  version = "0.4.1";
+  sha256 = "1fryjs5byyqha945qy8vyfpq4fzjmnh0jc01wzvk6ri292qipsyn";
   buildDepends = [ mtl RepLib transformers ];
   meta = {
     homepage = "http://code.google.com/p/replib/";
diff --git a/pkgs/development/libraries/haskell/void/default.nix b/pkgs/development/libraries/haskell/void/default.nix
index c2b56d95d98b..8c129568479d 100644
--- a/pkgs/development/libraries/haskell/void/default.nix
+++ b/pkgs/development/libraries/haskell/void/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "void";
-  version = "0.5.5.1";
-  sha256 = "1j8rss4b5j4213h40n4nl38p12z275lbsk46dvy4x5s96gqyximp";
+  version = "0.5.6";
+  sha256 = "168xp4jxrlhxdw47y3xyr3hi57xharsrll8521a1phh8vzrbpi4z";
   buildDepends = [ semigroups ];
   meta = {
     homepage = "http://github.com/ekmett/void";
diff --git a/pkgs/development/libraries/haskell/vty/default.nix b/pkgs/development/libraries/haskell/vty/default.nix
index 6cd63e8a8733..684fbd2eed0d 100644
--- a/pkgs/development/libraries/haskell/vty/default.nix
+++ b/pkgs/development/libraries/haskell/vty/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "vty";
-  version = "4.7.0.12";
-  sha256 = "0mmx8rhj6k8c56qhaz7ay2yf9x61h27zxs14mrkw2y4qag6d4bii";
+  version = "4.7.0.14";
+  sha256 = "0wgn2jbr7lih9znkpa09nvb4qjd0801c0r4mwwrw4pd9n9mkjqn9";
   buildDepends = [
     deepseq mtl parallel parsec terminfo utf8String vector
   ];
diff --git a/pkgs/development/libraries/haskell/wai-app-static/default.nix b/pkgs/development/libraries/haskell/wai-app-static/default.nix
index 949200bbda3b..0653352d87e7 100644
--- a/pkgs/development/libraries/haskell/wai-app-static/default.nix
+++ b/pkgs/development/libraries/haskell/wai-app-static/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-app-static";
-  version = "1.2.0.3";
-  sha256 = "1hn4k28aa15vwvvay62rvi796fma7p3j31z6bfa9im0dxdy7sf9l";
+  version = "1.2.0.4";
+  sha256 = "06j9k93kzzzqznp61kwclvnnfas77jry4x93r5jn5n22198szcyi";
   buildDepends = [
     base64Bytestring blazeBuilder blazeHtml cryptohash fileEmbed
     httpDate httpTypes text time transformers unixCompat wai
diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix
index 9e716eb6c13f..3c808dd430b7 100644
--- a/pkgs/development/libraries/haskell/wai-extra/default.nix
+++ b/pkgs/development/libraries/haskell/wai-extra/default.nix
@@ -1,16 +1,17 @@
 { cabal, ansiTerminal, blazeBuilder, blazeBuilderConduit
 , caseInsensitive, conduit, dataDefault, fastLogger, httpTypes
-, network, resourcet, text, time, transformers, wai, zlibConduit
+, network, resourcet, stringsearch, text, time, transformers, wai
+, zlibConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-extra";
-  version = "1.2.0.4";
-  sha256 = "10nd87bs6q1827ihwm13czflha2g8dhza443n55xpakba1sdgsaz";
+  version = "1.2.0.5";
+  sha256 = "0m9zdn6cdh2j7bwsf17225rdn7jwj7iy97khbd9g7p9rv1lpdain";
   buildDepends = [
     ansiTerminal blazeBuilder blazeBuilderConduit caseInsensitive
-    conduit dataDefault fastLogger httpTypes network resourcet text
-    time transformers wai zlibConduit
+    conduit dataDefault fastLogger httpTypes network resourcet
+    stringsearch text time transformers wai zlibConduit
   ];
   meta = {
     homepage = "http://github.com/yesodweb/wai";
diff --git a/pkgs/development/libraries/haskell/wai/default.nix b/pkgs/development/libraries/haskell/wai/default.nix
index 9d558513ef86..2e0f723aba0d 100644
--- a/pkgs/development/libraries/haskell/wai/default.nix
+++ b/pkgs/development/libraries/haskell/wai/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai";
-  version = "1.2.0.2";
-  sha256 = "07h0znwlnfpikw9zxk7cxnyvsgqyix7lv8rylxzj259ylwfpk9fp";
+  version = "1.2.0.3";
+  sha256 = "0pl6zc29z58vpvsn37siiyr89mxc4khsnmzv2408i5vhlv2ks01p";
   buildDepends = [
     blazeBuilder conduit httpTypes network text transformers vault
   ];
diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix
index 18633f4cc1b1..0a3791a7f8df 100644
--- a/pkgs/development/libraries/haskell/warp/default.nix
+++ b/pkgs/development/libraries/haskell/warp/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "warp";
-  version = "1.2.1";
-  sha256 = "0yjvd9dc0rwczj3041s55lhfn46zhymgibrawl84ssxky68syhx4";
+  version = "1.2.2";
+  sha256 = "0jja9fjjd0f54awbx2p865w1mxj75qxy17skj1sc83i5ck32n6f0";
   buildDepends = [
     blazeBuilder blazeBuilderConduit caseInsensitive conduit httpTypes
     liftedBase network networkConduit simpleSendfile transformers
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxc.nix b/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
index 7bfd121a13fd..f439b9e1594a 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wxc.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wxc";
-  version = "0.90.0.3";
-  sha256 = "14b8g2w4knwxj5vkp759y8m3nmsi4n1zy57ma1kz7lw6jklb7dlq";
+  version = "0.90.0.4";
+  sha256 = "1bh20i1rb8ng0ni1v98nm8qv5wni19dvxwf5i3ijxhrxqdq4i7p6";
   buildDepends = [ wxdirect ];
   extraLibraries = [ libX11 mesa wxGTK ];
   noHaddock = true;
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix b/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix
index 9fa98d47f91e..98032d91c8e4 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wxcore";
-  version = "0.90.0.1";
-  sha256 = "031947805bjw32f1a8w2ra8714ysq5k0pxp11cr9hgcc93l9f3pq";
+  version = "0.90.0.3";
+  sha256 = "0d79hr6cz9zj3w57h6630nfnsmfq1w73gz04jjmlhwh8ih557imw";
   buildDepends = [ filepath parsec stm time wxc wxdirect ];
   extraLibraries = [ libX11 mesa wxGTK ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/xhtml/3000.2.1.nix b/pkgs/development/libraries/haskell/xhtml/3000.2.1.nix
index f1c11b790bb1..66196c806acc 100644
--- a/pkgs/development/libraries/haskell/xhtml/3000.2.1.nix
+++ b/pkgs/development/libraries/haskell/xhtml/3000.2.1.nix
@@ -3,7 +3,7 @@
 cabal.mkDerivation (self: {
   pname = "xhtml";
   version = "3000.2.1";
-  sha256 = "17qzc6kyiilhi8s25k68fbpyplihb1qxkpc6l93bvjrcchilsf22";
+  sha256 = "1n6wgzxbj8xf0wf1il827qidphnffb5vzhwzqlxhh70c2y10f0ik";
   meta = {
     homepage = "https://github.com/haskell/xhtml";
     description = "An XHTML combinator library";
diff --git a/pkgs/development/libraries/haskell/xml-types/default.nix b/pkgs/development/libraries/haskell/xml-types/default.nix
index bad66b19e3d4..080096b6f333 100644
--- a/pkgs/development/libraries/haskell/xml-types/default.nix
+++ b/pkgs/development/libraries/haskell/xml-types/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xml-types";
-  version = "0.3.1";
-  sha256 = "0ffmmidb9a1hqfbmvjxjvij2wfrqqlyjc7m7n81czrcrrsmyc1kc";
+  version = "0.3.2";
+  sha256 = "1aihs1n6hxq6frvxdqjqxsfwi2w2c2qx4bjypimjpjxf6d6n1396";
   buildDepends = [ text ];
   meta = {
     homepage = "https://john-millikin.com/software/haskell-xml/";
diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix
index a495ba4df3ce..e3228d039c11 100644
--- a/pkgs/development/libraries/haskell/yaml/default.nix
+++ b/pkgs/development/libraries/haskell/yaml/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yaml";
-  version = "0.7.0";
-  sha256 = "10l5isiidmjn818zm05ac65yaidrkq0qcb1bcpwnvi0fgjr308n5";
+  version = "0.7.0.3";
+  sha256 = "1w9xsg48np3wi859jdg5vm3dxihbdrbvd1i364lsfblbmry964mr";
   buildDepends = [
     aeson attoparsec conduit resourcet text transformers
     unorderedContainers vector
diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix
index b21ce4b00f06..17d3eb4427e0 100644
--- a/pkgs/development/libraries/haskell/yesod-core/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-core/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-core";
-  version = "1.0.1.2";
-  sha256 = "1c9ay0xv2s1kcj92ai0bj1gbml4k4w62n2mw7c5r6m88k8wmxh6z";
+  version = "1.0.1.3";
+  sha256 = "1rdj622zi12v9d7cxkn8w4q43k8c6gfz8wrpmvya76gqmg6h2gil";
   buildDepends = [
     aeson blazeBuilder blazeHtml blazeMarkup caseInsensitive cereal
     clientsession conduit cookie failure fastLogger hamlet httpTypes
diff --git a/pkgs/development/libraries/haskell/yesod-json/default.nix b/pkgs/development/libraries/haskell/yesod-json/default.nix
index 7ff0abedc1a8..b91ca879afad 100644
--- a/pkgs/development/libraries/haskell/yesod-json/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-json/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-json";
-  version = "1.0.0.1";
-  sha256 = "0dh294y067xa1y9lxamspbq21npv66ilsiayynsiykzik86k6vph";
+  version = "1.0.1.0";
+  sha256 = "0baxyy4mddgpfzm4scfizz8pi6y7a135kjwfhss51m6xx36s84zl";
   buildDepends = [
     aeson attoparsecConduit blazeBuilder conduit safe shakespeareJs
     text transformers vector wai waiExtra yesodCore yesodRoutes
diff --git a/pkgs/development/libraries/haskell/yesod-static/default.nix b/pkgs/development/libraries/haskell/yesod-static/default.nix
index c37287cd241d..72a1fed8db95 100644
--- a/pkgs/development/libraries/haskell/yesod-static/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-static/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-static";
-  version = "1.0.0.2";
-  sha256 = "12r3i4s1g9wlf5jmbvqw9qzcgw96zdlky6zisdipy40yzpg6m07v";
+  version = "1.0.0.3";
+  sha256 = "1nl7cf8yw5akldlrkamnkbypwnj7g1pjkx7nkmlc38jbx58izf5d";
   buildDepends = [
     base64Bytestring cereal conduit cryptoConduit cryptohash fileEmbed
     httpTypes text transformers unixCompat wai waiAppStatic yesodCore
diff --git a/pkgs/development/libraries/haskell/zlib-conduit/default.nix b/pkgs/development/libraries/haskell/zlib-conduit/default.nix
index 1b68250b61eb..e8b635643220 100644
--- a/pkgs/development/libraries/haskell/zlib-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/zlib-conduit/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "zlib-conduit";
-  version = "0.4.0.1";
-  sha256 = "07x0fgzxnwaaw5yg1ks2w9dc66biqbg50x79h84jpgb6d9pw2d7z";
+  version = "0.4.0.2";
+  sha256 = "1pwgyawc308rm1xcvzfz96ar11mngx79any7lragffj6f132qlm7";
   buildDepends = [ conduit transformers zlibBindings ];
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix
index 502e8b94bbd9..4f2bd4f679a0 100644
--- a/pkgs/development/libraries/hwloc/default.nix
+++ b/pkgs/development/libraries/hwloc/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchurl, pkgconfig, cairo, expat, ncurses, libX11 }:
+{ stdenv, fetchurl, pkgconfig, cairo, expat, ncurses, libX11
+, pciutils, numactl }:
 
 stdenv.mkDerivation rec {
-  name = "hwloc-1.4";
+  name = "hwloc-1.4.2";
 
   src = fetchurl {
     url = "http://www.open-mpi.org/software/hwloc/v1.4/downloads/${name}.tar.bz2";
-    sha256 = "1qcii99vn65jwgqpq8d2k4sksk734kkg223p58ck7v76q27h288y";
+    sha256 = "0xamcnbkrf18v1rj4h6ddx6cn4gffx6zgzjaym8c3k5mlpgigfdw";
   };
 
   # XXX: libX11 is not directly needed, but needed as a propagated dep of Cairo.
@@ -14,9 +15,31 @@ stdenv.mkDerivation rec {
   # Filter out `null' inputs.  This allows users to `.override' the
   # derivation and set optional dependencies to `null'.
   buildInputs = stdenv.lib.filter (x: x != null)
-   [ cairo expat ncurses libX11 ];
+   ([ expat ncurses ]
+     ++  (stdenv.lib.optionals (!stdenv.isCygwin) [ cairo libX11 ])
+     ++  (stdenv.lib.optionals stdenv.isLinux [ numactl ]));
 
-  doCheck = true;
+  propagatedBuildInputs =
+    # Since `libpci' appears in `hwloc.pc', it must be propagated.
+    stdenv.lib.optional stdenv.isLinux pciutils;
+
+  postInstall =
+    stdenv.lib.optionalString (stdenv.isLinux && numactl != null)
+      '' if [ -d "${numactl}/lib64" ]
+         then
+             numalibdir="${numactl}/lib64"
+         else
+             numalibdir="${numactl}/lib"
+             test -d "$numalibdir"
+         fi
+
+         sed -i "$out/lib/libhwloc.la" \
+             -e "s|-lnuma|-L$numalibdir -lnuma|g"
+      '';
+
+  # XXX: A test hangs on Cygwin, see
+  # <http://hydra.bordeaux.inria.fr/build/51474/nixlog/1/raw>.
+  doCheck = !stdenv.isCygwin;
 
   meta = {
     description = "hwloc, a portable abstraction of hierarchical architectures for high-performance computing";
diff --git a/pkgs/development/libraries/leptonica/default.nix b/pkgs/development/libraries/leptonica/default.nix
index e5229961b808..232f2775c00f 100644
--- a/pkgs/development/libraries/leptonica/default.nix
+++ b/pkgs/development/libraries/leptonica/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libpng, libtiff, libjpeg, zlib}:
+{stdenv, fetchurl, libpng12, libtiff, libjpeg, zlib}:
 
 stdenv.mkDerivation {
   name = "leptonica-1.68";
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "13qzm24zy46bj9b476jxzbw9qh7p96jikfzxg88kz4dj1p2vdvxc";
   };
 
-  buildInputs = [ libpng libtiff libjpeg zlib ];
+  buildInputs = [ libpng12 libtiff libjpeg zlib ];
 
   meta = {
     description = "Image processing and analysis library";
diff --git a/pkgs/development/libraries/libdivsufsort/default.nix b/pkgs/development/libraries/libdivsufsort/default.nix
new file mode 100644
index 000000000000..21ee2351c58f
--- /dev/null
+++ b/pkgs/development/libraries/libdivsufsort/default.nix
@@ -0,0 +1,16 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "libdivsufsort-2.0.1";
+  
+  src = fetchurl {
+    url = http://libdivsufsort.googlecode.com/files/libdivsufsort-2.0.1.tar.bz2;
+    sha256 = "1g0q40vb2k689bpasa914yi8sjsmih04017mw20zaqqpxa32rh2m";
+  };
+
+  meta = {
+    homepage = http://code.google.com/p/libdivsufsort/;
+    license = "MIT";
+    description = "Library to construct the suffix array and the BW transformed string";
+  };
+}
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index 4cf4068ed5bb..3a1e101aa431 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -16,7 +16,9 @@ stdenv.mkDerivation rec {
   preConfigure = stdenv.lib.optionalString stdenv.isDarwin
     "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache";
 
-  configureFlags = [ "--enable-nouveau-experimental-api" "--enable-udev" ]
+  configureFlags = [ "--enable-nouveau-experimental-api"
+                     "--enable-radeon-experimental-api"
+                     "--enable-udev" ]
     ++ stdenv.lib.optional stdenv.isDarwin "-C";
 
   crossAttrs.configureFlags = configureFlags ++ [ "--disable-intel" ];
diff --git a/pkgs/development/libraries/libebml/default.nix b/pkgs/development/libraries/libebml/default.nix
index 5cd17abc43ee..d85c205c68a6 100644
--- a/pkgs/development/libraries/libebml/default.nix
+++ b/pkgs/development/libraries/libebml/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libebml-1.0.0";
+  name = "libebml-1.2.2";
 
   src = fetchurl {
     url = "http://dl.matroska.org/downloads/libebml/${name}.tar.bz2";
-    sha256 = "0y5ip30nr96wjlh1pzw35ia1axyib158dhz8r5dxzmbcfgn0sj3j";
+    sha256 = "19dp8m97xaj46iv6ahb5v0fb9sawjiy8wy1ylljc15ka8g30hss7";
   };
 
   configurePhase = "cd make/linux";
diff --git a/pkgs/development/libraries/libexif/default.nix b/pkgs/development/libraries/libexif/default.nix
index a9b60feff2f3..48c66cb60706 100644
--- a/pkgs/development/libraries/libexif/default.nix
+++ b/pkgs/development/libraries/libexif/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "libexif-0.6.20";
+  name = "libexif-0.6.21";
 
   src = fetchurl {
     url = "mirror://sourceforge/libexif/${name}.tar.bz2";
-    sha256 = "05fphfmgrni6838v0lkcqv88fbw7r1mdw3ypy3bh567vv05x4wm7";
+    sha256 = "06nlsibr3ylfwp28w8f5466l6drgrnydgxrm4jmxzrmk5svaxk8n";
   };
 
   buildInputs = [ gettext ];
diff --git a/pkgs/development/libraries/libextractor/default.nix b/pkgs/development/libraries/libextractor/default.nix
index b532f3283d48..d2cbdf841b00 100644
--- a/pkgs/development/libraries/libextractor/default.nix
+++ b/pkgs/development/libraries/libextractor/default.nix
@@ -1,5 +1,10 @@
-{ fetchurl, stdenv, libtool, gettext, zlib, bzip2, flac, libvorbis, libmpeg2
-, ffmpeg, exiv2, libgsf, rpm, pkgconfig, glib, gtk }:
+{ fetchurl, stdenv, libtool, gettext, zlib, bzip2, flac, libvorbis
+, exiv2, libgsf, rpm, pkgconfig
+, gtkSupport ? true, glib ? null, gtk ? null
+, videoSupport ? true, ffmpeg ? null, libmpeg2 ? null}:
+
+assert gtkSupport -> glib != null && gtk != null;
+assert videoSupport -> ffmpeg != null && libmpeg2 != null;
 
 stdenv.mkDerivation rec {
   name = "libextractor-0.6.2";
@@ -16,10 +21,11 @@ stdenv.mkDerivation rec {
     '';
 
   buildInputs =
-   [ libtool gettext zlib bzip2 flac libvorbis libmpeg2 exiv2 ffmpeg
+   [ libtool gettext zlib bzip2 flac libvorbis exiv2
      libgsf rpm
-     pkgconfig glib gtk
-   ];
+     pkgconfig
+   ] ++ stdenv.lib.optionals gtkSupport [ glib gtk ]
+     ++ stdenv.lib.optionals videoSupport [ ffmpeg gtkSupport ];
 
   configureFlags = "--disable-ltdl-install "
     + "--with-ltdl-include=${libtool}/include "
diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix
index 9d36bc3d5f24..3941fd4d694d 100644
--- a/pkgs/development/libraries/libgsf/default.nix
+++ b/pkgs/development/libraries/libgsf/default.nix
@@ -1,7 +1,10 @@
 { fetchurl, stdenv, perl, perlXMLParser, pkgconfig, libxml2
-, glib, gettext, intltool, bzip2, gdk_pixbuf
-, gnome_vfs, libbonobo, python }:
+, gettext, intltool, bzip2, glib, python
+, gnomeSupport ? true,  gdk_pixbuf ? null
+, gnome_vfs ? null, libbonobo ? null }:
 
+assert gnomeSupport -> gdk_pixbuf != null && gnome_vfs != null && libbonobo != null
+  && glib != null;
 
 stdenv.mkDerivation rec {
   name = "libgsf-1.14.22";
@@ -13,9 +16,11 @@ stdenv.mkDerivation rec {
 
   buildNativeInputs = [ intltool pkgconfig ];
   buildInputs =
-    [ perl perlXMLParser gettext bzip2 gnome_vfs python gdk_pixbuf ];
+    [ perl perlXMLParser gettext bzip2 python ]
+    ++ stdenv.lib.optionals gnomeSupport [ gnome_vfs gdk_pixbuf ];
 
-  propagatedBuildInputs = [ glib libxml2 libbonobo ];
+  propagatedBuildInputs = [ libxml2 glib ]
+    ++ stdenv.lib.optionals gnomeSupport [ libbonobo ];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix
index 459987efa474..f2958e4668de 100644
--- a/pkgs/development/libraries/libiconv/default.nix
+++ b/pkgs/development/libraries/libiconv/default.nix
@@ -1,6 +1,6 @@
 { fetchurl, stdenv }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
   name = "libiconv-1.13.1";
 
   src = fetchurl {
@@ -30,3 +30,13 @@ stdenv.mkDerivation rec {
     platforms = [ "i686-cygwin" "i686-darwin" ];
   };
 }
+
+//
+
+stdenv.lib.optionalAttrs stdenv.isCygwin {
+  # On Cygwin, Libtool produces a `.dll.a', which is not a "real" DLL
+  # (Windows' linker would need to be used somehow to produce an actual
+  # DLL.)  Thus, build the static library too, and this is what Gettext
+  # will actually use.
+  configureFlags = [ "--enable-static" ];
+})
diff --git a/pkgs/development/libraries/libiodbc/default.nix b/pkgs/development/libraries/libiodbc/default.nix
index fb3a2fd11d00..b97d4becb622 100644
--- a/pkgs/development/libraries/libiodbc/default.nix
+++ b/pkgs/development/libraries/libiodbc/default.nix
@@ -1,15 +1,20 @@
 { stdenv, fetchurl, pkgconfig, gtk, useGTK ? false }:
 
 stdenv.mkDerivation rec {
-  name = "libiodbc-3.52.7";
+  name = "libiodbc-3.52.8";
 
   src = fetchurl {
-    url = "${meta.homepage}/downloads/iODBC/${name}.tar.gz";
-    sha256 = "d7002cc7e566785f1203f6096dcb49b0aad02a9d9946a8eca5d663ac1a85c0c7";
+    url = "mirror://sourceforge/iodbc/${name}.tar.gz";
+    sha256 = "16hjb6fcval85gnkgkxfhw4c5h3pgf86awyh8p2bhnnvzc0ma5hq";
   };
 
   buildInputs = stdenv.lib.optionals useGTK [ gtk pkgconfig ];
 
+  preBuild =
+    ''
+      export NIX_LDFLAGS_BEFORE="-rpath $out/lib"
+    '';
+
   meta = {
     description = "iODBC driver manager";
     homepage = http://www.iodbc.org;
diff --git a/pkgs/development/libraries/libmatroska/default.nix b/pkgs/development/libraries/libmatroska/default.nix
index b851077a6f16..0bbc095c380f 100644
--- a/pkgs/development/libraries/libmatroska/default.nix
+++ b/pkgs/development/libraries/libmatroska/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libebml }:
 
 stdenv.mkDerivation rec {
-  name = "libmatroska-1.0.0";
+  name = "libmatroska-1.3.0";
 
   src = fetchurl {
     url = "http://dl.matroska.org/downloads/libmatroska/${name}.tar.bz2";
-    sha256 = "123v2dhvv6yijqxc30spabzznjf5lbcv4iv4mmz4b3jhvwiha06w";
+    sha256 = "0scfs5lc1nvdfv7ipgg02h7wzxks48hc5lvgk9qmwdkihnayqcaj";
   };
 
   configurePhase = "cd make/linux";
diff --git a/pkgs/development/libraries/libmikmod/default.nix b/pkgs/development/libraries/libmikmod/default.nix
index 3d2a2635fbcc..cde3aecce078 100644
--- a/pkgs/development/libraries/libmikmod/default.nix
+++ b/pkgs/development/libraries/libmikmod/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, texinfo }:
 stdenv.mkDerivation rec {
-  name = "libmikmod-3.1.12";
+  name = "libmikmod-3.2.0";
   src = fetchurl {
-    url = "mirror://sourceforge/mikmod/${name}.tar.gz";
-    sha256 = "0cpwpl0iqd5zsdwshw69arzlwp883bkmkx41wf3fzrh60dw2n6l9";
+    url = "http://mikmod.shlomifish.org/files/${name}.tar.gz";
+    sha256 = "07k6iyx6pyzisncgdkd071w2dhm3rx6l34hbja3wbc7rpf888k3k";
   };
   buildInputs = [ texinfo ];
   meta = {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
       A library for playing tracker music module files supporting many formats,
       including MOD, S3M, IT and XM.
     '';
-    homepage = http://mikmod.raphnet.net/;
+    homepage = http://mikmod.shlomifish.org/;
     license = "LGPLv2+";
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/development/libraries/libmng/default.nix b/pkgs/development/libraries/libmng/default.nix
index 3082bd0ce23a..5a73fd417f90 100644
--- a/pkgs/development/libraries/libmng/default.nix
+++ b/pkgs/development/libraries/libmng/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, zlib, libpng, libjpeg, lcms, automake, autoconf, libtool }:
+{ stdenv, fetchurl, zlib, libpng, libjpeg, lcms, automake110x, autoconf, libtool }:
 
 stdenv.mkDerivation rec {
   name = "libmng-1.0.10";
@@ -10,11 +10,11 @@ stdenv.mkDerivation rec {
 
   preConfigure = "unmaintained/autogen.sh";
 
-  buildNativeInputs = [ automake autoconf libtool ];
+  buildNativeInputs = [ automake110x autoconf libtool ];
 
   propagatedBuildInputs = [ zlib libpng libjpeg lcms ];
 
-  meta = { 
+  meta = {
     description = "Reference library for reading, displaying, writing and examining Multiple-Image Network Graphics";
     homepage = http://www.libmng.com;
     license = "zlib/libpng";
diff --git a/pkgs/development/libraries/librsync/default.nix b/pkgs/development/libraries/librsync/default.nix
index a70a61042e00..41445b841435 100644
--- a/pkgs/development/libraries/librsync/default.nix
+++ b/pkgs/development/libraries/librsync/default.nix
@@ -10,6 +10,10 @@ stdenv.mkDerivation {
 
   configureFlags = if stdenv.isCygwin then "--enable-static" else "--enable-shared";
 
+  crossAttrs = {
+    dontStrip = true;
+  };
+
   meta = {
     homepage = http://librsync.sourceforge.net/;
     license = "LGPLv2+";
diff --git a/pkgs/development/libraries/libsigcxx/default.nix b/pkgs/development/libraries/libsigcxx/default.nix
index c8aa87b26e0c..f8fdb4c28c2a 100644
--- a/pkgs/development/libraries/libsigcxx/default.nix
+++ b/pkgs/development/libraries/libsigcxx/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "libsigc++-2.2.10";
-  
+
   src = fetchurl {
     url = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/${name}.tar.xz";
     sha256 = "8ceb6f2732f5399ef50d5b70f433d49945a12e0900b8f9f43c135866a2e5bf47";
diff --git a/pkgs/development/libraries/libtheora/default.nix b/pkgs/development/libraries/libtheora/default.nix
index 432e6edc61cc..e846b213ee0f 100644
--- a/pkgs/development/libraries/libtheora/default.nix
+++ b/pkgs/development/libraries/libtheora/default.nix
@@ -1,6 +1,6 @@
-{stdenv, fetchurl, libogg, libvorbis, tremor}:
+{stdenv, fetchurl, libogg, libvorbis, tremor, autoconf, automake, libtool}:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation ({
   name = "libtheora-1.1.1";
   src = fetchurl {
     url = http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz;
@@ -14,3 +14,10 @@ stdenv.mkDerivation {
     configureFlags = "--disable-examples";
   };
 }
+
+# It has an old config.guess that doesn't know the mips64el.
+// stdenv.lib.optionalAttrs (stdenv.system == "mips64el-linux")
+{
+  propagatedBuildInputs = [libogg libvorbis autoconf automake libtool];
+  preConfigure = "rm config.guess; sh autogen.sh";
+})
diff --git a/pkgs/development/libraries/libv4l/default.nix b/pkgs/development/libraries/libv4l/default.nix
deleted file mode 100644
index fac2135b9ed5..000000000000
--- a/pkgs/development/libraries/libv4l/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{stdenv, fetchurl}:
-
-stdenv.mkDerivation {
-  name = "libv4l-0.6.2";
-  src = fetchurl {
-    url = http://people.atrpms.net/~hdegoede/libv4l-0.6.1.tar.gz;
-    sha256 = "1grbyb9vsdlp6yx4inmazgp5g0jxga8wbl3h8dv6vlfh5hckxf9n";
-  };
-  installPhase = "make PREFIX=$out install";
-}
diff --git a/pkgs/development/libraries/libvdpau/default.nix b/pkgs/development/libraries/libvdpau/default.nix
index b6f8260bc194..bf9927c93072 100644
--- a/pkgs/development/libraries/libvdpau/default.nix
+++ b/pkgs/development/libraries/libvdpau/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, xlibs }:
+{ stdenv, fetchurl, pkgconfig, libX11 }:
 
 stdenv.mkDerivation rec {
   name = "libvdpau-0.4.1";
@@ -8,7 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "16zmmbawfnvrxjqvgfwxjfd1wh3vyz2cmvxza6cgf4j9qs36y6q6";
   };
 
-  buildInputs = [ pkgconfig xlibs.libX11 ];
+  buildInputs = [ pkgconfig libX11 ];
+
+  propagatedBuildInputs = [ libX11 ];
 
   meta = {
     homepage = http://people.freedesktop.org/~aplattner/vdpau/;
diff --git a/pkgs/development/libraries/mlt/default.nix b/pkgs/development/libraries/mlt/default.nix
index 1740de118a48..640bc7edc32e 100644
--- a/pkgs/development/libraries/mlt/default.nix
+++ b/pkgs/development/libraries/mlt/default.nix
@@ -1,15 +1,19 @@
-{stdenv, fetchurl, SDL, qt4, pkgconfig, ffmpeg, libdv, libxml2, libsamplerate,
-libvorbis, sox}:
+{ stdenv, fetchurl, SDL, ffmpeg, libdv, libsamplerate, libvorbis
+, libxml2 , pkgconfig, qt4, sox }:
 
-stdenv.mkDerivation {
-  name = "mlt-0.7.8";
+stdenv.mkDerivation rec {
+  name = "mlt-${version}";
+  version = "0.8.0";
 
   src = fetchurl {
-    url = mirror://sourceforge/mlt/mlt-0.7.8.tar.gz;
-    sha256 = "0hvfjk0hspamym0ahi635ivx9iv3v2jy2qv15za1vmz28qkkp0wm";
+    url = "mirror://sourceforge/mlt/${name}.tar.gz";
+    sha256 = "1pf61imb5xzgzf65g54kybjr67235rxi20691023mcv34qwppl3v";
   };
 
-  buildInputs = [ qt4 SDL ffmpeg libdv libxml2 libsamplerate libvorbis sox pkgconfig ];
+  buildInputs = 
+    [ SDL ffmpeg libdv libsamplerate libvorbis libxml2 pkgconfig qt4
+      sox
+    ];
 
   # Mostly taken from:
   # http://www.kdenlive.org/user-manual/downloading-and-installing-kdenlive/installing-source/installing-mlt-rendering-engine
diff --git a/pkgs/development/libraries/neon/0.29.6-darwin-fix-configure.patch b/pkgs/development/libraries/neon/0.29.6-darwin-fix-configure.patch
new file mode 100644
index 000000000000..87222a9c0ce0
--- /dev/null
+++ b/pkgs/development/libraries/neon/0.29.6-darwin-fix-configure.patch
@@ -0,0 +1,12 @@
+diff -Nuar neon-0.29.6/configure neon-0.29.6-darwin-fix-configure/configure
+--- neon-0.29.6/configure	2011-05-03 14:25:31.000000000 +0200
++++ neon-0.29.6-darwin-fix-configure/configure	2012-06-06 23:32:21.000000000 +0200
+@@ -4184,7 +4184,7 @@
+ $as_echo "$ne_cv_os_uname" >&6; }
+ 
+ if test "$ne_cv_os_uname" = "Darwin"; then
+-  CPPFLAGS="$CPPFLAGS -no-cpp-precomp"
++  CPPFLAGS="$CPPFLAGS"
+   LDFLAGS="$LDFLAGS -flat_namespace"
+   # poll has various issues in various Darwin releases
+   if test x${ac_cv_func_poll+set} != xset; then
diff --git a/pkgs/development/libraries/neon/0.29.nix b/pkgs/development/libraries/neon/0.29.nix
index 8666f6233a93..ffc409d271e0 100644
--- a/pkgs/development/libraries/neon/0.29.nix
+++ b/pkgs/development/libraries/neon/0.29.nix
@@ -9,6 +9,10 @@ assert compressionSupport -> zlib != null;
 assert sslSupport -> openssl != null;
 assert static || shared;
 
+let
+   inherit (stdenv.lib) optionals;
+in
+
 stdenv.mkDerivation rec {
   name = "neon-0.29.6";
 
@@ -17,6 +21,8 @@ stdenv.mkDerivation rec {
     sha256 = "0hzbjqdx1z8zw0vmbknf159wjsxbcq8ii0wgwkqhxj3dimr0nr4w";
   };
 
+  patches = optionals stdenv.isDarwin [ ./0.29.6-darwin-fix-configure.patch ];
+
   buildInputs = [libxml2 pkgconfig openssl]
     ++ stdenv.lib.optional compressionSupport zlib;
 
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index f8423eb47f4d..c570688de210 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl }:
 
-let version = "4.9"; in
+let version = "4.9.1"; in
 
 stdenv.mkDerivation {
   name = "nspr-${version}";
 
   src = fetchurl {
     url = "http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha1 = "57a6bb09ccb90d14303c3d9a6ec2592d8a5c0752";
+    sha1 = "1d52282668f2f8f5aabf7a5a3e7f6ba9a5df9710";
   };
 
   preConfigure = "cd mozilla/nsprpub";
@@ -18,6 +18,8 @@ stdenv.mkDerivation {
     ''
       find $out -name "*.a" | xargs rm
     '';
+
+  enableParallelBuilding = true;
     
   meta = {
     homepage = http://www.mozilla.org/projects/nspr/;
diff --git a/pkgs/development/libraries/opencv/2.1.nix b/pkgs/development/libraries/opencv/2.1.nix
index 6f422463db93..ea5b1313dc7f 100644
--- a/pkgs/development/libraries/opencv/2.1.nix
+++ b/pkgs/development/libraries/opencv/2.1.nix
@@ -9,11 +9,17 @@ stdenv.mkDerivation rec {
     sha256 = "26061fd52ab0ab593c093ff94b5f5c09b956d7deda96b47019ff11932111397f";
   };
 
-  buildInputs = [ cmake gtk glib libjpeg libpng libtiff jasper ffmpeg pkgconfig
+  # The order is important; libpng should go before X libs, because they
+  # propagate the libpng 1.5 (and opencv wants libpng 1.2)
+  buildInputs = [ cmake libpng gtk glib libjpeg libtiff jasper ffmpeg pkgconfig
     xineLib gstreamer ];
 
   enableParallelBuilding = true;
 
+  patchPhase = ''
+    sed -i 's/ptrdiff_t/std::ptrdiff_t/' include/opencv/*
+  '';
+
   preConfigure = ''
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -D__STDC_CONSTANT_MACROS "
   '';
diff --git a/pkgs/development/libraries/opencv/default.nix b/pkgs/development/libraries/opencv/default.nix
index 46c170d33f99..009935e14c07 100644
--- a/pkgs/development/libraries/opencv/default.nix
+++ b/pkgs/development/libraries/opencv/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, cmake, gtk, libjpeg, libpng, libtiff, jasper, ffmpeg
 , pkgconfig, gstreamer, xineLib, glib }:
 
-let v = "2.3.1a"; in
+let v = "2.4.1"; in
 
 stdenv.mkDerivation rec {
   name = "opencv-${v}";
 
   src = fetchurl {
     url = "mirror://sourceforge/opencvlibrary/OpenCV-${v}.tar.bz2";
-    sha256 = "0325s7pa2npcw2gc06pr6q5ik4xdyf08rvkfc0myn10w20lzb8m9";
+    sha256 = "1wxijbz1jfsg4695fls83825ppiacxfn5x07al0qkkx5rm7spdi9";
   };
 
   buildInputs = [ gtk glib libjpeg libpng libtiff jasper ffmpeg xineLib gstreamer ];
diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix
index 22f98535803c..5c9fedb7fc55 100644
--- a/pkgs/development/libraries/openldap/default.nix
+++ b/pkgs/development/libraries/openldap/default.nix
@@ -1,23 +1,19 @@
 {stdenv, fetchurl, openssl, cyrus_sasl, db4, groff}:
 
-stdenv.mkDerivation {
-  name = "openldap-2.4.13";
-  
+stdenv.mkDerivation rec {
+  name = "openldap-2.4.31";
+
   src = fetchurl {
-    url = ftp://ftp.nl.uu.net/pub/unix/db/openldap/openldap-release/openldap-2.4.13.tgz;
-    sha256 = "18l06v8z5wnr92m28bwxd27l6kw3i0gi00yivv603da6m76cm0ic";
+    url = "ftp://ftp.nl.uu.net/pub/unix/db/openldap/openldap-release/${name}.tgz";
+    sha256 = "bde845840df4794b869a6efd6a6b1086f80989038e4844b2e4d7d6b57b39c5b6";
   };
-  
+
   buildInputs = [openssl cyrus_sasl db4 groff];
-  
-  dontPatchELF = 1; # !!!
 
-  # Build on Glibc 2.9.
-  # http://www.openldap.org/lists/openldap-bugs/200808/msg00130.html
-  NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE";
+  dontPatchELF = 1; # !!!
 
   meta = {
-    homepage = http://www.openldap.org/;
+    homepage = "http://www.openldap.org/";
     description = "An open source implementation of the Lightweight Directory Access Protocol";
   };
 }
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index 7802f89807d3..edfe26740def 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     ${if !cplusplusSupport then "--disable-cpp" else ""}
   '' + stdenv.lib.optionalString stdenv.isDarwin "CXXFLAGS=-O0";
 
-  doCheck = true;
+  doCheck = !stdenv.isCygwin;                   # XXX: test failure on Cygwin
 
   meta = {
     homepage = "http://www.pcre.org/";
diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix
index a3a78af439a4..f56886259a63 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -12,7 +12,7 @@
 }:
 
 let
-  v = "4.8.1";
+  v = "4.8.2";
 in
 
 # TODO:
@@ -23,8 +23,8 @@ stdenv.mkDerivation rec {
   name = "qt-${v}";
 
   src = fetchurl {
-    url = "ftp://ftp.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${v}.tar.gz";
-    sha256 = "1s3sv2p8q4bjy0h6r81gdnd64apdx8kwm5jc7rxavd21m8v1m1gg";
+    url = "http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-${v}.tar.gz";
+    sha256 = "0y93vkkn44md37gyg4y8sc9ylk27xkniaimfcpdcwd090qnjl6wj";
   };
 
   patches = [ ( substituteAll {
@@ -79,8 +79,12 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs =
     [ libXrender libXrandr libXinerama libXcursor libXext libXfixes
-      libXv libXi libSM mesa
-    ] ++ (stdenv.lib.optional (buildWebkit || buildMultimedia) alsaLib)
+      libXv libXi libSM
+    ]
+    ++ (stdenv.lib.optional (stdenv.lib.lists.elem stdenv.system
+                              stdenv.lib.platforms.mesaPlatforms)
+         mesa)
+    ++ (stdenv.lib.optional (buildWebkit || buildMultimedia) alsaLib)
     ++ [ zlib libpng openssl dbus.libs freetype fontconfig glib ]
     ++ (stdenv.lib.optionals (buildWebkit || buildMultimedia)
         [ gstreamer gst_plugins_base ]);
@@ -102,6 +106,41 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  crossAttrs = let
+    isMingw = stdenv.cross.config == "i686-pc-mingw32" ||
+      stdenv.cross.config == "x86_64-w64-mingw32";
+  in {
+    # I've not tried any case other than i686-pc-mingw32.
+    # -nomake tools:   it fails linking some asian language symbols
+    # -no-svg: it fails to build on mingw64
+    configureFlags = ''
+      -static -release -confirm-license -opensource
+      -no-opengl -no-phonon
+      -no-svg
+      -make qmake -make libs -nomake tools
+      -nomake demos -nomake examples -nomake docs
+    '' + stdenv.lib.optionalString isMingw " -xplatform win32-g++-4.6";
+    patches = [];
+    preConfigure = ''
+      sed -i -e 's/ g++/ ${stdenv.cross.config}-g++/' \
+        -e 's/ gcc/ ${stdenv.cross.config}-gcc/' \
+        -e 's/ ar/ ${stdenv.cross.config}-ar/' \
+        -e 's/ strip/ ${stdenv.cross.config}-strip/' \
+        -e 's/ windres/ ${stdenv.cross.config}-windres/' \
+        mkspecs/win32-g++/qmake.conf
+    '';
+
+    # I don't know why it does not install qmake
+    postInstall = ''
+      cp bin/qmake* $out/bin
+    '';
+    dontSetConfigureCross = true;
+    dontStrip = true;
+  } // (if isMingw then
+  {
+    propagatedBuildInputs = [ ];
+  } else {});
+
   meta = with stdenv.lib; {
     homepage = http://qt.nokia.com/products;
     description = "A cross-platform application framework for C++";
diff --git a/pkgs/development/libraries/qt-mobility/default.nix b/pkgs/development/libraries/qt-mobility/default.nix
new file mode 100644
index 000000000000..71ec5e77a738
--- /dev/null
+++ b/pkgs/development/libraries/qt-mobility/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, qt4, libX11, coreutils, bluez, perl }:
+# possible additional dependencies: pulseaudio udev networkmanager immerson qmf
+
+stdenv.mkDerivation rec {
+  version = "1.2.0";
+  name = "qt-mobility-${version}";
+  download = "qt-mobility-opensource-src-${version}";
+  src = fetchurl {
+    url =  "http://get.qt.nokia.com/qt/add-ons/${download}.tar.gz";
+    sha256 = "ee3c88975e04139ac9589f76d4be646d44fcbc4c8c1cf2db621abc154cf0ba44";
+  };
+
+  NIX_CFLAGS_COMPILE="-fpermissive";
+
+  configurePhase = ''
+    ./configure -prefix $out
+  '';
+
+  # we need to prevent the 'make install' to want to write to ${qt4}!
+  # according to thiago#qt@freenode these are used for the QML engine
+  preBuild = ''
+    for i in connectivity contacts feedback gallery location multimedia organizer publishsubscribe sensors serviceframework systeminfo; do
+      substituteInPlace plugins/declarative/$i/Makefile --replace "${qt4}/lib/qt4/imports/" "$out/lib/qt4/imports/"
+  '';
+
+  # Features files (*.prf) are not installed on nixos
+  # https://bugreports.qt-project.org/browse/QTMOBILITY-1085
+  #  - features/mobility.prf (/tmp/nix-build-9kh12nhf9cyplfwiws96gz414v6wgl67-qt-mobility-1.2.0.drv-0/qt-mobility-opensource-src-1.2.0)
+
+  patchPhase = ''
+    # required to make the configure script work
+    substituteInPlace configure --replace "/bin/pwd" "${coreutils}/bin/pwd"
+
+    # required to make /include generator work
+    substituteInPlace bin/syncheaders --replace "/usr/bin/perl" "${perl}/bin/perl"
+
+    # required to make the -prefix variable parsing work
+    substituteInPlace bin/pathhelper --replace "/usr/bin/perl" "${perl}/bin/perl"
+  '';
+
+  buildInputs = [ qt4 libX11 bluez perl ];
+
+  meta = {
+    description = "Qt Mobility";
+    homepage = http://qt.nokia.com/products/qt-addons/mobility;
+    maintainers = with stdenv.lib.maintainers; [qknight];
+  };
+}
+
+
diff --git a/pkgs/development/libraries/serd/default.nix b/pkgs/development/libraries/serd/default.nix
new file mode 100644
index 000000000000..8deb26abc1da
--- /dev/null
+++ b/pkgs/development/libraries/serd/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pcre, pkgconfig, python }:
+
+stdenv.mkDerivation rec {
+  name = "serd-${version}";
+  version = "0.14.0";
+
+  src = fetchurl {
+    url = "http://download.drobilla.net/${name}.tar.bz2";
+    sha256 = "023gsw0nwn2fh2vp7v2gwsmdwk6658zfl1ihdvr9xbayfcv88wlg";
+  };
+
+  buildInputs = [ pcre pkgconfig python ];
+
+  configurePhase = "python waf configure --prefix=$out";
+
+  buildPhase = "python waf";
+
+  installPhase = "python waf install";
+
+  meta = with stdenv.lib; {
+    homepage = http://drobilla.net/software/serd;
+    description = "A lightweight C library for RDF syntax which supports reading and writing Turtle and NTriples";
+    license = licenses.mit;
+    maintainers = [ maintainers.goibhniu ];
+
+  };
+}
diff --git a/pkgs/development/libraries/soprano/default.nix b/pkgs/development/libraries/soprano/default.nix
index d52d821843ad..54e40efe65e8 100644
--- a/pkgs/development/libraries/soprano/default.nix
+++ b/pkgs/development/libraries/soprano/default.nix
@@ -2,11 +2,11 @@
 , pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "soprano-2.7.5";
+  name = "soprano-2.7.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/soprano/${name}.tar.bz2";
-    sha256 = "0g9vi4z82dwz0hkg3b9gvi11akji1mzphjxwz3fw55213c0f0a3c";
+    sha256 = "0cnprxc8wykl96aphsh2d3711h7cals7gnibbxpsmsqyqbnhbp98";
   };
 
   patches = [ ./find-virtuoso.patch ];
diff --git a/pkgs/development/libraries/soprano/find-virtuoso.patch b/pkgs/development/libraries/soprano/find-virtuoso.patch
index 7da53d6f633b..95a2c7e96565 100644
--- a/pkgs/development/libraries/soprano/find-virtuoso.patch
+++ b/pkgs/development/libraries/soprano/find-virtuoso.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Find virtuoso if virtuoso-t is in PATH
  2 files changed, 23 insertions(+), 10 deletions(-)
 
 diff --git a/backends/virtuoso/virtuosobackend.cpp b/backends/virtuoso/virtuosobackend.cpp
-index c83605d..8c30c81 100644
+index c245101..249958a 100644
 --- a/backends/virtuoso/virtuosobackend.cpp
 +++ b/backends/virtuoso/virtuosobackend.cpp
-@@ -27,6 +27,7 @@
+@@ -28,6 +28,7 @@
  #include "odbcconnectionpool.h"
  
  #include "sopranodirs.h"
@@ -18,7 +18,7 @@ index c83605d..8c30c81 100644
  
  #include <QtCore/QDebug>
  #include <QtCore/QtPlugin>
-@@ -188,19 +189,19 @@ namespace {
+@@ -210,19 +211,19 @@ Soprano::BackendFeatures Soprano::Virtuoso::BackendPlugin::supportedFeatures() c
  
  bool Soprano::Virtuoso::BackendPlugin::isAvailable() const
  {
@@ -29,14 +29,14 @@ index c83605d..8c30c81 100644
 -    }
 -#endif
 -
-     QString virtuosoBin = VirtuosoController::locateVirtuosoBinary();
+     QString virtuosoBin = locateVirtuosoBinary();
      if ( virtuosoBin.isEmpty() ) {
          qDebug() << Q_FUNC_INFO << "could not find virtuoso-t binary";
          return false;
      }
  
 +#ifndef Q_OS_WIN
-+    if ( findVirtuosoDriver(virtuosoBin).isEmpty() ) {
++    if ( findVirtuosoDriver( virtuosoBin ).isEmpty() ) {
 +        qDebug() << Q_FUNC_INFO << "could not find Virtuoso ODBC driver";
 +        return false;
 +    }
@@ -45,17 +45,17 @@ index c83605d..8c30c81 100644
      QString vs = determineVirtuosoVersion( virtuosoBin );
      if ( vs.isEmpty() ) {
          qDebug() << Q_FUNC_INFO << "Failed to determine version of the Virtuoso server at" << virtuosoBin;
-@@ -217,9 +218,21 @@ bool Soprano::Virtuoso::BackendPlugin::isAvailable() const
- 
+@@ -267,9 +268,21 @@ QString Soprano::Virtuoso::BackendPlugin::locateVirtuosoBinary()
  
  #ifndef Q_OS_WIN
--QString Soprano::Virtuoso::BackendPlugin::findVirtuosoDriver() const
-+QString Soprano::Virtuoso::BackendPlugin::findVirtuosoDriver( const QString &virtuosoBinHint ) const
+ // static
+-QString Soprano::Virtuoso::BackendPlugin::findVirtuosoDriver()
++QString Soprano::Virtuoso::BackendPlugin::findVirtuosoDriver( const QString &virtuosoBinHint )
  {
 -    return Soprano::findLibraryPath( "virtodbc_r", QStringList(), QStringList() << QLatin1String( "virtuoso/plugins/" ) << QLatin1String( "odbc/" ) );
 +    QString virtuosoBin;
 +    if (virtuosoBinHint.isEmpty())
-+        virtuosoBin = VirtuosoController::locateVirtuosoBinary();
++        virtuosoBin = locateVirtuosoBinary();
 +    else
 +        virtuosoBin = virtuosoBinHint;
 +
@@ -70,17 +70,17 @@ index c83605d..8c30c81 100644
  #endif
  
 diff --git a/backends/virtuoso/virtuosobackend.h b/backends/virtuoso/virtuosobackend.h
-index 3971b83..0807e5d 100644
+index 646b9f8..535fbb9 100644
 --- a/backends/virtuoso/virtuosobackend.h
 +++ b/backends/virtuoso/virtuosobackend.h
-@@ -50,7 +50,7 @@ namespace Soprano {
+@@ -52,7 +52,7 @@ namespace Soprano {
  
  #ifndef Q_OS_WIN
          private:
--            QString findVirtuosoDriver() const;
-+            QString findVirtuosoDriver(const QString &virtuosoBinHint = QString()) const;
+-            static QString findVirtuosoDriver();
++            static QString findVirtuosoDriver(const QString &virtuosoBinHint = QString());
  #endif
          };
      }
 -- 
-tg: (da390be..) t/find-virtuoso (depends on: master)
+tg: (2321148..) t/find-virtuoso (depends on: master)
diff --git a/pkgs/development/libraries/sord/default.nix b/pkgs/development/libraries/sord/default.nix
new file mode 100644
index 000000000000..ee9d241424c8
--- /dev/null
+++ b/pkgs/development/libraries/sord/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig, python, serd }:
+
+stdenv.mkDerivation rec {
+  name = "sord-${version}";
+  version = "0.8.0";
+
+  src = fetchurl {
+    url = "http://download.drobilla.net/${name}.tar.bz2";
+    sha256 = "0ncaplfr3wal9h8h3lafw0bhx34w046r7md74djgrysrm2h77pwr";
+  };
+
+  buildInputs = [ pkgconfig python serd ];
+
+  configurePhase = "python waf configure --prefix=$out";
+
+  buildPhase = "python waf";
+
+  installPhase = "python waf install";
+
+  meta = with stdenv.lib; {
+    homepage = http://drobilla.net/software/sord;
+    description = "A lightweight C library for storing RDF data in memory";
+    license = licenses.mit;
+    maintainers = [ maintainers.goibhniu ];
+
+  };
+}
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index e6f1249ffa27..de154964fe57 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -3,11 +3,11 @@
 assert readline != null -> ncurses != null;
 
 stdenv.mkDerivation {
-  name = "sqlite-3.7.11";
+  name = "sqlite-3.7.13";
 
   src = fetchurl {
-    url = http://www.sqlite.org/sqlite-autoconf-3071100.tar.gz;
-    sha256 = "0ss7nd61jmfkz6piw9838c2msa14axjjlkf4d36rn91nqmfwgb9b";
+    url = http://www.sqlite.org/sqlite-autoconf-3071300.tar.gz;
+    sha1 = "d3833b6ad68db8505d1044f761dd962f415cd302";
   };
 
   buildInputs = [ readline ncurses ];
diff --git a/pkgs/development/libraries/tcllib/default.nix b/pkgs/development/libraries/tcllib/default.nix
new file mode 100644
index 000000000000..fcfbbe19d949
--- /dev/null
+++ b/pkgs/development/libraries/tcllib/default.nix
@@ -0,0 +1,13 @@
+{ stdenv, fetchurl, tcl }:
+
+stdenv.mkDerivation rec {
+  name = "tcllib-${version}";
+  version = "1.14";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/tcllib/tcllib-${version}.tar.gz";
+    sha256 = "11052fgfmv9vyswzjjgfvh3pi0k3fnfnl9ri6nl4vc6f6z5ry56x";
+  };
+
+  buildInputs = [tcl];
+}
diff --git a/pkgs/development/libraries/tcltls/default.nix b/pkgs/development/libraries/tcltls/default.nix
new file mode 100644
index 000000000000..dbbfc3d38556
--- /dev/null
+++ b/pkgs/development/libraries/tcltls/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, tcl, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "tcltls-${version}";
+  version = "1.6";
+
+  configureFlags = "--with-tcl=" + tcl + "/lib "
+                 + "--with-tclinclude=" + tcl + "/include "
+                 + "--with-ssl-dir=" + openssl;
+
+  preConfigure = ''
+    configureFlags="--exec_prefix=$prefix $configureFlags"
+  '';
+
+  src = fetchurl {
+    url = "mirror://sourceforge/tls/tls${version}-src.tar.gz";
+    sha256 = "adec50143a9ad634a671d24f7c7bbf2455487eb5f12d290f41797c32a98b93f3";
+  };
+
+  buildInputs = [tcl openssl];
+}
diff --git a/pkgs/development/libraries/telepathy/glib/default.nix b/pkgs/development/libraries/telepathy/glib/default.nix
index 22a6aef5c3a7..b31338a65951 100644
--- a/pkgs/development/libraries/telepathy/glib/default.nix
+++ b/pkgs/development/libraries/telepathy/glib/default.nix
@@ -1,19 +1,17 @@
 { stdenv, fetchurl, dbus_glib, glib, python, pkgconfig, libxslt }:
 
 stdenv.mkDerivation rec {
-  name = "telepathy-glib-0.17.7";
+  name = "telepathy-glib-0.18.1";
 
   src = fetchurl {
     url = "${meta.homepage}/releases/telepathy-glib/${name}.tar.gz";
-    sha256 = "1brzw0cqawcyh7rffzbmydzbymrrsmzf8rksgamiqpwsdvcnksxz";
+    sha256 = "0vac5wk9rpaniqxwa50szcc5ql779ks37sy4z7fj4k73i5k2af1p";
   };
 
   propagatedBuildInputs = [dbus_glib glib python];
   
   buildInputs = [pkgconfig libxslt];
 
-  patches = [ ./fix-pkgconfig.patch ];
-  
   meta = {
     homepage = http://telepathy.freedesktop.org;
   };
diff --git a/pkgs/development/libraries/telepathy/glib/fix-pkgconfig.patch b/pkgs/development/libraries/telepathy/glib/fix-pkgconfig.patch
deleted file mode 100644
index bba92d408a08..000000000000
--- a/pkgs/development/libraries/telepathy/glib/fix-pkgconfig.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Adjust telepathy-glib.pc to our version of pkg-config
-diff --git a/telepathy-glib/telepathy-glib.pc.in b/telepathy-glib/telepathy-glib.pc.in
-index e2ddf03..6038011 100644
---- a/telepathy-glib/telepathy-glib.pc.in
-+++ b/telepathy-glib/telepathy-glib.pc.in
-@@ -6,7 +6,6 @@ includedir=@includedir@
- Name: Telepathy-GLib
- Description: GLib utility library for the Telepathy framework
- Version: @VERSION@
--Requires: pkg-config >= 0.21
--Requires.private: dbus-1 >= 0.95, dbus-glib-1 >= 0.90, glib-2.0 >= 2.30, gobject-2.0 >= 2.30, gio-2.0 >= 2.30
-+Requires: pkg-config >= 0.21 dbus-1 >= 0.95, dbus-glib-1 >= 0.90, glib-2.0 >= 2.30, gobject-2.0 >= 2.30, gio-2.0 >= 2.30
- Libs: -L${libdir} -ltelepathy-glib
- Cflags: -I${includedir}/telepathy-1.0
diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix
index b26bcf0aaeb6..a7630ee5d692 100644
--- a/pkgs/development/libraries/v8/default.nix
+++ b/pkgs/development/libraries/v8/default.nix
@@ -5,14 +5,14 @@ assert readline != null;
 let
   system = stdenv.system;
   arch = if system == "i686-linux" then "ia32" else if system == "x86_64-linux" || system == "x86_64-darwin" then "x64" else "";
-  version = "3.6.6.24";
+  version = "3.6.6.25";
 in
 assert arch != "";
 stdenv.mkDerivation rec {
     name = "v8-${version}";
     src = fetchsvn {
       url = "http://v8.googlecode.com/svn/tags/${version}";
-      sha256 = "405c905f6240b37b0da14769781e7ec6444fe9153a02ddacd5d774713fe1eb41";
+      sha256 = "2a097cbea29a8488419840245bf7bf85513941ceb22c5ef0a3825bfe5edaa045";
     };
 
     buildInputs = [python scons readline makeWrapper];
diff --git a/pkgs/development/libraries/xine-lib/default.nix b/pkgs/development/libraries/xine-lib/default.nix
index 13b2fdce4582..4ae48a4c04e1 100644
--- a/pkgs/development/libraries/xine-lib/default.nix
+++ b/pkgs/development/libraries/xine-lib/default.nix
@@ -5,21 +5,13 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "xine-lib-1.2.0";
+  name = "xine-lib-1.2.2";
   
   src = fetchurl {
-    url = "mirror://sourceforge/xine/${name}.tar.bz2";
-    sha256 = "1yss9cxxkcb6dzrv78xvi845ls6lhhbv6g8yfm6zjjl07v7jbm6c";
+    url = "mirror://sourceforge/xine/${name}.tar.xz";
+    sha256 = "1mjk686h1qzqj51h4xs4xvagfgnnhm8czbzzjvr5w034pr8n8rg1";
   };
 
-  patches = [ ./zlib126.patch ];
-#  patches =
-#    [ (fetchurl {
-#        url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-libs/xine-lib/files/xine-lib-1.1.19-ffmpeg.patch?revision=1.1";
-#        sha256 = "0dqr0kc829djfn0wvk4jg84v61pxynqbp4s4phvywd7x9caf092b";
-#      })
-#    ];
-  
   buildNativeInputs = [ pkgconfig perl ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/xine-lib/zlib126.patch b/pkgs/development/libraries/xine-lib/zlib126.patch
deleted file mode 100644
index f48063e038b5..000000000000
--- a/pkgs/development/libraries/xine-lib/zlib126.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-http://anonscm.debian.org/hg/xine-lib/xine-lib/rev/24d09421ed09
-
-# HG changeset patch
-# User Ulrich Müller <ulm@gentoo.org>
-# Date 1327945720 0
-# Node ID 24d09421ed09d3a78efeab5c9b8ab31daaaba4fd
-# Parent  da296856c52e654cf599248de3a01bb754363c79
-Compile failure in osd.c with sys-libs/zlib-1.2.6
-
-diff -r da296856c52e -r 24d09421ed09 misc/xine-fontconv.c
---- a/misc/xine-fontconv.c	Wed Jan 18 22:01:28 2012 +0000
-+++ b/misc/xine-fontconv.c	Mon Jan 30 17:48:40 2012 +0000
-@@ -109,7 +109,7 @@
- osd_font_t     font;
- 
- 
--static int gzwrite_i16(gzFile *fp, uint16_t number) {
-+static int gzwrite_i16(gzFile fp, uint16_t number) {
-   return gzputc(fp, number & 0xFF) != -1 &&
-          gzputc(fp, (number >> 8) & 0xFF) != -1;
- }
-@@ -341,7 +341,7 @@
- 
-   char                filename[1024];
-   FT_Bitmap          *out_bitmap;
--  gzFile             *fp;
-+  gzFile              fp;
-   int                 error;
-   int                 error_counter;
-   int                 glyph_index;
-diff -r da296856c52e -r 24d09421ed09 src/xine-engine/osd.c
---- a/src/xine-engine/osd.c	Wed Jan 18 22:01:28 2012 +0000
-+++ b/src/xine-engine/osd.c	Mon Jan 30 17:48:40 2012 +0000
-@@ -650,7 +650,7 @@
-   osd->display_y = y;
- }
- 
--static uint16_t gzread_i16(gzFile *fp) {
-+static uint16_t gzread_i16(gzFile fp) {
-   uint16_t ret;
-   ret = gzgetc(fp);
-   ret |= (gzgetc(fp)<<8);
-@@ -663,7 +663,7 @@
- 
- static int osd_renderer_load_font(osd_renderer_t *this, char *filename) {
- 
--  gzFile      *fp;
-+  gzFile       fp;
-   osd_font_t  *font = NULL;
-   int          i, ret = 0;
- 
-
diff --git a/pkgs/development/ocaml-modules/pcre/default.nix b/pkgs/development/ocaml-modules/pcre/default.nix
index d7c302a17ec0..3ddac79a9a5e 100644
--- a/pkgs/development/ocaml-modules/pcre/default.nix
+++ b/pkgs/development/ocaml-modules/pcre/default.nix
@@ -1,16 +1,11 @@
 {stdenv, fetchurl, pcre, ocaml, findlib}:
 
-let
-  ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  version = "6.2.5";
-in
-
 stdenv.mkDerivation {
-  name = "ocaml-pcre-${version}";
+  name = "ocaml-pcre-6.2.5";
 
   src = fetchurl {
-    url = "http://www.ocaml.info/ocaml_sources/pcre-ocaml-${version}.tar.gz";
-    sha256 = "f1774028a4525d22d1f4cf4ce0121c99d85a75aed7a498c3e8ab0f5e39888e47";
+    url = https://bitbucket.org/mmottl/pcre-ocaml/downloads/pcre-ocaml-6.2.5.tar.gz;
+    sha256 = "0iwfi0wmw3xbx31ri96pmrsmmn4r3h9f0k6gyk8j4pajlhl40xzi";
   };
 
   buildInputs = [ocaml findlib];
diff --git a/pkgs/development/ocaml-modules/sqlite3/default.nix b/pkgs/development/ocaml-modules/sqlite3/default.nix
index d1203e6f2907..a01660216bb0 100644
--- a/pkgs/development/ocaml-modules/sqlite3/default.nix
+++ b/pkgs/development/ocaml-modules/sqlite3/default.nix
@@ -1,17 +1,11 @@
 {stdenv, fetchurl, sqlite, ocaml, findlib}:
 
-let
-  ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  version = "1.5.8";
-in
-
 stdenv.mkDerivation {
-  name = "ocaml-sqlite3-${version}";
+  name = "ocaml-sqlite3-1.6.3";
 
   src = fetchurl {
-    url = "http://hg.ocaml.info/release/ocaml-sqlite3/archive/" +
-          "release-${version}.tar.bz2";
-    sha256 = "0fqbxm90mc2gk6jp9p8s53kay0hbcd0qc0adq8znanz99n8zqp53";
+    url = https://bitbucket.org/mmottl/sqlite3-ocaml/downloads/sqlite3-ocaml-1.6.3.tar.gz;
+    sha256 = "004wysf80bmb8r4yaa648v0bqrh2ry3kzy763gdksw4n15blghv5";
   };
 
   buildInputs = [ocaml findlib];
@@ -26,7 +20,7 @@ stdenv.mkDerivation {
   createFindlibDestdir = true;
 
   meta = {
-    homepage = "http://ocaml.info/home/ocaml_sources.html#ocaml-sqlite3";
+    homepage = https://bitbucket.org/mmottl/sqlite3-ocaml;
     description = "OCaml bindings to the SQLite 3 database access library";
     license = "MIT/X11";
     platforms = ocaml.meta.platforms;
diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix
index 8ce5cc237646..9c756c9ed64c 100644
--- a/pkgs/development/python-modules/pycrypto/default.nix
+++ b/pkgs/development/python-modules/pycrypto/default.nix
@@ -1,14 +1,11 @@
 { stdenv, fetchurl, python, gmp }:
 
-# TODO: Update to version 2.1.0 ASAP. The update works, but as of 2010-07-28
-#       the download site appears to be down.
-
 stdenv.mkDerivation rec {
-  name = "pycrypto-2.0.1";
+  name = "pycrypto-2.6";
 
   src = fetchurl {
     url = "http://pypi.python.org/packages/source/p/pycrypto/${name}.tar.gz";
-    sha256 = "2dff97ae70b6811157b516bf633405d09147ee1e2bfa06b0c657ad2c22de5800";
+    md5 = "88dad0a270d1fe83a39e0467a66a22bb";
   };
 
   buildInputs = [ python gmp ];
diff --git a/pkgs/development/python-modules/pyqt/default.nix b/pkgs/development/python-modules/pyqt/default.nix
index 7081c28ddd85..9b1d74ff6168 100644
--- a/pkgs/development/python-modules/pyqt/default.nix
+++ b/pkgs/development/python-modules/pyqt/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, python, sip, qt4, pythonDBus, pkgconfig, lndir, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "PyQt-x11-gpl-4.8.5";
+  name = "PyQt-x11-gpl-4.9.1";
   
   src = fetchurl {
     urls = [
       "http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/${name}.tar.gz"
-      "http://pkgs.fedoraproject.org/lookaside/pkgs/PyQt4/PyQt-x11-gpl-4.8.5.tar.gz/0e4264bb912edfbda319bb236ac84407/PyQt-x11-gpl-4.8.5.tar.gz"
+      "http://pkgs.fedoraproject.org/lookaside/pkgs/PyQt4/PyQt-x11-gpl-4.9.1.tar.gz/7f495dc49f71e3bfb64bf942e0d8bb3c/PyQt-x11-gpl-4.9.1.tar.gz"
     ];
-    sha256 = "0838nfis6xj92n4gccih7j14yigfm3x7p59yr7qa5jy75wxdzqn9";
+    sha256 = "1ccvc80z8a0k0drvba9ngivsnv2k2nn5317yf86w1zwh45zmb0zj";
   };
   
   configurePhase = ''
diff --git a/pkgs/development/python-modules/python-gudev/default.nix b/pkgs/development/python-modules/python-gudev/default.nix
new file mode 100644
index 000000000000..c9105555f9d0
--- /dev/null
+++ b/pkgs/development/python-modules/python-gudev/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchgit, python, autoconf, automake, libtool, pygobject, pkgconfig, udev}:
+
+stdenv.mkDerivation {
+  name = "python-gudev-147.2";
+  src = fetchgit {
+    url = git://github.com/nzjrs/python-gudev.git;
+    rev = "refs/tags/147.2";
+    sha256 = "5b9766fcb88855a77ac8bb416ca3b51f55ac7d82b0e189f88c59cacb11586c15";
+  };
+
+  buildInputs = [ python autoconf automake libtool pygobject pkgconfig udev ];
+
+  preConfigure = ''
+    sed -e 's@/usr/bin/file@file@g' -i configure.ac
+    sh autogen.sh
+  '';
+
+  meta = {
+    homepage = http://www.freedesktop.org/software/systemd/gudev/;
+    description = "Python binding to the GUDev udev helper library.";
+    license = "GPLv3+";
+    maintainers = with stdenv.lib.maintainers; [qknight];
+    platforms = with stdenv.lib.platforms; all;
+  };
+}
diff --git a/pkgs/development/python-modules/python-sip/default.nix b/pkgs/development/python-modules/python-sip/default.nix
index b73cabcb1512..34daf294358d 100644
--- a/pkgs/development/python-modules/python-sip/default.nix
+++ b/pkgs/development/python-modules/python-sip/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python }:
 
 stdenv.mkDerivation rec {
-  name = "sip-4.12.4";
+  name = "sip-4.13.2";
   
   src = fetchurl {
     url = "http://www.riverbankcomputing.co.uk/static/Downloads/sip4/${name}.tar.gz";
-    sha256 = "1cs7q2z5r59yil71ysy9nc32x0s65b9dz9jcrdsjmp6cww51z33n";
+    sha256 = "1gzff61bi22g6fkdg9iya4q2qfdkwxs19v4rhhf8x4bm7hszbhsb";
   };
   
   configurePhase = "python ./configure.py -d $out/lib/${python.libPrefix}/site-packages -b $out/bin -e $out/include";
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Creates C++ bindings for Python modules";
     license = "GPL";
-    maintainers = [ stdenv.lib.maintainers.sander ];
+    maintainers = with stdenv.lib.maintainers; [ urkud sander ];
   };
 }
diff --git a/pkgs/development/python-modules/virtualenv-change-prefix.patch b/pkgs/development/python-modules/virtualenv-change-prefix.patch
new file mode 100644
index 000000000000..5093fdbead94
--- /dev/null
+++ b/pkgs/development/python-modules/virtualenv-change-prefix.patch
@@ -0,0 +1,29 @@
+Without this patch `virtualenv --python=python2.7 .` fails with an error because it notices that the python readline.so is not in the same path as python2.7. I assume this is to avoid copying the wrong file on systems where it is possible to find incompatible libraries by accident. Adding "/nix/store" to the prefix fixes this problem. Unfortunately readline is still not available if you just run `virtualenv .`.
+
+
+--- virtualenv-1.6.4/virtualenv.py	2012-05-20 00:40:38.070649647 +0200
++++ virtualenv-1.6.4/virtualenv.py	2012-05-20 00:45:10.596242604 +0200
+@@ -951,13 +951,7 @@
+ 
+ 
+ def change_prefix(filename, dst_prefix):
+-    prefixes = [sys.prefix]
+-
+-    if sys.platform == "darwin":
+-        prefixes.extend((
+-            os.path.join("/Library/Python", sys.version[:3], "site-packages"),
+-            os.path.join(sys.prefix, "Extras", "lib", "python"),
+-            os.path.join("~", "Library", "Python", sys.version[:3], "site-packages")))
++    prefixes = ["/nix/store", sys.prefix]
+ 
+     if hasattr(sys, 'real_prefix'):
+         prefixes.append(sys.real_prefix)
+@@ -968,6 +962,8 @@
+             _, relpath = filename.split(src_prefix, 1)
+             assert relpath[0] == os.sep
+             relpath = relpath[1:]
++            if src_prefix == "/nix/store":
++                relpath = "/".join(relpath.split("/")[1:])
+             return join(dst_prefix, relpath)
+     assert False, "Filename %s does not start with any of these prefixes: %s" % \
+         (filename, prefixes)
diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix
index 47a916f48e2b..034285522292 100644
--- a/pkgs/development/tools/build-managers/apache-ant/default.nix
+++ b/pkgs/development/tools/build-managers/apache-ant/default.nix
@@ -1,23 +1,26 @@
-{fetchurl, stdenv, jdk, name}:
+{ fetchurl, stdenv, jdk }:
 
-let {
-  body =
-    stdenv.mkDerivation {
-      name = name;
+let
 
-      builder = ./builder.sh;
-      buildInputs = [antContrib jdk];
+  antContrib = import ./ant-contrib.nix {
+    inherit fetchurl stdenv;
+  };
 
-      inherit antContrib jdk;
+  version = "1.8.4";
 
-      src = fetchurl {
-        url = http://apache.mirror.transip.nl/ant/binaries/apache-ant-1.8.0RC1-bin.tar.bz2 ;
-        sha256 = "0xvmrsghibq7p3wvfkmvmkkg0zzfmw32lrfjl5f6cfzchjjnw9wx";
-      };
-    };
+in
 
-  antContrib =
-    (import ./ant-contrib.nix) {
-      inherit fetchurl stdenv;
-    };
+stdenv.mkDerivation {
+  name = "ant-${(builtins.parseDrvName jdk.name).name}-${version}";
+
+  builder = ./builder.sh;
+  
+  buildInputs = [ antContrib jdk ];
+
+  inherit antContrib jdk;
+
+  src = fetchurl {
+    url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2";
+    sha1 = "d9e3e83dd9664cfe1dcd4841c082db3f559af922";
+  };
 }
diff --git a/pkgs/development/tools/documentation/doxygen/default.nix b/pkgs/development/tools/documentation/doxygen/default.nix
index 776c0bf450c7..07893987bbf8 100644
--- a/pkgs/development/tools/documentation/doxygen/default.nix
+++ b/pkgs/development/tools/documentation/doxygen/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, perl, flex, bison, qt4 }:
 
 let
-  name = "doxygen-1.8.0";
+  name = "doxygen-1.8.1";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "ftp://ftp.stack.nl/pub/users/dimitri/${name}.src.tar.gz";
-    sha256 = "0cymkk8wpws326aqpsixyzr4pk98xgpzrvxxjm76ar79pcs91ykh";
+    sha256 = "0qmprax8d5fwx6sc7x9l06ilh2ffgvm6xs0rh54k3v5q5879r7mg";
   };
 
   patches = [ ./tmake.patch ];
diff --git a/pkgs/development/tools/guile/guile-lint/default.nix b/pkgs/development/tools/guile/guile-lint/default.nix
index 18625a3ec313..156def09187a 100644
--- a/pkgs/development/tools/guile/guile-lint/default.nix
+++ b/pkgs/development/tools/guile/guile-lint/default.nix
@@ -3,8 +3,7 @@
 stdenv.mkDerivation rec {
   name = "guile-lint-14";
   src = fetchurl {
-    url = "http://www.geocities.com/user42_kevin/guile-lint/"
-            + name + ".tar.bz2.bin";
+    url = "http://download.tuxfamily.org/user42/" + name + ".tar.bz2";
     sha256 = "5bfcf7a623338b2ef81ac097e3e136eaf32856dd0730b7eeaff3161067b5d0be";
   };
 
@@ -21,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Guile-Lint checks syntax and semantics in a Guile program or module";
-    homepage = http://www.geocities.com/user42_kevin/guile-lint/index.html;
+    homepage = http://user42.tuxfamily.org/guile-lint/index.html;
     license = "GPL";
   };
 }
diff --git a/pkgs/development/tools/haskell/BNFC-meta/default.nix b/pkgs/development/tools/haskell/BNFC-meta/default.nix
index 42006a81b5b8..1b0397ead1bc 100644
--- a/pkgs/development/tools/haskell/BNFC-meta/default.nix
+++ b/pkgs/development/tools/haskell/BNFC-meta/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "BNFC-meta";
-  version = "0.3.0.2";
-  sha256 = "0x4x3lpqwjid8rdy6v2wlfbxjvxlg24wjj9fb2niwaqw8b3lyza4";
+  version = "0.3.0.3";
+  sha256 = "06k8jnb4gw96gc0ffmczbywn4q2n87zwqa0pl0ada3ldvwaagv4l";
   buildDepends = [ alexMeta happyMeta haskellSrcMeta syb ];
   noHaddock = true;
   meta = {
diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix
index 11369a427853..091417cb8a39 100644
--- a/pkgs/development/tools/haskell/cabal2nix/default.nix
+++ b/pkgs/development/tools/haskell/cabal2nix/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal2nix";
-  version = "1.31";
-  sha256 = "04qc74h6w3mvb3h3mv0hb3bbwk22ifl29hg3dcq1d5bg4y21j1vr";
+  version = "1.37";
+  sha256 = "0gd20nzr3bqscd4pn0j3vsmnhxiypbv5ppncmi0ck5n4ii8c6m94";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ];
diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix
index ba7cfe7a51fb..471b22a5825d 100644
--- a/pkgs/development/tools/haskell/hlint/default.nix
+++ b/pkgs/development/tools/haskell/hlint/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hlint";
-  version = "1.8.28";
-  sha256 = "136arfmlfx15qwxvg3lw6wci8fiva1f9hjrk5qf70k9g84dxsjn8";
+  version = "1.8.30";
+  sha256 = "1c52h7pi759dnqzfq46nyckp75aswpqkf2n7aag2np955ky7rd05";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/misc/autoconf/default.nix b/pkgs/development/tools/misc/autoconf/default.nix
index ce18fd1a377a..b4de66d9bafc 100644
--- a/pkgs/development/tools/misc/autoconf/default.nix
+++ b/pkgs/development/tools/misc/autoconf/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, m4, perl }:
 
 stdenv.mkDerivation rec {
-  name = "autoconf-2.68";
+  name = "autoconf-2.69";
 
   src = fetchurl {
-    url = "mirror://gnu/autoconf/${name}.tar.bz2";
-    sha256 = "1j1j8d2p3r9mzx8b2hnmfqy2683r2wyyvki6bs9cmm6n7wkzp4f4";
+    url = "mirror://gnu/autoconf/${name}.tar.xz";
+    sha256 = "113nlmidxy9kjr45kg9x3ngar4951mvag1js2a3j8nxcz34wxsv4";
   };
 
   buildInputs = [ m4 perl ];
@@ -14,13 +14,19 @@ stdenv.mkDerivation rec {
   # http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for
   # details.
   # There are many test failures on `i386-pc-solaris2.11'.
-  doCheck = (stdenv.system != "i686-cygwin"
-             && stdenv.system != "i686-solaris");
+  doCheck = ((!stdenv.isCygwin) && (!stdenv.isSunOS));
 
   # Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the
   # "fixed" path in generated files!
   dontPatchShebangs = true;
 
+  enableParallelBuilding = true;
+
+  preCheck =
+    # Make the Autotest test suite run in parallel.
+    '' export TESTSUITEFLAGS="-j$NIX_BUILD_CORES"
+    '';
+
   meta = {
     homepage = http://www.gnu.org/software/autoconf/;
     description = "GNU Autoconf, a part of the GNU Build System";
diff --git a/pkgs/development/tools/misc/automake/automake-1.11.x.nix b/pkgs/development/tools/misc/automake/automake-1.11.x.nix
index 65ef3a9a146d..7c9d06baa543 100644
--- a/pkgs/development/tools/misc/automake/automake-1.11.x.nix
+++ b/pkgs/development/tools/misc/automake/automake-1.11.x.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? true}:
 
 stdenv.mkDerivation rec {
-  name = "automake-1.11.2";
+  name = "automake-1.11.6";
 
   # TODO: Remove the `aclocal' wrapper when $ACLOCAL_PATH support is
   # available upstream; see
@@ -11,10 +11,12 @@ stdenv.mkDerivation rec {
   setupHook = ./setup-hook.sh;
 
   src = fetchurl {
-    url = "mirror://gnu/automake/${name}.tar.bz2";
-    sha256 = "06476qbd16dlasz29drmljqmr4gwx4qgcl075033b2hc73wx2ijg";
+    url = "mirror://gnu/automake/${name}.tar.xz";
+    sha256 = "1ffbc6cc41f0ea6c864fbe9485b981679dc5e350f6c4bc6c3512f5a4226936b5";
   };
 
+  patches = [ ./fix-test-autoconf-2.69.patch ];
+
   buildInputs = [perl autoconf makeWrapper];
 
   inherit doCheck;
@@ -27,6 +29,9 @@ stdenv.mkDerivation rec {
   # "fixed" path in generated files!
   dontPatchShebangs = true;
 
+  # Run the test suite in parallel.
+  enableParallelBuilding = true;
+
   meta = {
     homepage = http://www.gnu.org/software/automake/;
     description = "GNU Automake, a GNU standard-compliant makefile generator";
diff --git a/pkgs/development/tools/misc/automake/automake-1.12.x.nix b/pkgs/development/tools/misc/automake/automake-1.12.x.nix
new file mode 100644
index 000000000000..e2db84d2fc34
--- /dev/null
+++ b/pkgs/development/tools/misc/automake/automake-1.12.x.nix
@@ -0,0 +1,53 @@
+{stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? true}:
+
+stdenv.mkDerivation rec {
+  name = "automake-1.12.2";
+
+  # TODO: Remove the `aclocal' wrapper when $ACLOCAL_PATH support is
+  # available upstream; see
+  # <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9026>.
+  builder = ./builder.sh;
+
+  setupHook = ./setup-hook.sh;
+
+  src = fetchurl {
+    url = "mirror://gnu/automake/${name}.tar.xz";
+    sha256 = "5fb56e918189b377a22368e19baaf70252bd85a9969ed5f8a8373f49e8faf07f";
+  };
+
+  buildInputs = [perl autoconf makeWrapper];
+
+  # This test succeeds on my machine, but fails on Hydra (for reasons
+  # not yet understood).
+  patchPhase = ''
+    sed -i -e 's|t/aclocal7.sh||' Makefile.in
+  '';
+
+  inherit doCheck;
+
+  # The test suite can run in parallel.
+  enableParallelBuilding = true;
+
+  # Disable indented log output from Make, otherwise "make.test" will
+  # fail.
+  preCheck = "unset NIX_INDENT_MAKE";
+
+  # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
+  # "fixed" path in generated files!
+  dontPatchShebangs = true;
+
+  meta = {
+    homepage = http://www.gnu.org/software/automake/;
+    description = "GNU Automake, a GNU standard-compliant makefile generator";
+
+    longDescription = ''
+      GNU Automake is a tool for automatically generating
+      `Makefile.in' files compliant with the GNU Coding
+      Standards.  Automake requires the use of Autoconf.
+    '';
+
+    license = "GPLv2+";
+
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+  };
+}
diff --git a/pkgs/development/tools/misc/automake/automake-1.7.x.nix b/pkgs/development/tools/misc/automake/automake-1.7.x.nix
deleted file mode 100644
index e0d8e516d3b5..000000000000
--- a/pkgs/development/tools/misc/automake/automake-1.7.x.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl, perl, autoconf, makeWrapper}:
-
-stdenv.mkDerivation {
-  name = "automake-1.7.9";
-  
-  builder = ./builder.sh;
-  
-  src = fetchurl {
-    url = http://nixos.org/tarballs/automake-1.7.9.tar.bz2;
-    md5 = "571fd0b0598eb2a27dcf68adcfddfacb";
-  };
-  
-  buildInputs = [perl autoconf makeWrapper];
-
-  # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
-  # "fixed" path in generated files!
-  dontPatchShebangs = true;
-}
diff --git a/pkgs/development/tools/misc/automake/automake-1.9.x.nix b/pkgs/development/tools/misc/automake/automake-1.9.x.nix
deleted file mode 100644
index 5ca279d23adb..000000000000
--- a/pkgs/development/tools/misc/automake/automake-1.9.x.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{stdenv, fetchurl, perl, autoconf, makeWrapper}:
-
-stdenv.mkDerivation {
-  name = "automake-1.9.6";
-  
-  builder = ./builder.sh;
-  
-  setupHook = ./setup-hook.sh;
-  
-  src = fetchurl {
-    url = ftp://ftp.gnu.org/gnu/automake/automake-1.9.6.tar.gz;
-    md5 = "c60f77a42f103606981d456f1615f5b4";
-  };
-  
-  buildInputs = [perl autoconf makeWrapper];
-
-  # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
-  # "fixed" path in generated files!
-  dontPatchShebangs = true;
-
-  meta = {
-    homepage = http://www.gnu.org/software/automake/;
-    description = "GNU Automake, a GNU standard-compliant makefile generator";
-
-    longDescription = ''
-      GNU Automake is a tool for automatically generating
-      `Makefile.in' files compliant with the GNU Coding
-      Standards.  Automake requires the use of Autoconf.
-    '';
-
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/development/tools/misc/automake/builder.sh b/pkgs/development/tools/misc/automake/builder.sh
index 7f9e9219de31..e54a2acca67e 100644
--- a/pkgs/development/tools/misc/automake/builder.sh
+++ b/pkgs/development/tools/misc/automake/builder.sh
@@ -36,10 +36,12 @@ postInstall() {
     # global directory, while callers of `aclocal' do not need to pass
     # `-I' options explicitly.
 
-    for prog in $out/bin/aclocal*; do 
+    for prog in $out/bin/aclocal*; do
         wrapAclocal "$prog"
     done
-}
 
+    ln -s aclocal-1.11 $out/share/aclocal
+    ln -s automake-1.11 $out/share/automake
+}
 
 genericBuild
diff --git a/pkgs/development/tools/misc/automake/fix-test-autoconf-2.69.patch b/pkgs/development/tools/misc/automake/fix-test-autoconf-2.69.patch
new file mode 100644
index 000000000000..2ffa91f24eda
--- /dev/null
+++ b/pkgs/development/tools/misc/automake/fix-test-autoconf-2.69.patch
@@ -0,0 +1,13 @@
+With Autoconf 2.69 (instead of 2.68), config.{guess,sub} are needed.
+
+--- automake-1.11.2/tests/compile_f90_c_cxx.test	2011-12-20 21:56:29.000000000 +0100
++++ automake-1.11.2/tests/compile_f90_c_cxx.test	2012-07-07 13:35:58.000000000 +0200
+@@ -41,7 +41,7 @@ END
+ : > baz.cc
+ 
+ $ACLOCAL
+-$AUTOMAKE
++$AUTOMAKE --add-missing
+ 
+ # Look for the macros at the beginning of rules.  Be careful, as there
+ # are literal tabs at the beginning of the search strings.
diff --git a/pkgs/development/tools/misc/cgdb/default.nix b/pkgs/development/tools/misc/cgdb/default.nix
new file mode 100644
index 000000000000..adabcec98981
--- /dev/null
+++ b/pkgs/development/tools/misc/cgdb/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, ncurses, readline }:
+
+stdenv.mkDerivation rec {
+  name = "cgdb-0.6.6";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/cgdb/${name}.tar.gz";
+    sha256 = "0iap84ikpk1h58wy14zzi1kwszv1hsnvpvnz14swkz54yrh9z7ng";
+  };
+
+  buildInputs = [ ncurses readline ];
+
+  meta = {
+    description = "A curses interface to gdb";
+
+    homepage = http://cgdb.sourceforge.net/;
+
+    license = "GPLv2+";
+
+    platforms = with stdenv.lib.platforms; linux ++ cygwin;
+    maintainers = with stdenv.lib.maintainers; [ viric ];
+  };
+}
diff --git a/pkgs/development/tools/misc/cpphs/default.nix b/pkgs/development/tools/misc/cpphs/default.nix
index fe20037cb951..4fbce76474c8 100644
--- a/pkgs/development/tools/misc/cpphs/default.nix
+++ b/pkgs/development/tools/misc/cpphs/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cpphs";
-  version = "1.13.3";
-  sha256 = "1dnz4992hr662ys1lkf6iyqmi2a3bksim8dlryqwd9wx9h24lhq2";
+  version = "1.14";
+  sha256 = "1lscgylcbbny60lx36xwm8y22jmbv23159pfn8n87kbskq6cpk0z";
   isLibrary = true;
   isExecutable = true;
   meta = {
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index a1be30b4b141..1bc908185be4 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -1,20 +1,14 @@
-{ fetchurl, fetchgit, stdenv, ncurses, readline, gmp, mpfr, expat, texinfo
+{ fetchurl, stdenv, ncurses, readline, gmp, mpfr, expat, texinfo
 , dejagnu, python, target ? null
 
-# Set it to true to fetch the latest release/branchpoint from git.
-, bleedingEdgeVersion ? false
-
 # Additional dependencies for GNU/Hurd.
 , mig ? null, hurd ? null
 
-# needed for the git version
-, flex, bison }:
+}:
 
 let
-  basename =
-    if bleedingEdgeVersion
-    then "gdb-7.3.20110726"
-    else "gdb-7.4";
+
+  basename = "gdb-7.4.1";
 
   # Whether (cross-)building for GNU/Hurd.  This is an approximation since
   # having `stdenv ? cross' doesn't tell us if we're building `hostDrv' and
@@ -22,6 +16,7 @@ let
   isGNU =
       stdenv.system == "i686-gnu"
       || (stdenv ? cross && stdenv.cross.config == "i586-pc-gnu");
+
 in
 
 assert isGNU -> mig != null && hurd != null;
@@ -30,36 +25,28 @@ stdenv.mkDerivation rec {
   name = basename + stdenv.lib.optionalString (target != null)
       ("-" + target.config);
 
-  src =
-    if bleedingEdgeVersion
-    then fetchgit {
-        url = "git://sourceware.org/git/gdb.git";
-        rev = "refs/tags/gdb_7_3-2011-07-26-release";
-      }
-    else fetchurl {
-        url = "mirror://gnu/gdb/${basename}.tar.bz2";
-        # md5 is provided by the annoucement page
-        # http://www.gnu.org/s/gdb/download/ANNOUNCEMENT
-        md5 = "95a9a8305fed4d30a30a6dc28ff9d060";
-      };
+  src = fetchurl {
+    url = "mirror://gnu/gdb/${basename}.tar.bz2";
+    md5 = "8854d34691087ec127d934692639855f";
+  };
 
   # I think python is not a native input, but I leave it
   # here while I will not need it cross building
   buildNativeInputs = [ texinfo python ]
-    ++ stdenv.lib.optional isGNU mig
-    ++ stdenv.lib.optionals bleedingEdgeVersion [ flex bison ];
+    ++ stdenv.lib.optional isGNU mig;
 
   buildInputs = [ ncurses readline gmp mpfr expat ]
     ++ stdenv.lib.optional isGNU hurd
     ++ stdenv.lib.optional doCheck dejagnu;
 
+  enableParallelBuilding = true;
+
   configureFlags = with stdenv.lib;
     '' --with-gmp=${gmp} --with-mpfr=${mpfr} --with-system-readline
        --with-expat --with-libexpat-prefix=${expat}
     ''
     + optionalString (target != null) " --target=${target.config}"
-    + optionalString (elem stdenv.system platforms.cygwin) "  --without-python"
-  ;
+    + optionalString (elem stdenv.system platforms.cygwin) "  --without-python";
 
   crossAttrs = {
     # Do not add --with-python here to avoid cross building it.
diff --git a/pkgs/development/tools/misc/gnum4/default.nix b/pkgs/development/tools/misc/gnum4/default.nix
index 12cc50a37a00..1f026f12f523 100644
--- a/pkgs/development/tools/misc/gnum4/default.nix
+++ b/pkgs/development/tools/misc/gnum4/default.nix
@@ -8,7 +8,9 @@ stdenv.mkDerivation {
     sha256 = "035r7ma272j2cwni2961jp22k6bn3n9xwn3b3qbcn2yrvlghql22";
   };
 
-  doCheck = !stdenv.isDarwin;
+  doCheck = !stdenv.isDarwin
+    && !stdenv.isCygwin                    # XXX: `test-dup2' fails on Cygwin
+    && !stdenv.isSunOS;                    # XXX: `test-setlocale2.sh' fails
 
   # Upstream is aware of it; it may be in the next release.
   patches = [ ./s_isdir.patch ./readlink-EINVAL.patch ];
diff --git a/pkgs/development/tools/misc/pkgconfig/default.nix b/pkgs/development/tools/misc/pkgconfig/default.nix
index f323a7d7dbc1..49b2cbfe66e4 100644
--- a/pkgs/development/tools/misc/pkgconfig/default.nix
+++ b/pkgs/development/tools/misc/pkgconfig/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, automake}:
+{stdenv, fetchurl, automake, vanilla ? false}:
 
 stdenv.mkDerivation (rec {
   name = "pkg-config-0.23";
@@ -10,7 +10,7 @@ stdenv.mkDerivation (rec {
     sha256 = "0lrvk17724mc2nzpaa0vwybarrl50r7qdnr4h6jijm50srrf1808";
   };
 
-  patches = [
+  patches = if vanilla then [] else [
     # Process Requires.private properly, see
     # http://bugs.freedesktop.org/show_bug.cgi?id=4738.
     ./requires-private.patch
diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix
index 36b9cdf28f20..ef45825a5848 100644
--- a/pkgs/development/web/nodejs/default.nix
+++ b/pkgs/development/web/nodejs/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, openssl, python, zlib, v8 }:
+{ stdenv, fetchurl, openssl, python, zlib, v8, linkV8Headers ? false }:
 
 stdenv.mkDerivation rec {
-  version = "0.6.14";
+  version = "0.6.19";
   name = "nodejs-${version}";
 
   src = fetchurl {
     url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz";
-    sha256 = "07ygshbzx4xxj4apx5qzlpwsavnpkk54i2845my1kiamh4q246g4";
+    sha256 = "1frgnl7i111b8x3fr43lh3zybwsszn0daa661gszq7dhfwj2jcsf";
   };
 
   configureFlags = [
@@ -23,7 +23,11 @@ stdenv.mkDerivation rec {
     sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i tools/{*.py,waf-light,node-waf}
   '';
 
-  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+  postInstall = ''
+    sed -e 's|^#!/usr/bin/env node$|#!'$out'/bin/node|' -i $out/lib/node_modules/npm/bin/npm-cli.js
+  '' + stdenv.lib.optionalString linkV8Headers '' # helps binary npms
+    ln -s ${v8}/include/* $out/include
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
     install_name_tool -change libv8.dylib ${v8}/lib/libv8.dylib $out/bin/node
   '';
 
diff --git a/pkgs/games/blackshadeselite/default.nix b/pkgs/games/blackshadeselite/default.nix
index 63139872cf9c..0f4904bfed97 100644
--- a/pkgs/games/blackshadeselite/default.nix
+++ b/pkgs/games/blackshadeselite/default.nix
@@ -9,6 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   NIX_LDFLAGS = "-lSDL_image";
+  NIX_CFLAGS_COMPILE = "-fpermissive";
 
   buildInputs = [ SDL SDL_image mesa openal libvorbis freealut popt ];
 
diff --git a/pkgs/games/klavaro/default.nix b/pkgs/games/klavaro/default.nix
new file mode 100644
index 000000000000..6d6370bb97b9
--- /dev/null
+++ b/pkgs/games/klavaro/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, intltool, curl, gtk, gtkdatabox }:
+
+stdenv.mkDerivation rec {
+  name = "klavaro-1.9.5";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/klavaro/${name}.tar.bz2";
+    sha256 = "06c35247866fb74f7c1a52a2350b352fdb44dace7216fdbebc1fa54990d14fc9";
+  };
+
+  buildInputs = [ pkgconfig intltool curl gtk gtkdatabox ];
+
+  meta = {
+    description = "Just another free touch typing tutor program";
+
+    license = "GPLv3+";
+
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/games/kobodeluxe/default.nix b/pkgs/games/kobodeluxe/default.nix
index 1d700d5cf038..70288e549a4e 100644
--- a/pkgs/games/kobodeluxe/default.nix
+++ b/pkgs/games/kobodeluxe/default.nix
@@ -9,6 +9,12 @@ stdenv.mkDerivation {
 
   buildInputs = [ SDL SDL_image];
 
+  prePatch = ''
+    sed -e 's/char \*tok/const char \*tok/' -i graphics/window.cpp
+  '';
+
+  patches = [ ./glibc29.patch ];
+
   meta = {
     homepage = http://olofson.net/kobodl/;
     description = "Enhanced version of Akira Higuchi's game XKobo  for Un*x systems with X11";
diff --git a/pkgs/games/kobodeluxe/glibc29.patch b/pkgs/games/kobodeluxe/glibc29.patch
new file mode 100644
index 000000000000..7a9ef355a821
--- /dev/null
+++ b/pkgs/games/kobodeluxe/glibc29.patch
@@ -0,0 +1,83 @@
+--- a/enemies.h
++++ b/enemies.h
+@@ -70,9 +70,9 @@
+ extern const enemy_kind bomb2;
+ extern const enemy_kind bombdeto;
+ extern const enemy_kind cannon;
+-extern const enemy_kind pipe1;
++extern const enemy_kind pipeone;
+ extern const enemy_kind core;
+-extern const enemy_kind pipe2;
++extern const enemy_kind pipetwo;
+ extern const enemy_kind rock;
+ extern const enemy_kind ring;
+ extern const enemy_kind enemy_m1;
+@@ -430,7 +430,7 @@
+ 
+ inline int _enemy::is_pipe()
+ {
+-	return ((_state != notuse) && ((ek == &pipe1) || (ek == &pipe2)));
++	return ((_state != notuse) && ((ek == &pipeone) || (ek == &pipetwo)));
+ }
+ 
+ 
+--- a/enemy.cpp
++++ b/enemy.cpp
+@@ -713,7 +713,7 @@
+ 
+ void _enemy::kill_cannon()
+ {
+-	enemies.make(&pipe1, CS2PIXEL(x), CS2PIXEL(y));
++	enemies.make(&pipeone, CS2PIXEL(x), CS2PIXEL(y));
+ 	sound.g_base_node_explo(x, y);
+ 	release();
+ }
+@@ -755,10 +755,10 @@
+ 
+ void _enemy::kill_core()
+ {
+-	enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 3);
+-	enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 7);
+-	enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 1);
+-	enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 5);
++	enemies.make(&pipetwo, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 3);
++	enemies.make(&pipetwo, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 7);
++	enemies.make(&pipetwo, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 1);
++	enemies.make(&pipetwo, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 5);
+ 	enemies.make(&explosion4, CS2PIXEL(x), CS2PIXEL(y));
+ 	sound.g_base_core_explo(x, y);
+ 	release();
+@@ -851,7 +851,7 @@
+ 		screen.set_map(x1, y1, m ^ a);
+ 	release();
+ }
+-const enemy_kind pipe1 = {
++const enemy_kind pipeone = {
+ 	0,
+ 	&_enemy::make_pipe1,
+ 	&_enemy::move_pipe1,
+@@ -978,19 +978,19 @@
+ 	}
+ 	p ^= a;
+ 	if(p & U_MASK)
+-		enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 1);
++		enemies.make(&pipetwo, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 1);
+ 	if(p & R_MASK)
+-		enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 3);
++		enemies.make(&pipetwo, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 3);
+ 	if(p & D_MASK)
+-		enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 5);
++		enemies.make(&pipetwo, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 5);
+ 	if(p & L_MASK)
+-		enemies.make(&pipe2, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 7);
++		enemies.make(&pipetwo, CS2PIXEL(x), CS2PIXEL(y), 0, 0, 7);
+ 	manage.add_score(10);
+ 	release();
+ }
+ 
+ 
+-const enemy_kind pipe2 = {
++const enemy_kind pipetwo = {
+ 	0,
+ 	&_enemy::make_pipe2,
+ 	&_enemy::move_pipe2,
diff --git a/pkgs/games/speed-dreams/default.nix b/pkgs/games/speed-dreams/default.nix
index 2a6b239608fd..e14b9b26a4f0 100644
--- a/pkgs/games/speed-dreams/default.nix
+++ b/pkgs/games/speed-dreams/default.nix
@@ -16,9 +16,10 @@ stdenv.mkDerivation rec {
     cd */
   '';
 
-  buildInputs = [ mesa freeglut libX11 plib openal freealut libXrandr xproto
-    libXext libSM libICE libXi libXt libXrender libXxf86vm libpng zlib bash 
-    p7zip SDL enet libjpeg cmake];
+  # Order important; it wants libpng12 and some x libs propagate libpng15
+  buildInputs = [ libpng mesa freeglut libX11 plib openal freealut libXrandr xproto
+    libXext libSM libICE libXi libXt libXrender libXxf86vm zlib bash 
+    p7zip SDL enet libjpeg cmake ];
 
   installTargets = "install";
 
diff --git a/pkgs/games/ufoai/default.nix b/pkgs/games/ufoai/default.nix
index 80f527e26e1c..85440f88901e 100644
--- a/pkgs/games/ufoai/default.nix
+++ b/pkgs/games/ufoai/default.nix
@@ -22,7 +22,8 @@ stdenv.mkDerivation rec {
   # for the xvidcore static lib
   NIX_CFLAGS_COMPILE = "-pthread -lm";
 
-  buildInputs = [ SDL mesa SDL_image SDL_ttf SDL_mixer libpng libjpeg zlib curl libvorbis
+  # Order is important, x libs include a libpng version that fails for ufoai
+  buildInputs = [ libpng SDL mesa SDL_image SDL_ttf SDL_mixer libjpeg zlib curl libvorbis
     libtheora xvidcore pkgconfig glib gtk gtkglext gtksourceview libxml2 openal gettext
     p7zip ];
 
diff --git a/pkgs/lib/attrsets.nix b/pkgs/lib/attrsets.nix
index db4b9fb210c6..5e4e9df37110 100644
--- a/pkgs/lib/attrsets.nix
+++ b/pkgs/lib/attrsets.nix
@@ -126,11 +126,36 @@ rec {
 
      Example:
        mapAttrs (name: value: name + "-" + value)
-          {x = "foo"; y = "bar";}
-       => {x = "x-foo"; y = "y-bar";}
+          { x = "foo"; y = "bar"; }
+       => { x = "x-foo"; y = "y-bar"; }
   */
   mapAttrs = f: set:
     listToAttrs (map (attr: nameValuePair attr (f attr (getAttr attr set))) (attrNames set));
+
+
+  /* Like `mapAttrs', but allows the name of each attribute to be
+     changed in addition to the value.  The applied function should
+     return both the new name and value as a `nameValuePair'.
+     
+     Example:
+       mapAttrs' (name: value: nameValuePair ("foo_" + name) ("bar-" + value))
+          { x = "a"; y = "b"; }
+       => { foo_x = "bar-a"; foo_y = "bar-b"; }
+  */
+  mapAttrs' = f: set:
+    listToAttrs (map (attr: f attr (getAttr attr set)) (attrNames set));
+        
+
+  /* Call a function for each attribute in the given set and return
+     the result in a list.
+  
+     Example:
+       mapAttrsToList (name: value: name + value)
+          { x = "a"; y = "b"; }
+       => [ "xa" "yb" ]
+  */
+  mapAttrsToList = f: attrs:
+    map (name: f name (getAttr name attrs)) (attrNames attrs);
     
 
   /* Like `mapAttrs', except that it recursively applies itself to
diff --git a/pkgs/lib/maintainers.nix b/pkgs/lib/maintainers.nix
index dcfc47a456ad..aab4d685361e 100644
--- a/pkgs/lib/maintainers.nix
+++ b/pkgs/lib/maintainers.nix
@@ -6,7 +6,9 @@
 
   aforemny = "Alexander Foremny <alexanderforemny@googlemail.com>";
   all = "Nix Committers <nix-commits@lists.science.uu.nl>";
+  amiddelk = "Arie Middelkoop <amiddelk@gmail.com>";
   andres = "Andres Loeh <ksnixos@andres-loeh.de>";
+  antono = "Antono Vasiljev <self@antono.info>";
   astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
   bjg = "Brian Gough <bjg@gnu.org>";
   bluescreen303 = "Mathijs Kwik <mathijs@bluescreen303.nl>";
@@ -26,6 +28,7 @@
   piotr = "Piotr Pietraszkiewicz <ppietrasa@gmail.com>";
   qknight = "Joachim Schiele <js@lastlog.de>";
   raskin = "Michael Raskin <7c6f434c@mail.ru>";
+  rickynils = "Rickard Nilsson <rickynils@gmail.com>";
   rob = "Rob Vermaas <rob.vermaas@gmail.com>";
   roconnor = "Russell O'Connor <roconnor@theorem.ca>";
   sander = "Sander van der Burg <s.vanderburg@tudelft.nl>";
diff --git a/pkgs/lib/platforms.nix b/pkgs/lib/platforms.nix
index c79e8468b23d..45e863458d46 100644
--- a/pkgs/lib/platforms.nix
+++ b/pkgs/lib/platforms.nix
@@ -11,6 +11,7 @@ rec {
   cygwin = ["i686-cygwin"];
   unix = linux ++ darwin ++ freebsd ++ openbsd;
   all = linux ++ darwin ++ cygwin ++ freebsd ++ openbsd;
+  none = [];
   allBut = platform: lists.filter (x: platform != x) all;
   mesaPlatforms = linux;
 }
diff --git a/pkgs/lib/types.nix b/pkgs/lib/types.nix
index c1d7240f6931..956368138aa2 100644
--- a/pkgs/lib/types.nix
+++ b/pkgs/lib/types.nix
@@ -64,7 +64,7 @@ rec {
 
     string = mkOptionType {
       name = "string";
-      check = lib.traceValIfNot (x: builtins ? isString -> builtins.isString x);
+      check = lib.traceValIfNot builtins.isString;
       merge = lib.concatStrings;
     };
 
@@ -86,6 +86,12 @@ rec {
       check = lib.traceValIfNot isDerivation;
     };
 
+    path = mkOptionType {
+      name = "path";
+      # Hacky: there is no ‘isPath’ primop.
+      check = lib.traceValIfNot (x: builtins.unsafeDiscardStringContext (builtins.substring 0 1 (toString x)) == "/");
+    };
+
     listOf = types.list;
     list = elemType: mkOptionType {
       name = "list of ${elemType.name}s";
diff --git a/pkgs/misc/cups/drivers/cups-bjnp/default.nix b/pkgs/misc/cups/drivers/cups-bjnp/default.nix
index f752ac84a84b..483ec7aab971 100644
--- a/pkgs/misc/cups/drivers/cups-bjnp/default.nix
+++ b/pkgs/misc/cups/drivers/cups-bjnp/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
   preConfigure = ''configureFlags="--with-cupsbackenddir=$out/lib/cups/backend"'';
 
   buildInputs = [cups];
+  NIX_CFLAGS_COMPILE = "-include stdio.h";
 
   meta = {
     homepage = http://cups-bjnp.sourceforge.net;
diff --git a/pkgs/misc/drivers/gutenprint/default.nix b/pkgs/misc/drivers/gutenprint/default.nix
index 9788d6017449..79b819c12a7e 100644
--- a/pkgs/misc/drivers/gutenprint/default.nix
+++ b/pkgs/misc/drivers/gutenprint/default.nix
@@ -3,7 +3,7 @@
 , libtiff, libpng, openssl, gimp }:
 
 let
-   version = "5.2.6";
+   version = "5.2.7";
    inherit (composableDerivation) edf wwf;
 in
 
@@ -12,13 +12,14 @@ composableDerivation.composableDerivation {} {
 
   src = fetchurl {
     url = "mirror://sourceforge/gimp-print/gutenprint-${version}.tar.bz2";
-    sha256 = "0znwbv51vqf20p4isc3if4hqsgfav21rsqnsz1d8mixlmasy2i27";
+    sha256 = "1lgf7d9vsszv0bzgsd8j3x5smby1lpk07d8x7isv1sz34y98jk0i";
   };
 
   # gimp, gui is still not working (TODO)
   buildInputs = [ openssl pkgconfig ];
 
   configureFlags = ["--enable-static-genppd"];
+  NIX_CFLAGS_COMPILE="-include stdio.h";
   
   #preConfigure = ''
   #  configureFlags="--with-cups=$out/usr-cups $configureFlags"
@@ -52,7 +53,7 @@ composableDerivation.composableDerivation {} {
         name = "gimp2";
         enable = {
           buildInputs = [gimp gimp.gtk];
-         installArgs = [ "gimp2_plug_indir=$out/${gimp.name}-plugins" ];
+          installArgs = [ "gimp2_plug_indir=$out/${gimp.name}-plugins" ];
         };
       }
       // {
diff --git a/pkgs/misc/emulators/bsod/default.nix b/pkgs/misc/emulators/bsod/default.nix
new file mode 100644
index 000000000000..181a89b66677
--- /dev/null
+++ b/pkgs/misc/emulators/bsod/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, ncurses}:
+
+stdenv.mkDerivation {
+  name = "bsod-0.1";
+
+  src = fetchurl {
+    url = http://www.vanheusden.com/bsod/bsod-0.1.tgz;
+    sha256 = "0hqwacazyq5rhc04j8w8w0j0dgb6ca8k66c9lxf6bsyi6wvbhvmd";
+  };
+
+  buildInputs = [ ncurses ];
+
+  installPhase = ''
+    ensureDir $out/bin
+    cp bsod $out/bin
+  '';
+
+  meta = {
+    description = "Blue Screen Of Death emulator for Unix";
+    longDescription = "
+      This program will let you UNIX user experience the authentic
+      microsoft windows experience.  Bsod displays the famous windows xp
+      blue screen of death on the console.  Errors and drivers causing the
+      error are selected randomly from a large set of examples.";
+    homepage = "http://www.vanheusden.com/bsod/";
+    license = "GPLv2";
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.antono ];
+  };
+
+}
diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix
index 2a6409a8fdd1..acfe794dc4f8 100644
--- a/pkgs/misc/emulators/wine/default.nix
+++ b/pkgs/misc/emulators/wine/default.nix
@@ -7,16 +7,16 @@ assert stdenv.isLinux;
 assert stdenv.gcc.gcc != null;
 
 stdenv.mkDerivation rec {
-  name = "wine-1.3.32";
+  name = "wine-1.5.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/wine/${name}.tar.bz2";
-    sha256 = "fe1691ef8e9c5c4afeb345ad0f0b364d055cfe67a7e64b0a4a44da4d85cfa8b6";
+    sha256 = "e7d5ba716d2ac47193fa31eff66cc179145ddcb453c6923eaea70596a82b084e";
   };
 
   gecko = fetchurl {
-    url = "mirror://sourceforge/wine/wine_gecko-1.3-x86.msi";
-    sha256 = "1bmm826dhq82jzxdld4x9cyg8mgzg8llkki59n9fvxggi7l5jxab";
+    url = "mirror://sourceforge/wine/wine_gecko-1.5-x86.msi";
+    sha256 = "2e372a1b87ff2a22ad5127400ece4b09e55591d9f84e00bb562d294898a49b5c";
   };
 
   buildInputs = [
diff --git a/pkgs/misc/my-env/default.nix b/pkgs/misc/my-env/default.nix
index dc729ec557a5..990606668fe8 100644
--- a/pkgs/misc/my-env/default.nix
+++ b/pkgs/misc/my-env/default.nix
@@ -56,17 +56,24 @@
   and show you a shell with a prefixed prompt.
 */
 
-{ mkDerivation, substituteAll, pkgs } : { stdenv ? pkgs.stdenv, name, buildInputs ? [], cTags ? [], extraCmds ? "", shell ? "${pkgs.bashInteractive}/bin/bash"} :
+{ mkDerivation, substituteAll, pkgs }:
+    { stdenv ? pkgs.stdenv, name, buildInputs ? []
+    , propagatedBuildInputs ? [], gcc ? stdenv.gcc, cTags ? [], extraCmds ? ""
+    , shell ? "${pkgs.bashInteractive}/bin/bash"}:
+
 mkDerivation {
   # The setup.sh script from stdenv will expect the native build inputs in
   # the buildNativeInputs environment variable.
-  buildNativeInputs = [ ] ++ buildInputs ;
+  buildNativeInputs = [ ] ++ buildInputs;
+  # Trick to bypass the stdenv usual change of propagatedBuildInputs => propagatedNativeBuildInputs
+  propagatedBuildInputs2 = propagatedBuildInputs;
+
   name = "env-${name}";
   phases = [ "buildPhase" "fixupPhase" ];
   setupNew = substituteAll {
     src = ../../stdenv/generic/setup.sh;
     initialPath= (import ../../stdenv/common-path.nix) { inherit pkgs; };
-    gcc = stdenv.gcc;
+    inherit gcc;
   };
 
   buildPhase = ''
@@ -81,6 +88,7 @@ mkDerivation {
         -i "$s"
     cat >> "$out/dev-envs/''${name/env-/}" << EOF
       buildNativeInputs="$buildNativeInputs"
+      propagatedBuildInputs="$propagatedBuildInputs2"
       # the setup-new script wants to write some data to a temp file.. so just let it do that and tidy up afterwards
       tmp="\$("${pkgs.coreutils}/bin/mktemp" -d)"
       NIX_BUILD_TOP="\$tmp"
diff --git a/pkgs/misc/screensavers/vlock/default.nix b/pkgs/misc/screensavers/vlock/default.nix
new file mode 100644
index 000000000000..f2cea3f257be
--- /dev/null
+++ b/pkgs/misc/screensavers/vlock/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pam }:
+
+stdenv.mkDerivation {
+  name = "vlock-2.2.2";
+  src = fetchurl
+  {
+    url = mirror://debian/pool/main/v/vlock/vlock_2.2.2.orig.tar.gz;
+    sha256 = "1b9gv7hmlb8swda5bn40lp1yki8b8wv29vdnhcjqfl6ir98551za";
+  };
+
+  prePatch = ''
+    sed -i -e '/INSTALL/s/-[og] [^ ]*//g' Makefile modules/Makefile
+  '';
+
+  configureFlags = "VLOCK_GROUP=root ROOT_GROUP=root";
+
+  buildInputs = [ pam ];
+
+  meta = {
+    description = "Virtual console locking program";
+  };
+}
diff --git a/pkgs/misc/trac/builder.sh b/pkgs/misc/trac/builder.sh
deleted file mode 100644
index 76bf06123348..000000000000
--- a/pkgs/misc/trac/builder.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-source $stdenv/setup
-
-unpackPhase
-mkdir -p $out
-cd $name
-$python/bin/python setup.py install --prefix=$out
-
-for i in $(cd $out/bin && ls); do
-    wrapProgram $out/bin/$i \
-        --prefix PYTHONPATH : "$(toPythonPath $python):$(toPythonPath $out):$(toPythonPath $pysqlite):$subversion/lib/svn-python:$clearsilver/site-packages"
-done
diff --git a/pkgs/misc/trac/default.nix b/pkgs/misc/trac/default.nix
deleted file mode 100644
index b93c36843d32..000000000000
--- a/pkgs/misc/trac/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{stdenv, fetchurl, python, clearsilver, subversion, sqlite, pysqlite, makeWrapper}:
-
-assert stdenv.system == "i686-linux";
-
-stdenv.mkDerivation {
-  name = "trac-0.9.5";
-  src = fetchurl {
-    url = "http://ftp.edgewall.com/pub/trac/trac-0.9.5.tar.gz";
-    md5 = "3b7d708eaf905cc6ba2b6b10a09a8cf4";
-  };
-  builder = ./builder.sh;
-  buildInputs = [makeWrapper];
-  inherit stdenv python subversion clearsilver sqlite pysqlite;
-}
diff --git a/pkgs/misc/uboot/sheevaplug.nix b/pkgs/misc/uboot/sheevaplug.nix
index 5eb8d7d7bf87..ad8029d90203 100644
--- a/pkgs/misc/uboot/sheevaplug.nix
+++ b/pkgs/misc/uboot/sheevaplug.nix
@@ -6,7 +6,7 @@
 # All this file is made for the Marvell Sheevaplug
    
 stdenv.mkDerivation {
-  name = "uboot-sheevaplug-3.4.19";
+  name = "uboot-sheevaplug-3.4.27";
    
   src = fetchurl {
     url = "ftp://ftp.denx.de/pub/u-boot/u-boot-1.1.4.tar.bz2";
@@ -14,14 +14,14 @@ stdenv.mkDerivation {
   };
 
   srcAddon = fetchurl {
-    url = "http://www.plugcomputer.org/data/uboot/u-boot-3.4.19.zip";
-    sha256 = "1wag1l6agr8dbnnfaw6bgcrwynwwgry4ihb3gp438699wmkmy91k";
+    url = "http://www.plugcomputer.org/405/us/plug-basic/uboot/u-boot-3.4.27.zip";
+    sha256 = "1wqxznpdb6d2kx58gral4q0mg5ddxyrv7az8c6v29nr3cd9yrfsg";
   };
 
   postUnpack = ''
-    mv u-boot-1.1.4 u-boot-3.4.19
+    mv u-boot-1.1.4 u-boot-3.4.27
     unzip -o $srcAddon
-    sourceRoot=u-boot-3.4.19
+    sourceRoot=u-boot-3.4.27
   '';
 
   patches = [ ./gas220.patch ];
diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix
index 703895b4f341..a53058de6a0b 100644
--- a/pkgs/os-specific/linux/ati-drivers/default.nix
+++ b/pkgs/os-specific/linux/ati-drivers/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   inherit libXxf86vm xf86vidmodeproto;
 
   src = fetchurl {
-    url = https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-10-11-x86.x86_64.run;
+    url = https://www2.ati.com/drivers/linux/ati-driver-installer-10-11-x86.x86_64.run;
     sha256 = "1z33w831ayx1j5lm9d1xv6whkmzsz9v8li3s8c96hwnwki6zpimr";
   };
 
diff --git a/pkgs/os-specific/linux/blcr/default.nix b/pkgs/os-specific/linux/blcr/default.nix
index 516b8b9ed38c..8c77cffe1779 100644
--- a/pkgs/os-specific/linux/blcr/default.nix
+++ b/pkgs/os-specific/linux/blcr/default.nix
@@ -1,6 +1,8 @@
 { stdenv, fetchurl, kernel, perl, makeWrapper }:
 
-assert stdenv.isLinux && builtins.compareVersions kernel.version "2.6.38" != 1;
+# BLCR 0.8.4 works for kernel version up to 2.6.38 (including 2.6.38.x)
+assert stdenv.isLinux;
+assert builtins.compareVersions "2.6.39" kernel.version == 1;
 
 stdenv.mkDerivation {
   name = "blcr-0.8.4-${kernel.version}";
diff --git a/pkgs/misc/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix
index ce42a1566057..ab0873e7ddca 100644
--- a/pkgs/misc/busybox/default.nix
+++ b/pkgs/os-specific/linux/busybox/default.nix
@@ -30,18 +30,18 @@ let
     CONFIG_INSTALL_NO_USR y
   '';
 
-  staticConfig = (if enableStatic then ''
-      CONFIG_STATIC y
-    '' else "");
+  staticConfig = stdenv.lib.optionalString enableStatic ''
+    CONFIG_STATIC y
+  '';
 
 in
 
 stdenv.mkDerivation rec {
-  name = "busybox-1.19.4";
+  name = "busybox-1.20.1";
 
   src = fetchurl {
     url = "http://busybox.net/downloads/${name}.tar.bz2";
-    sha256 = "1vhh6xa71w4wzby0f4x357fv6zxvkklmyjc8njgbbzv1v83391cv";
+    sha256 = "1jb8xh9a0mc73nmnjz7g5k7ym39vrg7grp7zmgmq71gxps55sl9y";
   };
 
   configurePhase = ''
@@ -65,6 +65,8 @@ stdenv.mkDerivation rec {
       '' else "");
   };
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "Tiny versions of common UNIX utilities in a single small executable";
     homepage = http://busybox.net/;
diff --git a/pkgs/os-specific/linux/firmware/amd-ucode/default.nix b/pkgs/os-specific/linux/firmware/amd-ucode/default.nix
new file mode 100644
index 000000000000..685b44a16512
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/amd-ucode/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+
+  name = "amd-ucode-2012-01-17";
+
+  src = fetchurl {
+    url = "http://www.amd64.org/pub/microcode/${name}.tar";
+    sha256 = "0mqnbs87khv6p874cbyf9nb8i4gc592ws67lyzhc4chmwvc9ln47";
+  };
+
+  installPhase = ''
+    mkdir -p $out/amd-ucode
+    mv microcode_amd_fam15h.bin microcode_amd.bin $out/amd-ucode/
+  '';
+
+  meta = {
+    description = "AMD Processor Microcode Patch";
+    homepage = "http://www.amd64.org/support/microcode.html";
+    license = "non-free";
+  };
+}
diff --git a/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix b/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix
new file mode 100644
index 000000000000..b6465c0d7943
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "b43-fwcutter-015";
+
+  src = fetchurl {
+    url = "http://bues.ch/b43/fwcutter/${name}.tar.bz2";
+    sha256 = "1sznw1jrhyfbx0ilwzrj6mzlgc96fzjbx56j4ji8lsypyp8m6sjc";
+  };
+
+  patches = [ ./no-root-install.patch ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = {
+    description = "Firmware extractor for cards supported by the b43 kernel module";
+    homepage = http://wireless.kernel.org/en/users/Drivers/b43;
+    license = "free-non-copyleft";
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+  };
+}
+
diff --git a/pkgs/os-specific/linux/firmware/b43-firmware-cutter/no-root-install.patch b/pkgs/os-specific/linux/firmware/b43-firmware-cutter/no-root-install.patch
new file mode 100644
index 000000000000..578812e0ad0b
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/b43-firmware-cutter/no-root-install.patch
@@ -0,0 +1,18 @@
+diff -Naur b43-fwcutter-015-orig/Makefile b43-fwcutter-015/Makefile
+--- b43-fwcutter-015-orig/Makefile	2011-08-21 08:17:01.000000000 -0400
++++ b43-fwcutter-015/Makefile	2012-07-13 17:57:53.002154557 -0400
+@@ -51,10 +51,10 @@
+ 	$(QUIET_CC) $(CFLAGS) -o $(BIN) $(call OBJS,$(SRCS)) $(LDFLAGS)
+ 
+ install: all
+-	install -d -o 0 -g 0 -m 755 $(PREFIX)/bin/
+-	install -o 0 -g 0 -m 755 $(BIN) $(PREFIX)/bin/
+-	install -d -o 0 -g 0 -m 755 $(PREFIX)/man/man1/
+-	install -o 0 -g 0 -m 644 $(BIN).1 $(PREFIX)/man/man1/
++	install -d -m 755 $(PREFIX)/bin/
++	install -m 755 $(BIN) $(PREFIX)/bin/
++	install -d -m 755 $(PREFIX)/man/man1/
++	install -m 644 $(BIN).1 $(PREFIX)/man/man1/
+ 
+ clean:
+ 	-rm -Rf obj dep *.orig *.rej *~
diff --git a/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix b/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix
new file mode 100644
index 000000000000..1c4173c72fd4
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, b43FirmwareCutter }:
+
+let version = "5.100.138"; in
+
+stdenv.mkDerivation {
+  name = "b43-firmware-${version}";
+
+  src = fetchurl {
+    url = "http://www.lwfinger.com/b43-firmware/broadcom-wl-${version}.tar.bz2";
+    sha256 = "0vz4ka8gycf72gmnaq61k8rh8y17j1wm2k3fidxvcqjvmix0drzi";
+  };
+
+  buildInputs = [ b43FirmwareCutter ];
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    mkdir $out
+    b43-fwcutter -w $out linux/wl_apsta.o
+  '';
+
+  meta = {
+    description = "Firmware for cards supported by the b43 kernel module";
+    homepage = http://wireless.kernel.org/en/users/Drivers/b43;
+    license = stdenv.lib.licenses.proprietary;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+  };
+}
+
diff --git a/pkgs/os-specific/linux/kernel/aufs2-34.patch b/pkgs/os-specific/linux/kernel/aufs2-34.patch
deleted file mode 100644
index dd9e7d9f6df5..000000000000
--- a/pkgs/os-specific/linux/kernel/aufs2-34.patch
+++ /dev/null
@@ -1,358 +0,0 @@
-From:
-http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=blob_plain;f=aufs2-base.patch;hb=aufs2-34
-http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=blob_plain;f=aufs2-standalone.patch;hb=aufs2-34
-
-aufs2 base patch for linux-2.6.34
-
-diff --git a/fs/namei.c b/fs/namei.c
-index b86b96f..c43d6b8 100644
---- a/fs/namei.c
-+++ b/fs/namei.c
-@@ -1177,7 +1177,7 @@ out:
-  * needs parent already locked. Doesn't follow mounts.
-  * SMP-safe.
-  */
--static struct dentry *lookup_hash(struct nameidata *nd)
-+struct dentry *lookup_hash(struct nameidata *nd)
- {
- 	int err;
- 
-@@ -1187,7 +1187,7 @@ static struct dentry *lookup_hash(struct nameidata *nd)
- 	return __lookup_hash(&nd->last, nd->path.dentry, nd);
- }
- 
--static int __lookup_one_len(const char *name, struct qstr *this,
-+int __lookup_one_len(const char *name, struct qstr *this,
- 		struct dentry *base, int len)
- {
- 	unsigned long hash;
-diff --git a/fs/splice.c b/fs/splice.c
-index 9313b61..b9e871f 100644
---- a/fs/splice.c
-+++ b/fs/splice.c
-@@ -1054,8 +1054,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
- /*
-  * Attempt to initiate a splice from pipe to file.
-  */
--static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
--			   loff_t *ppos, size_t len, unsigned int flags)
-+long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
-+		    loff_t *ppos, size_t len, unsigned int flags)
- {
- 	ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
- 				loff_t *, size_t, unsigned int);
-@@ -1082,9 +1082,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
- /*
-  * Attempt to initiate a splice from a file to a pipe.
-  */
--static long do_splice_to(struct file *in, loff_t *ppos,
--			 struct pipe_inode_info *pipe, size_t len,
--			 unsigned int flags)
-+long do_splice_to(struct file *in, loff_t *ppos,
-+		  struct pipe_inode_info *pipe, size_t len,
-+		  unsigned int flags)
- {
- 	ssize_t (*splice_read)(struct file *, loff_t *,
- 			       struct pipe_inode_info *, size_t, unsigned int);
-diff --git a/include/linux/namei.h b/include/linux/namei.h
-index 05b441d..91bc74e 100644
---- a/include/linux/namei.h
-+++ b/include/linux/namei.h
-@@ -73,6 +73,9 @@ extern int vfs_path_lookup(struct dentry *, struct vfsmount *,
- extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry,
- 		int (*open)(struct inode *, struct file *));
- 
-+extern struct dentry *lookup_hash(struct nameidata *nd);
-+extern int __lookup_one_len(const char *name, struct qstr *this,
-+			    struct dentry *base, int len);
- extern struct dentry *lookup_one_len(const char *, struct dentry *, int);
- 
- extern int follow_down(struct path *);
-diff --git a/include/linux/splice.h b/include/linux/splice.h
-index 18e7c7c..8393b5c 100644
---- a/include/linux/splice.h
-+++ b/include/linux/splice.h
-@@ -82,4 +82,10 @@ extern ssize_t splice_to_pipe(struct pipe_inode_info *,
- extern ssize_t splice_direct_to_actor(struct file *, struct splice_desc *,
- 				      splice_direct_actor *);
- 
-+extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
-+			   loff_t *ppos, size_t len, unsigned int flags);
-+extern long do_splice_to(struct file *in, loff_t *ppos,
-+			 struct pipe_inode_info *pipe, size_t len,
-+			 unsigned int flags);
-+
- #endif
-
-aufs2 standalone patch for linux-2.6.34
-
-diff --git a/fs/namei.c b/fs/namei.c
-index c43d6b8..538d40a 100644
---- a/fs/namei.c
-+++ b/fs/namei.c
-@@ -348,6 +348,7 @@ int deny_write_access(struct file * file)
- 
- 	return 0;
- }
-+EXPORT_SYMBOL(deny_write_access);
- 
- /**
-  * path_get - get a reference to a path
-@@ -1186,6 +1187,7 @@ struct dentry *lookup_hash(struct nameidata *nd)
- 		return ERR_PTR(err);
- 	return __lookup_hash(&nd->last, nd->path.dentry, nd);
- }
-+EXPORT_SYMBOL(lookup_hash);
- 
- int __lookup_one_len(const char *name, struct qstr *this,
- 		struct dentry *base, int len)
-@@ -1208,6 +1210,7 @@ int __lookup_one_len(const char *name, struct qstr *this,
- 	this->hash = end_name_hash(hash);
- 	return 0;
- }
-+EXPORT_SYMBOL(__lookup_one_len);
- 
- /**
-  * lookup_one_len - filesystem helper to lookup single pathname component
-diff --git a/fs/namespace.c b/fs/namespace.c
-index f20cb57..7cc1b42 100644
---- a/fs/namespace.c
-+++ b/fs/namespace.c
-@@ -1282,6 +1282,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
- 	}
- 	return 0;
- }
-+EXPORT_SYMBOL(iterate_mounts);
- 
- static void cleanup_group_ids(struct vfsmount *mnt, struct vfsmount *end)
- {
-diff --git a/fs/notify/group.c b/fs/notify/group.c
-index 0e16771..3fab10a 100644
---- a/fs/notify/group.c
-+++ b/fs/notify/group.c
-@@ -22,6 +22,7 @@
- #include <linux/srcu.h>
- #include <linux/rculist.h>
- #include <linux/wait.h>
-+#include <linux/module.h>
- 
- #include <linux/fsnotify_backend.h>
- #include "fsnotify.h"
-@@ -169,6 +170,7 @@ void fsnotify_put_group(struct fsnotify_group *group)
- 	fsnotify_recalc_global_mask();
- 	fsnotify_destroy_group(group);
- }
-+EXPORT_SYMBOL(fsnotify_put_group);
- 
- /*
-  * Simply run the fsnotify_groups list and find a group which matches
-@@ -252,3 +254,4 @@ struct fsnotify_group *fsnotify_obtain_group(unsigned int group_num, __u32 mask,
- 
- 	return group;
- }
-+EXPORT_SYMBOL(fsnotify_obtain_group);
-diff --git a/fs/notify/inode_mark.c b/fs/notify/inode_mark.c
-index 0399bcb..74cdc13 100644
---- a/fs/notify/inode_mark.c
-+++ b/fs/notify/inode_mark.c
-@@ -105,6 +105,7 @@ void fsnotify_put_mark(struct fsnotify_mark_entry *entry)
- 	if (atomic_dec_and_test(&entry->refcnt))
- 		entry->free_mark(entry);
- }
-+EXPORT_SYMBOL(fsnotify_put_mark);
- 
- /*
-  * Recalculate the mask of events relevant to a given inode locked.
-@@ -215,6 +216,7 @@ void fsnotify_destroy_mark_by_entry(struct fsnotify_mark_entry *entry)
- 	if (unlikely(atomic_dec_and_test(&group->num_marks)))
- 		fsnotify_final_destroy_group(group);
- }
-+EXPORT_SYMBOL(fsnotify_destroy_mark_by_entry);
- 
- /*
-  * Given a group, destroy all of the marks associated with that group.
-@@ -281,6 +283,7 @@ struct fsnotify_mark_entry *fsnotify_find_mark_entry(struct fsnotify_group *grou
- 	}
- 	return NULL;
- }
-+EXPORT_SYMBOL(fsnotify_find_mark_entry);
- 
- /*
-  * Nothing fancy, just initialize lists and locks and counters.
-@@ -297,6 +300,7 @@ void fsnotify_init_mark(struct fsnotify_mark_entry *entry,
- 	entry->inode = NULL;
- 	entry->free_mark = free_mark;
- }
-+EXPORT_SYMBOL(fsnotify_init_mark);
- 
- /*
-  * Attach an initialized mark entry to a given group and inode.
-@@ -352,6 +356,7 @@ int fsnotify_add_mark(struct fsnotify_mark_entry *entry,
- 
- 	return ret;
- }
-+EXPORT_SYMBOL(fsnotify_add_mark);
- 
- /**
-  * fsnotify_unmount_inodes - an sb is unmounting.  handle any watched inodes.
-diff --git a/fs/open.c b/fs/open.c
-index 74e5cd9..8192b46 100644
---- a/fs/open.c
-+++ b/fs/open.c
-@@ -225,6 +225,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
- 	mutex_unlock(&dentry->d_inode->i_mutex);
- 	return ret;
- }
-+EXPORT_SYMBOL(do_truncate);
- 
- static long do_sys_truncate(const char __user *pathname, loff_t length)
- {
-diff --git a/fs/splice.c b/fs/splice.c
-index b9e871f..b069be4 100644
---- a/fs/splice.c
-+++ b/fs/splice.c
-@@ -1078,6 +1078,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
- 
- 	return splice_write(pipe, out, ppos, len, flags);
- }
-+EXPORT_SYMBOL(do_splice_from);
- 
- /*
-  * Attempt to initiate a splice from a file to a pipe.
-@@ -1104,6 +1105,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
- 
- 	return splice_read(in, ppos, pipe, len, flags);
- }
-+EXPORT_SYMBOL(do_splice_to);
- 
- /**
-  * splice_direct_to_actor - splices data directly between two non-pipes
-diff --git a/security/commoncap.c b/security/commoncap.c
-index 6166973..a702444 100644
---- a/security/commoncap.c
-+++ b/security/commoncap.c
-@@ -951,3 +951,4 @@ int cap_file_mmap(struct file *file, unsigned long reqprot,
- 	}
- 	return ret;
- }
-+EXPORT_SYMBOL(cap_file_mmap);
-diff --git a/security/device_cgroup.c b/security/device_cgroup.c
-index f77c604..743f39b 100644
---- a/security/device_cgroup.c
-+++ b/security/device_cgroup.c
-@@ -515,6 +515,7 @@ found:
- 
- 	return -EPERM;
- }
-+EXPORT_SYMBOL(devcgroup_inode_permission);
- 
- int devcgroup_inode_mknod(int mode, dev_t dev)
- {
-diff --git a/security/security.c b/security/security.c
-index 687c6fd..e9e5f6b 100644
---- a/security/security.c
-+++ b/security/security.c
-@@ -411,6 +411,7 @@ int security_path_mkdir(struct path *dir, struct dentry *dentry, int mode)
- 		return 0;
- 	return security_ops->path_mkdir(dir, dentry, mode);
- }
-+EXPORT_SYMBOL(security_path_mkdir);
- 
- int security_path_rmdir(struct path *dir, struct dentry *dentry)
- {
-@@ -418,6 +419,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry)
- 		return 0;
- 	return security_ops->path_rmdir(dir, dentry);
- }
-+EXPORT_SYMBOL(security_path_rmdir);
- 
- int security_path_unlink(struct path *dir, struct dentry *dentry)
- {
-@@ -425,6 +427,7 @@ int security_path_unlink(struct path *dir, struct dentry *dentry)
- 		return 0;
- 	return security_ops->path_unlink(dir, dentry);
- }
-+EXPORT_SYMBOL(security_path_unlink);
- 
- int security_path_symlink(struct path *dir, struct dentry *dentry,
- 			  const char *old_name)
-@@ -433,6 +436,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry,
- 		return 0;
- 	return security_ops->path_symlink(dir, dentry, old_name);
- }
-+EXPORT_SYMBOL(security_path_symlink);
- 
- int security_path_link(struct dentry *old_dentry, struct path *new_dir,
- 		       struct dentry *new_dentry)
-@@ -441,6 +445,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir,
- 		return 0;
- 	return security_ops->path_link(old_dentry, new_dir, new_dentry);
- }
-+EXPORT_SYMBOL(security_path_link);
- 
- int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
- 			 struct path *new_dir, struct dentry *new_dentry)
-@@ -451,6 +456,7 @@ int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
- 	return security_ops->path_rename(old_dir, old_dentry, new_dir,
- 					 new_dentry);
- }
-+EXPORT_SYMBOL(security_path_rename);
- 
- int security_path_truncate(struct path *path, loff_t length,
- 			   unsigned int time_attrs)
-@@ -459,6 +465,7 @@ int security_path_truncate(struct path *path, loff_t length,
- 		return 0;
- 	return security_ops->path_truncate(path, length, time_attrs);
- }
-+EXPORT_SYMBOL(security_path_truncate);
- 
- int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt,
- 			mode_t mode)
-@@ -467,6 +474,7 @@ int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt,
- 		return 0;
- 	return security_ops->path_chmod(dentry, mnt, mode);
- }
-+EXPORT_SYMBOL(security_path_chmod);
- 
- int security_path_chown(struct path *path, uid_t uid, gid_t gid)
- {
-@@ -474,6 +482,7 @@ int security_path_chown(struct path *path, uid_t uid, gid_t gid)
- 		return 0;
- 	return security_ops->path_chown(path, uid, gid);
- }
-+EXPORT_SYMBOL(security_path_chown);
- 
- int security_path_chroot(struct path *path)
- {
-@@ -550,6 +559,7 @@ int security_inode_readlink(struct dentry *dentry)
- 		return 0;
- 	return security_ops->inode_readlink(dentry);
- }
-+EXPORT_SYMBOL(security_inode_readlink);
- 
- int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd)
- {
-@@ -564,6 +574,7 @@ int security_inode_permission(struct inode *inode, int mask)
- 		return 0;
- 	return security_ops->inode_permission(inode, mask);
- }
-+EXPORT_SYMBOL(security_inode_permission);
- 
- int security_inode_setattr(struct dentry *dentry, struct iattr *attr)
- {
-@@ -664,6 +675,7 @@ int security_file_permission(struct file *file, int mask)
- {
- 	return security_ops->file_permission(file, mask);
- }
-+EXPORT_SYMBOL(security_file_permission);
- 
- int security_file_alloc(struct file *file)
- {
-@@ -691,6 +703,7 @@ int security_file_mmap(struct file *file, unsigned long reqprot,
- 		return ret;
- 	return ima_file_mmap(file, prot);
- }
-+EXPORT_SYMBOL(security_file_mmap);
- 
- int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot,
- 			    unsigned long prot)
diff --git a/pkgs/os-specific/linux/kernel/aufs2.1-3.0.patch b/pkgs/os-specific/linux/kernel/aufs2.1-3.0.patch
deleted file mode 100644
index 000c6b995c71..000000000000
--- a/pkgs/os-specific/linux/kernel/aufs2.1-3.0.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-aufs2.1 base patch for linux-3.0
-
-diff --git a/fs/namei.c b/fs/namei.c
-index 14ab8d3..eb4aef1 100644
---- a/fs/namei.c
-+++ b/fs/namei.c
-@@ -1697,7 +1697,7 @@ static struct dentry *__lookup_hash(struct qstr *name,
-  * needs parent already locked. Doesn't follow mounts.
-  * SMP-safe.
-  */
--static struct dentry *lookup_hash(struct nameidata *nd)
-+struct dentry *lookup_hash(struct nameidata *nd)
- {
- 	return __lookup_hash(&nd->last, nd->path.dentry, nd);
- }
-diff --git a/fs/splice.c b/fs/splice.c
-index aa866d3..19afec6 100644
---- a/fs/splice.c
-+++ b/fs/splice.c
-@@ -1085,8 +1085,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
- /*
-  * Attempt to initiate a splice from pipe to file.
-  */
--static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
--			   loff_t *ppos, size_t len, unsigned int flags)
-+long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
-+		    loff_t *ppos, size_t len, unsigned int flags)
- {
- 	ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
- 				loff_t *, size_t, unsigned int);
-@@ -1113,9 +1113,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
- /*
-  * Attempt to initiate a splice from a file to a pipe.
-  */
--static long do_splice_to(struct file *in, loff_t *ppos,
--			 struct pipe_inode_info *pipe, size_t len,
--			 unsigned int flags)
-+long do_splice_to(struct file *in, loff_t *ppos,
-+		  struct pipe_inode_info *pipe, size_t len,
-+		  unsigned int flags)
- {
- 	ssize_t (*splice_read)(struct file *, loff_t *,
- 			       struct pipe_inode_info *, size_t, unsigned int);
-diff --git a/include/linux/namei.h b/include/linux/namei.h
-index eba45ea..21ed6c9 100644
---- a/include/linux/namei.h
-+++ b/include/linux/namei.h
-@@ -82,6 +82,7 @@ extern int vfs_path_lookup(struct dentry *, struct vfsmount *,
- extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry,
- 		int (*open)(struct inode *, struct file *));
- 
-+extern struct dentry *lookup_hash(struct nameidata *nd);
- extern struct dentry *lookup_one_len(const char *, struct dentry *, int);
- 
- extern int follow_down_one(struct path *);
-diff --git a/include/linux/splice.h b/include/linux/splice.h
-index 997c3b4..be9a153 100644
---- a/include/linux/splice.h
-+++ b/include/linux/splice.h
-@@ -89,4 +89,10 @@ extern int splice_grow_spd(struct pipe_inode_info *, struct splice_pipe_desc *);
- extern void splice_shrink_spd(struct pipe_inode_info *,
- 				struct splice_pipe_desc *);
- 
-+extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
-+			   loff_t *ppos, size_t len, unsigned int flags);
-+extern long do_splice_to(struct file *in, loff_t *ppos,
-+			 struct pipe_inode_info *pipe, size_t len,
-+			 unsigned int flags);
-+
- #endif
diff --git a/pkgs/os-specific/linux/kernel/aufs2.1-36.patch b/pkgs/os-specific/linux/kernel/aufs2.1-36.patch
deleted file mode 100644
index 9003e67620c6..000000000000
--- a/pkgs/os-specific/linux/kernel/aufs2.1-36.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-aufs2.1 base patch for linux-2.6.36
-
-diff --git a/fs/namei.c b/fs/namei.c
-index 24896e8..19d69c5 100644
---- a/fs/namei.c
-+++ b/fs/namei.c
-@@ -1159,7 +1159,7 @@ out:
-  * needs parent already locked. Doesn't follow mounts.
-  * SMP-safe.
-  */
--static struct dentry *lookup_hash(struct nameidata *nd)
-+struct dentry *lookup_hash(struct nameidata *nd)
- {
- 	int err;
- 
-@@ -1169,7 +1169,7 @@ static struct dentry *lookup_hash(struct nameidata *nd)
- 	return __lookup_hash(&nd->last, nd->path.dentry, nd);
- }
- 
--static int __lookup_one_len(const char *name, struct qstr *this,
-+int __lookup_one_len(const char *name, struct qstr *this,
- 		struct dentry *base, int len)
- {
- 	unsigned long hash;
-diff --git a/fs/splice.c b/fs/splice.c
-index 8f1dfae..278c94f 100644
---- a/fs/splice.c
-+++ b/fs/splice.c
-@@ -1092,8 +1092,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
- /*
-  * Attempt to initiate a splice from pipe to file.
-  */
--static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
--			   loff_t *ppos, size_t len, unsigned int flags)
-+long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
-+		    loff_t *ppos, size_t len, unsigned int flags)
- {
- 	ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
- 				loff_t *, size_t, unsigned int);
-@@ -1120,9 +1120,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
- /*
-  * Attempt to initiate a splice from a file to a pipe.
-  */
--static long do_splice_to(struct file *in, loff_t *ppos,
--			 struct pipe_inode_info *pipe, size_t len,
--			 unsigned int flags)
-+long do_splice_to(struct file *in, loff_t *ppos,
-+		  struct pipe_inode_info *pipe, size_t len,
-+		  unsigned int flags)
- {
- 	ssize_t (*splice_read)(struct file *, loff_t *,
- 			       struct pipe_inode_info *, size_t, unsigned int);
-diff --git a/include/linux/namei.h b/include/linux/namei.h
-index 05b441d..91bc74e 100644
---- a/include/linux/namei.h
-+++ b/include/linux/namei.h
-@@ -73,6 +73,9 @@ extern int vfs_path_lookup(struct dentry *, struct vfsmount *,
- extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry,
- 		int (*open)(struct inode *, struct file *));
- 
-+extern struct dentry *lookup_hash(struct nameidata *nd);
-+extern int __lookup_one_len(const char *name, struct qstr *this,
-+			    struct dentry *base, int len);
- extern struct dentry *lookup_one_len(const char *, struct dentry *, int);
- 
- extern int follow_down(struct path *);
-diff --git a/include/linux/splice.h b/include/linux/splice.h
-index 997c3b4..be9a153 100644
---- a/include/linux/splice.h
-+++ b/include/linux/splice.h
-@@ -89,4 +89,10 @@ extern int splice_grow_spd(struct pipe_inode_info *, struct splice_pipe_desc *);
- extern void splice_shrink_spd(struct pipe_inode_info *,
- 				struct splice_pipe_desc *);
- 
-+extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
-+			   loff_t *ppos, size_t len, unsigned int flags);
-+extern long do_splice_to(struct file *in, loff_t *ppos,
-+			 struct pipe_inode_info *pipe, size_t len,
-+			 unsigned int flags);
-+
- #endif
diff --git a/pkgs/os-specific/linux/kernel/aufs2.1-38.patch b/pkgs/os-specific/linux/kernel/aufs2.1-38.patch
deleted file mode 100644
index e6d4ccbb1645..000000000000
--- a/pkgs/os-specific/linux/kernel/aufs2.1-38.patch
+++ /dev/null
@@ -1,368 +0,0 @@
-aufs2.1 base patch for linux-2.6.38
-
-diff --git a/fs/namei.c b/fs/namei.c
-index a4689eb..0513563 100644
---- a/fs/namei.c
-+++ b/fs/namei.c
-@@ -1842,12 +1842,12 @@ out:
-  * needs parent already locked. Doesn't follow mounts.
-  * SMP-safe.
-  */
--static struct dentry *lookup_hash(struct nameidata *nd)
-+struct dentry *lookup_hash(struct nameidata *nd)
- {
- 	return __lookup_hash(&nd->last, nd->path.dentry, nd);
- }
- 
--static int __lookup_one_len(const char *name, struct qstr *this,
-+int __lookup_one_len(const char *name, struct qstr *this,
- 		struct dentry *base, int len)
- {
- 	unsigned long hash;
-diff --git a/fs/splice.c b/fs/splice.c
-index 50a5d978..886e942 100644
---- a/fs/splice.c
-+++ b/fs/splice.c
-@@ -1081,8 +1081,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
- /*
-  * Attempt to initiate a splice from pipe to file.
-  */
--static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
--			   loff_t *ppos, size_t len, unsigned int flags)
-+long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
-+		    loff_t *ppos, size_t len, unsigned int flags)
- {
- 	ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
- 				loff_t *, size_t, unsigned int);
-@@ -1109,9 +1109,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
- /*
-  * Attempt to initiate a splice from a file to a pipe.
-  */
--static long do_splice_to(struct file *in, loff_t *ppos,
--			 struct pipe_inode_info *pipe, size_t len,
--			 unsigned int flags)
-+long do_splice_to(struct file *in, loff_t *ppos,
-+		  struct pipe_inode_info *pipe, size_t len,
-+		  unsigned int flags)
- {
- 	ssize_t (*splice_read)(struct file *, loff_t *,
- 			       struct pipe_inode_info *, size_t, unsigned int);
-diff --git a/include/linux/namei.h b/include/linux/namei.h
-index f276d4f..4eb5fcb 100644
---- a/include/linux/namei.h
-+++ b/include/linux/namei.h
-@@ -79,6 +79,9 @@ extern int vfs_path_lookup(struct dentry *, struct vfsmount *,
- extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry,
- 		int (*open)(struct inode *, struct file *));
- 
-+extern struct dentry *lookup_hash(struct nameidata *nd);
-+extern int __lookup_one_len(const char *name, struct qstr *this,
-+			    struct dentry *base, int len);
- extern struct dentry *lookup_one_len(const char *, struct dentry *, int);
- 
- extern int follow_down_one(struct path *);
-diff --git a/include/linux/splice.h b/include/linux/splice.h
-index 997c3b4..be9a153 100644
---- a/include/linux/splice.h
-+++ b/include/linux/splice.h
-@@ -89,4 +89,10 @@ extern int splice_grow_spd(struct pipe_inode_info *, struct splice_pipe_desc *);
- extern void splice_shrink_spd(struct pipe_inode_info *,
- 				struct splice_pipe_desc *);
- 
-+extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
-+			   loff_t *ppos, size_t len, unsigned int flags);
-+extern long do_splice_to(struct file *in, loff_t *ppos,
-+			 struct pipe_inode_info *pipe, size_t len,
-+			 unsigned int flags);
-+
- #endif
-aufs2.1 standalone patch for linux-2.6.38
-
-diff --git a/fs/file_table.c b/fs/file_table.c
-index eb36b6b..12f2809 100644
---- a/fs/file_table.c
-+++ b/fs/file_table.c
-@@ -393,6 +393,8 @@ void file_sb_list_del(struct file *file)
- 	}
- }
- 
-+EXPORT_SYMBOL(file_sb_list_del);
-+
- #ifdef CONFIG_SMP
- 
- /*
-diff --git a/fs/inode.c b/fs/inode.c
-index 0647d80..294b8ad 100644
---- a/fs/inode.c
-+++ b/fs/inode.c
-@@ -82,6 +82,7 @@ static struct hlist_head *inode_hashtable __read_mostly;
-  * the i_state of an inode while it is in use..
-  */
- DEFINE_SPINLOCK(inode_lock);
-+EXPORT_SYMBOL(inode_lock);
- 
- /*
-  * iprune_sem provides exclusion between the kswapd or try_to_free_pages
-diff --git a/fs/namei.c b/fs/namei.c
-index 0513563..e1d996e 100644
---- a/fs/namei.c
-+++ b/fs/namei.c
-@@ -353,6 +353,7 @@ int deny_write_access(struct file * file)
- 
- 	return 0;
- }
-+EXPORT_SYMBOL(deny_write_access);
- 
- /**
-  * path_get - get a reference to a path
-@@ -1846,6 +1847,7 @@ struct dentry *lookup_hash(struct nameidata *nd)
- {
- 	return __lookup_hash(&nd->last, nd->path.dentry, nd);
- }
-+EXPORT_SYMBOL(lookup_hash);
- 
- int __lookup_one_len(const char *name, struct qstr *this,
- 		struct dentry *base, int len)
-@@ -1868,6 +1870,7 @@ int __lookup_one_len(const char *name, struct qstr *this,
- 	this->hash = end_name_hash(hash);
- 	return 0;
- }
-+EXPORT_SYMBOL(__lookup_one_len);
- 
- /**
-  * lookup_one_len - filesystem helper to lookup single pathname component
-diff --git a/fs/namespace.c b/fs/namespace.c
-index d1edf26..44ca259 100644
---- a/fs/namespace.c
-+++ b/fs/namespace.c
-@@ -1465,6 +1465,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
- 	}
- 	return 0;
- }
-+EXPORT_SYMBOL(iterate_mounts);
- 
- static void cleanup_group_ids(struct vfsmount *mnt, struct vfsmount *end)
- {
-diff --git a/fs/notify/group.c b/fs/notify/group.c
-index d309f38..f0e9568 100644
---- a/fs/notify/group.c
-+++ b/fs/notify/group.c
-@@ -22,6 +22,7 @@
- #include <linux/srcu.h>
- #include <linux/rculist.h>
- #include <linux/wait.h>
-+#include <linux/module.h>
- 
- #include <linux/fsnotify_backend.h>
- #include "fsnotify.h"
-@@ -70,6 +71,7 @@ void fsnotify_put_group(struct fsnotify_group *group)
- 	if (atomic_dec_and_test(&group->refcnt))
- 		fsnotify_destroy_group(group);
- }
-+EXPORT_SYMBOL(fsnotify_put_group);
- 
- /*
-  * Create a new fsnotify_group and hold a reference for the group returned.
-@@ -102,3 +104,4 @@ struct fsnotify_group *fsnotify_alloc_group(const struct fsnotify_ops *ops)
- 
- 	return group;
- }
-+EXPORT_SYMBOL(fsnotify_alloc_group);
-diff --git a/fs/notify/mark.c b/fs/notify/mark.c
-index 325185e..adede09 100644
---- a/fs/notify/mark.c
-+++ b/fs/notify/mark.c
-@@ -113,6 +113,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark)
- 	if (atomic_dec_and_test(&mark->refcnt))
- 		mark->free_mark(mark);
- }
-+EXPORT_SYMBOL(fsnotify_put_mark);
- 
- /*
-  * Any time a mark is getting freed we end up here.
-@@ -190,6 +191,7 @@ void fsnotify_destroy_mark(struct fsnotify_mark *mark)
- 	if (unlikely(atomic_dec_and_test(&group->num_marks)))
- 		fsnotify_final_destroy_group(group);
- }
-+EXPORT_SYMBOL(fsnotify_destroy_mark);
- 
- void fsnotify_set_mark_mask_locked(struct fsnotify_mark *mark, __u32 mask)
- {
-@@ -277,6 +279,7 @@ err:
- 
- 	return ret;
- }
-+EXPORT_SYMBOL(fsnotify_add_mark);
- 
- /*
-  * clear any marks in a group in which mark->flags & flags is true
-@@ -332,6 +335,7 @@ void fsnotify_init_mark(struct fsnotify_mark *mark,
- 	atomic_set(&mark->refcnt, 1);
- 	mark->free_mark = free_mark;
- }
-+EXPORT_SYMBOL(fsnotify_init_mark);
- 
- static int fsnotify_mark_destroy(void *ignored)
- {
-diff --git a/fs/open.c b/fs/open.c
-index b47aab3..cf7b1ac 100644
---- a/fs/open.c
-+++ b/fs/open.c
-@@ -60,6 +60,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
- 	mutex_unlock(&dentry->d_inode->i_mutex);
- 	return ret;
- }
-+EXPORT_SYMBOL(do_truncate);
- 
- static long do_sys_truncate(const char __user *pathname, loff_t length)
- {
-diff --git a/fs/splice.c b/fs/splice.c
-index 886e942..9a77a3e 100644
---- a/fs/splice.c
-+++ b/fs/splice.c
-@@ -1105,6 +1105,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
- 
- 	return splice_write(pipe, out, ppos, len, flags);
- }
-+EXPORT_SYMBOL(do_splice_from);
- 
- /*
-  * Attempt to initiate a splice from a file to a pipe.
-@@ -1131,6 +1132,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
- 
- 	return splice_read(in, ppos, pipe, len, flags);
- }
-+EXPORT_SYMBOL(do_splice_to);
- 
- /**
-  * splice_direct_to_actor - splices data directly between two non-pipes
-diff --git a/security/commoncap.c b/security/commoncap.c
-index 64c2ed9..e58b5d8 100644
---- a/security/commoncap.c
-+++ b/security/commoncap.c
-@@ -929,3 +929,4 @@ int cap_file_mmap(struct file *file, unsigned long reqprot,
- 	}
- 	return ret;
- }
-+EXPORT_SYMBOL(cap_file_mmap);
-diff --git a/security/device_cgroup.c b/security/device_cgroup.c
-index 8d9c48f..29108aa 100644
---- a/security/device_cgroup.c
-+++ b/security/device_cgroup.c
-@@ -515,6 +515,7 @@ found:
- 
- 	return -EPERM;
- }
-+EXPORT_SYMBOL(devcgroup_inode_permission);
- 
- int devcgroup_inode_mknod(int mode, dev_t dev)
- {
-diff --git a/security/security.c b/security/security.c
-index 7b7308a..140afc7 100644
---- a/security/security.c
-+++ b/security/security.c
-@@ -359,6 +359,7 @@ int security_path_mkdir(struct path *dir, struct dentry *dentry, int mode)
- 		return 0;
- 	return security_ops->path_mkdir(dir, dentry, mode);
- }
-+EXPORT_SYMBOL(security_path_mkdir);
- 
- int security_path_rmdir(struct path *dir, struct dentry *dentry)
- {
-@@ -366,6 +367,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry)
- 		return 0;
- 	return security_ops->path_rmdir(dir, dentry);
- }
-+EXPORT_SYMBOL(security_path_rmdir);
- 
- int security_path_unlink(struct path *dir, struct dentry *dentry)
- {
-@@ -373,6 +375,7 @@ int security_path_unlink(struct path *dir, struct dentry *dentry)
- 		return 0;
- 	return security_ops->path_unlink(dir, dentry);
- }
-+EXPORT_SYMBOL(security_path_unlink);
- 
- int security_path_symlink(struct path *dir, struct dentry *dentry,
- 			  const char *old_name)
-@@ -381,6 +384,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry,
- 		return 0;
- 	return security_ops->path_symlink(dir, dentry, old_name);
- }
-+EXPORT_SYMBOL(security_path_symlink);
- 
- int security_path_link(struct dentry *old_dentry, struct path *new_dir,
- 		       struct dentry *new_dentry)
-@@ -389,6 +393,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir,
- 		return 0;
- 	return security_ops->path_link(old_dentry, new_dir, new_dentry);
- }
-+EXPORT_SYMBOL(security_path_link);
- 
- int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
- 			 struct path *new_dir, struct dentry *new_dentry)
-@@ -399,6 +404,7 @@ int security_path_rename(struct path *old_dir, struct dentry *old_dentry,
- 	return security_ops->path_rename(old_dir, old_dentry, new_dir,
- 					 new_dentry);
- }
-+EXPORT_SYMBOL(security_path_rename);
- 
- int security_path_truncate(struct path *path)
- {
-@@ -406,6 +412,7 @@ int security_path_truncate(struct path *path)
- 		return 0;
- 	return security_ops->path_truncate(path);
- }
-+EXPORT_SYMBOL(security_path_truncate);
- 
- int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt,
- 			mode_t mode)
-@@ -414,6 +421,7 @@ int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt,
- 		return 0;
- 	return security_ops->path_chmod(dentry, mnt, mode);
- }
-+EXPORT_SYMBOL(security_path_chmod);
- 
- int security_path_chown(struct path *path, uid_t uid, gid_t gid)
- {
-@@ -421,6 +429,7 @@ int security_path_chown(struct path *path, uid_t uid, gid_t gid)
- 		return 0;
- 	return security_ops->path_chown(path, uid, gid);
- }
-+EXPORT_SYMBOL(security_path_chown);
- 
- int security_path_chroot(struct path *path)
- {
-@@ -497,6 +506,7 @@ int security_inode_readlink(struct dentry *dentry)
- 		return 0;
- 	return security_ops->inode_readlink(dentry);
- }
-+EXPORT_SYMBOL(security_inode_readlink);
- 
- int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd)
- {
-@@ -511,6 +521,7 @@ int security_inode_permission(struct inode *inode, int mask)
- 		return 0;
- 	return security_ops->inode_permission(inode, mask);
- }
-+EXPORT_SYMBOL(security_inode_permission);
- 
- int security_inode_exec_permission(struct inode *inode, unsigned int flags)
- {
-@@ -619,6 +630,7 @@ int security_file_permission(struct file *file, int mask)
- 
- 	return fsnotify_perm(file, mask);
- }
-+EXPORT_SYMBOL(security_file_permission);
- 
- int security_file_alloc(struct file *file)
- {
-@@ -646,6 +658,7 @@ int security_file_mmap(struct file *file, unsigned long reqprot,
- 		return ret;
- 	return ima_file_mmap(file, prot);
- }
-+EXPORT_SYMBOL(security_file_mmap);
- 
- int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot,
- 			    unsigned long prot)
-
diff --git a/pkgs/os-specific/linux/kernel/aufs2.1-39.patch b/pkgs/os-specific/linux/kernel/aufs2.1-39.patch
deleted file mode 100644
index e98dc85a214f..000000000000
--- a/pkgs/os-specific/linux/kernel/aufs2.1-39.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-aufs2.1 base patch for linux-2.6.39
-
-diff --git a/fs/namei.c b/fs/namei.c
-index e3c4f11..202d358 100644
---- a/fs/namei.c
-+++ b/fs/namei.c
-@@ -1769,7 +1769,7 @@ static struct dentry *__lookup_hash(struct qstr *name,
-  * needs parent already locked. Doesn't follow mounts.
-  * SMP-safe.
-  */
--static struct dentry *lookup_hash(struct nameidata *nd)
-+struct dentry *lookup_hash(struct nameidata *nd)
- {
- 	return __lookup_hash(&nd->last, nd->path.dentry, nd);
- }
-diff --git a/fs/splice.c b/fs/splice.c
-index 50a5d978..886e942 100644
---- a/fs/splice.c
-+++ b/fs/splice.c
-@@ -1081,8 +1081,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
- /*
-  * Attempt to initiate a splice from pipe to file.
-  */
--static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
--			   loff_t *ppos, size_t len, unsigned int flags)
-+long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
-+		    loff_t *ppos, size_t len, unsigned int flags)
- {
- 	ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
- 				loff_t *, size_t, unsigned int);
-@@ -1109,9 +1109,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
- /*
-  * Attempt to initiate a splice from a file to a pipe.
-  */
--static long do_splice_to(struct file *in, loff_t *ppos,
--			 struct pipe_inode_info *pipe, size_t len,
--			 unsigned int flags)
-+long do_splice_to(struct file *in, loff_t *ppos,
-+		  struct pipe_inode_info *pipe, size_t len,
-+		  unsigned int flags)
- {
- 	ssize_t (*splice_read)(struct file *, loff_t *,
- 			       struct pipe_inode_info *, size_t, unsigned int);
-diff --git a/include/linux/namei.h b/include/linux/namei.h
-index eba45ea..21ed6c9 100644
---- a/include/linux/namei.h
-+++ b/include/linux/namei.h
-@@ -82,6 +82,7 @@ extern int vfs_path_lookup(struct dentry *, struct vfsmount *,
- extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry,
- 		int (*open)(struct inode *, struct file *));
- 
-+extern struct dentry *lookup_hash(struct nameidata *nd);
- extern struct dentry *lookup_one_len(const char *, struct dentry *, int);
- 
- extern int follow_down_one(struct path *);
-diff --git a/include/linux/splice.h b/include/linux/splice.h
-index 997c3b4..be9a153 100644
---- a/include/linux/splice.h
-+++ b/include/linux/splice.h
-@@ -89,4 +89,10 @@ extern int splice_grow_spd(struct pipe_inode_info *, struct splice_pipe_desc *);
- extern void splice_shrink_spd(struct pipe_inode_info *,
- 				struct splice_pipe_desc *);
- 
-+extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
-+			   loff_t *ppos, size_t len, unsigned int flags);
-+extern long do_splice_to(struct file *in, loff_t *ppos,
-+			 struct pipe_inode_info *pipe, size_t len,
-+			 unsigned int flags);
-+
- #endif
diff --git a/pkgs/os-specific/linux/kernel/builder.sh b/pkgs/os-specific/linux/kernel/builder.sh
index 5d6d48d2fc3d..4c095bf8bbc9 100644
--- a/pkgs/os-specific/linux/kernel/builder.sh
+++ b/pkgs/os-specific/linux/kernel/builder.sh
@@ -138,6 +138,7 @@ installPhase() {
             (cd include && cp -a * $includeDir)
         (cd arch/$archDir/include && cp -a * $includeDir || true)
         (cd arch/$archDir/include && cp -a asm/* $includeDir/asm/ || true)
+        (cd arch/$archDir/include && cp -a generated/asm/* $includeDir/asm/ || true)
         (cd arch/$archDir/include/asm/mach-generic && cp -a * $includeDir/ || true)
         fi
     fi
diff --git a/pkgs/os-specific/linux/kernel/cifs-timeout-2.6.25.patch b/pkgs/os-specific/linux/kernel/cifs-timeout-2.6.25.patch
deleted file mode 100644
index 1c9544ae1dfd..000000000000
--- a/pkgs/os-specific/linux/kernel/cifs-timeout-2.6.25.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- /tmp/linux-2.6.32.14/fs/cifs/transport.c	2011-04-07 10:50:40.844188400 +0200
-+++ linux-2.6.32.14/fs/cifs/transport.c	2011-04-07 10:52:22.092690465 +0200
-@@ -277,9 +277,9 @@
- 				    n_vec - first_vec, total_len);
- 		if ((rc == -ENOSPC) || (rc == -EAGAIN)) {
- 			i++;
--			if (i >= 14) {
-+			if (i >= 119) {
- 				cERROR(1,
--				   ("sends on sock %p stuck for 15 seconds",
-+				   ("sends on sock %p stuck for 120 seconds",
- 				    ssocket));
- 				rc = -EAGAIN;
- 				break;
-@@ -553,11 +553,11 @@
- 		goto out;
-
- 	if (long_op == CIFS_STD_OP)
--		timeout = 15 * HZ;
-+		timeout = 120 * HZ;
- 	else if (long_op == CIFS_VLONG_OP) /* e.g. slow writes past EOF */
- 		timeout = 180 * HZ;
- 	else if (long_op == CIFS_LONG_OP)
--		timeout = 45 * HZ; /* should be greater than
-+		timeout = 120 * HZ; /* should be greater than
- 			servers oplock break timeout (about 43 seconds) */
- 	else if (long_op == CIFS_ASYNC_OP)
- 		goto out;
-@@ -744,7 +744,7 @@
- 		goto out;
-
- 	if (long_op == CIFS_STD_OP)
--		timeout = 15 * HZ;
-+		timeout = 120 * HZ;
- 	/* wait for 15 seconds or until woken up due to response arriving or
- 	   due to last connection to this server being unmounted */
- 	else if (long_op == CIFS_ASYNC_OP)
-@@ -752,7 +752,7 @@
- 	else if (long_op == CIFS_VLONG_OP) /* writes past EOF can be slow */
- 		timeout = 180 * HZ;
- 	else if (long_op == CIFS_LONG_OP)
--		timeout = 45 * HZ; /* should be greater than
-+		timeout = 120 * HZ; /* should be greater than
- 			servers oplock break timeout (about 43 seconds) */
- 	else if (long_op == CIFS_BLOCKING_OP)
- 		timeout = 0x7FFFFFFF; /* large but no so large as to wrap */
diff --git a/pkgs/os-specific/linux/kernel/config-2.6.31-armv5tel b/pkgs/os-specific/linux/kernel/config-2.6.31-armv5tel
deleted file mode 100644
index 827f9711511f..000000000000
--- a/pkgs/os-specific/linux/kernel/config-2.6.31-armv5tel
+++ /dev/null
@@ -1,1786 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.31
-# Tue Sep 22 01:20:57 2009
-#
-CONFIG_ARM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_GENERIC_GPIO=y
-CONFIG_GENERIC_TIME=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_MMU=y
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_HARDIRQS_SW_RESEND=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_VECTORS_BASE=0xffff0000
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_LOCK_KERNEL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_AUDIT is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_CLASSIC_RCU=y
-# CONFIG_TREE_RCU is not set
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_TREE_RCU_TRACE is not set
-# CONFIG_PREEMPT_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_LOG_BUF_SHIFT=19
-# CONFIG_GROUP_SCHED is not set
-# CONFIG_CGROUPS is not set
-# CONFIG_SYSFS_DEPRECATED_V2 is not set
-# CONFIG_RELAY is not set
-CONFIG_NAMESPACES=y
-# CONFIG_UTS_NS is not set
-# CONFIG_IPC_NS is not set
-# CONFIG_USER_NS is not set
-# CONFIG_PID_NS is not set
-# CONFIG_NET_NS is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-# CONFIG_EMBEDDED is not set
-CONFIG_UID16=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-
-#
-# Performance Counters
-#
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_PCI_QUIRKS=y
-CONFIG_SLUB_DEBUG=y
-# CONFIG_STRIP_ASM_SYMS is not set
-CONFIG_COMPAT_BRK=y
-# CONFIG_SLAB is not set
-CONFIG_SLUB=y
-# CONFIG_SLOB is not set
-CONFIG_PROFILING=y
-CONFIG_TRACEPOINTS=y
-CONFIG_MARKERS=y
-CONFIG_OPROFILE=y
-CONFIG_HAVE_OPROFILE=y
-CONFIG_KPROBES=y
-CONFIG_KRETPROBES=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-
-#
-# GCOV-based kernel profiling
-#
-# CONFIG_GCOV_KERNEL is not set
-# CONFIG_SLOW_WORK is not set
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-# CONFIG_MODULE_FORCE_LOAD is not set
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_BLOCK=y
-CONFIG_LBDAF=y
-# CONFIG_BLK_DEV_BSG is not set
-# CONFIG_BLK_DEV_INTEGRITY is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-# CONFIG_DEFAULT_AS is not set
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-# CONFIG_FREEZER is not set
-
-#
-# System Type
-#
-# CONFIG_ARCH_AAEC2000 is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_REALVIEW is not set
-# CONFIG_ARCH_VERSATILE is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X is not set
-# CONFIG_ARCH_IOP13XX is not set
-# CONFIG_ARCH_IOP32X is not set
-# CONFIG_ARCH_IOP33X is not set
-# CONFIG_ARCH_IXP23XX is not set
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_IXP4XX is not set
-# CONFIG_ARCH_L7200 is not set
-CONFIG_ARCH_KIRKWOOD=y
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_PNX4008 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_S3C2410 is not set
-# CONFIG_ARCH_S3C64XX is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_DAVINCI is not set
-# CONFIG_ARCH_OMAP is not set
-
-#
-# Marvell Kirkwood Implementations
-#
-CONFIG_MACH_DB88F6281_BP=y
-CONFIG_MACH_RD88F6192_NAS=y
-CONFIG_MACH_RD88F6281=y
-CONFIG_MACH_MV88F6281GTW_GE=y
-CONFIG_MACH_SHEEVAPLUG=y
-CONFIG_MACH_TS219=y
-CONFIG_PLAT_ORION=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_FEROCEON=y
-# CONFIG_CPU_FEROCEON_OLD_ID is not set
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_PABRT_NOIFAR=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_COPY_FEROCEON=y
-CONFIG_CPU_TLB_FEROCEON=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-CONFIG_OUTER_CACHE=y
-CONFIG_CACHE_FEROCEON_L2=y
-# CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH is not set
-
-#
-# Bus support
-#
-CONFIG_PCI=y
-CONFIG_PCI_SYSCALL=y
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCI_LEGACY=y
-# CONFIG_PCI_DEBUG is not set
-# CONFIG_PCI_STUB is not set
-# CONFIG_PCI_IOV is not set
-# CONFIG_PCCARD is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_VMSPLIT_3G=y
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_1G is not set
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_PREEMPT=y
-CONFIG_HZ=100
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4096
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-CONFIG_HAVE_MLOCK=y
-CONFIG_HAVE_MLOCKED_PAGE_BIT=y
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_ALIGNMENT_TRAP=y
-CONFIG_UACCESS_WITH_MEMCPY=y
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE=""
-# CONFIG_XIP_KERNEL is not set
-# CONFIG_KEXEC is not set
-
-#
-# CPU Power Management
-#
-CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_CPU_IDLE_GOV_MENU=y
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-# CONFIG_VFP is not set
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Power management options
-#
-# CONFIG_PM is not set
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_XFRM_STATISTICS is not set
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-# CONFIG_IP_PNP_RARP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_IP_MROUTE is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_INET_AH is not set
-# CONFIG_INET_ESP is not set
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-# CONFIG_INET_TUNNEL is not set
-CONFIG_INET_XFRM_MODE_TRANSPORT=y
-CONFIG_INET_XFRM_MODE_TUNNEL=y
-CONFIG_INET_XFRM_MODE_BEET=y
-CONFIG_INET_LRO=y
-CONFIG_INET_DIAG=y
-CONFIG_INET_TCP_DIAG=y
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-# CONFIG_IPV6 is not set
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETFILTER is not set
-# CONFIG_IP_DCCP is not set
-# CONFIG_IP_SCTP is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
-CONFIG_NET_DSA=y
-# CONFIG_NET_DSA_TAG_DSA is not set
-CONFIG_NET_DSA_TAG_EDSA=y
-# CONFIG_NET_DSA_TAG_TRAILER is not set
-CONFIG_NET_DSA_MV88E6XXX=y
-# CONFIG_NET_DSA_MV88E6060 is not set
-# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set
-# CONFIG_NET_DSA_MV88E6131 is not set
-CONFIG_NET_DSA_MV88E6123_61_65=y
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_PHONET is not set
-# CONFIG_IEEE802154 is not set
-# CONFIG_NET_SCHED is not set
-# CONFIG_DCB is not set
-
-#
-# Network testing
-#
-CONFIG_NET_PKTGEN=m
-# CONFIG_NET_TCPPROBE is not set
-# CONFIG_NET_DROP_MONITOR is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_CAN is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-# CONFIG_AF_RXRPC is not set
-CONFIG_WIRELESS=y
-CONFIG_CFG80211=y
-# CONFIG_CFG80211_REG_DEBUG is not set
-# CONFIG_CFG80211_DEBUGFS is not set
-CONFIG_WIRELESS_OLD_REGULATORY=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
-CONFIG_LIB80211=y
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_MAC80211=y
-CONFIG_MAC80211_DEFAULT_PS=y
-CONFIG_MAC80211_DEFAULT_PS_VALUE=1
-
-#
-# Rate control algorithm selection
-#
-CONFIG_MAC80211_RC_MINSTREL=y
-# CONFIG_MAC80211_RC_DEFAULT_PID is not set
-CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT="minstrel"
-# CONFIG_MAC80211_LEDS is not set
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-# CONFIG_WIMAX is not set
-# CONFIG_RFKILL is not set
-# CONFIG_NET_9P is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-CONFIG_FIRMWARE_IN_KERNEL=y
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-# CONFIG_CONNECTOR is not set
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_TESTS is not set
-# CONFIG_MTD_REDBOOT_PARTS is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-# CONFIG_MTD_AR7_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLKDEVS=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-# CONFIG_RFD_FTL is not set
-# CONFIG_SSFDC is not set
-# CONFIG_MTD_OOPS is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-CONFIG_MTD_JEDECPROBE=y
-CONFIG_MTD_GEN_PROBE=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_GEOMETRY=y
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_OTP is not set
-CONFIG_MTD_CFI_INTELEXT=y
-# CONFIG_MTD_CFI_AMDSTD is not set
-CONFIG_MTD_CFI_STAA=y
-CONFIG_MTD_CFI_UTIL=y
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-CONFIG_MTD_PHYSMAP=y
-# CONFIG_MTD_PHYSMAP_COMPAT is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-# CONFIG_MTD_IMPA7 is not set
-# CONFIG_MTD_INTEL_VR_NOR is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_DATAFLASH is not set
-CONFIG_MTD_M25P80=y
-CONFIG_M25PXX_USE_FAST_READ=y
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-CONFIG_MTD_NAND=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_CAFE is not set
-# CONFIG_MTD_NAND_NANDSIM is not set
-# CONFIG_MTD_NAND_PLATFORM is not set
-# CONFIG_MTD_ALAUDA is not set
-CONFIG_MTD_NAND_ORION=y
-# CONFIG_MTD_ONENAND is not set
-
-#
-# LPDDR flash memory drivers
-#
-# CONFIG_MTD_LPDDR is not set
-
-#
-# UBI - Unsorted block images
-#
-CONFIG_MTD_UBI=y
-# CONFIG_PARPORT is not set
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_UB is not set
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_MISC_DEVICES is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-# CONFIG_SCSI_TGT is not set
-# CONFIG_SCSI_NETLINK is not set
-# CONFIG_SCSI_PROC_FS is not set
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-CONFIG_BLK_DEV_SR=m
-# CONFIG_BLK_DEV_SR_VENDOR is not set
-CONFIG_CHR_DEV_SG=m
-# CONFIG_CHR_DEV_SCH is not set
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_TCP is not set
-# CONFIG_SCSI_BNX2_ISCSI is not set
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_AIC94XX is not set
-# CONFIG_SCSI_MVSAS is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_ARCMSR is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_MEGARAID_SAS is not set
-# CONFIG_SCSI_MPT2SAS is not set
-# CONFIG_SCSI_HPTIOP is not set
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_FCOE is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_STEX is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_IPR is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-# CONFIG_SCSI_QLA_FC is not set
-# CONFIG_SCSI_QLA_ISCSI is not set
-# CONFIG_SCSI_LPFC is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_SRP is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
-CONFIG_ATA=y
-# CONFIG_ATA_NONSTANDARD is not set
-CONFIG_SATA_PMP=y
-CONFIG_SATA_AHCI=y
-# CONFIG_SATA_SIL24 is not set
-CONFIG_ATA_SFF=y
-# CONFIG_SATA_SVW is not set
-# CONFIG_ATA_PIIX is not set
-CONFIG_SATA_MV=y
-# CONFIG_SATA_NV is not set
-# CONFIG_PDC_ADMA is not set
-# CONFIG_SATA_QSTOR is not set
-# CONFIG_SATA_PROMISE is not set
-# CONFIG_SATA_SX4 is not set
-# CONFIG_SATA_SIL is not set
-# CONFIG_SATA_SIS is not set
-# CONFIG_SATA_ULI is not set
-# CONFIG_SATA_VIA is not set
-# CONFIG_SATA_VITESSE is not set
-# CONFIG_SATA_INIC162X is not set
-# CONFIG_PATA_ALI is not set
-# CONFIG_PATA_AMD is not set
-# CONFIG_PATA_ARTOP is not set
-# CONFIG_PATA_ATIIXP is not set
-# CONFIG_PATA_CMD640_PCI is not set
-# CONFIG_PATA_CMD64X is not set
-# CONFIG_PATA_CS5520 is not set
-# CONFIG_PATA_CS5530 is not set
-# CONFIG_PATA_CYPRESS is not set
-# CONFIG_PATA_EFAR is not set
-# CONFIG_ATA_GENERIC is not set
-# CONFIG_PATA_HPT366 is not set
-# CONFIG_PATA_HPT37X is not set
-# CONFIG_PATA_HPT3X2N is not set
-# CONFIG_PATA_HPT3X3 is not set
-# CONFIG_PATA_IT821X is not set
-# CONFIG_PATA_IT8213 is not set
-# CONFIG_PATA_JMICRON is not set
-# CONFIG_PATA_TRIFLEX is not set
-# CONFIG_PATA_MARVELL is not set
-# CONFIG_PATA_MPIIX is not set
-# CONFIG_PATA_OLDPIIX is not set
-# CONFIG_PATA_NETCELL is not set
-# CONFIG_PATA_NINJA32 is not set
-# CONFIG_PATA_NS87410 is not set
-# CONFIG_PATA_NS87415 is not set
-# CONFIG_PATA_OPTI is not set
-# CONFIG_PATA_OPTIDMA is not set
-# CONFIG_PATA_PDC_OLD is not set
-# CONFIG_PATA_RADISYS is not set
-# CONFIG_PATA_RZ1000 is not set
-# CONFIG_PATA_SC1200 is not set
-# CONFIG_PATA_SERVERWORKS is not set
-# CONFIG_PATA_PDC2027X is not set
-# CONFIG_PATA_SIL680 is not set
-# CONFIG_PATA_SIS is not set
-# CONFIG_PATA_VIA is not set
-# CONFIG_PATA_WINBOND is not set
-# CONFIG_PATA_SCH is not set
-# CONFIG_MD is not set
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-
-#
-# You can enable one or both FireWire driver stacks.
-#
-
-#
-# See the help texts for more information.
-#
-# CONFIG_FIREWIRE is not set
-# CONFIG_IEEE1394 is not set
-# CONFIG_I2O is not set
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_MACVLAN is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_VETH is not set
-# CONFIG_ARCNET is not set
-CONFIG_PHYLIB=y
-
-#
-# MII PHY device drivers
-#
-CONFIG_MARVELL_PHY=y
-# CONFIG_DAVICOM_PHY is not set
-# CONFIG_QSEMI_PHY is not set
-# CONFIG_LXT_PHY is not set
-# CONFIG_CICADA_PHY is not set
-# CONFIG_VITESSE_PHY is not set
-# CONFIG_SMSC_PHY is not set
-# CONFIG_BROADCOM_PHY is not set
-# CONFIG_ICPLUS_PHY is not set
-# CONFIG_REALTEK_PHY is not set
-# CONFIG_NATIONAL_PHY is not set
-# CONFIG_STE10XP is not set
-# CONFIG_LSI_ET1011C_PHY is not set
-# CONFIG_FIXED_PHY is not set
-# CONFIG_MDIO_BITBANG is not set
-CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
-# CONFIG_AX88796 is not set
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_CASSINI is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_SMC91X is not set
-# CONFIG_DM9000 is not set
-# CONFIG_ENC28J60 is not set
-# CONFIG_ETHOC is not set
-# CONFIG_SMC911X is not set
-# CONFIG_SMSC911X is not set
-# CONFIG_DNET is not set
-# CONFIG_NET_TULIP is not set
-# CONFIG_HP100 is not set
-# CONFIG_IBM_NEW_EMAC_ZMII is not set
-# CONFIG_IBM_NEW_EMAC_RGMII is not set
-# CONFIG_IBM_NEW_EMAC_TAH is not set
-# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
-CONFIG_NET_PCI=y
-# CONFIG_PCNET32 is not set
-# CONFIG_AMD8111_ETH is not set
-# CONFIG_ADAPTEC_STARFIRE is not set
-# CONFIG_B44 is not set
-# CONFIG_FORCEDETH is not set
-# CONFIG_E100 is not set
-# CONFIG_FEALNX is not set
-# CONFIG_NATSEMI is not set
-# CONFIG_NE2K_PCI is not set
-# CONFIG_8139CP is not set
-# CONFIG_8139TOO is not set
-# CONFIG_R6040 is not set
-# CONFIG_SIS900 is not set
-# CONFIG_EPIC100 is not set
-# CONFIG_SMSC9420 is not set
-# CONFIG_SUNDANCE is not set
-# CONFIG_TLAN is not set
-# CONFIG_KS8842 is not set
-# CONFIG_KS8851 is not set
-# CONFIG_VIA_RHINE is not set
-# CONFIG_SC92031 is not set
-# CONFIG_ATL2 is not set
-CONFIG_NETDEV_1000=y
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_E1000 is not set
-# CONFIG_E1000E is not set
-# CONFIG_IP1000 is not set
-# CONFIG_IGB is not set
-# CONFIG_IGBVF is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_R8169 is not set
-# CONFIG_SIS190 is not set
-# CONFIG_SKGE is not set
-# CONFIG_SKY2 is not set
-# CONFIG_VIA_VELOCITY is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_BNX2 is not set
-# CONFIG_CNIC is not set
-CONFIG_MV643XX_ETH=y
-# CONFIG_QLA3XXX is not set
-# CONFIG_ATL1 is not set
-# CONFIG_ATL1E is not set
-# CONFIG_ATL1C is not set
-# CONFIG_JME is not set
-# CONFIG_NETDEV_10000 is not set
-# CONFIG_TR is not set
-
-#
-# Wireless LAN
-#
-# CONFIG_WLAN_PRE80211 is not set
-CONFIG_WLAN_80211=y
-CONFIG_LIBERTAS=y
-# CONFIG_LIBERTAS_USB is not set
-CONFIG_LIBERTAS_SDIO=y
-# CONFIG_LIBERTAS_SPI is not set
-# CONFIG_LIBERTAS_DEBUG is not set
-# CONFIG_LIBERTAS_THINFIRM is not set
-# CONFIG_ATMEL is not set
-# CONFIG_AT76C50X_USB is not set
-# CONFIG_PRISM54 is not set
-# CONFIG_USB_ZD1201 is not set
-# CONFIG_USB_NET_RNDIS_WLAN is not set
-# CONFIG_RTL8180 is not set
-# CONFIG_RTL8187 is not set
-# CONFIG_ADM8211 is not set
-# CONFIG_MAC80211_HWSIM is not set
-# CONFIG_MWL8K is not set
-# CONFIG_P54_COMMON is not set
-# CONFIG_ATH5K is not set
-# CONFIG_ATH9K is not set
-# CONFIG_AR9170_USB is not set
-# CONFIG_IPW2100 is not set
-# CONFIG_IPW2200 is not set
-# CONFIG_IWLWIFI is not set
-# CONFIG_HOSTAP is not set
-# CONFIG_B43 is not set
-# CONFIG_B43LEGACY is not set
-# CONFIG_ZD1211RW is not set
-# CONFIG_RT2X00 is not set
-# CONFIG_HERMES is not set
-# CONFIG_WL12XX is not set
-# CONFIG_IWM is not set
-
-#
-# Enable WiMAX (Networking options) to see the WiMAX drivers
-#
-
-#
-# USB Network Adapters
-#
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_USBNET is not set
-# CONFIG_WAN is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_NET_FC is not set
-# CONFIG_NETCONSOLE is not set
-# CONFIG_NETPOLL is not set
-# CONFIG_NET_POLL_CONTROLLER is not set
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
-# CONFIG_INPUT_POLLDEV is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-CONFIG_KEYBOARD_ATKBD=y
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TABLET is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_SERPORT=y
-# CONFIG_SERIO_PCIPS2 is not set
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_RAW is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-# CONFIG_VT_HW_CONSOLE_BINDING is not set
-# CONFIG_DEVKMEM is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-# CONFIG_NOZOMI is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=2
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_JSM is not set
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=16
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-CONFIG_DEVPORT=y
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_HELPER_AUTO=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# PC SMBus host controller drivers
-#
-# CONFIG_I2C_ALI1535 is not set
-# CONFIG_I2C_ALI1563 is not set
-# CONFIG_I2C_ALI15X3 is not set
-# CONFIG_I2C_AMD756 is not set
-# CONFIG_I2C_AMD8111 is not set
-# CONFIG_I2C_I801 is not set
-# CONFIG_I2C_ISCH is not set
-# CONFIG_I2C_PIIX4 is not set
-# CONFIG_I2C_NFORCE2 is not set
-# CONFIG_I2C_SIS5595 is not set
-# CONFIG_I2C_SIS630 is not set
-# CONFIG_I2C_SIS96X is not set
-# CONFIG_I2C_VIA is not set
-# CONFIG_I2C_VIAPRO is not set
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_GPIO is not set
-CONFIG_I2C_MV64XXX=y
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_SIMTEC is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-# CONFIG_I2C_TINY_USB is not set
-
-#
-# Graphics adapter I2C/DDC channel drivers
-#
-# CONFIG_I2C_VOODOO3 is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_PCA_PLATFORM is not set
-# CONFIG_I2C_STUB is not set
-
-#
-# Miscellaneous I2C Chip support
-#
-# CONFIG_DS1682 is not set
-# CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_PCF8575 is not set
-# CONFIG_SENSORS_PCA9539 is not set
-# CONFIG_SENSORS_TSL2550 is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
-CONFIG_SPI=y
-# CONFIG_SPI_DEBUG is not set
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-# CONFIG_SPI_BITBANG is not set
-# CONFIG_SPI_GPIO is not set
-CONFIG_SPI_ORION=y
-
-#
-# SPI Protocol Masters
-#
-# CONFIG_SPI_SPIDEV is not set
-# CONFIG_SPI_TLE62X0 is not set
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_DEBUG_GPIO is not set
-# CONFIG_GPIO_SYSFS is not set
-
-#
-# Memory mapped GPIO expanders:
-#
-
-#
-# I2C GPIO expanders:
-#
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCF857X is not set
-
-#
-# PCI GPIO expanders:
-#
-# CONFIG_GPIO_BT8XX is not set
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_W1 is not set
-# CONFIG_POWER_SUPPLY is not set
-# CONFIG_HWMON is not set
-# CONFIG_THERMAL is not set
-# CONFIG_THERMAL_HWMON is not set
-# CONFIG_WATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-# CONFIG_SSB is not set
-
-#
-# Multifunction device drivers
-#
-# CONFIG_MFD_CORE is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_MFD_ASIC3 is not set
-# CONFIG_HTC_EGPIO is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_TPS65010 is not set
-# CONFIG_TWL4030_CORE is not set
-# CONFIG_MFD_TMIO is not set
-# CONFIG_MFD_TC6393XB is not set
-# CONFIG_PMIC_DA903X is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_AB3100_CORE is not set
-# CONFIG_EZX_PCAP is not set
-# CONFIG_MEDIA_SUPPORT is not set
-
-#
-# Graphics support
-#
-# CONFIG_DRM is not set
-# CONFIG_VGASTATE is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-# CONFIG_FB is not set
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-
-#
-# Display device support
-#
-# CONFIG_DISPLAY_SUPPORT is not set
-
-#
-# Console display driver support
-#
-# CONFIG_VGA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
-# CONFIG_SOUND is not set
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=y
-# CONFIG_HID_DEBUG is not set
-# CONFIG_HIDRAW is not set
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=y
-# CONFIG_HID_PID is not set
-# CONFIG_USB_HIDDEV is not set
-
-#
-# Special HID drivers
-#
-CONFIG_HID_A4TECH=y
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-CONFIG_HID_CYPRESS=y
-CONFIG_HID_DRAGONRISE=y
-# CONFIG_DRAGONRISE_FF is not set
-CONFIG_HID_EZKEY=y
-CONFIG_HID_KYE=y
-CONFIG_HID_GYRATION=y
-CONFIG_HID_KENSINGTON=y
-CONFIG_HID_LOGITECH=y
-# CONFIG_LOGITECH_FF is not set
-# CONFIG_LOGIRUMBLEPAD2_FF is not set
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
-CONFIG_HID_NTRIG=y
-CONFIG_HID_PANTHERLORD=y
-# CONFIG_PANTHERLORD_FF is not set
-CONFIG_HID_PETALYNX=y
-CONFIG_HID_SAMSUNG=y
-CONFIG_HID_SONY=y
-CONFIG_HID_SUNPLUS=y
-CONFIG_HID_GREENASIA=y
-# CONFIG_GREENASIA_FF is not set
-CONFIG_HID_SMARTJOYPLUS=y
-# CONFIG_SMARTJOYPLUS_FF is not set
-CONFIG_HID_TOPSEED=y
-CONFIG_HID_THRUSTMASTER=y
-# CONFIG_THRUSTMASTER_FF is not set
-CONFIG_HID_ZEROPLUS=y
-# CONFIG_ZEROPLUS_FF is not set
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-CONFIG_USB_DEVICE_CLASS=y
-# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_OTG is not set
-# CONFIG_USB_MON is not set
-# CONFIG_USB_WUSB is not set
-# CONFIG_USB_WUSB_CBAF is not set
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_C67X00_HCD is not set
-# CONFIG_USB_XHCI_HCD is not set
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
-# CONFIG_USB_OXU210HP_HCD is not set
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_ISP1760_HCD is not set
-# CONFIG_USB_OHCI_HCD is not set
-# CONFIG_USB_UHCI_HCD is not set
-# CONFIG_USB_SL811_HCD is not set
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_WHCI_HCD is not set
-# CONFIG_USB_HWA_HCD is not set
-
-#
-# USB Device Class drivers
-#
-# CONFIG_USB_ACM is not set
-CONFIG_USB_PRINTER=m
-# CONFIG_USB_WDM is not set
-# CONFIG_USB_TMC is not set
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_DATAFAB=y
-CONFIG_USB_STORAGE_FREECOM=y
-# CONFIG_USB_STORAGE_ISD200 is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-CONFIG_USB_STORAGE_SDDR09=y
-CONFIG_USB_STORAGE_SDDR55=y
-CONFIG_USB_STORAGE_JUMPSHOT=y
-# CONFIG_USB_STORAGE_ALAUDA is not set
-# CONFIG_USB_STORAGE_ONETOUCH is not set
-# CONFIG_USB_STORAGE_KARMA is not set
-# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-
-#
-# USB port drivers
-#
-# CONFIG_USB_SERIAL is not set
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_SEVSEG is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_BERRY_CHARGE is not set
-# CONFIG_USB_LED is not set
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_FTDI_ELAN is not set
-# CONFIG_USB_APPLEDISPLAY is not set
-# CONFIG_USB_SISUSBVGA is not set
-# CONFIG_USB_LD is not set
-# CONFIG_USB_TRANCEVIBRATOR is not set
-# CONFIG_USB_IOWARRIOR is not set
-# CONFIG_USB_TEST is not set
-# CONFIG_USB_ISIGHTFW is not set
-# CONFIG_USB_VST is not set
-# CONFIG_USB_GADGET is not set
-
-#
-# OTG and related infrastructure
-#
-# CONFIG_USB_GPIO_VBUS is not set
-# CONFIG_NOP_USB_XCEIV is not set
-# CONFIG_UWB is not set
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_SDIO_UART=y
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_TIFM_SD is not set
-CONFIG_MMC_MVSDIO=y
-# CONFIG_MMC_SPI is not set
-# CONFIG_MMC_CB710 is not set
-# CONFIG_MMC_VIA_SDMMC is not set
-# CONFIG_MEMSTICK is not set
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-# CONFIG_LEDS_PCA9532 is not set
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_BD2802 is not set
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-# CONFIG_RTC_DRV_TEST is not set
-
-#
-# I2C RTC drivers
-#
-# CONFIG_RTC_DRV_DS1307 is not set
-# CONFIG_RTC_DRV_DS1374 is not set
-# CONFIG_RTC_DRV_DS1672 is not set
-# CONFIG_RTC_DRV_MAX6900 is not set
-# CONFIG_RTC_DRV_RS5C372 is not set
-# CONFIG_RTC_DRV_ISL1208 is not set
-# CONFIG_RTC_DRV_X1205 is not set
-# CONFIG_RTC_DRV_PCF8563 is not set
-# CONFIG_RTC_DRV_PCF8583 is not set
-# CONFIG_RTC_DRV_M41T80 is not set
-CONFIG_RTC_DRV_S35390A=y
-# CONFIG_RTC_DRV_FM3130 is not set
-# CONFIG_RTC_DRV_RX8581 is not set
-# CONFIG_RTC_DRV_RX8025 is not set
-
-#
-# SPI RTC drivers
-#
-# CONFIG_RTC_DRV_M41T94 is not set
-# CONFIG_RTC_DRV_DS1305 is not set
-# CONFIG_RTC_DRV_DS1390 is not set
-# CONFIG_RTC_DRV_MAX6902 is not set
-# CONFIG_RTC_DRV_R9701 is not set
-# CONFIG_RTC_DRV_RS5C348 is not set
-# CONFIG_RTC_DRV_DS3234 is not set
-
-#
-# Platform RTC drivers
-#
-# CONFIG_RTC_DRV_CMOS is not set
-# CONFIG_RTC_DRV_DS1286 is not set
-# CONFIG_RTC_DRV_DS1511 is not set
-# CONFIG_RTC_DRV_DS1553 is not set
-# CONFIG_RTC_DRV_DS1742 is not set
-# CONFIG_RTC_DRV_STK17TA8 is not set
-# CONFIG_RTC_DRV_M48T86 is not set
-# CONFIG_RTC_DRV_M48T35 is not set
-# CONFIG_RTC_DRV_M48T59 is not set
-# CONFIG_RTC_DRV_BQ4802 is not set
-# CONFIG_RTC_DRV_V3020 is not set
-
-#
-# on-CPU RTC drivers
-#
-CONFIG_RTC_DRV_MV=y
-CONFIG_DMADEVICES=y
-
-#
-# DMA Devices
-#
-CONFIG_MV_XOR=y
-CONFIG_DMA_ENGINE=y
-
-#
-# DMA Clients
-#
-# CONFIG_NET_DMA is not set
-# CONFIG_ASYNC_TX_DMA is not set
-# CONFIG_DMATEST is not set
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_REGULATOR is not set
-# CONFIG_UIO is not set
-# CONFIG_STAGING is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR is not set
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-# CONFIG_EXT3_FS_XATTR is not set
-# CONFIG_EXT4_FS is not set
-CONFIG_JBD=y
-# CONFIG_JBD_DEBUG is not set
-CONFIG_REISERFS_FS=y
-# CONFIG_JFS_FS is not set
-# CONFIG_FS_POSIX_ACL is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_OCFS2_FS is not set
-# CONFIG_BTRFS_FS is not set
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY=y
-CONFIG_INOTIFY_USER=y
-# CONFIG_QUOTA is not set
-# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-CONFIG_FUSE_FS=y
-
-#
-# Caches
-#
-# CONFIG_FSCACHE is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=y
-CONFIG_JOLIET=y
-# CONFIG_ZISOFS is not set
-CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_POSIX_ACL is not set
-# CONFIG_HUGETLB_PAGE is not set
-# CONFIG_CONFIGFS_FS is not set
-CONFIG_MISC_FILESYSTEMS=y
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-# CONFIG_JFFS2_SUMMARY is not set
-# CONFIG_JFFS2_FS_XATTR is not set
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-# CONFIG_JFFS2_LZO is not set
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-CONFIG_CRAMFS=y
-# CONFIG_SQUASHFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_OMFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_ROMFS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-# CONFIG_NILFS2_FS is not set
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-# CONFIG_NFS_V4 is not set
-CONFIG_ROOT_NFS=y
-# CONFIG_NFSD is not set
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-# CONFIG_RPCSEC_GSS_KRB5 is not set
-# CONFIG_RPCSEC_GSS_SPKM3 is not set
-# CONFIG_SMB_FS is not set
-# CONFIG_CIFS is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-
-#
-# Partition Types
-#
-# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_MSDOS_PARTITION=y
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="iso8859-1"
-CONFIG_NLS_CODEPAGE_437=y
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-CONFIG_NLS_CODEPAGE_850=y
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-# CONFIG_NLS_ASCII is not set
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_2=y
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-CONFIG_NLS_UTF8=y
-# CONFIG_DLM is not set
-
-#
-# Kernel hacking
-#
-# CONFIG_PRINTK_TIME is not set
-CONFIG_ENABLE_WARN_DEPRECATED=y
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_FRAME_WARN=1024
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_UNUSED_SYMBOLS is not set
-CONFIG_DEBUG_FS=y
-# CONFIG_HEADERS_CHECK is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-CONFIG_DETECT_SOFTLOCKUP=y
-# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
-CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
-CONFIG_DETECT_HUNG_TASK=y
-# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
-CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_SCHEDSTATS is not set
-# CONFIG_TIMER_STATS is not set
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_SLUB_DEBUG_ON is not set
-# CONFIG_SLUB_STATS is not set
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_PREEMPT is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_MUTEXES is not set
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-CONFIG_STACKTRACE=y
-# CONFIG_DEBUG_KOBJECT is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-CONFIG_DEBUG_INFO=y
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-CONFIG_DEBUG_MEMORY_INIT=y
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_BOOT_PRINTK_DELAY is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_RCU_CPU_STALL_DETECTOR is not set
-# CONFIG_KPROBES_SANITY_TEST is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_LKDTM is not set
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_LATENCYTOP is not set
-CONFIG_SYSCTL_SYSCALL_CHECK=y
-# CONFIG_PAGE_POISONING is not set
-CONFIG_NOP_TRACER=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_RING_BUFFER=y
-CONFIG_EVENT_TRACING=y
-CONFIG_CONTEXT_SWITCH_TRACER=y
-CONFIG_TRACING=y
-CONFIG_TRACING_SUPPORT=y
-CONFIG_FTRACE=y
-# CONFIG_FUNCTION_TRACER is not set
-# CONFIG_IRQSOFF_TRACER is not set
-# CONFIG_PREEMPT_TRACER is not set
-# CONFIG_SCHED_TRACER is not set
-# CONFIG_ENABLE_DEFAULT_TRACERS is not set
-# CONFIG_BOOT_TRACER is not set
-CONFIG_BRANCH_PROFILE_NONE=y
-# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
-# CONFIG_PROFILE_ALL_BRANCHES is not set
-# CONFIG_STACK_TRACER is not set
-# CONFIG_KMEMTRACE is not set
-# CONFIG_WORKQUEUE_TRACER is not set
-# CONFIG_BLK_DEV_IO_TRACE is not set
-# CONFIG_RING_BUFFER_BENCHMARK is not set
-# CONFIG_DYNAMIC_DEBUG is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-CONFIG_ARM_UNWIND=y
-CONFIG_DEBUG_USER=y
-CONFIG_DEBUG_ERRORS=y
-# CONFIG_DEBUG_STACK_USAGE is not set
-CONFIG_DEBUG_LL=y
-# CONFIG_DEBUG_ICEDCC is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-# CONFIG_SECURITY_FILE_CAPABILITIES is not set
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-# CONFIG_CRYPTO_FIPS is not set
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_PCOMP=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_MANAGER2=y
-# CONFIG_CRYPTO_GF128MUL is not set
-# CONFIG_CRYPTO_NULL is not set
-CONFIG_CRYPTO_WORKQUEUE=y
-# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_AUTHENC is not set
-# CONFIG_CRYPTO_TEST is not set
-
-#
-# Authenticated Encryption with Associated Data
-#
-# CONFIG_CRYPTO_CCM is not set
-# CONFIG_CRYPTO_GCM is not set
-# CONFIG_CRYPTO_SEQIV is not set
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=m
-# CONFIG_CRYPTO_CTR is not set
-# CONFIG_CRYPTO_CTS is not set
-CONFIG_CRYPTO_ECB=y
-# CONFIG_CRYPTO_LRW is not set
-CONFIG_CRYPTO_PCBC=m
-# CONFIG_CRYPTO_XTS is not set
-
-#
-# Hash modes
-#
-# CONFIG_CRYPTO_HMAC is not set
-# CONFIG_CRYPTO_XCBC is not set
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=y
-# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-# CONFIG_CRYPTO_RMD128 is not set
-# CONFIG_CRYPTO_RMD160 is not set
-# CONFIG_CRYPTO_RMD256 is not set
-# CONFIG_CRYPTO_RMD320 is not set
-# CONFIG_CRYPTO_SHA1 is not set
-# CONFIG_CRYPTO_SHA256 is not set
-# CONFIG_CRYPTO_SHA512 is not set
-# CONFIG_CRYPTO_TGR192 is not set
-# CONFIG_CRYPTO_WP512 is not set
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-# CONFIG_CRYPTO_ANUBIS is not set
-CONFIG_CRYPTO_ARC4=y
-# CONFIG_CRYPTO_BLOWFISH is not set
-# CONFIG_CRYPTO_CAMELLIA is not set
-# CONFIG_CRYPTO_CAST5 is not set
-# CONFIG_CRYPTO_CAST6 is not set
-# CONFIG_CRYPTO_DES is not set
-# CONFIG_CRYPTO_FCRYPT is not set
-# CONFIG_CRYPTO_KHAZAD is not set
-# CONFIG_CRYPTO_SALSA20 is not set
-# CONFIG_CRYPTO_SEED is not set
-# CONFIG_CRYPTO_SERPENT is not set
-# CONFIG_CRYPTO_TEA is not set
-# CONFIG_CRYPTO_TWOFISH is not set
-
-#
-# Compression
-#
-# CONFIG_CRYPTO_DEFLATE is not set
-# CONFIG_CRYPTO_ZLIB is not set
-# CONFIG_CRYPTO_LZO is not set
-
-#
-# Random Number Generation
-#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRYPTO_HW=y
-# CONFIG_CRYPTO_DEV_HIFN_795X is not set
-CONFIG_BINARY_PRINTF=y
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-CONFIG_CRC_CCITT=y
-CONFIG_CRC16=y
-# CONFIG_CRC_T10DIF is not set
-CONFIG_CRC_ITU_T=m
-CONFIG_CRC32=y
-# CONFIG_CRC7 is not set
-CONFIG_LIBCRC32C=y
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_NLATTR=y
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.27.nix b/pkgs/os-specific/linux/kernel/linux-2.6.27.nix
deleted file mode 100644
index 046b07b9e647..000000000000
--- a/pkgs/os-specific/linux/kernel/linux-2.6.27.nix
+++ /dev/null
@@ -1,219 +0,0 @@
-args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? "", ... }:
-
-import ./generic.nix (
-
-  rec {
-    version = "2.6.27.61";
-  
-    src = fetchurl {
-      url = "mirror://kernel/linux/kernel/v2.6/longterm/v2.6.27/linux-${version}.tar.bz2";
-      sha256 = "1lian4fj84fry3yanammawzsqi7ix9pvic6qfr578xnvsbf5pbi7";
-    };
-
-    features.iwlwifi = true;
-
-    config =
-      ''
-        # Don't include any debug features.
-        DEBUG_KERNEL n
-
-        # Support drivers that need external firmware.
-        STANDALONE n
-
-        # Make /proc/config.gz available.
-        IKCONFIG_PROC y
-
-        # Optimize with -O2, not -Os.
-        CC_OPTIMIZE_FOR_SIZE n
-
-        # Virtualisation (KVM, Xen...).
-        PARAVIRT_GUEST y
-        KVM_CLOCK y
-        KVM_GUEST y
-        XEN y
-
-        # We need 64 GB (PAE) support for Xen guest support.
-        HIGHMEM64G? y
-
-        # Enable the kernel's built-in memory tester.
-        MEMTEST y
-
-        # Include the CFQ I/O scheduler in the kernel, rather than as a
-        # module, so that the initrd gets a good I/O scheduler.
-        IOSCHED_CFQ y
-
-        # Disable some expensive (?) features.
-        MARKERS n
-        KPROBES n
-        NUMA? n
-        PM_TRACE_RTC n
-
-        # Enable various subsystems.
-        ACCESSIBILITY y # Accessibility support
-        AUXDISPLAY y # Auxiliary Display support
-        DONGLE y # Serial dongle support
-        HIPPI y
-        MTD_COMPLEX_MAPPINGS y # needed for many devices
-        NET_POCKET y # enable pocket and portable adapters
-        SCSI_LOWLEVEL y # enable lots of SCSI devices
-        SCSI_LOWLEVEL_PCMCIA y
-        SPI y # needed for many devices
-        SPI_MASTER y
-        WAN y
-
-        # Networking options.
-        IP_PNP n
-        IPV6_PRIVACY y
-        NETFILTER_ADVANCED y
-        IP_VS_PROTO_TCP y
-        IP_VS_PROTO_UDP y
-        IP_VS_PROTO_ESP y
-        IP_VS_PROTO_AH y
-        IP_DCCP_CCID3 n # experimental
-        CLS_U32_PERF y
-        CLS_U32_MARK y
-
-        # Wireless networking.
-        IPW2100_MONITOR y # support promiscuous mode
-        IPW2200_MONITOR y # support promiscuous mode
-        IWLWIFI_LEDS? y
-        IWLWIFI_RFKILL y
-        IWLAGN_SPECTRUM_MEASUREMENT y
-        IWLAGN_LEDS y
-        IWL4965 y # Intel Wireless WiFi 4965AGN
-        IWL5000 y # Intel Wireless WiFi 5000AGN
-        IWL3945_RFKILL y
-        IWL3945_LEDS y
-        HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
-        HOSTAP_FIRMWARE_NVRAM y
-
-        # Some settings to make sure that fbcondecor works - in particular,
-        # disable tileblitting and the drivers that need it.
-
-        # Enable various FB devices.
-        FB_EFI y
-        FB_NVIDIA_I2C y # Enable DDC Support
-        FB_RIVA_I2C y
-        FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support
-        FB_ATY_GX y # Mach64 GX support
-        FB_SAVAGE_I2C y
-        FB_SAVAGE_ACCEL y
-        FB_SIS_300 y
-        FB_SIS_315 y
-        FB_3DFX_ACCEL y
-        FB_TRIDENT_ACCEL y
-        FB_GEODE y
-
-        # Sound.
-        SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode
-        SND_USB_CAIAQ_INPUT y
-        PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
-
-        # Enable a bunch of USB storage devices.
-        USB_STORAGE_DATAFAB y
-        USB_STORAGE_FREECOM y
-        USB_STORAGE_ISD200 y
-        USB_STORAGE_USBAT y
-        USB_STORAGE_SDDR09 y
-        USB_STORAGE_SDDR55 y
-        USB_STORAGE_JUMPSHOT y
-        USB_STORAGE_ONETOUCH y
-        USB_STORAGE_KARMA y
-        USB_STORAGE_CYPRESS_ATACB y
-
-        # USB serial devices.
-        USB_SERIAL_GENERIC y # USB Generic Serial Driver
-        USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices
-        USB_SERIAL_KEYSPAN_USA28 y
-        USB_SERIAL_KEYSPAN_USA28X y
-        USB_SERIAL_KEYSPAN_USA28XA y
-        USB_SERIAL_KEYSPAN_USA28XB y
-        USB_SERIAL_KEYSPAN_USA19 y
-        USB_SERIAL_KEYSPAN_USA18X y
-        USB_SERIAL_KEYSPAN_USA19W y
-        USB_SERIAL_KEYSPAN_USA19QW y
-        USB_SERIAL_KEYSPAN_USA19QI y
-        USB_SERIAL_KEYSPAN_USA49W y
-        USB_SERIAL_KEYSPAN_USA49WLC y
-
-        # Filesystem options - in particular, enable extended attributes and
-        # ACLs for all filesystems that support them.
-        EXT2_FS_XATTR y # Ext2 extended attributes
-        EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists
-        EXT2_FS_SECURITY y # Ext2 Security Labels
-        EXT2_FS_XIP y # Ext2 execute in place support
-        REISERFS_FS_XATTR y
-        REISERFS_FS_POSIX_ACL y
-        REISERFS_FS_SECURITY y
-        JFS_POSIX_ACL y
-        JFS_SECURITY y
-        XFS_QUOTA y
-        XFS_POSIX_ACL y
-        XFS_RT y # XFS Realtime subvolume support
-        OCFS2_DEBUG_MASKLOG n
-        UBIFS_FS_XATTR y
-        UBIFS_FS_ADVANCED_COMPR y
-        NFSD_V2_ACL y
-        NFSD_V3 y
-        NFSD_V3_ACL y
-        NFSD_V4 y
-        CIFS_XATTR y
-        CIFS_POSIX y
-
-        # Security related features.
-        STRICT_DEVMEM y # Filter access to /dev/mem
-        SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default
-
-        # Misc. options.
-        8139TOO_8129 y
-        8139TOO_PIO n # PIO is slower
-        AIC79XX_DEBUG_ENABLE n
-        AIC7XXX_DEBUG_ENABLE n
-        AIC94XX_DEBUG n
-        B43_PCMCIA y
-        BLK_DEV_BSG n
-        BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support
-        BLK_DEV_IDEACPI y # IDE ACPI support
-        BLK_DEV_INTEGRITY y
-        BLK_DEV_IO_TRACE n
-        BSD_PROCESS_ACCT_V3 y
-        BT_HCIUART_BCSP y
-        BT_HCIUART_H4 y # UART (H4) protocol support
-        BT_HCIUART_LL y
-        BT_RFCOMM_TTY y # RFCOMM TTY support
-        CPU_FREQ_DEBUG n
-        CRASH_DUMP n
-        DMAR? n # experimental
-        FUSION y # Fusion MPT device support
-        IRDA_ULTRA y # Ultra (connectionless) protocol
-        JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels
-        JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels
-        JOYSTICK_XPAD_FF y # X-Box gamepad rumble support
-        JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED
-        KALLSYMS_EXTRA_PASS n
-        LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
-        LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger
-        LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
-        LOGO n # not needed
-        MEDIA_ATTACH y
-        MEGARAID_NEWGEN y
-        MODVERSIONS y
-        MTRR_SANITIZER y
-        NET_FC y # Fibre Channel driver support
-        PCI_LEGACY y
-        PPP_MULTILINK y # PPP multilink support
-        SCSI_LOGGING y # SCSI logging facility
-        SERIAL_8250 y # 8250/16550 and compatible serial support
-        SLIP_COMPRESSED y # CSLIP compressed headers
-        SLIP_SMART y
-        THERMAL_HWMON y # Hardware monitoring support
-        USB_DEBUG n
-        USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
-        X86_MCE y
-
-        ${extraConfig}
-      '';
-  }
-
-  // args
-)
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.35.nix b/pkgs/os-specific/linux/kernel/linux-2.6.35.nix
index a6d03db9b861..1b8f9fded70a 100644
--- a/pkgs/os-specific/linux/kernel/linux-2.6.35.nix
+++ b/pkgs/os-specific/linux/kernel/linux-2.6.35.nix
@@ -194,6 +194,9 @@ let
       CONNECTOR y
       PROC_EVENTS y
 
+      # Devtmpfs support.
+      DEVTMPFS y
+
       ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
       ${extraConfig}
     '';
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.38.nix b/pkgs/os-specific/linux/kernel/linux-2.6.38.nix
deleted file mode 100644
index c9f2fc906848..000000000000
--- a/pkgs/os-specific/linux/kernel/linux-2.6.38.nix
+++ /dev/null
@@ -1,208 +0,0 @@
-args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
-, ... }:
-
-let
-  configWithPlatform = kernelPlatform :
-    ''
-      # Don't include any debug features.
-      DEBUG_KERNEL n
-
-      # Support drivers that need external firmware.
-      STANDALONE n
-
-      # Make /proc/config.gz available.
-      IKCONFIG_PROC y
-
-      # Optimize with -O2, not -Os.
-      CC_OPTIMIZE_FOR_SIZE n
-
-      # Enable the kernel's built-in memory tester.
-      MEMTEST y
-
-      # Disable some expensive (?) features.
-      FTRACE n
-      KPROBES n
-      NUMA? n
-      PM_TRACE_RTC n
-
-      # Enable various subsystems.
-      ACCESSIBILITY y # Accessibility support
-      AUXDISPLAY y # Auxiliary Display support
-      DONGLE y # Serial dongle support
-      HIPPI y
-      MTD_COMPLEX_MAPPINGS y # needed for many devices
-      NET_POCKET y # enable pocket and portable adapters
-      SCSI_LOWLEVEL y # enable lots of SCSI devices
-      SCSI_LOWLEVEL_PCMCIA y
-      SPI y # needed for many devices
-      SPI_MASTER y
-      WAN y
-
-      # Networking options.
-      IP_PNP n
-      IPV6_PRIVACY y
-      NETFILTER_ADVANCED y
-      IP_VS_PROTO_TCP y
-      IP_VS_PROTO_UDP y
-      IP_VS_PROTO_ESP y
-      IP_VS_PROTO_AH y
-      IP_DCCP_CCID3 n # experimental
-      CLS_U32_PERF y
-      CLS_U32_MARK y
-
-      # Wireless networking.
-      IPW2100_MONITOR y # support promiscuous mode
-      IPW2200_MONITOR y # support promiscuous mode
-      IWL4965 y # Intel Wireless WiFi 4965AGN
-      IWL5000 y # Intel Wireless WiFi 5000AGN
-      HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
-      HOSTAP_FIRMWARE_NVRAM y
-
-      # Some settings to make sure that fbcondecor works - in particular,
-      # disable tileblitting and the drivers that need it.
-
-      # Enable various FB devices.
-      FB y
-      FB_EFI y
-      FB_NVIDIA_I2C y # Enable DDC Support
-      FB_RIVA_I2C y
-      FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support
-      FB_ATY_GX y # Mach64 GX support
-      FB_SAVAGE_I2C y
-      FB_SAVAGE_ACCEL y
-      FB_SIS_300 y
-      FB_SIS_315 y
-      FB_3DFX_ACCEL y
-      FB_GEODE y
-
-      # Video configuration
-      # The intel drivers already require KMS
-      DRM_I915_KMS y
-      # Hybrid graphics support
-      VGA_SWITCHEROO y
-
-      # Sound.
-      SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode
-      SND_HDA_INPUT_BEEP y # Support digital beep via input layer
-      SND_USB_CAIAQ_INPUT y
-      PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
-
-      # USB serial devices.
-      USB_SERIAL_GENERIC y # USB Generic Serial Driver
-      USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices
-      USB_SERIAL_KEYSPAN_USA28 y
-      USB_SERIAL_KEYSPAN_USA28X y
-      USB_SERIAL_KEYSPAN_USA28XA y
-      USB_SERIAL_KEYSPAN_USA28XB y
-      USB_SERIAL_KEYSPAN_USA19 y
-      USB_SERIAL_KEYSPAN_USA18X y
-      USB_SERIAL_KEYSPAN_USA19W y
-      USB_SERIAL_KEYSPAN_USA19QW y
-      USB_SERIAL_KEYSPAN_USA19QI y
-      USB_SERIAL_KEYSPAN_USA49W y
-      USB_SERIAL_KEYSPAN_USA49WLC y
-
-      # Filesystem options - in particular, enable extended attributes and
-      # ACLs for all filesystems that support them.
-      EXT2_FS_XATTR y # Ext2 extended attributes
-      EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists
-      EXT2_FS_SECURITY y # Ext2 Security Labels
-      EXT2_FS_XIP y # Ext2 execute in place support
-      EXT4_FS_POSIX_ACL y
-      EXT4_FS_SECURITY y
-      REISERFS_FS_XATTR y
-      REISERFS_FS_POSIX_ACL y
-      REISERFS_FS_SECURITY y
-      JFS_POSIX_ACL y
-      JFS_SECURITY y
-      XFS_QUOTA y
-      XFS_POSIX_ACL y
-      XFS_RT y # XFS Realtime subvolume support
-      OCFS2_DEBUG_MASKLOG n
-      BTRFS_FS_POSIX_ACL y
-      UBIFS_FS_XATTR y
-      UBIFS_FS_ADVANCED_COMPR y
-      NFSD_V2_ACL y
-      NFSD_V3 y
-      NFSD_V3_ACL y
-      NFSD_V4 y
-      CIFS_XATTR y
-      CIFS_POSIX y
-
-      # Security related features.
-      STRICT_DEVMEM y # Filter access to /dev/mem
-      SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default
-
-      # Misc. options.
-      8139TOO_8129 y
-      8139TOO_PIO n # PIO is slower
-      AIC79XX_DEBUG_ENABLE n
-      AIC7XXX_DEBUG_ENABLE n
-      AIC94XX_DEBUG n
-      B43_PCMCIA y
-      BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support
-      BLK_DEV_IDEACPI y # IDE ACPI support
-      BLK_DEV_INTEGRITY y
-      BSD_PROCESS_ACCT_V3 y
-      BT_HCIUART_BCSP y
-      BT_HCIUART_H4 y # UART (H4) protocol support
-      BT_HCIUART_LL y
-      BT_RFCOMM_TTY y # RFCOMM TTY support
-      CPU_FREQ_DEBUG n
-      CRASH_DUMP n
-      DMAR? n # experimental
-      DVB_DYNAMIC_MINORS y # we use udev
-      FUSION y # Fusion MPT device support
-      IDE_GD_ATAPI y # ATAPI floppy support
-      IRDA_ULTRA y # Ultra (connectionless) protocol
-      JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels
-      JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels
-      JOYSTICK_XPAD_FF y # X-Box gamepad rumble support
-      JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED
-      KALLSYMS_EXTRA_PASS n
-      LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
-      LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger
-      LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
-      LOGO n # not needed
-      MEDIA_ATTACH y
-      MEGARAID_NEWGEN y
-      MICROCODE_AMD y
-      MODVERSIONS y
-      MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension
-      MTRR_SANITIZER y
-      NET_FC y # Fibre Channel driver support
-      PPP_MULTILINK y # PPP multilink support
-      REGULATOR y # Voltage and Current Regulator Support
-      SCSI_LOGGING y # SCSI logging facility
-      SERIAL_8250 y # 8250/16550 and compatible serial support
-      SLIP_COMPRESSED y # CSLIP compressed headers
-      SLIP_SMART y
-      THERMAL_HWMON y # Hardware monitoring support
-      USB_DEBUG n
-      USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
-      X86_CHECK_BIOS_CORRUPTION y
-      X86_MCE y
-
-      ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
-      ${extraConfig}
-    '';
-in
-
-import ./generic.nix (
-
-  rec {
-    version = "2.6.38.8";
-  
-    src = fetchurl {
-      url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
-      sha256 = "16zrwb2wjsg02l4sbbm7aipq9f9v267ys4n6hmaixa6v5rrf7gbi";
-    };
-
-    config = configWithPlatform stdenv.platform;
-    configCross = configWithPlatform stdenv.cross.platform;
-
-    features.iwlwifi = true;
-  }
-
-  // removeAttrs args ["extraConfig"]
-)
diff --git a/pkgs/os-specific/linux/kernel/linux-3.0.nix b/pkgs/os-specific/linux/kernel/linux-3.0.nix
index 9325b15a6c4b..e2ed7fc8c5df 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.0.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.0.nix
@@ -5,7 +5,7 @@ args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
 let
   configWithPlatform = kernelPlatform :
     ''
-      # powermanagement and debugging for powertop
+      # Power management and debugging for powertop.
       DEBUG_KERNEL y
       PM_ADVANCED_DEBUG y
       PM_RUNTIME y
@@ -219,6 +219,9 @@ let
       CONNECTOR y
       PROC_EVENTS y
 
+      # Devtmpfs support.
+      DEVTMPFS y
+
       ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
       ${extraConfig}
     '';
diff --git a/pkgs/os-specific/linux/kernel/linux-3.1.nix b/pkgs/os-specific/linux/kernel/linux-3.1.nix
index 9321bbdd479b..76e2942c6a37 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.1.nix
@@ -5,7 +5,7 @@ args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
 let
   configWithPlatform = kernelPlatform :
     ''
-      # powermanagement and debugging for powertop
+      # Power management and debugging for powertop.
       DEBUG_KERNEL y
       PM_ADVANCED_DEBUG y
       PM_RUNTIME y
@@ -219,6 +219,9 @@ let
       CONNECTOR y
       PROC_EVENTS y
 
+      # Devtmpfs support.
+      DEVTMPFS y
+
       ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
       ${extraConfig}
     '';
diff --git a/pkgs/os-specific/linux/kernel/linux-3.2.nix b/pkgs/os-specific/linux/kernel/linux-3.2.nix
index cf4985adb34e..70b9d9dcf385 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.2.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.2.nix
@@ -5,7 +5,7 @@ args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
 let
   configWithPlatform = kernelPlatform :
     ''
-      # powermanagement and debugging for powertop
+      # Power management and debugging for powertop.
       DEBUG_KERNEL y
       PM_ADVANCED_DEBUG y
       PM_RUNTIME y
@@ -226,6 +226,9 @@ let
       FTRACE_SYSCALLS y
       SCHED_TRACER y
 
+      # Devtmpfs support.
+      DEVTMPFS y
+
       ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
       ${extraConfig}
     '';
@@ -234,7 +237,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.2.17";
+    version = "3.2.22";
     testing = false;
 
     modDirVersion = version;
@@ -245,7 +248,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.0/${if testing then "testing/" else ""}linux-${version}.tar.xz";
-      sha256 = "16yyldmmk5rj4bm3x1phxnv2848cybapianj92bg9c6d8x3zzm8f";
+      sha256 = "1nf3ph06p743jjxfgwwcy8156mx4fi1cy7zi7hc1gz5bq4c0k8mw";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.3.nix b/pkgs/os-specific/linux/kernel/linux-3.3.nix
index b6c74b79b836..956e55014e58 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.3.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.3.nix
@@ -5,7 +5,7 @@ args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
 let
   configWithPlatform = kernelPlatform :
     ''
-      # powermanagement and debugging for powertop
+      # Power management and debugging for powertop.
       DEBUG_KERNEL y
       PM_ADVANCED_DEBUG y
       PM_RUNTIME y
@@ -225,6 +225,9 @@ let
       FTRACE_SYSCALLS y
       SCHED_TRACER y
 
+      # Devtmpfs support.
+      DEVTMPFS y
+
       ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
       ${extraConfig}
     '';
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.39.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix
index 64aa288c8c8e..e1df11ba4f4d 100644
--- a/pkgs/os-specific/linux/kernel/linux-2.6.39.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix
@@ -5,14 +5,14 @@ args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
 let
   configWithPlatform = kernelPlatform :
     ''
-      # powermanagement and debugging for powertop
+      # Power management and debugging for powertop.
       DEBUG_KERNEL y
       PM_ADVANCED_DEBUG y
       PM_RUNTIME y
       TIMER_STATS y
       USB_SUSPEND y
       BACKTRACE_SELF_TEST n
-      CPU_NOTIFIER_ERROR_INJECT n
+      CPU_NOTIFIER_ERROR_INJECT? n
       DEBUG_DEVRES n
       DEBUG_NX_TEST n
       DEBUG_STACK_USAGE n
@@ -32,19 +32,25 @@ let
       # Enable the kernel's built-in memory tester.
       MEMTEST y
 
+      # Include the CFQ I/O scheduler in the kernel, rather than as a
+      # module, so that the initrd gets a good I/O scheduler.
+      IOSCHED_CFQ y
+      BLK_CGROUP y # required by CFQ
+
+      # Enable NUMA.
+      NUMA? y
+
       # Disable some expensive (?) features.
       FTRACE n
       KPROBES n
-      NUMA? n
       PM_TRACE_RTC n
 
       # Enable various subsystems.
       ACCESSIBILITY y # Accessibility support
       AUXDISPLAY y # Auxiliary Display support
       DONGLE y # Serial dongle support
-      HIPPI y
+      HIPPI? y
       MTD_COMPLEX_MAPPINGS y # needed for many devices
-      NET_POCKET y # enable pocket and portable adapters
       SCSI_LOWLEVEL y # enable lots of SCSI devices
       SCSI_LOWLEVEL_PCMCIA y
       SPI y # needed for many devices
@@ -68,6 +74,10 @@ let
       IPW2200_MONITOR y # support promiscuous mode
       HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
       HOSTAP_FIRMWARE_NVRAM y
+      ATH9K_PCI y # Detect Atheros AR9xxx cards on PCI(e) bus
+      ATH9K_AHB y # Ditto, AHB bus
+      B43_PHY_HT y
+      BCMA_HOST_PCI y
 
       # Some settings to make sure that fbcondecor works - in particular,
       # disable tileblitting and the drivers that need it.
@@ -87,8 +97,9 @@ let
       FB_GEODE y
 
       # Video configuration
-      # The intel drivers already require KMS
+      # Enable KMS for devices whose X.org driver supports it.
       DRM_I915_KMS y
+      DRM_RADEON_KMS y
       # Hybrid graphics support
       VGA_SWITCHEROO y
 
@@ -158,13 +169,12 @@ let
       BT_HCIUART_BCSP y
       BT_HCIUART_H4 y # UART (H4) protocol support
       BT_HCIUART_LL y
-      BT_L2CAP y
       BT_RFCOMM m
       BT_RFCOMM_TTY y # RFCOMM TTY support
-      CPU_FREQ_DEBUG n
       CRASH_DUMP n
       DMAR? n # experimental
       DVB_DYNAMIC_MINORS y # we use udev
+      EFI_STUB y # EFI bootloader in the bzImage itself
       FUSION y # Fusion MPT device support
       IDE_GD_ATAPI y # ATAPI floppy support
       IRDA_ULTRA y # Ultra (connectionless) protocol
@@ -172,7 +182,6 @@ let
       JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels
       JOYSTICK_XPAD_FF y # X-Box gamepad rumble support
       JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED
-      KALLSYMS_EXTRA_PASS n
       LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
       LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger
       LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
@@ -193,9 +202,35 @@ let
       THERMAL_HWMON y # Hardware monitoring support
       USB_DEBUG n
       USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
+      USB_EHCI_TT_NEWSCHED y # Improved transaction translator scheduling
       X86_CHECK_BIOS_CORRUPTION y
       X86_MCE y
 
+      # Linux Containers
+      RT_GROUP_SCHED? y
+      CGROUP_DEVICE? y
+      CGROUP_MEM_RES_CTLR? y
+      CGROUP_MEM_RES_CTLR_SWAP? y
+      DEVPTS_MULTIPLE_INSTANCES? y
+
+      # Enable staging drivers.  These are somewhat experimental, but
+      # they generally don't hurt.
+      STAGING y
+
+      # PROC_EVENTS requires that the netlink connector is not built
+      # as a module.  This is required by libcgroup's cgrulesengd.
+      CONNECTOR y
+      PROC_EVENTS y
+
+      # Tracing
+      FTRACE y
+      FUNCTION_TRACER y
+      FTRACE_SYSCALLS y
+      SCHED_TRACER y
+
+      # Devtmpfs support.
+      DEVTMPFS y
+
       ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
       ${extraConfig}
     '';
@@ -204,17 +239,23 @@ in
 import ./generic.nix (
 
   rec {
-    version = "2.6.39.4";
-  
+    version = "3.4.4";
+    testing = false;
+
+    preConfigure = ''
+      substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' ""
+    '';
+
     src = fetchurl {
-      url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2";
-      sha256 = "10qijh322zbcnsjq21rj228fwksx1ij23gal8zw67gxlvgp48vnj";
+      url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz";
+      sha256 = "0l4h7amhsmgpnii8rgwi32nd7ajsifk2xckjd39pfzwdifacw5yw";
     };
 
     config = configWithPlatform stdenv.platform;
     configCross = configWithPlatform stdenv.cross.platform;
 
     features.iwlwifi = true;
+    features.efiBootStub = true;
   }
 
   // removeAttrs args ["extraConfig"]
diff --git a/pkgs/os-specific/linux/kernel/linux-nanonote-jz-2.6.34.nix b/pkgs/os-specific/linux/kernel/linux-nanonote-jz-2.6.34.nix
deleted file mode 100644
index 0eb291d5b553..000000000000
--- a/pkgs/os-specific/linux/kernel/linux-nanonote-jz-2.6.34.nix
+++ /dev/null
@@ -1,241 +0,0 @@
-args @ { stdenv, fetchurl, fetchsvn, userModeLinux ? false, extraConfig ? ""
-, ... }:
-
-let
-  configWithPlatform = kernelPlatform :
-    ''
-      # Don't include any debug features.
-      DEBUG_KERNEL n
-
-      # Support drivers that need external firmware.
-      STANDALONE n
-
-      # Make /proc/config.gz available.
-      IKCONFIG_PROC y
-
-      # Optimize with -O2, not -Os.
-      CC_OPTIMIZE_FOR_SIZE n
-
-      # Enable the kernel's built-in memory tester.
-      MEMTEST y
-
-      # Include the CFQ I/O scheduler in the kernel, rather than as a
-      # module, so that the initrd gets a good I/O scheduler.
-      IOSCHED_CFQ y
-
-      # Disable some expensive (?) features.
-      FTRACE n
-      KPROBES n
-      NUMA? n
-      PM_TRACE_RTC n
-
-      # Enable various subsystems.
-      ACCESSIBILITY y # Accessibility support
-      AUXDISPLAY y # Auxiliary Display support
-      DONGLE y # Serial dongle support
-      HIPPI y
-      MTD_COMPLEX_MAPPINGS y # needed for many devices
-      NET_POCKET y # enable pocket and portable adapters
-      SCSI_LOWLEVEL y # enable lots of SCSI devices
-      SCSI_LOWLEVEL_PCMCIA y
-      SPI y # needed for many devices
-      SPI_MASTER y
-      WAN y
-
-      # Networking options.
-      IP_PNP n
-      IPV6_PRIVACY y
-      NETFILTER_ADVANCED y
-      IP_VS_PROTO_TCP y
-      IP_VS_PROTO_UDP y
-      IP_VS_PROTO_ESP y
-      IP_VS_PROTO_AH y
-      IP_DCCP_CCID3 n # experimental
-      CLS_U32_PERF y
-      CLS_U32_MARK y
-
-      # Wireless networking.
-      IPW2100_MONITOR y # support promiscuous mode
-      IPW2200_MONITOR y # support promiscuous mode
-      IWL4965 y # Intel Wireless WiFi 4965AGN
-      IWL5000 y # Intel Wireless WiFi 5000AGN
-      HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
-      HOSTAP_FIRMWARE_NVRAM y
-
-      # Some settings to make sure that fbcondecor works - in particular,
-      # disable tileblitting and the drivers that need it.
-
-      # Enable various FB devices.
-      FB y
-      FB_EFI y
-      FB_NVIDIA_I2C y # Enable DDC Support
-      FB_RIVA_I2C y
-      FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support
-      FB_ATY_GX y # Mach64 GX support
-      FB_SAVAGE_I2C y
-      FB_SAVAGE_ACCEL y
-      FB_SIS_300 y
-      FB_SIS_315 y
-      FB_3DFX_ACCEL y
-      FB_GEODE y
-
-      # Video configuration
-      # The intel drivers already require KMS
-      DRM_I915_KMS y
-
-      # Sound.
-      SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode
-      SND_HDA_INPUT_BEEP y # Support digital beep via input layer
-      SND_USB_CAIAQ_INPUT y
-      PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
-
-      # USB serial devices.
-      USB_SERIAL_GENERIC y # USB Generic Serial Driver
-      USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices
-      USB_SERIAL_KEYSPAN_USA28 y
-      USB_SERIAL_KEYSPAN_USA28X y
-      USB_SERIAL_KEYSPAN_USA28XA y
-      USB_SERIAL_KEYSPAN_USA28XB y
-      USB_SERIAL_KEYSPAN_USA19 y
-      USB_SERIAL_KEYSPAN_USA18X y
-      USB_SERIAL_KEYSPAN_USA19W y
-      USB_SERIAL_KEYSPAN_USA19QW y
-      USB_SERIAL_KEYSPAN_USA19QI y
-      USB_SERIAL_KEYSPAN_USA49W y
-      USB_SERIAL_KEYSPAN_USA49WLC y
-
-      # Filesystem options - in particular, enable extended attributes and
-      # ACLs for all filesystems that support them.
-      EXT2_FS_XATTR y # Ext2 extended attributes
-      EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists
-      EXT2_FS_SECURITY y # Ext2 Security Labels
-      EXT2_FS_XIP y # Ext2 execute in place support
-      EXT4_FS_POSIX_ACL y
-      EXT4_FS_SECURITY y
-      REISERFS_FS_XATTR y
-      REISERFS_FS_POSIX_ACL y
-      REISERFS_FS_SECURITY y
-      JFS_POSIX_ACL y
-      JFS_SECURITY y
-      XFS_QUOTA y
-      XFS_POSIX_ACL y
-      XFS_RT y # XFS Realtime subvolume support
-      OCFS2_DEBUG_MASKLOG n
-      BTRFS_FS_POSIX_ACL y
-      UBIFS_FS_XATTR y
-      UBIFS_FS_ADVANCED_COMPR y
-      NFSD_V2_ACL y
-      NFSD_V3 y
-      NFSD_V3_ACL y
-      NFSD_V4 y
-      CIFS_XATTR y
-      CIFS_POSIX y
-
-      # Security related features.
-      STRICT_DEVMEM y # Filter access to /dev/mem
-      SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default
-
-      # Misc. options.
-      8139TOO_8129 y
-      8139TOO_PIO n # PIO is slower
-      AIC79XX_DEBUG_ENABLE n
-      AIC7XXX_DEBUG_ENABLE n
-      AIC94XX_DEBUG n
-      B43_PCMCIA y
-      BLK_DEV_BSG n
-      BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support
-      BLK_DEV_IDEACPI y # IDE ACPI support
-      BLK_DEV_INTEGRITY y
-      BSD_PROCESS_ACCT_V3 y
-      BT_HCIUART_BCSP y
-      BT_HCIUART_H4 y # UART (H4) protocol support
-      BT_HCIUART_LL y
-      BT_RFCOMM_TTY y # RFCOMM TTY support
-      CPU_FREQ_DEBUG n
-      CRASH_DUMP n
-      DMAR? n # experimental
-      DVB_DYNAMIC_MINORS y # we use udev
-      FUSION y # Fusion MPT device support
-      IDE_GD_ATAPI y # ATAPI floppy support
-      IRDA_ULTRA y # Ultra (connectionless) protocol
-      JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels
-      JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels
-      JOYSTICK_XPAD_FF y # X-Box gamepad rumble support
-      JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED
-      KALLSYMS_EXTRA_PASS n
-      LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
-      LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger
-      LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
-      LOGO n # not needed
-      MEDIA_ATTACH y
-      MEGARAID_NEWGEN y
-      MICROCODE_AMD y
-      MODVERSIONS y
-      MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension
-      MTRR_SANITIZER y
-      NET_FC y # Fibre Channel driver support
-      PPP_MULTILINK y # PPP multilink support
-      REGULATOR y # Voltage and Current Regulator Support
-      SCSI_LOGGING y # SCSI logging facility
-      SERIAL_8250 y # 8250/16550 and compatible serial support
-      SLIP_COMPRESSED y # CSLIP compressed headers
-      SLIP_SMART y
-      THERMAL_HWMON y # Hardware monitoring support
-      USB_DEBUG n
-      USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
-      X86_CHECK_BIOS_CORRUPTION y
-      X86_MCE y
-
-      ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
-      ${extraConfig}
-    '';
-in
-
-import ./generic.nix (
-
-  rec {
-    version = "qi_lb60-2.6.34.1-openwrt-22513";
-  
-    src = fetchurl {
-      url = "mirror://kernel/linux/kernel/v2.6/linux-2.6.34.1.tar.bz2";
-      sha256 = "0v78yvkwr100v7bnrkkabxmpv5hjg1ngrjbr5d0kkzsw4d7bmm5x";
-    };
-
-    srcPatch = fetchsvn {
-      url = "svn://svn.openwrt.org/openwrt/trunk/target/linux";
-      rev = 22513;
-      sha256 = "0b7wzgqnbq8sq32z9ik08n1b7fnc9v9d91zwvb6qz7vj3dlrxw3g";
-    };
-
-    preConfigure = ''
-      cp -R ${srcPatch}/generic/files/* .
-      chmod +w -R *
-      GLOBIGNORE='.:..:*preinit_as_init*'
-      for a in ${srcPatch}/generic/patches-2.6.34/* ${srcPatch}/xburst/patches-2.6.34/* ; do
-        echo applying patch $a
-        patch -p1 < $a
-      done
-      unset GLOBIGNORE
-      cat ${srcPatch}/generic/config-2.6.34 ${srcPatch}/xburst/config-2.6.34 \
-          ${srcPatch}/xburst/qi_lb60/config-2.6.34 > arch/mips/configs/qi_lb60_defconfig
-    '';
-
-    postInstall = ''
-      set -x
-      gzip -9 -c $out/vmlinux.bin > $out/vmlinux.bin.gz
-      KERNEL_ENTRY="0x`$crossConfig-nm $out/vmlinux 2>/dev/null |
-        grep " kernel_entry" | cut -f1 -d ' '`"
-      mkimage -A mips -O linux -T kernel -a 0x80010000 -C gzip \
-          -e $KERNEL_ENTRY -n "MIPS Nix Linux-2.6.34" \
-          -d $out/vmlinux.bin.gz $out/uImage
-      set +x
-    '';
-
-    config = configWithPlatform stdenv.platform;
-    configCross = configWithPlatform stdenv.cross.platform;
-
-    features.iwlwifi = true;
-  }
-
-  // removeAttrs args ["extraConfig"]
-)
diff --git a/pkgs/os-specific/linux/kernel/linux-nanonote-jz-2.6.35.nix b/pkgs/os-specific/linux/kernel/linux-nanonote-jz-2.6.35.nix
deleted file mode 100644
index ac0b000f9cd4..000000000000
--- a/pkgs/os-specific/linux/kernel/linux-nanonote-jz-2.6.35.nix
+++ /dev/null
@@ -1,241 +0,0 @@
-args @ { stdenv, fetchurl, fetchsvn, userModeLinux ? false, extraConfig ? ""
-, ... }:
-
-let
-  configWithPlatform = kernelPlatform :
-    ''
-      # Don't include any debug features.
-      DEBUG_KERNEL n
-
-      # Support drivers that need external firmware.
-      STANDALONE n
-
-      # Make /proc/config.gz available.
-      IKCONFIG_PROC y
-
-      # Optimize with -O2, not -Os.
-      CC_OPTIMIZE_FOR_SIZE n
-
-      # Enable the kernel's built-in memory tester.
-      MEMTEST y
-
-      # Include the CFQ I/O scheduler in the kernel, rather than as a
-      # module, so that the initrd gets a good I/O scheduler.
-      IOSCHED_CFQ y
-
-      # Disable some expensive (?) features.
-      FTRACE n
-      KPROBES n
-      NUMA? n
-      PM_TRACE_RTC n
-
-      # Enable various subsystems.
-      ACCESSIBILITY y # Accessibility support
-      AUXDISPLAY y # Auxiliary Display support
-      DONGLE y # Serial dongle support
-      HIPPI y
-      MTD_COMPLEX_MAPPINGS y # needed for many devices
-      NET_POCKET y # enable pocket and portable adapters
-      SCSI_LOWLEVEL y # enable lots of SCSI devices
-      SCSI_LOWLEVEL_PCMCIA y
-      SPI y # needed for many devices
-      SPI_MASTER y
-      WAN y
-
-      # Networking options.
-      IP_PNP n
-      IPV6_PRIVACY y
-      NETFILTER_ADVANCED y
-      IP_VS_PROTO_TCP y
-      IP_VS_PROTO_UDP y
-      IP_VS_PROTO_ESP y
-      IP_VS_PROTO_AH y
-      IP_DCCP_CCID3 n # experimental
-      CLS_U32_PERF y
-      CLS_U32_MARK y
-
-      # Wireless networking.
-      IPW2100_MONITOR y # support promiscuous mode
-      IPW2200_MONITOR y # support promiscuous mode
-      IWL4965 y # Intel Wireless WiFi 4965AGN
-      IWL5000 y # Intel Wireless WiFi 5000AGN
-      HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
-      HOSTAP_FIRMWARE_NVRAM y
-
-      # Some settings to make sure that fbcondecor works - in particular,
-      # disable tileblitting and the drivers that need it.
-
-      # Enable various FB devices.
-      FB y
-      FB_EFI y
-      FB_NVIDIA_I2C y # Enable DDC Support
-      FB_RIVA_I2C y
-      FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support
-      FB_ATY_GX y # Mach64 GX support
-      FB_SAVAGE_I2C y
-      FB_SAVAGE_ACCEL y
-      FB_SIS_300 y
-      FB_SIS_315 y
-      FB_3DFX_ACCEL y
-      FB_GEODE y
-
-      # Video configuration
-      # The intel drivers already require KMS
-      DRM_I915_KMS y
-
-      # Sound.
-      SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode
-      SND_HDA_INPUT_BEEP y # Support digital beep via input layer
-      SND_USB_CAIAQ_INPUT y
-      PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
-
-      # USB serial devices.
-      USB_SERIAL_GENERIC y # USB Generic Serial Driver
-      USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices
-      USB_SERIAL_KEYSPAN_USA28 y
-      USB_SERIAL_KEYSPAN_USA28X y
-      USB_SERIAL_KEYSPAN_USA28XA y
-      USB_SERIAL_KEYSPAN_USA28XB y
-      USB_SERIAL_KEYSPAN_USA19 y
-      USB_SERIAL_KEYSPAN_USA18X y
-      USB_SERIAL_KEYSPAN_USA19W y
-      USB_SERIAL_KEYSPAN_USA19QW y
-      USB_SERIAL_KEYSPAN_USA19QI y
-      USB_SERIAL_KEYSPAN_USA49W y
-      USB_SERIAL_KEYSPAN_USA49WLC y
-
-      # Filesystem options - in particular, enable extended attributes and
-      # ACLs for all filesystems that support them.
-      EXT2_FS_XATTR y # Ext2 extended attributes
-      EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists
-      EXT2_FS_SECURITY y # Ext2 Security Labels
-      EXT2_FS_XIP y # Ext2 execute in place support
-      EXT4_FS_POSIX_ACL y
-      EXT4_FS_SECURITY y
-      REISERFS_FS_XATTR y
-      REISERFS_FS_POSIX_ACL y
-      REISERFS_FS_SECURITY y
-      JFS_POSIX_ACL y
-      JFS_SECURITY y
-      XFS_QUOTA y
-      XFS_POSIX_ACL y
-      XFS_RT y # XFS Realtime subvolume support
-      OCFS2_DEBUG_MASKLOG n
-      BTRFS_FS_POSIX_ACL y
-      UBIFS_FS_XATTR y
-      UBIFS_FS_ADVANCED_COMPR y
-      NFSD_V2_ACL y
-      NFSD_V3 y
-      NFSD_V3_ACL y
-      NFSD_V4 y
-      CIFS_XATTR y
-      CIFS_POSIX y
-
-      # Security related features.
-      STRICT_DEVMEM y # Filter access to /dev/mem
-      SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default
-
-      # Misc. options.
-      8139TOO_8129 y
-      8139TOO_PIO n # PIO is slower
-      AIC79XX_DEBUG_ENABLE n
-      AIC7XXX_DEBUG_ENABLE n
-      AIC94XX_DEBUG n
-      B43_PCMCIA y
-      BLK_DEV_BSG n
-      BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support
-      BLK_DEV_IDEACPI y # IDE ACPI support
-      BLK_DEV_INTEGRITY y
-      BSD_PROCESS_ACCT_V3 y
-      BT_HCIUART_BCSP y
-      BT_HCIUART_H4 y # UART (H4) protocol support
-      BT_HCIUART_LL y
-      BT_RFCOMM_TTY y # RFCOMM TTY support
-      CPU_FREQ_DEBUG n
-      CRASH_DUMP n
-      DMAR? n # experimental
-      DVB_DYNAMIC_MINORS y # we use udev
-      FUSION y # Fusion MPT device support
-      IDE_GD_ATAPI y # ATAPI floppy support
-      IRDA_ULTRA y # Ultra (connectionless) protocol
-      JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels
-      JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels
-      JOYSTICK_XPAD_FF y # X-Box gamepad rumble support
-      JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED
-      KALLSYMS_EXTRA_PASS n
-      LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
-      LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger
-      LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
-      LOGO n # not needed
-      MEDIA_ATTACH y
-      MEGARAID_NEWGEN y
-      MICROCODE_AMD y
-      MODVERSIONS y
-      MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension
-      MTRR_SANITIZER y
-      NET_FC y # Fibre Channel driver support
-      PPP_MULTILINK y # PPP multilink support
-      REGULATOR y # Voltage and Current Regulator Support
-      SCSI_LOGGING y # SCSI logging facility
-      SERIAL_8250 y # 8250/16550 and compatible serial support
-      SLIP_COMPRESSED y # CSLIP compressed headers
-      SLIP_SMART y
-      THERMAL_HWMON y # Hardware monitoring support
-      USB_DEBUG n
-      USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
-      X86_CHECK_BIOS_CORRUPTION y
-      X86_MCE y
-
-      ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
-      ${extraConfig}
-    '';
-in
-
-import ./generic.nix (
-
-  rec {
-    version = "qi_lb60-2.6.35-openwrt-22513";
-  
-    src = fetchurl {
-      url = "mirror://kernel/linux/kernel/v2.6/linux-2.6.35.tar.bz2";
-      sha256 = "1kxz87nwksx4hvq1i45i9w1zq1fb09rvf8i6jin3cbh36v1y5chq";
-    };
-
-    srcPatch = fetchsvn {
-      url = "svn://svn.openwrt.org/openwrt/trunk/target/linux";
-      rev = 22530;
-      sha256 = "1j5ls7dg0pvdxh6isczmq4r0lkwhz1c1s46mvdkcjsm3qq633fpc";
-    };
-
-    preConfigure = ''
-      cp -R ${srcPatch}/generic/files/* .
-      chmod +w -R *
-      GLOBIGNORE='.:..:*preinit_as_init*'
-      for a in ${srcPatch}/generic/patches-2.6.35/* ${srcPatch}/xburst/patches-2.6.35/* ; do
-        echo applying patch $a
-        patch -p1 < $a
-      done
-      unset GLOBIGNORE
-      cat ${srcPatch}/generic/config-2.6.35 ${srcPatch}/xburst/config-2.6.35 \
-          ${srcPatch}/xburst/qi_lb60/config-2.6.35 > arch/mips/configs/qi_lb60_defconfig
-    '';
-
-    postInstall = ''
-      set -x
-      gzip -9 -c $out/vmlinux.bin > $out/vmlinux.bin.gz
-      KERNEL_ENTRY="0x`$crossConfig-nm $out/vmlinux 2>/dev/null |
-        grep " kernel_entry" | cut -f1 -d ' '`"
-      mkimage -A mips -O linux -T kernel -a 0x80010000 -C gzip \
-          -e $KERNEL_ENTRY -n "MIPS Nix Linux-2.6.35" \
-          -d $out/vmlinux.bin.gz $out/uImage
-      set +x
-    '';
-
-    config = configWithPlatform stdenv.platform;
-    configCross = configWithPlatform stdenv.cross.platform;
-
-    features.iwlwifi = true;
-  }
-
-  // removeAttrs args ["extraConfig"]
-)
diff --git a/pkgs/os-specific/linux/kernel/linux-nanonote-jz-2.6.36.nix b/pkgs/os-specific/linux/kernel/linux-nanonote-jz-2.6.36.nix
deleted file mode 100644
index 14fbe5afe9e3..000000000000
--- a/pkgs/os-specific/linux/kernel/linux-nanonote-jz-2.6.36.nix
+++ /dev/null
@@ -1,241 +0,0 @@
-args @ { stdenv, fetchurl, fetchsvn, userModeLinux ? false, extraConfig ? ""
-, ... }:
-
-let
-  configWithPlatform = kernelPlatform :
-    ''
-      # Don't include any debug features.
-      DEBUG_KERNEL n
-
-      # Support drivers that need external firmware.
-      STANDALONE n
-
-      # Make /proc/config.gz available.
-      IKCONFIG_PROC y
-
-      # Optimize with -O2, not -Os.
-      CC_OPTIMIZE_FOR_SIZE n
-
-      # Enable the kernel's built-in memory tester.
-      MEMTEST y
-
-      # Include the CFQ I/O scheduler in the kernel, rather than as a
-      # module, so that the initrd gets a good I/O scheduler.
-      IOSCHED_CFQ y
-
-      # Disable some expensive (?) features.
-      FTRACE n
-      KPROBES n
-      NUMA? n
-      PM_TRACE_RTC n
-
-      # Enable various subsystems.
-      ACCESSIBILITY y # Accessibility support
-      AUXDISPLAY y # Auxiliary Display support
-      DONGLE y # Serial dongle support
-      HIPPI y
-      MTD_COMPLEX_MAPPINGS y # needed for many devices
-      NET_POCKET y # enable pocket and portable adapters
-      SCSI_LOWLEVEL y # enable lots of SCSI devices
-      SCSI_LOWLEVEL_PCMCIA y
-      SPI y # needed for many devices
-      SPI_MASTER y
-      WAN y
-
-      # Networking options.
-      IP_PNP n
-      IPV6_PRIVACY y
-      NETFILTER_ADVANCED y
-      IP_VS_PROTO_TCP y
-      IP_VS_PROTO_UDP y
-      IP_VS_PROTO_ESP y
-      IP_VS_PROTO_AH y
-      IP_DCCP_CCID3 n # experimental
-      CLS_U32_PERF y
-      CLS_U32_MARK y
-
-      # Wireless networking.
-      IPW2100_MONITOR y # support promiscuous mode
-      IPW2200_MONITOR y # support promiscuous mode
-      IWL4965 y # Intel Wireless WiFi 4965AGN
-      IWL5000 y # Intel Wireless WiFi 5000AGN
-      HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
-      HOSTAP_FIRMWARE_NVRAM y
-
-      # Some settings to make sure that fbcondecor works - in particular,
-      # disable tileblitting and the drivers that need it.
-
-      # Enable various FB devices.
-      FB y
-      FB_EFI y
-      FB_NVIDIA_I2C y # Enable DDC Support
-      FB_RIVA_I2C y
-      FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support
-      FB_ATY_GX y # Mach64 GX support
-      FB_SAVAGE_I2C y
-      FB_SAVAGE_ACCEL y
-      FB_SIS_300 y
-      FB_SIS_315 y
-      FB_3DFX_ACCEL y
-      FB_GEODE y
-
-      # Video configuration
-      # The intel drivers already require KMS
-      DRM_I915_KMS y
-
-      # Sound.
-      SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode
-      SND_HDA_INPUT_BEEP y # Support digital beep via input layer
-      SND_USB_CAIAQ_INPUT y
-      PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
-
-      # USB serial devices.
-      USB_SERIAL_GENERIC y # USB Generic Serial Driver
-      USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices
-      USB_SERIAL_KEYSPAN_USA28 y
-      USB_SERIAL_KEYSPAN_USA28X y
-      USB_SERIAL_KEYSPAN_USA28XA y
-      USB_SERIAL_KEYSPAN_USA28XB y
-      USB_SERIAL_KEYSPAN_USA19 y
-      USB_SERIAL_KEYSPAN_USA18X y
-      USB_SERIAL_KEYSPAN_USA19W y
-      USB_SERIAL_KEYSPAN_USA19QW y
-      USB_SERIAL_KEYSPAN_USA19QI y
-      USB_SERIAL_KEYSPAN_USA49W y
-      USB_SERIAL_KEYSPAN_USA49WLC y
-
-      # Filesystem options - in particular, enable extended attributes and
-      # ACLs for all filesystems that support them.
-      EXT2_FS_XATTR y # Ext2 extended attributes
-      EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists
-      EXT2_FS_SECURITY y # Ext2 Security Labels
-      EXT2_FS_XIP y # Ext2 execute in place support
-      EXT4_FS_POSIX_ACL y
-      EXT4_FS_SECURITY y
-      REISERFS_FS_XATTR y
-      REISERFS_FS_POSIX_ACL y
-      REISERFS_FS_SECURITY y
-      JFS_POSIX_ACL y
-      JFS_SECURITY y
-      XFS_QUOTA y
-      XFS_POSIX_ACL y
-      XFS_RT y # XFS Realtime subvolume support
-      OCFS2_DEBUG_MASKLOG n
-      BTRFS_FS_POSIX_ACL y
-      UBIFS_FS_XATTR y
-      UBIFS_FS_ADVANCED_COMPR y
-      NFSD_V2_ACL y
-      NFSD_V3 y
-      NFSD_V3_ACL y
-      NFSD_V4 y
-      CIFS_XATTR y
-      CIFS_POSIX y
-
-      # Security related features.
-      STRICT_DEVMEM y # Filter access to /dev/mem
-      SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default
-
-      # Misc. options.
-      8139TOO_8129 y
-      8139TOO_PIO n # PIO is slower
-      AIC79XX_DEBUG_ENABLE n
-      AIC7XXX_DEBUG_ENABLE n
-      AIC94XX_DEBUG n
-      B43_PCMCIA y
-      BLK_DEV_BSG n
-      BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support
-      BLK_DEV_IDEACPI y # IDE ACPI support
-      BLK_DEV_INTEGRITY y
-      BSD_PROCESS_ACCT_V3 y
-      BT_HCIUART_BCSP y
-      BT_HCIUART_H4 y # UART (H4) protocol support
-      BT_HCIUART_LL y
-      BT_RFCOMM_TTY y # RFCOMM TTY support
-      CPU_FREQ_DEBUG n
-      CRASH_DUMP n
-      DMAR? n # experimental
-      DVB_DYNAMIC_MINORS y # we use udev
-      FUSION y # Fusion MPT device support
-      IDE_GD_ATAPI y # ATAPI floppy support
-      IRDA_ULTRA y # Ultra (connectionless) protocol
-      JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels
-      JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels
-      JOYSTICK_XPAD_FF y # X-Box gamepad rumble support
-      JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED
-      KALLSYMS_EXTRA_PASS n
-      LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
-      LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger
-      LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
-      LOGO n # not needed
-      MEDIA_ATTACH y
-      MEGARAID_NEWGEN y
-      MICROCODE_AMD y
-      MODVERSIONS y
-      MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension
-      MTRR_SANITIZER y
-      NET_FC y # Fibre Channel driver support
-      PPP_MULTILINK y # PPP multilink support
-      REGULATOR y # Voltage and Current Regulator Support
-      SCSI_LOGGING y # SCSI logging facility
-      SERIAL_8250 y # 8250/16550 and compatible serial support
-      SLIP_COMPRESSED y # CSLIP compressed headers
-      SLIP_SMART y
-      THERMAL_HWMON y # Hardware monitoring support
-      USB_DEBUG n
-      USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
-      X86_CHECK_BIOS_CORRUPTION y
-      X86_MCE y
-
-      ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
-      ${extraConfig}
-    '';
-in
-
-import ./generic.nix (
-
-  rec {
-    version = "qi_lb60-2.6.36.3-openwrt-24283";
-  
-    src = fetchurl {
-      url = "mirror://kernel/linux/kernel/v2.6/linux-2.6.36.3.tar.bz2";
-      sha256 = "1kxj4m9f5iplbll1c5inszg5yxywakz533nl5p4ia84mq2ch03dc";
-    };
-
-    srcPatch = fetchsvn {
-      url = "svn://svn.openwrt.org/openwrt/trunk/target/linux";
-      rev = 24283;
-      sha256 = "4e30266bbaf004acb10b5c182d0c01c7aba685956d36e76ea7c24dd55ae51c10";
-    };
-
-    preConfigure = ''
-      cp -R ${srcPatch}/generic/files/* .
-      chmod +w -R *
-      GLOBIGNORE='.:..:*preinit_as_init*:*gpio-for-the-6th-row-of-the-keyboard*'
-      for a in ${srcPatch}/generic/patches-2.6.36/* ${srcPatch}/xburst/patches-2.6.36/* ; do
-        echo applying patch $a
-        patch -p1 < $a
-      done
-      unset GLOBIGNORE
-      cat ${srcPatch}/generic/config-2.6.36 ${srcPatch}/xburst/config-2.6.36 \
-          ${srcPatch}/xburst/qi_lb60/config-2.6.36 > arch/mips/configs/qi_lb60_defconfig
-    '';
-
-    postInstall = ''
-      set -x
-      gzip -9 -c $out/vmlinux.bin > $out/vmlinux.bin.gz
-      KERNEL_ENTRY="0x`$crossConfig-nm $out/vmlinux 2>/dev/null |
-        grep " kernel_entry" | cut -f1 -d ' '`"
-      mkimage -A mips -O linux -T kernel -a 0x80010000 -C gzip \
-          -e $KERNEL_ENTRY -n "MIPS Nix Linux-2.6.36" \
-          -d $out/vmlinux.bin.gz $out/uImage
-      set +x
-    '';
-
-    config = configWithPlatform stdenv.platform;
-    configCross = configWithPlatform stdenv.cross.platform;
-
-    features.iwlwifi = true;
-  }
-
-  // removeAttrs args ["extraConfig"]
-)
diff --git a/pkgs/os-specific/linux/kernel/mips-fpu-sigill.patch b/pkgs/os-specific/linux/kernel/mips-fpu-sigill.patch
new file mode 100644
index 000000000000..248aba2b2c20
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/mips-fpu-sigill.patch
@@ -0,0 +1,507 @@
+From bf55ef4e3c2f622ac013f196affbd11b67b59223 Mon Sep 17 00:00:00 2001
+From: Mark H Weaver <mhw@netris.org>
+Date: Fri, 28 Oct 2011 13:24:37 -0400
+Subject: [PATCH 2/4] Fix handling of prefx instruction in mips/math-emu
+
+* The instruction is named prefx, not pfetch, and its function
+  field is 0x17, not 0x07.
+
+* Recognize the prefx instruction regardless of what bits happen to be
+  in bits 21-25, which is the format field of the floating-point ops,
+  but holds the base register of the prefx instruction.
+---
+ arch/mips/include/asm/inst.h |    4 ++--
+ arch/mips/math-emu/cp1emu.c  |   16 +++++++---------
+ 2 files changed, 9 insertions(+), 11 deletions(-)
+
+diff --git a/arch/mips/include/asm/inst.h b/arch/mips/include/asm/inst.h
+index ab84064..3048edc 100644
+--- a/arch/mips/include/asm/inst.h
++++ b/arch/mips/include/asm/inst.h
+@@ -161,8 +161,8 @@ enum cop1_sdw_func {
+  */
+ enum cop1x_func {
+ 	lwxc1_op     =  0x00, ldxc1_op     =  0x01,
+-	pfetch_op    =  0x07, swxc1_op     =  0x08,
+-	sdxc1_op     =  0x09, madd_s_op    =  0x20,
++	swxc1_op     =  0x08, sdxc1_op     =  0x09,
++	prefx_op     =  0x17, madd_s_op    =  0x20,
+ 	madd_d_op    =  0x21, madd_e_op    =  0x22,
+ 	msub_s_op    =  0x28, msub_d_op    =  0x29,
+ 	msub_e_op    =  0x2a, nmadd_s_op   =  0x30,
+diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c
+index dbf2f93..87ddba1 100644
+--- a/arch/mips/math-emu/cp1emu.c
++++ b/arch/mips/math-emu/cp1emu.c
+@@ -739,7 +739,7 @@ static int fpux_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
+ 			break;
+ 
+ 		default:
+-			return SIGILL;
++			goto SIGILL_unless_prefx_op;
+ 		}
+ 		break;
+ 	}
+@@ -809,19 +809,17 @@ static int fpux_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
+ 			goto copcsr;
+ 
+ 		default:
+-			return SIGILL;
++			goto SIGILL_unless_prefx_op;
+ 		}
+ 		break;
+ 	}
+ 
+-	case 0x7:		/* 7 */
+-		if (MIPSInst_FUNC(ir) != pfetch_op) {
+-			return SIGILL;
+-		}
+-		/* ignore prefx operation */
+-		break;
+-
+ 	default:
++	      SIGILL_unless_prefx_op:
++		if (MIPSInst_FUNC(ir) == prefx_op) {
++			/* ignore prefx operation */
++			break;
++		}
+ 		return SIGILL;
+ 	}
+ 
+-- 
+1.7.5.4
+
+From 97a564e3eddbfb84844b8eccb3bd751c71dfb3eb Mon Sep 17 00:00:00 2001
+From: Mark H Weaver <mhw@netris.org>
+Date: Fri, 28 Oct 2011 13:35:27 -0400
+Subject: [PATCH 3/4] Don't process empty cause flags after simple fp move on
+ mips
+
+---
+ arch/mips/math-emu/cp1emu.c |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c
+index 87ddba1..fefcba2 100644
+--- a/arch/mips/math-emu/cp1emu.c
++++ b/arch/mips/math-emu/cp1emu.c
+@@ -912,7 +912,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
+ 		case fmov_op:
+ 			/* an easy one */
+ 			SPFROMREG(rv.s, MIPSInst_FS(ir));
+-			goto copcsr;
++			break;
+ 
+ 			/* binary op on handler */
+ 		      scopbop:
+@@ -1099,7 +1099,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
+ 		case fmov_op:
+ 			/* an easy one */
+ 			DPFROMREG(rv.d, MIPSInst_FS(ir));
+-			goto copcsr;
++			break;
+ 
+ 			/* binary op on handler */
+ 		      dcopbop:{
+-- 
+1.7.5.4
+
+From 4051727b3007ef3675e7258ed86fa8517f86d929 Mon Sep 17 00:00:00 2001
+From: Mark H Weaver <mhw@netris.org>
+Date: Fri, 28 Oct 2011 13:39:10 -0400
+Subject: [PATCH 4/4] Support Loongson2f floating-point instructions in
+ mips/math-emu
+
+* (arch/mips/include/asm/inst.h): Add Loongson2f function field values
+  for madd/msub/nmadd/nmsub that use the spec2 opcode, and the
+  Loongson2f/MIPS-5 format field value for paired-single
+  floating-point operations.
+
+* (arch/mips/math-emu/cp1emu.c): Add support for the Loongson2f
+  instructions for madd/msub/nmadd/nmsub, which use the spec2 opcode.
+  Also add support for the Loongson2f instructions that use the
+  paired-single floating-point format.
+---
+ arch/mips/include/asm/inst.h |    4 +-
+ arch/mips/math-emu/cp1emu.c  |  287 +++++++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 289 insertions(+), 2 deletions(-)
+
+diff --git a/arch/mips/include/asm/inst.h b/arch/mips/include/asm/inst.h
+index 3048edc..0e8ba7c 100644
+--- a/arch/mips/include/asm/inst.h
++++ b/arch/mips/include/asm/inst.h
+@@ -61,6 +61,8 @@ enum spec_op {
+ enum spec2_op {
+ 	madd_op, maddu_op, mul_op, spec2_3_unused_op,
+ 	msub_op, msubu_op, /* more unused ops */
++	loongson_madd_op = 0x18, loongson_msub_op,
++	loongson_nmadd_op, loongson_nmsub_op,
+ 	clz_op = 0x20, clo_op,
+ 	dclz_op = 0x24, dclo_op,
+ 	sdbpp_op = 0x3f
+@@ -133,7 +135,7 @@ enum cop0_com_func {
+  */
+ enum cop1_fmt {
+ 	s_fmt, d_fmt, e_fmt, q_fmt,
+-	w_fmt, l_fmt
++	w_fmt, l_fmt, ps_fmt
+ };
+ 
+ /*
+diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c
+index fefcba2..166b2a4 100644
+--- a/arch/mips/math-emu/cp1emu.c
++++ b/arch/mips/math-emu/cp1emu.c
+@@ -7,6 +7,9 @@
+  * Kevin D. Kissell, kevink@mips.com and Carsten Langgaard, carstenl@mips.com
+  * Copyright (C) 2000  MIPS Technologies, Inc.
+  *
++ * Loongson instruction support
++ * Copyright (C) 2011  Mark H Weaver <mhw@netris.org>
++ *
+  *  This program is free software; you can distribute it and/or modify it
+  *  under the terms of the GNU General Public License (Version 2) as
+  *  published by the Free Software Foundation.
+@@ -57,6 +60,14 @@
+ #endif
+ #define __mips 4
+ 
++#ifdef __loongson_fp
++#undef __loongson_fp
++#endif
++#if __mips >= 4 && __mips != 32
++/* Include support for Loongson floating point instructions */
++#define __loongson_fp 1
++#endif
++
+ /* Function which emulates a floating point instruction. */
+ 
+ static int fpu_emu(struct pt_regs *, struct mips_fpu_struct *,
+@@ -66,6 +77,10 @@ static int fpu_emu(struct pt_regs *, struct mips_fpu_struct *,
+ static int fpux_emu(struct pt_regs *,
+ 	struct mips_fpu_struct *, mips_instruction, void *__user *);
+ #endif
++#ifdef __loongson_fp
++static int loongson_spec2_emu(struct pt_regs *,
++	struct mips_fpu_struct *, mips_instruction, void *__user *);
++#endif
+ 
+ /* Further private data for which no space exists in mips_fpu_struct */
+ 
+@@ -203,6 +218,14 @@ static inline int cop1_64bit(struct pt_regs *xcp)
+ #define DPFROMREG(dp, x)	DIFROMREG((dp).bits, x)
+ #define DPTOREG(dp, x)	DITOREG((dp).bits, x)
+ 
++/* Support for Loongson paired single floating-point format */
++#define PSIFROMREG(si1, si2, x) ({ u64 di; DIFROMREG(di, x);		\
++			(si1) = (u32)di; (si2) = (u32)(di >> 32); })
++#define PSITOREG(si1, si2, x) DITOREG((si1) | ((u64)(si2) << 32), x)
++
++#define PSPFROMREG(sp1, sp2, x) PSIFROMREG((sp1).bits, (sp2).bits, x)
++#define PSPTOREG(sp1, sp2, x)	PSITOREG((sp1).bits, (sp2).bits, x)
++
+ /*
+  * Emulate the single floating point instruction pointed at by EPC.
+  * Two instructions if the instruction is in a branch delay slot.
+@@ -568,6 +591,15 @@ static int cop1Emulate(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
+ 		break;
+ #endif
+ 
++#ifdef __loongson_fp
++	case spec2_op:{
++		int sig = loongson_spec2_emu(xcp, ctx, ir, fault_addr);
++		if (sig)
++			return sig;
++		break;
++	}
++#endif
++
+ 	default:
+ 		return SIGILL;
+ 	}
+@@ -646,6 +678,172 @@ DEF3OP(msub, dp, ieee754dp_mul, ieee754dp_sub, );
+ DEF3OP(nmadd, dp, ieee754dp_mul, ieee754dp_add, ieee754dp_neg);
+ DEF3OP(nmsub, dp, ieee754dp_mul, ieee754dp_sub, ieee754dp_neg);
+ 
++#ifdef __loongson_fp
++static int loongson_spec2_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
++	mips_instruction ir, void *__user *fault_addr)
++{
++	int rfmt;		/* resulting format */
++	unsigned rcsr = 0;	/* resulting csr */
++	union {
++		ieee754dp d;
++		struct {
++			ieee754sp s;
++			ieee754sp s2;
++		};
++	} rv;			/* resulting value */
++
++	/* XXX maybe add a counter for loongson spec2 fp instructions? */
++	/* MIPS_FPU_EMU_INC_STATS(cp1xops); */
++
++	switch (rfmt = (MIPSInst_FFMT(ir) & 0xf)) {
++	case s_fmt:{
++		ieee754sp(*handler) (ieee754sp, ieee754sp, ieee754sp);
++		ieee754sp fd, fs, ft;
++
++		switch (MIPSInst_FUNC(ir)) {
++		case loongson_madd_op:
++			handler = fpemu_sp_madd;
++			goto scoptop;
++		case loongson_msub_op:
++			handler = fpemu_sp_msub;
++			goto scoptop;
++		case loongson_nmadd_op:
++			handler = fpemu_sp_nmadd;
++			goto scoptop;
++		case loongson_nmsub_op:
++			handler = fpemu_sp_nmsub;
++			goto scoptop;
++
++		      scoptop:
++			SPFROMREG(fd, MIPSInst_FD(ir));
++			SPFROMREG(fs, MIPSInst_FS(ir));
++			SPFROMREG(ft, MIPSInst_FT(ir));
++			rv.s = (*handler) (fd, fs, ft);
++
++		      copcsr:
++			if (ieee754_cxtest(IEEE754_INEXACT))
++				rcsr |= FPU_CSR_INE_X | FPU_CSR_INE_S;
++			if (ieee754_cxtest(IEEE754_UNDERFLOW))
++				rcsr |= FPU_CSR_UDF_X | FPU_CSR_UDF_S;
++			if (ieee754_cxtest(IEEE754_OVERFLOW))
++				rcsr |= FPU_CSR_OVF_X | FPU_CSR_OVF_S;
++			if (ieee754_cxtest(IEEE754_INVALID_OPERATION))
++				rcsr |= FPU_CSR_INV_X | FPU_CSR_INV_S;
++
++			break;
++
++		default:
++			return SIGILL;
++		}
++		break;
++	}
++
++	case d_fmt:{
++		ieee754dp(*handler) (ieee754dp, ieee754dp, ieee754dp);
++		ieee754dp fd, fs, ft;
++
++		switch (MIPSInst_FUNC(ir)) {
++		case loongson_madd_op:
++			handler = fpemu_dp_madd;
++			goto dcoptop;
++		case loongson_msub_op:
++			handler = fpemu_dp_msub;
++			goto dcoptop;
++		case loongson_nmadd_op:
++			handler = fpemu_dp_nmadd;
++			goto dcoptop;
++		case loongson_nmsub_op:
++			handler = fpemu_dp_nmsub;
++			goto dcoptop;
++
++		      dcoptop:
++			DPFROMREG(fd, MIPSInst_FD(ir));
++			DPFROMREG(fs, MIPSInst_FS(ir));
++			DPFROMREG(ft, MIPSInst_FT(ir));
++			rv.d = (*handler) (fd, fs, ft);
++			goto copcsr;
++
++		default:
++			return SIGILL;
++		}
++		break;
++	}
++
++	case ps_fmt:{
++		ieee754sp(*handler) (ieee754sp, ieee754sp, ieee754sp);
++		struct _ieee754_csr ieee754_csr_save;
++		ieee754sp fd1, fs1, ft1;
++		ieee754sp fd2, fs2, ft2;
++
++		switch (MIPSInst_FUNC(ir)) {
++		case loongson_madd_op:
++			handler = fpemu_sp_madd;
++			goto pscoptop;
++		case loongson_msub_op:
++			handler = fpemu_sp_msub;
++			goto pscoptop;
++		case loongson_nmadd_op:
++			handler = fpemu_sp_nmadd;
++			goto pscoptop;
++		case loongson_nmsub_op:
++			handler = fpemu_sp_nmsub;
++			goto pscoptop;
++
++		      pscoptop:
++			PSPFROMREG(fd1, fd2, MIPSInst_FD(ir));
++			PSPFROMREG(fs1, fs2, MIPSInst_FS(ir));
++			PSPFROMREG(ft1, ft2, MIPSInst_FT(ir));
++			rv.s = (*handler) (fd1, fs1, ft1);
++			ieee754_csr_save = ieee754_csr;
++			rv.s2 = (*handler) (fd2, fs2, ft2);
++			ieee754_csr.cx |= ieee754_csr_save.cx;
++			ieee754_csr.sx |= ieee754_csr_save.sx;
++			goto copcsr;
++
++		default:
++			return SIGILL;
++		}
++		break;
++	}
++
++	default:
++		return SIGILL;
++	}
++
++	/*
++	 * Update the fpu CSR register for this operation.
++	 * If an exception is required, generate a tidy SIGFPE exception,
++	 * without updating the result register.
++	 * Note: cause exception bits do not accumulate, they are rewritten
++	 * for each op; only the flag/sticky bits accumulate.
++	 */
++	ctx->fcr31 = (ctx->fcr31 & ~FPU_CSR_ALL_X) | rcsr;
++	if ((ctx->fcr31 >> 5) & ctx->fcr31 & FPU_CSR_ALL_E) {
++		/*printk ("SIGFPE: fpu csr = %08x\n",ctx->fcr31); */
++		return SIGFPE;
++	}
++
++	/*
++	 * Now we can safely write the result back to the register file.
++	 */
++	switch (rfmt) {
++	case d_fmt:
++		DPTOREG(rv.d, MIPSInst_FD(ir));
++		break;
++	case s_fmt:
++		SPTOREG(rv.s, MIPSInst_FD(ir));
++		break;
++	case ps_fmt:
++		PSPTOREG(rv.s, rv.s2, MIPSInst_FD(ir));
++		break;
++	default:
++		return SIGILL;
++	}
++
++	return 0;
++}
++#endif
++
+ static int fpux_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
+ 	mips_instruction ir, void *__user *fault_addr)
+ {
+@@ -840,7 +1038,12 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
+ 	unsigned cond;
+ 	union {
+ 		ieee754dp d;
+-		ieee754sp s;
++		struct {
++			ieee754sp s;
++#ifdef __loongson_fp
++			ieee754sp s2; /* for Loongson paired singles */
++#endif
++		};
+ 		int w;
+ #ifdef __mips64
+ 		s64 l;
+@@ -1210,6 +1413,83 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
+ 		break;
+ 	}
+ 
++#ifdef __loongson_fp
++	case ps_fmt:{		/* 6 */
++		/* Support for Loongson paired single fp instructions */
++		union {
++			ieee754sp(*b) (ieee754sp, ieee754sp);
++			ieee754sp(*u) (ieee754sp);
++		} handler;
++
++		switch (MIPSInst_FUNC(ir)) {
++			/* binary ops */
++		case fadd_op:
++			handler.b = ieee754sp_add;
++			goto pscopbop;
++		case fsub_op:
++			handler.b = ieee754sp_sub;
++			goto pscopbop;
++		case fmul_op:
++			handler.b = ieee754sp_mul;
++			goto pscopbop;
++
++			/* unary  ops */
++		case fabs_op:
++			handler.u = ieee754sp_abs;
++			goto pscopuop;
++		case fneg_op:
++			handler.u = ieee754sp_neg;
++			goto pscopuop;
++		case fmov_op:
++			/* an easy one */
++			PSPFROMREG(rv.s, rv.s2, MIPSInst_FS(ir));
++			break;
++
++		      pscopbop: /* paired binary op handler */
++			{
++				struct _ieee754_csr ieee754_csr_save;
++				ieee754sp fs1, ft1;
++				ieee754sp fs2, ft2;
++
++				PSPFROMREG(fs1, fs2, MIPSInst_FS(ir));
++				PSPFROMREG(ft1, ft2, MIPSInst_FT(ir));
++				rv.s  = (*handler.b) (fs1, ft1);
++				ieee754_csr_save = ieee754_csr;
++				rv.s2 = (*handler.b) (fs2, ft2);
++				ieee754_csr.cx |= ieee754_csr_save.cx;
++				ieee754_csr.sx |= ieee754_csr_save.sx;
++				goto copcsr;
++			}
++		      pscopuop: /* paired unary op handler */
++			{
++				struct _ieee754_csr ieee754_csr_save;
++				ieee754sp fs1;
++				ieee754sp fs2;
++
++				PSPFROMREG(fs1, fs2, MIPSInst_FS(ir));
++				rv.s  = (*handler.u) (fs1);
++				ieee754_csr_save = ieee754_csr;
++				rv.s2 = (*handler.u) (fs2);
++				ieee754_csr.cx |= ieee754_csr_save.cx;
++				ieee754_csr.sx |= ieee754_csr_save.sx;
++				goto copcsr;
++			}
++			break;
++
++		default:
++			if (MIPSInst_FUNC(ir) >= fcmp_op) {
++				/* Loongson fp hardware handles all
++				   cases of fp compare insns, so we
++				   shouldn't have to */
++				printk ("Loongson paired-single fp compare"
++					" unimplemented in cp1emu.c\n");
++			}
++			return SIGILL;
++		}
++		break;
++	}
++#endif
++
+ 	case w_fmt:{
+ 		ieee754sp fs;
+ 
+@@ -1299,6 +1579,11 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
+ 		DITOREG(rv.l, MIPSInst_FD(ir));
+ 		break;
+ #endif
++#ifdef __loongson_fp
++	case ps_fmt:
++		PSPTOREG(rv.s, rv.s2, MIPSInst_FD(ir));
++		break;
++#endif
+ 	default:
+ 		return SIGILL;
+ 	}
+-- 
+1.7.5.4
+
diff --git a/pkgs/os-specific/linux/kernel/mips-fpureg-emulation.patch b/pkgs/os-specific/linux/kernel/mips-fpureg-emulation.patch
new file mode 100644
index 000000000000..452c4f26f6fd
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/mips-fpureg-emulation.patch
@@ -0,0 +1,144 @@
+From ab1ce0a6cd51ca83194a865837f3b90f366a733d Mon Sep 17 00:00:00 2001
+From: Lluis Batlle i Rossell <viric@viric.name>
+Date: Sat, 16 Jun 2012 00:22:53 +0200
+Subject: [PATCH] MIPS: Add emulation for fpureg-mem unaligned access
+To: linux-mips@linux-mips.org
+Cc: loongson-dev@googlegroups.com
+
+Reusing most of the code from lw,ld,sw,sd emulation,
+I add the emulation for lwc1,ldc1,swc1,sdc1.
+
+This avoids the direct SIGBUS sent to userspace processes that have
+misaligned memory accesses.
+
+I've tested the change in Loongson2F, with an own test program, and
+WebKit 1.4.0, as both were killed by sigbus without this patch.
+
+Signed-off: Lluis Batlle i Rossell <viric@viric.name>
+---
+ arch/mips/kernel/unaligned.c |   43 +++++++++++++++++++++++++++++-------------
+ 1 file changed, 30 insertions(+), 13 deletions(-)
+
+diff --git a/arch/mips/kernel/unaligned.c b/arch/mips/kernel/unaligned.c
+index 9c58bdf..4531e6c 100644
+--- a/arch/mips/kernel/unaligned.c
++++ b/arch/mips/kernel/unaligned.c
+@@ -85,6 +85,7 @@
+ #include <asm/cop2.h>
+ #include <asm/inst.h>
+ #include <asm/uaccess.h>
++#include <asm/fpu.h>
+ 
+ #define STR(x)  __STR(x)
+ #define __STR(x)  #x
+@@ -108,6 +109,7 @@ static void emulate_load_store_insn(struct pt_regs *regs,
+ 	union mips_instruction insn;
+ 	unsigned long value;
+ 	unsigned int res;
++	fpureg_t *fpuregs;
+ 
+ 	perf_sw_event(PERF_COUNT_SW_EMULATION_FAULTS, 1, regs, 0);
+ 
+@@ -183,6 +185,7 @@ static void emulate_load_store_insn(struct pt_regs *regs,
+ 		break;
+ 
+ 	case lw_op:
++	case lwc1_op:
+ 		if (!access_ok(VERIFY_READ, addr, 4))
+ 			goto sigbus;
+ 
+@@ -209,7 +212,12 @@ static void emulate_load_store_insn(struct pt_regs *regs,
+ 		if (res)
+ 			goto fault;
+ 		compute_return_epc(regs);
+-		regs->regs[insn.i_format.rt] = value;
++		if (insn.i_format.opcode == lw_op) {
++			regs->regs[insn.i_format.rt] = value;
++		} else {
++			fpuregs = get_fpu_regs(current);
++			fpuregs[insn.i_format.rt] = value;
++		}
+ 		break;
+ 
+ 	case lhu_op:
+@@ -291,6 +299,7 @@ static void emulate_load_store_insn(struct pt_regs *regs,
+ 		goto sigill;
+ 
+ 	case ld_op:
++	case ldc1_op:
+ #ifdef CONFIG_64BIT
+ 		/*
+ 		 * A 32-bit kernel might be running on a 64-bit processor.  But
+@@ -325,7 +334,12 @@ static void emulate_load_store_insn(struct pt_regs *regs,
+ 		if (res)
+ 			goto fault;
+ 		compute_return_epc(regs);
+-		regs->regs[insn.i_format.rt] = value;
++		if (insn.i_format.opcode == ld_op) {
++			regs->regs[insn.i_format.rt] = value;
++		} else {
++			fpuregs = get_fpu_regs(current);
++			fpuregs[insn.i_format.rt] = value;
++		}
+ 		break;
+ #endif /* CONFIG_64BIT */
+ 
+@@ -370,10 +384,16 @@ static void emulate_load_store_insn(struct pt_regs *regs,
+ 		break;
+ 
+ 	case sw_op:
++	case swc1_op:
+ 		if (!access_ok(VERIFY_WRITE, addr, 4))
+ 			goto sigbus;
+ 
+-		value = regs->regs[insn.i_format.rt];
++		if (insn.i_format.opcode == sw_op) {
++			value = regs->regs[insn.i_format.rt];
++		} else {
++			fpuregs = get_fpu_regs(current);
++			value = fpuregs[insn.i_format.rt];
++		}
+ 		__asm__ __volatile__ (
+ #ifdef __BIG_ENDIAN
+ 			"1:\tswl\t%1,(%2)\n"
+@@ -401,6 +421,7 @@ static void emulate_load_store_insn(struct pt_regs *regs,
+ 		break;
+ 
+ 	case sd_op:
++	case sdc1_op:
+ #ifdef CONFIG_64BIT
+ 		/*
+ 		 * A 32-bit kernel might be running on a 64-bit processor.  But
+@@ -412,7 +433,12 @@ static void emulate_load_store_insn(struct pt_regs *regs,
+ 		if (!access_ok(VERIFY_WRITE, addr, 8))
+ 			goto sigbus;
+ 
+-		value = regs->regs[insn.i_format.rt];
++		if (insn.i_format.opcode == sd_op) {
++			value = regs->regs[insn.i_format.rt];
++		} else {
++			fpuregs = get_fpu_regs(current);
++			value = fpuregs[insn.i_format.rt];
++		}
+ 		__asm__ __volatile__ (
+ #ifdef __BIG_ENDIAN
+ 			"1:\tsdl\t%1,(%2)\n"
+@@ -443,15 +469,6 @@ static void emulate_load_store_insn(struct pt_regs *regs,
+ 		/* Cannot handle 64-bit instructions in 32-bit kernel */
+ 		goto sigill;
+ 
+-	case lwc1_op:
+-	case ldc1_op:
+-	case swc1_op:
+-	case sdc1_op:
+-		/*
+-		 * I herewith declare: this does not happen.  So send SIGBUS.
+-		 */
+-		goto sigbus;
+-
+ 	/*
+ 	 * COP2 is available to implementor for application specific use.
+ 	 * It's up to applications to register a notifier chain and do
+-- 
+1.7.9.5
+
diff --git a/pkgs/os-specific/linux/kernel/mips_restart.patch b/pkgs/os-specific/linux/kernel/mips_restart.patch
deleted file mode 100644
index 42a9b4f253c8..000000000000
--- a/pkgs/os-specific/linux/kernel/mips_restart.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
-index 9996094..ae167df 100644
---- a/arch/mips/kernel/process.c
-+++ b/arch/mips/kernel/process.c
-@@ -142,7 +142,6 @@ int copy_thread(unsigned long clone_flags, unsigned long usp,
- 	childregs->regs[7] = 0;	/* Clear error flag */
- 
- 	childregs->regs[2] = 0;	/* Child gets zero as return value */
--	regs->regs[2] = p->pid;
- 
- 	if (childregs->cp0_status & ST0_CU0) {
- 		childregs->regs[28] = (unsigned long) ti;
diff --git a/pkgs/os-specific/linux/kernel/no-xsave.patch b/pkgs/os-specific/linux/kernel/no-xsave.patch
new file mode 100644
index 000000000000..dde96d7dccd4
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/no-xsave.patch
@@ -0,0 +1,85 @@
+--- a/arch/x86/xen/enlighten.c
++++ b/arch/x86/xen/enlighten.c
+@@ -168,21 +168,23 @@ static void __init xen_banner(void)
+ 	       xen_feature(XENFEAT_mmu_pt_update_preserve_ad) ? " (preserve-AD)" : "");
+ }
+ 
++static __read_mostly unsigned int cpuid_leaf1_edx_mask = ~0;
++static __read_mostly unsigned int cpuid_leaf1_ecx_mask = ~0;
++
+ static void xen_cpuid(unsigned int *ax, unsigned int *bx,
+ 		      unsigned int *cx, unsigned int *dx)
+ {
++	unsigned maskecx = ~0;
+ 	unsigned maskedx = ~0;
+ 
+ 	/*
+ 	 * Mask out inconvenient features, to try and disable as many
+ 	 * unsupported kernel subsystems as possible.
+ 	 */
+-	if (*ax == 1)
+-		maskedx = ~((1 << X86_FEATURE_APIC) |  /* disable APIC */
+-			    (1 << X86_FEATURE_ACPI) |  /* disable ACPI */
+-			    (1 << X86_FEATURE_MCE)  |  /* disable MCE */
+-			    (1 << X86_FEATURE_MCA)  |  /* disable MCA */
+-			    (1 << X86_FEATURE_ACC));   /* thermal monitoring */
++	if (*ax == 1) {
++		maskecx = cpuid_leaf1_ecx_mask;
++		maskedx = cpuid_leaf1_edx_mask;
++	}
+ 
+ 	asm(XEN_EMULATE_PREFIX "cpuid"
+ 		: "=a" (*ax),
+@@ -190,9 +192,43 @@ static void xen_cpuid(unsigned int *ax, unsigned int *bx,
+ 		  "=c" (*cx),
+ 		  "=d" (*dx)
+ 		: "0" (*ax), "2" (*cx));
++
++	*cx &= maskecx;
+ 	*dx &= maskedx;
+ }
+ 
++static __init void xen_init_cpuid_mask(void)
++{
++	unsigned int ax, bx, cx, dx;
++
++	cpuid_leaf1_edx_mask =
++		~((1 << X86_FEATURE_MCE)  |  /* disable MCE */
++		  (1 << X86_FEATURE_MCA)  |  /* disable MCA */
++		  (1 << X86_FEATURE_ACC));   /* thermal monitoring */
++
++	if (!xen_initial_domain())
++		cpuid_leaf1_edx_mask &=
++			~((1 << X86_FEATURE_APIC) |  /* disable local APIC */
++			  (1 << X86_FEATURE_ACPI));  /* disable ACPI */
++
++	ax = 1;
++	xen_cpuid(&ax, &bx, &cx, &dx);
++
++	/* cpuid claims we support xsave; try enabling it to see what happens */
++	if (cx & (1 << (X86_FEATURE_XSAVE % 32))) {
++		unsigned long cr4;
++
++		set_in_cr4(X86_CR4_OSXSAVE);
++		
++		cr4 = read_cr4();
++
++		if ((cr4 & X86_CR4_OSXSAVE) == 0)
++			cpuid_leaf1_ecx_mask &= ~(1 << (X86_FEATURE_XSAVE % 32));
++
++		clear_in_cr4(X86_CR4_OSXSAVE);
++	}
++}
++
+ static void xen_set_debugreg(int reg, unsigned long val)
+ {
+ 	HYPERVISOR_set_debugreg(reg, val);
+@@ -903,6 +939,8 @@ asmlinkage void __init xen_start_kernel(void)
+ 
+ 	xen_init_irq_ops();
+ 
++	xen_init_cpuid_mask();
++
+ #ifdef CONFIG_X86_LOCAL_APIC
+ 	/*
+ 	 * set up the basic apic ops.
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index df153d015487..65cd9b3d8301 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -64,26 +64,6 @@ rec {
       features.secPermPatch = true;
     };
 
-  fbcondecor_2_6_25 =
-    { name = "fbcondecor-0.9.4-2.6.25-rc6";
-      patch = fetchurl {
-        url = http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.25-rc6.patch;
-        sha256 = "1wm94n7f0qyb8xvafip15r158z5pzw7zb7q8hrgddb092c6ibmq8";
-      };
-      extraConfig = fbcondecorConfig;
-      features.fbConDecor = true;
-    };
-
-  fbcondecor_2_6_27 =
-    { name = "fbcondecor-0.9.4-2.6.27";
-      patch = fetchurl {
-        url = http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.27.patch;
-        sha256 = "170l9l5fvbgjrr4klqcwbgjg4kwvrrhjpmgbfpqj0scq0s4q4vk6";
-      };
-      extraConfig = fbcondecorConfig;
-      features.fbConDecor = true;
-    };
-
   fbcondecor_2_6_31 =
     { name = "fbcondecor-0.9.6-2.6.31.2";
       patch = fetchurl {
@@ -105,55 +85,6 @@ rec {
       features.fbConDecor = true;
     };
 
-  fbcondecor_2_6_38 =
-    rec {
-      name = "fbcondecor-0.9.6-2.6.38";
-      patch = fetchurl {
-        url = "http://dev.gentoo.org/~spock/projects/fbcondecor/archive/${name}.patch";
-        sha256 = "1l8xqf5z227m5ay6azqba1qw10y26a4cwfhzzapzmmwq1bpr8mlw";
-      };
-      extraConfig = fbcondecorConfig;
-      features.fbConDecor = true;
-    };
-
-  gcov_2_6_28 =
-    { name = "gcov";
-      patch = fetchurl {
-        url = http://buildfarm.st.ewi.tudelft.nl/~eelco/dist/linux-2.6.28-gcov.patch;
-        sha256 = "0ck9misa3pgh3vzyb7714ibf7ix7piyg5dvfa9r42v15scjqiyny";
-      };
-      extraConfig =
-        ''
-          GCOV_PROFILE y
-          GCOV_ALL y
-          GCOV_PROC m
-          GCOV_HAMMER n
-        '';
-    };
-
-  tracehook_2_6_32 =
-    { # From <http://userweb.kernel.org/~frob/utrace/>.
-      name = "tracehook";
-      patch = fetchurl {
-        url = http://userweb.kernel.org/~frob/utrace/2.6.32/tracehook.patch;
-        sha256 = "1y009p8dyqknbjm8ryb495jqmvl372gfhswdn167xh2g1f24xqv8";
-      };
-    };
-
-  utrace_2_6_32 =
-    { # From <http://userweb.kernel.org/~frob/utrace/>, depends on the
-      # `tracehook' patch above.
-      # See also <http://sourceware.org/systemtap/wiki/utrace>.
-      name = "utrace";
-      patch = fetchurl {
-        url = http://userweb.kernel.org/~frob/utrace/2.6.32/utrace.patch;
-        sha256 = "0argf19k9f0asiv4l4cnsxm5hw2xx8d794npaln88vwz87sj5nnq";
-      };
-      extraConfig =
-        '' UTRACE y
-        '';
-    };
-
   aufs2_2_6_32 =
     { # From http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=tree;h=refs/heads/aufs2-32;hb=aufs2-32
       # Note that this merely the patch needed to build AUFS2 as a
@@ -164,16 +95,6 @@ rec {
       features.aufs2 = true;
     };
 
-  aufs2_2_6_34 =
-    { # From http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=tree;h=refs/heads/aufs2-34;hb=aufs2-34
-      # Note that this merely the patch needed to build AUFS2 as a
-      # standalone package.
-      name = "aufs2";
-      patch = ./aufs2-34.patch;
-      features.aufsBase = true;
-      features.aufs2 = true;
-    };
-
   aufs2_2_6_35 =
     { # From http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=tree;h=refs/heads/aufs2-35;hb=aufs2-35
       # Note that this merely the patch needed to build AUFS2 as a
@@ -184,46 +105,6 @@ rec {
       features.aufs2 = true;
     };
 
-  aufs2_2_6_36 =
-    { # From http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=tree;h=refs/heads/aufs2.1-36;hb=aufs2.1-36
-      # Note that this merely the patch needed to build AUFS2 as a
-      # standalone package.
-      name = "aufs2";
-      patch = ./aufs2.1-36.patch;
-      features.aufsBase = true;
-      features.aufs2_1 = true;
-    };
-
-  aufs2_1_2_6_38 =
-    { # From http://aufs.git.sourceforge.net/git/gitweb.cgi?p=aufs/aufs2-standalone.git;a=tree;h=refs/heads/aufs2.1-38;hb=refs/heads/aufs2.1-38
-      # Note that this merely the patch needed to build AUFS2.1 as a
-      # standalone package.
-      name = "aufs2.1";
-      patch = ./aufs2.1-38.patch;
-      features.aufsBase = true;
-      features.aufs2_1 = true;
-    };
-
-  aufs2_1_2_6_39 =
-    { # From http://aufs.git.sourceforge.net/git/gitweb.cgi?p=aufs/aufs2-standalone.git;a=tree;h=refs/heads/aufs2.1-39;hb=refs/heads/aufs2.1-39
-      # Note that this merely the patch needed to build AUFS2.1 as a
-      # standalone package.
-      name = "aufs2.1";
-      patch = ./aufs2.1-39.patch;
-      features.aufsBase = true;
-      features.aufs2_1 = true;
-    };
-
-  aufs2_1_3_0 =
-    { # From http://aufs.git.sourceforge.net/git/gitweb.cgi?p=aufs/aufs2-standalone.git;a=tree;h=ac52a37b0debba539bdfabba101f82b99136b380;hb=ac52a37b0debba539bdfabba101f82b99136b380
-      # Note that this merely the patch needed to build AUFS2.1 as a
-      # standalone package.
-      name = "aufs2.1";
-      patch = ./aufs2.1-3.0.patch;
-      features.aufsBase = true;
-      features.aufs2_1 = true;
-    };
-
   aufs3_0 = rec {
     name = "aufs3.0";
     version = "3.0";
@@ -267,14 +148,28 @@ rec {
   };
 
   aufs3_3 = rec {
-    name = "aufs3.x-rcN-20120312";
+    name = "aufs3.3";
     version = "3.3";
-    utilRev = "8f8b22d8b29c8f7ccc10b212f2deec8848c020a1";
-    utilHash = "0a54efeeb17d5d7542ebee3f10bb4b82364a600858893e34c0e4221e4307ccd0";
+    utilRev = "91af15f977d12e02165759620005f6ce1a4d7602";
+    utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996";
+    patch = makeAufs3StandalonePatch {
+      inherit version;
+      rev = "91c3d8c80172db05575ee82c931f3541947a6aff";
+      sha256 = "8fe54993b6a7a290649c193aab5a4f7f2dcecaedb5422d951f898d03753b83fb";
+    };
+    features.aufsBase = true;
+    features.aufs3 = true;
+  };
+
+  aufs3_4 = rec {
+    name = "aufs3.4";
+    version = "3.4";
+    utilRev = "91af15f977d12e02165759620005f6ce1a4d7602";
+    utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996";
     patch = makeAufs3StandalonePatch {
       inherit version;
-      rev = "187f3c592873b1d30efd2c9b5073aa7fe728620b";
-      sha256 = "d22b75165cbc8cb0417c114a9f3e3306bb9288b3557f57a1d20481e8cd339b8f";
+      rev = "a5f7df8e59d57d6d9d749d49adc7e5a37ce2e342";
+      sha256 = "20a8f113bb654f92231726de8177eb51d7be1b900fd42c2b5f48726a7d5d3ce6";
     };
     features.aufsBase = true;
     features.aufs3 = true;
@@ -288,12 +183,6 @@ rec {
       features.cifsTimeout = true;
     };
 
-  cifs_timeout_2_6_25 =
-    { name = "cifs-timeout";
-      patch = ./cifs-timeout-2.6.25.patch;
-      features.cifsTimeout = true;
-    };
-
   cifs_timeout_2_6_29 =
     { name = "cifs-timeout";
       patch = ./cifs-timeout-2.6.29.patch;
@@ -312,15 +201,9 @@ rec {
       features.cifsTimeout = true;
     };
 
-  cifs_timeout = cifs_timeout_2_6_29;
-
   no_xsave =
     { name = "no-xsave";
-      patch = fetchurl {
-        url = "http://kernel.ubuntu.com/git?p=rtg/ubuntu-maverick.git;a=blobdiff_plain;f=arch/x86/xen/enlighten.c;h=f7ff4c7d22954ab5eda464320241300bd5a32ee5;hp=1ea06f842a921557e958110e22941d53a2822f3c;hb=1a30f99;hpb=8f2ff69dce18ed856a8d1b93176f768b47eeed86";
-        name = "no-xsave.patch";
-        sha256 = "18732s3vmav5rpg6zqpiw2i0ll83pcc4gw266h6545pmbh9p7hky";
-      };
+      patch = ./no-xsave.patch;
       features.noXsave = true;
     };
 
@@ -334,9 +217,14 @@ rec {
       patch = ./sheevaplug_modules-2.6.35.patch;
     };
 
-  mips_restart_2_6_36 =
-    { name = "mips_restart_2_6_36";
-      patch = ./mips_restart.patch;
+  mips_fpureg_emu =
+    { name = "mips-fpureg-emulation";
+      patch = ./mips-fpureg-emulation.patch;
+    };
+
+  mips_fpu_sigill =
+    { name = "mips-fpu-sigill";
+      patch = ./mips-fpu-sigill.patch;
     };
 
   guruplug_defconfig =
diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix
index ba32362b6e8b..669f61556fc2 100644
--- a/pkgs/os-specific/linux/kernel/perf.nix
+++ b/pkgs/os-specific/linux/kernel/perf.nix
@@ -1,5 +1,8 @@
 { stdenv, kernel, elfutils, python, perl, newt, slang, asciidoc, xmlto
-, docbook_xsl, docbook_xml_dtd_45, libxslt }:
+, docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkgconfig
+, withGtk ? false, gtk ? null }:
+
+assert withGtk -> gtk != null;
 
 stdenv.mkDerivation {
   name = "perf-linux-${kernel.version}";
@@ -13,8 +16,9 @@ stdenv.mkDerivation {
   '';
 
   # perf refers both to newt and slang
-  buildNativeInputs = [ asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt ];
-  buildInputs = [ elfutils python perl newt slang ];
+  buildNativeInputs = [ asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt flex bison ];
+  buildInputs = [ elfutils python perl newt slang pkgconfig] ++
+    stdenv.lib.optional withGtk gtk;
 
   installFlags = "install install-man ASCIIDOC8=1";
 
diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix
index e1f347af23cb..781bb67edca5 100644
--- a/pkgs/os-specific/linux/klibc/default.nix
+++ b/pkgs/os-specific/linux/klibc/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   name = "klibc-${version}${stdenv.lib.optionalString (kernel != null) "-${kernel.version}"}";
 
   src = fetchurl {
-    url = "http://ftp.eu.openbsd.org/pub/linux/libs/klibc/1.5/klibc-${version}.tar.bz2";
+    url = "mirror://kernel/linux/libs/klibc/1.5/klibc-${version}.tar.bz2";
     sha256 = "18lm32dlj9k2ky9wwk274zmc3jndgrb41b6qm82g3lza6wlw3yki";
   };
 
diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix
index b97a55b2ab57..89d4c463cc70 100644
--- a/pkgs/os-specific/linux/kmod/default.nix
+++ b/pkgs/os-specific/linux/kmod/default.nix
@@ -1,23 +1,26 @@
 { stdenv, fetchurl, xz, zlib, pkgconfig }:
 
-stdenv.mkDerivation {
-  name = "kmod-7";
+stdenv.mkDerivation rec {
+  name = "kmod-8";
 
   src = fetchurl {
-    url = ftp://ftp.kernel.org/pub/linux/utils/kernel/kmod/kmod-7.tar.xz;
-    sha256 = "1xvsy2zcfdimj4j5b5yyxaqx2byabmwq8qlzjm0hqzpyxxgfw1lq";
+    url = "mirror://kernel/linux/utils/kernel/kmod/${name}.tar.xz";
+    sha256 = "0kbkjzcyhkwgcplwa29n0f03ccwpg4df83pdl5nkvsk2rzgx3xrm";
   };
 
-  buildInputs = [ pkgconfig xz zlib ];
+  # Disable xz/zlib support to prevent needing them in the initrd.
+  
+  buildInputs = [ pkgconfig /* xz zlib */ ];
 
-  configureFlags = [ "--with-xz" "--with-zlib" ];
+  configureFlags = [ "--sysconfdir=/etc" /* "--with-xz" "--with-zlib" */ ];
 
   patches = [ ./module-dir.patch ];
 
   postInstall = ''
-    for prog in lsmod rmmod insmod modinfo modprobe depmod
-    do
-      ln -sv kmod $out/bin/$prog
+    ln -s kmod $out/bin/lsmod
+    mkdir -p $out/sbin
+    for prog in rmmod insmod modinfo modprobe depmod; do
+      ln -sv $out/bin/kmod $out/sbin/$prog
     done
   '';
 
diff --git a/pkgs/os-specific/linux/mountall/default.nix b/pkgs/os-specific/linux/mountall/default.nix
index 3d72b0a258ed..4cad810cc5f1 100644
--- a/pkgs/os-specific/linux/mountall/default.nix
+++ b/pkgs/os-specific/linux/mountall/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, pkgconfig, libnih, dbus, udev, gettext, autoreconfHook }:
-   
+
 stdenv.mkDerivation {
   name = "mountall-2.35";
-   
+
   src = fetchurl {
     url = https://launchpad.net/ubuntu/+archive/primary/+files/mountall_2.35.tar.gz;
     sha256 = "1k52d4x75balnwcsqgznvzrdqgbp2dqnrzw0n25kajdcwr192wwy";
@@ -13,10 +13,10 @@ stdenv.mkDerivation {
   buildInputs = [ pkgconfig libnih dbus.libs udev gettext autoreconfHook ];
 
   makeFlags = "initramfshookdir=$(out)/share/initramfs-tools/hooks upstart_jobs_initramfs_configdir=$(out)/share/initramfs-tools/event-driven/upstart-jobs";
-  
+
   meta = {
     homepage = https://launchpad.net/ubuntu/+source/mountall;
     description = "Utility to mount all filesystems and emit Upstart events";
-    platforms = stdenv.lib.platforms.linux;    
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/acpixf.patch b/pkgs/os-specific/linux/nvidia-x11/acpixf.patch
new file mode 100644
index 000000000000..c94641c69192
--- /dev/null
+++ b/pkgs/os-specific/linux/nvidia-x11/acpixf.patch
@@ -0,0 +1,27 @@
+diff -pur 96.43.20/conftest.sh 96.43.20-3.4/conftest.sh
+--- 96.43.20/conftest.sh	2011-07-18 10:51:11.000000000 +0400
++++ 96.43.20-3.4/conftest.sh	2012-06-16 00:04:22.870746239 +0400
+@@ -908,6 +908,7 @@ compile_test() {
+             #
+             echo "$CONFTEST_PREAMBLE
+             #include <acpi/acpi.h>
++            #include <acpi/acpixf.h>
+             void conftest_acpi_walk_namespace(void) {
+                 acpi_walk_namespace();
+             }" > conftest$$.c
+@@ -923,6 +924,7 @@ compile_test() {
+ 
+             echo "$CONFTEST_PREAMBLE
+             #include <acpi/acpi.h>
++            #include <acpi/acpixf.h>
+             void conftest_acpi_walk_namespace(void) {
+                 acpi_walk_namespace(0, NULL, 0, NULL, NULL, NULL, NULL);
+             }" > conftest$$.c
+@@ -939,6 +941,7 @@ compile_test() {
+ 
+             echo "$CONFTEST_PREAMBLE
+             #include <acpi/acpi.h>
++            #include <acpi/acpixf.h>
+             void conftest_acpi_walk_namespace(void) {
+                 acpi_walk_namespace(0, NULL, 0, NULL, NULL, NULL);
+             }" > conftest$$.c
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh b/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh
index e0af21759c9d..6062566cbfb1 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder-legacy.sh
@@ -14,6 +14,12 @@ buildPhase() {
 
         cd usr/src/nv/
 
+        shopt -s nullglob
+
+        for a in $kpatches; do
+          patch -p1 < $a
+        done
+
         # Workaround: get it to build on kernels that have CONFIG_XEN
         # set.  Disable the test, apply a patch to disable the Xen
         # functionality.
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 4f06b3975ab2..99e5ebe7be7b 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -8,7 +8,7 @@
 
 with stdenv.lib;
 
-let versionNumber = "295.40"; in
+let versionNumber = "295.53"; in
 
 stdenv.mkDerivation {
   name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
@@ -19,12 +19,12 @@ stdenv.mkDerivation {
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
-        sha256 = "0anffkx1p1yhcflmz6jv9b57xb9mnvqadnjhgwr50fl4vms6bm6c";
+        sha256 = "185hy1d4yixc9drz4r3wgya30zbqcyh2949wfjaqcvxc2ri0jh00";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
-        sha256 = "0rs9nfkw8f9z52ippadap8r50zrrgldv9d9hdkm8g08cyif5g95w";
+        sha256 = "06fdx3iwqcscwkl14rdb5n1wzscm0gvdxfywr5bzf7y591w4yl7y";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/generated.patch b/pkgs/os-specific/linux/nvidia-x11/generated.patch
new file mode 100644
index 000000000000..6cf7a93c6445
--- /dev/null
+++ b/pkgs/os-specific/linux/nvidia-x11/generated.patch
@@ -0,0 +1,12 @@
+diff -pur 173.14.31/conftest.sh 173.14.31-3.3/conftest.sh
+--- 173.14.31/conftest.sh	2011-07-18 09:49:58.000000000 +0400
++++ 173.14.31-3.3/conftest.sh	2012-04-09 19:33:34.407928432 +0400
+@@ -123,7 +123,7 @@ build_cflags() {
+     CFLAGS="$BASE_CFLAGS $MACH_CFLAGS $OUTPUT_CFLAGS -I$HEADERS $AUTOCONF_CFLAGS"
+ 
+     if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]; then
+-        CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include"
++        CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include -I$SOURCES/arch/x86/include/generated"
+     fi
+     if [ -n "$BUILD_PARAMS" ]; then
+         CFLAGS="$CFLAGS -D$BUILD_PARAMS"
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy96.nix b/pkgs/os-specific/linux/nvidia-x11/legacy96.nix
index 156484f53e1f..fd27a989c079 100644
--- a/pkgs/os-specific/linux/nvidia-x11/legacy96.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/legacy96.nix
@@ -26,6 +26,16 @@ stdenv.mkDerivation {
 
   inherit versionNumber kernel;
 
+  # Only for kernels 3.4 and over
+  # Patches taken from arch linux AUR 
+  # https://aur.archlinux.org/packages.php?ID=57698
+  kpatches = stdenv.lib.optionals (stdenv.lib.strings.versionOlder "3.4" kernel.version)
+    [ ./acpixf.patch
+      ./generated.patch
+      ./patchlevel.patch
+      ./switch_to.patch
+    ];
+
   dontStrip = true;
 
   glPath = stdenv.lib.makeLibraryPath [xlibs.libXext xlibs.libX11 xlibs.libXrandr];
diff --git a/pkgs/os-specific/linux/nvidia-x11/patchlevel.patch b/pkgs/os-specific/linux/nvidia-x11/patchlevel.patch
new file mode 100644
index 000000000000..256922ca966d
--- /dev/null
+++ b/pkgs/os-specific/linux/nvidia-x11/patchlevel.patch
@@ -0,0 +1,59 @@
+diff -pur 96.43.20-t1/conftest.sh 96.43.20-t2/conftest.sh
+--- 96.43.20-t1/conftest.sh	2012-06-16 17:14:47.206589267 +0400
++++ 96.43.20-t2/conftest.sh	2012-06-16 15:35:45.049203248 +0400
+@@ -1303,10 +1303,14 @@ case "$5" in
+         MAKEFILE=$HEADERS/../Makefile
+ 
+         if [ -f $MAKEFILE ]; then
++            VERSION=$(grep "^VERSION =" $MAKEFILE | cut -d " " -f 3)
+             PATCHLEVEL=$(grep "^PATCHLEVEL =" $MAKEFILE | cut -d " " -f 3)
+ 
+-            if [ -z "$PATCHLEVEL" ]; then
++            if [ -z "$PATCHLEVEL" -o -z "$VERSION" ]; then
+                 exit 1
++            elif [ "$VERSION" = '3' ]; then
++                echo 6
++                exit 0                
+             else
+                 echo $PATCHLEVEL
+                 exit 0
+@@ -1426,10 +1430,11 @@ case "$5" in
+                 # kernel older than 2.6.6, that's all we require to
+                 # build the module.
+                 #
++                VERSION=$(grep "^VERSION =" $MAKEFILE | cut -d " " -f 3)
+                 PATCHLEVEL=$(grep "^PATCHLEVEL =" $MAKEFILE | cut -d " " -f 3)
+                 SUBLEVEL=$(grep "^SUBLEVEL =" $MAKEFILE | cut -d " " -f 3)
+ 
+-                if [ -n "$PATCHLEVEL" -a $PATCHLEVEL -ge 6 \
++                if [ "$VERSION" = '2' -a -n "$PATCHLEVEL" -a $PATCHLEVEL -ge 6 \
+                         -a -n "$SUBLEVEL" -a $SUBLEVEL -le 5 ]; then
+                     SELECTED_MAKEFILE=Makefile.kbuild
+                     RET=0
+@@ -1525,11 +1530,12 @@ case "$5" in
+                 # This source tree is not configured, but includes
+                 # the top-level Makefile.
+                 #
++                VERSION=$(grep "^VERSION =" $MAKEFILE | cut -d " " -f 3)
+                 PATCHLEVEL=$(grep "^PATCHLEVEL =" $MAKEFILE | cut -d " " -f 3)
+                 SUBLEVEL=$(grep "^SUBLEVEL =" $MAKEFILE | cut -d " " -f 3)
+ 
+-                if [ -n "$PATCHLEVEL" -a -n "$SUBLEVEL" ]; then
+-                    echo 2.$PATCHLEVEL.$SUBLEVEL
++                if [ -n "$VERSION" -a -n "$PATCHLEVEL" -a -n "$SUBLEVEL" ]; then
++                    echo $VERSION.$PATCHLEVEL.$SUBLEVEL
+                     RET=0
+                 fi
+             fi
+diff -pur 96.43.20-t1/Makefile.kbuild 96.43.20-t2/Makefile.kbuild
+--- 96.43.20-t1/Makefile.kbuild	2011-07-18 10:51:11.000000000 +0400
++++ 96.43.20-t2/Makefile.kbuild	2012-06-16 17:08:11.694605133 +0400
+@@ -132,7 +132,7 @@ MODULE_ROOT := /lib/modules/$(KERNEL_UNA
+ #
+ 
+ TOPDIR ?= $(KERNEL_SOURCES)
+-PATCHLEVEL ?= $(shell $(CONFTEST) kernel_patch_level)
++PATCHLEVEL := $(shell $(CONFTEST) kernel_patch_level)
+ 
+ #
+ # Linux 2.4 uses the .o module extension. Linux 2.6, however, uses the .ko
diff --git a/pkgs/os-specific/linux/nvidia-x11/switch_to.patch b/pkgs/os-specific/linux/nvidia-x11/switch_to.patch
new file mode 100644
index 000000000000..51ffa7f83f15
--- /dev/null
+++ b/pkgs/os-specific/linux/nvidia-x11/switch_to.patch
@@ -0,0 +1,24 @@
+diff -pur 173.14.31-3.3/conftest.sh 173.14.31-3.4/conftest.sh
+--- 173.14.31-3.3/conftest.sh	2012-04-09 19:33:34.407928432 +0400
++++ 173.14.31-3.4/conftest.sh	2012-04-10 19:50:36.052346728 +0400
+@@ -465,7 +465,7 @@ compile_test() {
+             # and if it as an 'event' member.
+             #
+             echo "$CONFTEST_PREAMBLE
+-            #include <asm/system.h>
++            #include <asm/switch_to.h>
+             #include <linux/pm.h>
+             void conftest_pm_message_t(pm_message_t state) {
+                 pm_message_t *p = &state;
+diff -pur 173.14.31-3.3/nv-linux.h 173.14.31-3.4/nv-linux.h
+--- 173.14.31-3.3/nv-linux.h	2011-07-18 09:49:58.000000000 +0400
++++ 173.14.31-3.4/nv-linux.h	2012-04-10 19:53:04.853776013 +0400
+@@ -92,7 +92,7 @@
+ #include <linux/timer.h>
+ 
+ #include <asm/div64.h>              /* do_div()                         */
+-#include <asm/system.h>             /* cli, sli, save_flags             */
++#include <asm/switch_to.h>          /* cli, sli, save_flags             */
+ #include <asm/io.h>                 /* ioremap, virt_to_phys            */
+ #include <asm/uaccess.h>            /* access_ok                        */
+ #include <asm/page.h>               /* PAGE_OFFSET                      */
diff --git a/pkgs/os-specific/linux/pam_ssh_agent_auth/default.nix b/pkgs/os-specific/linux/pam_ssh_agent_auth/default.nix
new file mode 100644
index 000000000000..346008706718
--- /dev/null
+++ b/pkgs/os-specific/linux/pam_ssh_agent_auth/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, pam, openssl, perl }:
+
+stdenv.mkDerivation rec {
+  name = "pam_ssh_agent_auth-0.9.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pamsshagentauth/${name}.tar.bz2";
+    sha256 = "19p5mzplnr9g9vlp16nipf5rjw4v8zncvimarwgix958yml7j08h";
+  };
+
+  buildInputs = [ pam openssl perl ];
+
+  meta = {
+    homepage = http://pamsshagentauth.sourceforge.net/;
+    description = "PAM module for authentication through the SSH agent";
+  };
+}
diff --git a/pkgs/os-specific/linux/powertop/default.nix b/pkgs/os-specific/linux/powertop/default.nix
index 3d8ca36c3ed8..d175c5f0478d 100644
--- a/pkgs/os-specific/linux/powertop/default.nix
+++ b/pkgs/os-specific/linux/powertop/default.nix
@@ -1,17 +1,14 @@
-{stdenv, fetchurl, ncurses, gettext}:
+{ stdenv, fetchurl, gettext, libnl1, ncurses, pciutils, pkgconfig, zlib }:
 
-stdenv.mkDerivation {
-  name = "powertop-1.13";
+stdenv.mkDerivation rec {
+  name = "powertop-2.0";
   src = fetchurl {
-    url = http://www.lesswatts.org/projects/powertop/download/powertop-1.13.tar.gz;
-    sha256 = "164dqp6msdaxpi2bmvwawasyrf1sfvanlc9ddp97v1wnjh46dj1b";
+    url = "https://01.org/powertop/sites/default/files/downloads/${name}.tar.bz2";
+    sha256 = "7af51d320856b3446bcc314c9414385f3b05b9360f650883b0210cd3b12c5c1c";
   };
-  patches = [
-    ./powertop-1.13.patch
-    ./inotify_user.patch
-    ./modprobe_configs.patch
-  ];
-  buildInputs = [ncurses gettext];
+
+  buildInputs = [ gettext libnl1 ncurses pciutils pkgconfig zlib ];
+
   meta = {
     description = "Analyze power consumption on Intel-based laptops";
     license = "GPLv2";
diff --git a/pkgs/os-specific/linux/powertop/inotify_user.patch b/pkgs/os-specific/linux/powertop/inotify_user.patch
deleted file mode 100644
index 46caed050f4e..000000000000
--- a/pkgs/os-specific/linux/powertop/inotify_user.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 89e46f3270e3b6d704959c4d0f44ae6bab8f7616 Mon Sep 17 00:00:00 2001
-From: Florian Friesdorf <flo@chaoflow.net>
-Date: Thu, 13 Oct 2011 10:14:34 +0200
-Subject: [PATCH] CONFIG_INOTIFY_USER instead of CONFIG_INOTIFY
-
-since 2.6.36 the former fully replaced the latter
----
- powertop.c |    4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/powertop.c b/powertop.c
-index 74eb328..8df3652 100644
---- a/powertop.c
-+++ b/powertop.c
-@@ -1191,8 +1191,8 @@ int main(int argc, char **argv)
- 		suggest_kernel_config("CONFIG_CPU_FREQ_STAT", 1,
- 				    _("Suggestion: Enable the CONFIG_CPU_FREQ_STAT kernel configuration option.\n"
- 				      "This option allows PowerTOP to show P-state percentages \n" "P-states correspond to CPU frequencies."), 2);
--		suggest_kernel_config("CONFIG_INOTIFY", 1,
--				    _("Suggestion: Enable the CONFIG_INOTIFY kernel configuration option.\n"
-+		suggest_kernel_config("CONFIG_INOTIFY_USER", 1,
-+				    _("Suggestion: Enable the CONFIG_INOTIFY_USER kernel configuration option.\n"
- 				      "This option allows programs to wait for changes in files and directories\n"
- 				      "instead of having to poll for these changes"), 5);
- 
--- 
-1.7.6
-
diff --git a/pkgs/os-specific/linux/powertop/modprobe_configs.patch b/pkgs/os-specific/linux/powertop/modprobe_configs.patch
deleted file mode 100644
index 3d6e2a287618..000000000000
--- a/pkgs/os-specific/linux/powertop/modprobe_configs.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 0002a70b83221a8a831d776836d13105ac886323 Mon Sep 17 00:00:00 2001
-From: Florian Friesdorf <flo@chaoflow.net>
-Date: Thu, 13 Oct 2011 14:57:02 +0200
-Subject: [PATCH] powertop tries to load configs, if /proc/config.gz is
- missing
-
----
- config.c |    4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
-
-diff --git a/config.c b/config.c
-index b2567f2..62ac978 100644
---- a/config.c
-+++ b/config.c
-@@ -44,6 +44,10 @@ static void read_kernel_config(void)
- 	char filename[100];
- 	if (configcount)
- 		return;
-+	if (access("/proc/config.gz", R_OK) != 0) {
-+		file = popen("modprobe configs >/dev/null 2>&1", "r");
-+		pclose(file);
-+	}
- 	if (access("/proc/config.gz", R_OK) == 0) {
- 		file = popen("zcat /proc/config.gz 2> /dev/null", "r");
- 		while (file && !feof(file)) {
--- 
-1.7.6
-
diff --git a/pkgs/os-specific/linux/powertop/powertop-1.13.patch b/pkgs/os-specific/linux/powertop/powertop-1.13.patch
deleted file mode 100644
index cf66b2971909..000000000000
--- a/pkgs/os-specific/linux/powertop/powertop-1.13.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -ru powertop-1.13/Makefile powertop-1.13.new/Makefile
---- powertop-1.13/Makefile
-+++ powertop-1.13.new/Makefile
-@@ -1,8 +1,8 @@
- VERSION = 1.13
- 
--BINDIR=/usr/bin
--LOCALESDIR=/usr/share/locale
--MANDIR=/usr/share/man/man8
-+BINDIR=${out}/bin
-+LOCALESDIR=${out}/share/locale
-+MANDIR=${out}/share/man/man8
- WARNFLAGS=-Wall -Wshadow -W -Wformat -Wimplicit-function-declaration -Wimplicit-int
- CFLAGS?=-Os -g ${WARNFLAGS}
- CC?=gcc
diff --git a/pkgs/os-specific/linux/psmisc/default.nix b/pkgs/os-specific/linux/psmisc/default.nix
index 71ab69b9f216..dd6c70127bf8 100644
--- a/pkgs/os-specific/linux/psmisc/default.nix
+++ b/pkgs/os-specific/linux/psmisc/default.nix
@@ -3,11 +3,11 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "psmisc-22.13";
+  name = "psmisc-22.19";
 
   src = fetchurl {
     url = "mirror://sourceforge/psmisc/${name}.tar.gz";
-    sha256 = "06d25e8ebb4722dbcede98a787c39a9ed341f8e58fde10c0b2d6b35990b35daa";
+    sha256 = "e112ccadd4694c98f5ea4a02cd6944fdc5a2a1985f20e2b3f74f4dbca83a2a31";
   };
 
   buildInputs = [ncurses];
diff --git a/pkgs/os-specific/linux/qemu-kvm/default.nix b/pkgs/os-specific/linux/qemu-kvm/default.nix
index dd12e79bd69c..f6709bb439f4 100644
--- a/pkgs/os-specific/linux/qemu-kvm/default.nix
+++ b/pkgs/os-specific/linux/qemu-kvm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, attr, zlib, SDL, alsaLib, pkgconfig, pciutils, libuuid, vde2
-, libjpeg, libpng, ncurses, python, glib }:
+, libjpeg, libpng, ncurses, python, glib, libaio, mesa }:
 
 assert stdenv.isLinux;
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ attr zlib SDL alsaLib pkgconfig pciutils libuuid vde2 libjpeg libpng
-      ncurses python glib
+      ncurses python glib libaio mesa
     ];
 
   postInstall =
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
new file mode 100644
index 000000000000..80ce415ca80f
--- /dev/null
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -0,0 +1,73 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gperf, libcap, udev, dbus, kmod
+, xz, pam, acl, cryptsetup, libuuid, m4, utillinux, usbutils, pciutils
+, glib, kbd
+}:
+
+stdenv.mkDerivation rec {
+  name = "systemd-186";
+
+  src = fetchurl {
+    url = "http://www.freedesktop.org/software/systemd/${name}.tar.xz";
+    sha256 = "0zmj8r7a1xb5f3lvyfgw7095rq3yvr0ibw1730j54blm07sh3hmj";
+  };
+
+  buildInputs =
+    [ pkgconfig intltool gperf libcap udev dbus kmod xz pam acl
+      cryptsetup libuuid m4 usbutils pciutils glib
+    ];
+
+  configureFlags =
+    [ "--localstatedir=/var"
+      "--sysconfdir=/etc"
+      "--with-distro=other"
+      "--with-rootprefix=$(out)"
+      "--with-rootprefix=$(out)"
+      "--with-dbusinterfacedir=$(out)/share/dbus-1/interfaces"
+      "--with-dbuspolicydir=$(out)/etc/dbus-1/system.d"
+      "--with-dbussystemservicedir=$(out)/share/dbus-1/system-services"
+      "--with-dbussessionservicedir=$(out)/share/dbus-1/services"
+      "--with-firmware-path=/root/test-firmware:/var/run/current-system/firmware"
+      "--with-pci-ids-path=${pciutils}/share/pci.ids"
+      "--with-tty-gid=3" # tty in NixOS has gid 3
+    ];
+
+  preConfigure =
+    ''
+      # FIXME: patch this in systemd properly (and send upstream).
+      for i in src/remount-fs/remount-fs.c src/core/mount.c src/core/swap.c src/fsck/fsck.c; do
+        test -e $i
+        substituteInPlace $i \
+          --replace /bin/mount ${utillinux}/bin/mount \
+          --replace /bin/umount ${utillinux}/bin/umount \
+          --replace /sbin/swapon ${utillinux}/sbin/swapon \
+          --replace /sbin/swapoff ${utillinux}/sbin/swapoff \
+          --replace /sbin/fsck ${utillinux}/sbin/fsck
+      done
+    '';
+
+  NIX_CFLAGS_COMPILE = "-DKBD_LOADKEYS=\"${kbd}/bin/loadkeys\" -DKBD_SETFONT=\"${kbd}/bin/setfont\"";
+
+  installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc";
+
+  # Get rid of configuration-specific data.
+  postInstall =
+    ''
+      mkdir -p $out/example/systemd
+      mv $out/lib/{modules-load.d,binfmt.d,sysctl.d,tmpfiles.d} $out/example
+      mv $out/lib/systemd/{system,user} $out/example/systemd
+
+      # Install SysV compatibility commands.
+      mkdir -p $out/sbin
+      ln -s $out/lib/systemd/systemd $out/sbin/telinit
+      for i in init halt poweroff runlevel reboot shutdown; do
+        ln -s $out/bin/systemctl $out/sbin/$i 
+      done
+    '';
+
+  enableParallelBuilding = true;
+  
+  meta = {
+    homepage = http://www.freedesktop.org/wiki/Software/systemd;
+    description = "A system and service manager for Linux";
+  };
+}
diff --git a/pkgs/os-specific/linux/uclibc/default.nix b/pkgs/os-specific/linux/uclibc/default.nix
index ce95dbaba922..1ad392ad6fab 100644
--- a/pkgs/os-specific/linux/uclibc/default.nix
+++ b/pkgs/os-specific/linux/uclibc/default.nix
@@ -36,6 +36,7 @@ let
   archMakeFlag = if (cross != null) then "ARCH=${cross.arch}" else "";
   crossMakeFlag = if (cross != null) then "CROSS=${cross.config}-" else "";
 
+  # UCLIBC_SUSV4_LEGACY defines 'tmpnam', needed for gcc libstdc++ builds.
   nixConfig = ''
     RUNTIME_PREFIX "/"
     DEVEL_PREFIX "/"
@@ -44,17 +45,19 @@ let
     UCLIBC_HAS_RPC y
     DO_C99_MATH y
     UCLIBC_HAS_PROGRAM_INVOCATION_NAME y
+    UCLIBC_SUSV4_LEGACY y
+    UCLIBC_HAS_THREADS_NATIVE y
     KERNEL_HEADERS "${linuxHeaders}/include"
   '';
 
 in
 stdenv.mkDerivation {
-  name = "uclibc-0.9.31" + stdenv.lib.optionalString (cross != null)
+  name = "uclibc-0.9.33.2" + stdenv.lib.optionalString (cross != null)
     ("-" + cross.config);
 
   src = fetchurl {
-    url = http://www.uclibc.org/downloads/uClibc-0.9.31.tar.bz2;
-    sha256 = "1yk328fnz0abgh2vm2r68y65ckfkx97rdp8hbg4xvmx5s94kblw0";
+    url = http://www.uclibc.org/downloads/uClibc-0.9.33.2.tar.bz2;
+    sha256 = "0qhngsbzj2s6nz92b1s2p0dmvwk8xiqpy58j7ljzw186grvjr3cq";
   };
 
   # 'ftw' needed to build acl, a coreutils dependency
@@ -81,7 +84,8 @@ stdenv.mkDerivation {
     mkdir -p $out
     make PREFIX=$out VERBOSE=1 install ${crossMakeFlag}
     (cd $out/include && ln -s $(ls -d ${linuxHeaders}/include/* | grep -v "scsi$") .)
-    sed -i s@/lib/@$out/lib/@g $out/lib/libc.so
+    # libpthread.so may not exist, so I do || true
+    sed -i s@/lib/@$out/lib/@g $out/lib/libc.so $out/lib/libpthread.so || true
   '';
 
   passthru = {
diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix
index 2679d23d76e1..4a8cfbdbc515 100644
--- a/pkgs/os-specific/linux/upower/default.nix
+++ b/pkgs/os-specific/linux/upower/default.nix
@@ -4,11 +4,11 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "upower-0.9.15";
+  name = "upower-0.9.16";
 
   src = fetchurl {
     url = "http://upower.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "1313lr404hb29fzkf9frn1z0xxvibi451xmk05sf9kidyf01956m";
+    sha256 = "eb9a3d39a8cb62970fd612e333bc7a43437ab0e7890303578b0a7e3c67c8c212";
   };
 
   buildInputs = [ dbus_glib polkit intltool libxslt docbook_xsl udev libusb1 ];
diff --git a/pkgs/os-specific/linux/v4l-utils/default.nix b/pkgs/os-specific/linux/v4l-utils/default.nix
index d20821e137c3..ea63dadc8bd2 100644
--- a/pkgs/os-specific/linux/v4l-utils/default.nix
+++ b/pkgs/os-specific/linux/v4l-utils/default.nix
@@ -1,50 +1,34 @@
-x@{builderDefsPackage
-  , libv4l, libjpeg, qt4
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{stdenv, fetchurl, which, libjpeg
+, withQt4 ? false, qt4 ? null}:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="v4l-utils";
-    version="0.8.5";
-    name="${baseName}-${version}";
-    url="http://www.linuxtv.org/downloads/v4l-utils/${name}.tar.bz2";
-    hash="0k2rkra8lyimj6bwm8khq6xrhjdy67d09blxa6brnj7kpa7q81f2";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+assert withQt4 -> qt4 != null;
+
+stdenv.mkDerivation rec {
+  name = "v4l-utils-0.8.8";
+
+  src = fetchurl {
+    url = "http://linuxtv.org/downloads/v4l-utils/${name}.tar.bz2";
+    sha256 = "0zx8f1npsl6g5vjah1gwydg1j5azl74kr83ifbjhshgmnvscd92z";
   };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  buildInputs = [ libjpeg which ] ++ stdenv.lib.optional withQt4 qt4;
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doUnpack" "doMakeInstall"];
+  # The keytable wants to touch /etc files and udev scripts in /lib.
+  # I skip it.
+  patchPhase = ''
+    sed -i s/keytable// utils/Makefile
+  '';
+
+  installPhase = ''
+    make PREFIX=$out install
+  '';
 
-  makeFlags = [''PREFIX="" DESTDIR="$out"''];
-      
   meta = {
-    description = "Video-4-Linux utilities";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.gpl2;
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.linuxtv.org/downloads/v4l-utils/";
-    };
+    homepage = http://linuxtv.org/projects.php;
+    description = "V4L utils and libv4l, that provides common image formats regardless of the v4l device";
+    # (The libs are of LGPLv2.1+, some other pieces are GPL)
+    license = "free";
+    maintainers = with stdenv.lib.maintainers; [viric];
+    platforms = with stdenv.lib.platforms; linux;
   };
-}) x
-
+}
diff --git a/pkgs/os-specific/windows/jom/default.nix b/pkgs/os-specific/windows/jom/default.nix
new file mode 100644
index 000000000000..2cdd63cc0ebb
--- /dev/null
+++ b/pkgs/os-specific/windows/jom/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchgit, qt48, flex, cmake }:
+
+# At the time of committing this, the expression fails for me to cross-build in
+# both mingw32 and mingw64.
+
+stdenv.mkDerivation {
+  name = "jom-1.0.11";
+
+  src = fetchgit {
+    url = git://gitorious.org/qt-labs/jom.git;
+    rev = "c91a204b05f97eef3c73aaaba3036e20f79fd487";
+    sha256 = "6d3ac84f83bb045213903d9d5340c0447c8fe41671d1dcdeae5c40b66d62ccbf";
+  };
+
+  buildInputs = [ qt48 ];
+  buildNativeInputs = [ flex /*cmake*/ ];
+
+  QTDIR = qt48;
+  configurePhase = ''
+    qmake PREFIX=$out
+  '';
+  
+  crossAttrs = {
+    # cmakeFlags = "-DWIN32=1 -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_RC_COMPILER=${stdenv.cross.config}-windres";
+    QTDIR = qt48.hostDrv;
+    preBuild = ''
+      export NIX_CROSS_CFLAGS_COMPILE=-fpermissive
+    '';
+  };
+
+  meta = {
+    homepage = http://qt-project.org/wiki/jom;
+    description = "Clone of nmake supporting multiple independent commands in parallel";
+    license = "GPLv2+"; # Explicitly, GPLv2 or GPLv3, but not later.
+  };
+}
diff --git a/pkgs/os-specific/windows/mingw-w64/default.nix b/pkgs/os-specific/windows/mingw-w64/default.nix
new file mode 100644
index 000000000000..c358565c4551
--- /dev/null
+++ b/pkgs/os-specific/windows/mingw-w64/default.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchurl, binutilsCross ? null, gccCross ? null, onlyHeaders ? false}:
+
+let
+  name = "mingw-w64-2.0.3";
+in
+stdenv.mkDerivation (rec {
+  inherit name;
+
+  src = fetchurl {
+    url = "mirror://sourceforge/mingw-w64/mingw-w64-v2.0.3.tar.gz";
+    sha256 = "043jk6z90f9pxs9kfn6ckh2vlnbgcv6yfbp5ybahrj3z58dcijp5";
+  };
+
+  # I don't know what's that $host directory about, I put the
+  # files inside include as usual.
+  postInstall = ''
+    rmdir $out/include
+    mv $out/x86_64-w64-mingw32/* $out
+    rm -R $out/x86_64-w64-mingw32
+  '';
+} //
+(if onlyHeaders then {
+  name = name + "-headers";
+  preConfingure = ''
+    cd mingw-w64-headers
+  '';
+  configureFlags = "--without-crt --host=x86_64-w64-mingw32";
+} else {
+  buildInputs = [ gccCross binutilsCross ];
+
+  crossConfig = gccCross.crossConfig;
+
+  dontStrip = true;
+})
+)
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 819bb30c5a61..cdd8704739b6 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, openssl, libtool, perl, libxml2 }:
 
 let
-  version = "9.7.2-P3";
+  version = "9.7.6-P1";
 in
 stdenv.mkDerivation rec {
 
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://ftp.isc.org/isc/bind9/${version}/${name}.tar.gz";
-    sha256 = "0zpvmgs75lisw746wccm2r428dmd4vv5s1pc512lyrmycr3mz56d";
+    sha256 = "1xp7c3fpi3b6y1bz77mf7c98ic7rxp5lpwlmzqwsdrllip33qw1k";
   };
 
   patchPhase = ''
diff --git a/pkgs/servers/elasticmq/default.nix b/pkgs/servers/elasticmq/default.nix
new file mode 100644
index 000000000000..3d0324775f89
--- /dev/null
+++ b/pkgs/servers/elasticmq/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, jre, makeWrapper, which }:
+
+stdenv.mkDerivation rec {
+  name = "elasticmq-0.5";
+
+  src = fetchurl {
+    url = "https://github.com/downloads/adamw/elasticmq/${name}.tar.gz";
+    sha256 = "1zpv3vzairprh4x9fia82qqr14kf5hpxq1r90mn4ww7ighbv9pf1";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase =
+    ''
+      mkdir -p $out/bin
+      cp -prd lib conf $out/
+      
+      cp bin/run.sh $out/bin/elasticmq
+      substituteInPlace $out/bin/elasticmq --replace '-DBASEDIR=$BASEDIR' '-DBASEDIR=''${ELASTICMQ_DATA_PREFIX:-.}'
+
+      wrapProgram $out/bin/elasticmq --prefix PATH : "${which}/bin:${jre}/bin"
+    '';
+
+  meta = {
+    homepage = https://github.com/adamw/elasticmq;
+    description = "Message queueing system with Java, Scala and Amazon SQS-compatible interfaces";
+    longDescription =
+      ''
+        ElasticMQ is a message queueing system with Java, Scala and
+        Amazon SQS-compatible interfaces.  You should set the
+        environment ELASTICMQ_DATA_PREFIX to a writable directory
+        where ElasticMQ will store its data and log files.  It also
+        looks for its configuration file in
+        $ELASTICMQ_DATA_PREFIX/conf/Default.scala.  You can use the
+        Default.scala included in the distribution as a template.
+      '';
+    license = "APLv2";
+  };
+}
diff --git a/pkgs/servers/http/apache-httpd/default.nix b/pkgs/servers/http/apache-httpd/2.2.nix
index 1f5e1ae69bce..f2a21ee28be2 100644
--- a/pkgs/servers/http/apache-httpd/default.nix
+++ b/pkgs/servers/http/apache-httpd/2.2.nix
@@ -2,10 +2,14 @@
 , sslSupport, proxySupport ? true
 , apr, aprutil, pcre
 , ldapSupport ? true, openldap
+, # Multi-processing module to use.  This is built into the server and
+  # cannot be selected at runtime.
+  mpm ? "prefork"
 }:
 
 assert sslSupport -> openssl != null;
 assert ldapSupport -> aprutil.ldapSupport && openldap != null;
+assert mpm == "prefork" || mpm == "worker" || mpm == "event";
 
 stdenv.mkDerivation rec {
   version = "2.2.22";
@@ -24,6 +28,9 @@ stdenv.mkDerivation rec {
   # passing simply CFLAGS did not help, then I go by NIX_CFLAGS_COMPILE
   NIX_CFLAGS_COMPILE = "-iquote ${apr}/include/apr-1";
 
+  # Required for ‘pthread_cancel’.
+  NIX_LDFLAGS = "-lgcc_s";
+
   configureFlags = ''
     --with-z=${zlib}
     --with-pcre=${pcre}
@@ -32,8 +39,11 @@ stdenv.mkDerivation rec {
     ${if proxySupport then "--enable-proxy" else ""}
     ${if sslSupport then "--enable-ssl --with-ssl=${openssl}" else ""}
     ${if ldapSupport then "--enable-ldap --enable-authnz-ldap" else ""}
+    --with-mpm=${mpm}
   '';
 
+  enableParallelBuilding = true;
+
   postInstall = ''
     echo "removing manual"
     rm -rf $out/manual
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
new file mode 100644
index 000000000000..c9161bf59093
--- /dev/null
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, perl, zlib, apr, aprutil, pcre
+, proxySupport ? true
+, sslSupport ? true, openssl
+, ldapSupport ? true, openldap
+, libxml2Support ? true, libxml2
+, luaSupport ? false, lua5
+}:
+
+let optional       = stdenv.lib.optional;
+    optionalString = stdenv.lib.optionalString;
+in
+
+assert sslSupport -> aprutil.sslSupport && openssl != null;
+assert ldapSupport -> aprutil.ldapSupport && openldap != null;
+
+stdenv.mkDerivation rec {
+  version = "2.4.2";
+  name = "apache-httpd-${version}";
+
+  src = fetchurl {
+    url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
+    sha1 = "8d391db515edfb6623c0c7c6ce5c1b2e1f7c64c2";
+  };
+
+  buildInputs = [perl] ++
+    optional ldapSupport openldap ++    # there is no --with-ldap flag
+    optional libxml2Support libxml2;    # there is --with-libxml2, but it doesn't work
+
+  # Required for ‘pthread_cancel’.
+  NIX_LDFLAGS = "-lgcc_s";
+
+  configureFlags = ''
+    --with-apr=${apr}
+    --with-apr-util=${aprutil}
+    --with-z=${zlib}
+    --with-pcre=${pcre}
+    --disable-maintainer-mode
+    --disable-debugger-mode
+    --enable-mods-shared=all
+    --enable-mpms-shared=all
+    ${optionalString proxySupport "--enable-proxy"}
+    ${optionalString sslSupport "--enable-ssl --with-ssl=${openssl}"}
+    ${optionalString luaSupport "--enable-lua --with-lua=${lua5}"}
+  '';
+
+  postInstall = ''
+    echo "removing manual"
+    rm -rf $out/manual
+  '';
+
+  enableParallelBuilding = true;
+
+  passthru = {
+    inherit apr aprutil sslSupport proxySupport ldapSupport;
+  };
+
+  meta = {
+    description = "Apache HTTPD, the world's most popular web server";
+    homepage = "http://httpd.apache.org/";
+    license = stdenv.lib.licenses.asl20;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+}
diff --git a/pkgs/servers/mail/dovecot/2.0.nix b/pkgs/servers/mail/dovecot/2.x.nix
index 80cb237f6df9..294a58b4f24b 100644
--- a/pkgs/servers/mail/dovecot/2.0.nix
+++ b/pkgs/servers/mail/dovecot/2.x.nix
@@ -1,13 +1,13 @@
 {stdenv, fetchurl, openssl, pam, bzip2, zlib}:
 
-stdenv.mkDerivation {
-  name = "dovecot-2.0.15";
+stdenv.mkDerivation rec {
+  name = "dovecot-2.1.7";
 
   buildInputs = [openssl pam bzip2 zlib];
 
   src = fetchurl {
-    url = http://dovecot.org/releases/2.0/dovecot-2.0.15.tar.gz;
-    sha256 = "03byp6alxxk65qfjjnqp6kcncs5cdiqgskx90nk9kcnynl1h6r33";
+    url = "http://dovecot.org/releases/2.1/${name}.tar.gz";
+    sha256 = "0lpldhs0nvy6rxabqkp14wzcwf1cx4jvnbp1xcm74izrzxhvrdym";
   };
 
   # It will hardcode this for /var/lib/dovecot.
diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix
new file mode 100644
index 000000000000..8f22d08b7592
--- /dev/null
+++ b/pkgs/servers/mail/spamassassin/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, buildPerlPackage, perl, HTMLParser, NetDNS, NetAddrIP, DBFile
+, HTTPDate, MailDKIM
+}:
+
+# TODO:
+#
+#  - Mail::SPF
+#  - IP::Country
+#  - Razor2
+#  - Net::Ident
+#  - DBI
+#  - LWP::UserAgent
+#  - Encode::Detect
+
+buildPerlPackage rec {
+  name = "SpamAssassin-3.3.2";
+
+  src = fetchurl {
+    url = "http://apache.imsam.info/spamassassin/source/Mail-${name}.tar.bz2";
+    sha256 = "01d2jcpy423zfnhg123wlhzysih1hmb93nxfspiaajzh9r5rn8y7";
+  };
+
+  propagatedBuildInputs = [ HTMLParser NetDNS NetAddrIP DBFile
+    HTTPDate MailDKIM ];
+
+  makeFlags = "PERL_BIN=${perl}/bin/perl";
+
+  doCheck = false;
+
+  meta = {
+    homepage = "http://spamassassin.apache.org/";
+    description = "Open-Source Spam Filter";
+    license = stdenv.lib.licenses.asl20;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+}
diff --git a/pkgs/servers/monitoring/net-snmp/default.nix b/pkgs/servers/monitoring/net-snmp/default.nix
new file mode 100644
index 000000000000..190c48ba56ed
--- /dev/null
+++ b/pkgs/servers/monitoring/net-snmp/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, file, openssl, perl }:
+
+stdenv.mkDerivation rec {
+  name = "net-snmp-5.7.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/net-snmp/${name}.tar.gz";
+    sha256 = "07qqdgs3flraqccwry4a4x23jcg6vfi0rqj7clsibdv51ijwjwbw";
+  };
+
+  preConfigure =
+    ''
+      perlversion=$(perl -e 'use Config; print $Config{version};')
+      perlarchname=$(perl -e 'use Config; print $Config{archname};')
+      installFlags="INSTALLSITEARCH=$out/lib/perl5/site_perl/$perlversion/$perlarchname INSTALLSITEMAN3DIR=$out/share/man/man3"
+    '';
+
+  configureFlags =
+    [ "--with-default-snmp-version=3"
+      "--with-sys-location=Unknown"
+      "--with-sys-contact=root@unknown"
+      "--with-logfile=/var/log/net-snmpd.log"
+      "--with-persistent-directory=/var/lib/net-snmp"
+    ];
+
+  buildInputs = [ file openssl perl ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Clients and server for the SNMP network monitoring protocol";
+    homepage = http://net-snmp.sourceforge.net/;
+    license = "bsd";
+  };
+}
diff --git a/pkgs/servers/nosql/mongodb/default.nix b/pkgs/servers/nosql/mongodb/default.nix
index 087f7e1daa08..685aeb05ce7c 100644
--- a/pkgs/servers/nosql/mongodb/default.nix
+++ b/pkgs/servers/nosql/mongodb/default.nix
@@ -2,12 +2,14 @@
 
 assert useV8 -> v8 != null;
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
-  name = "mongodb-2.0.4";
+  name = "mongodb-2.0.6";
 
   src = fetchurl {
-    url = "http://downloads.mongodb.org/src/mongodb-src-r2.0.4.tar.gz";
-    sha256 = "1y9qd94qfrp7h1mng7f8hfb36wgj93886d2ifadg8y3pfzr6sab5";
+    url = "http://downloads.mongodb.org/src/mongodb-src-r2.0.6.tar.gz";
+    sha256 = "0kiiz8crx318sdn0wd9d88pzx9s1c6ak2dhd0zw7kl63gmd74wm9";
   };
 
   buildInputs = [scons which boost] ++ stdenv.lib.optional useV8 v8;
@@ -22,11 +24,13 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     export TERM=""
-    scons all --cc=`which gcc` --cxx=`which g++` --libpath=${boost}/lib --cpppath=${boost}/include ${if useV8 then "--usev8" else ""}
+    scons all --cc=`which gcc` --cxx=`which g++` --libpath=${boost}/lib --cpppath=${boost}/include \
+              ${optionalString useV8 "--usev8"}
   '';
 
   installPhase = ''
-    scons install --cc=`which gcc` --cxx=`which g++` --libpath=${boost}/lib --cpppath=${boost}/include --full --prefix=$out
+    scons install --cc=`which gcc` --cxx=`which g++` --libpath=${boost}/lib --cpppath=${boost}/include \
+                  ${optionalString useV8 "--usev8"} --full --prefix=$out
     if [ -d $out/lib64 ]; then
       mv $out/lib64 $out/lib
     fi
diff --git a/pkgs/servers/sip/freeswitch/default.nix b/pkgs/servers/sip/freeswitch/default.nix
index 770dc6d277be..5b341b7deb93 100644
--- a/pkgs/servers/sip/freeswitch/default.nix
+++ b/pkgs/servers/sip/freeswitch/default.nix
@@ -1,14 +1,21 @@
-{ fetchurl, stdenv, ncurses, curl, pkgconfig, gnutls, readline, openssl, perl, libjpeg }:
+{ fetchgit, stdenv, ncurses, curl, pkgconfig, gnutls, readline, openssl, perl, libjpeg
+, libzrtpcpp, autoconf, automake, libtool }:
 
 stdenv.mkDerivation rec {
-  name = "freeswitch-1.0.7";
+  name = "freeswitch-git-0db52e6";
 
-  src = fetchurl {
-    url = http://latest.freeswitch.org/freeswitch-1.0.7.tar.gz;
-    sha256 = "0r7mqsc50y7aqm8arbwiq75ikwfrrfhhzdf9r070snrf3b8qkj8w";
+  src = fetchgit {
+    url = "git://git.freeswitch.org/freeswitch.git";
+    rev = "0db52e6e556fce584f1850c3a3b87c8f46ff87c5";
+    sha256 = "5cc7161c1ba64c5faf3dda2669e9aafd529eaa66be2fd83f284304444bcab9ff";
   };
 
-  buildInputs = [ ncurses curl pkgconfig gnutls readline openssl perl libjpeg ];
+  preConfigure = ''
+    ./bootstrap.sh
+  '';
+
+  buildInputs = [ ncurses curl pkgconfig gnutls readline openssl perl libjpeg
+    autoconf automake libtool libzrtpcpp ];
 
   meta = {
     description = "Cross-Platform Scalable FREE Multi-Protocol Soft Switch";
diff --git a/pkgs/servers/sql/postgresql/8.3.x.nix b/pkgs/servers/sql/postgresql/8.3.x.nix
index c69cb135f7c5..fb4c8302d812 100644
--- a/pkgs/servers/sql/postgresql/8.3.x.nix
+++ b/pkgs/servers/sql/postgresql/8.3.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, ncurses, readline }:
 
-let version = "8.3.18"; in
+let version = "8.3.19"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
   
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "0iip7irc8sqz75w6p52fpdfqs4jlqchpzvp0w5s95w2ri5591d2x";
+    sha256 = "1maq1gjnd111jn45d7k58av1dm273vypvwhhsbhknqywgr5hsvwq";
   };
 
   buildInputs = [ zlib ncurses readline ];
diff --git a/pkgs/servers/sql/postgresql/8.4.x.nix b/pkgs/servers/sql/postgresql/8.4.x.nix
index 8460a8f41d15..14e948d3d4ef 100644
--- a/pkgs/servers/sql/postgresql/8.4.x.nix
+++ b/pkgs/servers/sql/postgresql/8.4.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, ncurses, readline }:
 
-let version = "8.4.11"; in
+let version = "8.4.12"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
   
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "13ww30xv2pwd5hy1x5lsmba4jc59n6f6nz0dc29bb0k2s7qrzg2v";
+    sha256 = "0xqgzi6qrx4g7g8f38hp02qj8grrfnvc33kyijc2hf0qxhqb7dwr";
   };
 
   buildInputs = [ zlib ncurses readline ];
diff --git a/pkgs/servers/sql/postgresql/9.0.x.nix b/pkgs/servers/sql/postgresql/9.0.x.nix
index 5b9c565d802e..a4896d02a3a4 100644
--- a/pkgs/servers/sql/postgresql/9.0.x.nix
+++ b/pkgs/servers/sql/postgresql/9.0.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, readline }:
 
-let version = "9.0.7"; in
+let version = "9.0.8"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
   
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "0cyqlr4c9jl4d786s0h8d45vkx6343f664ys2jamyncb3pbjdgns";
+    sha256 = "1hhb9kaayrs3bqm1afg8g4p9mr3mc8hskrgy24hnwfablsl1p652";
   };
 
   buildInputs = [ zlib readline ];
diff --git a/pkgs/servers/sql/postgresql/9.1.x.nix b/pkgs/servers/sql/postgresql/9.1.x.nix
index 63c7255559c1..8dbaf93df8fd 100644
--- a/pkgs/servers/sql/postgresql/9.1.x.nix
+++ b/pkgs/servers/sql/postgresql/9.1.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, readline }:
 
-let version = "9.1.3"; in
+let version = "9.1.4"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
   
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "1mfmqimd3fvvpw60b0haql510l00nhyfgp4wpkcw2ca0c8580ybs";
+    sha256 = "04lp7hfh8z2n8gzib6b9j1fq70h1s91z2fxn2hlilbdfnf75lyd0";
   };
 
   buildInputs = [ zlib readline ];
diff --git a/pkgs/tools/archivers/dar/default.nix b/pkgs/tools/archivers/dar/default.nix
index f4e962f546c7..ad2269f2add9 100644
--- a/pkgs/tools/archivers/dar/default.nix
+++ b/pkgs/tools/archivers/dar/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib, bzip2, openssl, attr, lzo, libgcrypt, e2fsprogs }:
 
 stdenv.mkDerivation rec {
-  name = "dar-2.4.2";
+  name = "dar-2.4.6";
   
   src = fetchurl {
     url = "mirror://sourceforge/dar/${name}.tar.gz";
-    sha256 = "0cvcy9xccg4wmvbpxyacwppapbq03m3pwjk8b3xmdn2h8lr1pziq";
+    sha256 = "1r83ad32wbdrwxifkw1gdki7z534ggm9hfbmc6jf5lgr5mgkrqbq";
   };
 
   buildInputs = [ zlib bzip2 openssl attr lzo libgcrypt e2fsprogs ];
diff --git a/pkgs/tools/archivers/gnutar/default.nix b/pkgs/tools/archivers/gnutar/default.nix
index 1db426669bb9..4ef973bd56a0 100644
--- a/pkgs/tools/archivers/gnutar/default.nix
+++ b/pkgs/tools/archivers/gnutar/default.nix
@@ -37,4 +37,14 @@ stdenv.mkDerivation (rec {
   # cannot be used as a login shell for now.
 // stdenv.lib.optionalAttrs (stdenv.system == "armv7l-linux") {
   FORCE_UNSAFE_CONFIGURE = 1;
+}
+
+//
+
+{
+  crossAttrs =
+    # XXX: Temporary workaround to allow GNU/Hurd builds with newer libcs.
+    (stdenv.lib.optionalAttrs (stdenv.cross.config == "i586-pc-gnu") {
+      patches = [ ./gets-undeclared.patch ];
+    });
 })
diff --git a/pkgs/tools/archivers/gnutar/gets-undeclared.patch b/pkgs/tools/archivers/gnutar/gets-undeclared.patch
new file mode 100644
index 000000000000..301a09dde128
--- /dev/null
+++ b/pkgs/tools/archivers/gnutar/gets-undeclared.patch
@@ -0,0 +1,26 @@
+This patch is needed to allow builds with newer versions of
+the GNU libc (2.16+).
+
+This is a backport of this patch:
+
+commit 66712c23388e93e5c518ebc8515140fa0c807348
+Author: Eric Blake <eblake@redhat.com>
+Date:   Thu Mar 29 13:30:41 2012 -0600
+
+    stdio: don't assume gets any more
+    
+--- tar-1.26/gnu/stdio.in.h	2012-07-02 14:28:45.000000000 +0200
++++ tar-1.26/gnu/stdio.in.h	2012-07-02 14:28:50.000000000 +0200
+@@ -160,12 +160,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not
+                  "use gnulib module fflush for portable POSIX compliance");
+ #endif
+ 
+-/* It is very rare that the developer ever has full control of stdin,
+-   so any use of gets warrants an unconditional warning.  Assume it is
+-   always declared, since it is required by C89.  */
+-#undef gets
+-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+-
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
+ #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
diff --git a/pkgs/tools/backup/btar/default.nix b/pkgs/tools/backup/btar/default.nix
index 7fe9e5252d80..919b814f60ad 100644
--- a/pkgs/tools/backup/btar/default.nix
+++ b/pkgs/tools/backup/btar/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, librsync }:
 
 stdenv.mkDerivation rec {
-  name = "btar-0.9.2";
+  name = "btar-1.0.1";
   src = fetchurl {
     url = "http://vicerveza.homeunix.net/~viric/soft/btar/${name}.tar.gz";
-    sha256 = "113l5qn3qizxnv2r0w8awnm9agjsmf39fl5w9gcvrxqy021f2jd9";
+    sha256 = "141mqrghqmms6zpbwn9bw98q4rkxfyly950jh8hajq9d2fk5qyn1";
   };
 
   buildInputs = [ librsync ];
diff --git a/pkgs/tools/backup/obnam/default.nix b/pkgs/tools/backup/obnam/default.nix
new file mode 100644
index 000000000000..119633e06387
--- /dev/null
+++ b/pkgs/tools/backup/obnam/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, python, pythonPackages, pycrypto, attr }:
+
+pythonPackages.buildPythonPackage {
+  name = "obnam-1.1";
+  namePrefix = "";
+
+  src = fetchurl rec {
+    url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_1.1.orig.tar.gz";
+    sha256 = "763693e5ea4e8d6a63b1a16c2aacd5fe0dc97abc687c8f0dde5840f77d549349";
+  };
+
+  buildInputs = [ pythonPackages.sphinx attr ];
+  propagatedBuildInputs = [ pycrypto pythonPackages.paramiko pythonPackages.tracing pythonPackages.ttystatus pythonPackages.cliapp pythonPackages.larch ];
+
+  doCheck = false;
+
+  meta = {
+    homepage = http://liw.fi/obnam/;
+    description = "A backup program supporting deduplication, compression and encryption.";
+    maintainers = [ stdenv.lib.maintainers.rickynils ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/cd-dvd/bchunk/default.nix b/pkgs/tools/cd-dvd/bchunk/default.nix
new file mode 100644
index 000000000000..b70ad1fa685b
--- /dev/null
+++ b/pkgs/tools/cd-dvd/bchunk/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "bchunk-1.2.0";
+
+  src = fetchurl {
+    url = "http://he.fi/bchunk/${name}.tar.gz";
+    sha256 = "0pcbyx3689cbl23dcij497hb3q5f1wmki7cxic5nzldx71g9vp5g";
+  };
+
+  preConfigure =
+    ''
+      substituteInPlace Makefile \
+        --replace "-o root -g root" "" \
+        --replace "-o bin -g bin" ""
+    '';
+
+  makeFlags = "PREFIX=$(out) MAN_DIR=$(out)/share/man";
+
+  preInstall = "mkdir -p $out/bin $out/share/man/man1";
+
+  meta = {
+    homepage = http://he.fi/bchunk/;
+    description = "A program that converts CD-ROM images in BIN/CUE format into a set of ISO and CDR tracks";
+  };
+}
diff --git a/pkgs/tools/cd-dvd/vobcopy/default.nix b/pkgs/tools/cd-dvd/vobcopy/default.nix
new file mode 100644
index 000000000000..fd0f131b8c2a
--- /dev/null
+++ b/pkgs/tools/cd-dvd/vobcopy/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, libdvdread, libdvdcss }:
+
+stdenv.mkDerivation rec {
+  name = "vobcopy-1.2.0";
+
+  src = fetchurl {
+    url = "http://www.vobcopy.org/download/${name}.tar.bz2";
+    sha256 = "01l1yihbd73srzghzzx5dgfg3yfb5kml5dix52mq0snhjp8h89c9";
+  };
+
+  buildInputs = [libdvdread libdvdcss];
+  makeFlags   = "DESTDIR=$(out) PREFIX=/";
+
+  meta = {
+    description = "Copies DVD .vob files to harddisk, decrypting them on the way";
+    homepage = http://vobcopy.org/projects/c/c.shtml;
+    license = "GPLv2";
+
+    maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/compression/gzip/default.nix b/pkgs/tools/compression/gzip/default.nix
index b32bbb932e84..e1d6d75da51a 100644
--- a/pkgs/tools/compression/gzip/default.nix
+++ b/pkgs/tools/compression/gzip/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
   name = "gzip-1.4";
 
   src = fetchurl {
@@ -31,3 +31,13 @@ stdenv.mkDerivation rec {
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
 }
+
+//
+
+{
+  crossAttrs =
+    # XXX: Temporary workaround to allow GNU/Hurd builds with newer libcs.
+    (stdenv.lib.optionalAttrs (stdenv.cross.config == "i586-pc-gnu") {
+      patches = [ ./gets-undeclared.patch ];
+    });
+})
diff --git a/pkgs/tools/compression/gzip/gets-undeclared.patch b/pkgs/tools/compression/gzip/gets-undeclared.patch
new file mode 100644
index 000000000000..a09f59b122a2
--- /dev/null
+++ b/pkgs/tools/compression/gzip/gets-undeclared.patch
@@ -0,0 +1,26 @@
+This patch is needed to allow builds with newer versions of
+the GNU libc (2.16+).
+
+This is a backport of this patch:
+
+commit 66712c23388e93e5c518ebc8515140fa0c807348
+Author: Eric Blake <eblake@redhat.com>
+Date:   Thu Mar 29 13:30:41 2012 -0600
+
+    stdio: don't assume gets any more
+    
+--- gzip/lib/stdio.in.h	2012-07-02 14:28:45.000000000 +0200
++++ gzip/lib/stdio.in.h	2012-07-02 14:28:50.000000000 +0200
+@@ -160,12 +160,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not
+                  "use gnulib module fflush for portable POSIX compliance");
+ #endif
+ 
+-/* It is very rare that the developer ever has full control of stdin,
+-   so any use of gets warrants an unconditional warning.  Assume it is
+-   always declared, since it is required by C89.  */
+-#undef gets
+-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+-
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
+ #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
diff --git a/pkgs/tools/compression/lrzip/default.nix b/pkgs/tools/compression/lrzip/default.nix
index d806e9fd24a6..35df411fd0f2 100644
--- a/pkgs/tools/compression/lrzip/default.nix
+++ b/pkgs/tools/compression/lrzip/default.nix
@@ -1,5 +1,11 @@
 {stdenv, fetchurl, zlib, lzo, bzip2, nasm, perl}:
 
+let
+  md5fix = fetchurl {
+    url = "https://github.com/ckolivas/lrzip/commit/9430b6ff4a58adb69ef4cf74f1245fd5b3b313dd.patch";
+    sha256 = "084x4wi3mamcxphzwf43iw287v1ylrk0xjghg6b5k6vgm9gkqlx8";
+  };
+in
 stdenv.mkDerivation rec {
   name = "lrzip-0.612";
 
@@ -10,6 +16,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib lzo bzip2 nasm perl ];
 
+  patches = [ md5fix ];
+
   meta = {
     homepage = http://ck.kolivas.org/apps/lrzip/;
     description = "The CK LRZIP compression program (LZMA + RZIP)";
diff --git a/pkgs/tools/compression/ncompress/default.nix b/pkgs/tools/compression/ncompress/default.nix
index bfdb70c697dc..937cf9875132 100644
--- a/pkgs/tools/compression/ncompress/default.nix
+++ b/pkgs/tools/compression/ncompress/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "ncompress-4.2.4.3";
+  name = "ncompress-4.2.4.4";
 
   builder = ./builder.sh;
 
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/project/ncompress/${name}.tar.gz";
-    sha256 = "1y44ixc1w2vfvj1lm4dkcljlwv882ynrvm5i6l0lg1gf883j246l";
+    sha256 = "0yjiwv1hwb253x3m6r1dq2k7m5c9nz0ib2j7fnm3hark7y6s42xh";
   };
 
   meta = {
diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix
index 6cc767d3e248..bd697d761e01 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.2";
+  name = "e2fsprogs-1.42.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/e2fsprogs/${name}.tar.gz";
-    sha256 = "1gmq3h4hp4hz1zh8yznx9nb0p7yaykb52f7zkpsqbhjawg2zwdhx";
+    sha256 = "0plhvcjynyy5ifih5jr8p2fjymqyl8fj6vj74cmqjyrahi3z6iir";
   };
 
   buildInputs = [ pkgconfig libuuid ];
diff --git a/pkgs/tools/filesystems/grive/default.nix b/pkgs/tools/filesystems/grive/default.nix
new file mode 100644
index 000000000000..a2a8bc572c0d
--- /dev/null
+++ b/pkgs/tools/filesystems/grive/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchgit, cmake, libgcrypt, json_c, curl, expat, boost, binutils }:
+
+stdenv.mkDerivation rec {
+  name = "grive-0.2.0";
+
+  src = fetchgit {
+    url = "https://github.com/Grive/grive.git";
+    rev = "34cb3705288aa83283b370118776ac89393ae5fc";
+    sha256 = "a30ea886bdc159e1004d1207fcac30c277f1177a3b846bdd82326eebff7a0bbe";
+  };
+
+  buildInputs = [cmake libgcrypt json_c curl expat stdenv binutils boost];
+
+  meta = {
+    description = "an open source (experimental) Linux client for Google Drive";
+    homepage = https://github.com/Grive/grive;
+    license = "GPLv2";
+
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix
index 16aefe182831..229802d1d78f 100644
--- a/pkgs/tools/filesystems/xfsprogs/default.nix
+++ b/pkgs/tools/filesystems/xfsprogs/default.nix
@@ -1,13 +1,17 @@
 { stdenv, fetchurl, libtool, gettext, libuuid }:
 
 stdenv.mkDerivation rec {
-  name = "xfsprogs-3.1.3";
+  name = "xfsprogs-3.1.8";
 
   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 = "1mazg6sl4gbm204ndgw585xvcsxg3hg22d989ww6lgmycp635l7s";
+    sha256 = "1aryr6w76hyc1dznfzk0sc5rlr914rr0zh15vyclj1s86wp9wh3l";
   };
 
+  patchPhase = ''
+    sed -i s,/bin/bash,`type -P bash`, install-sh
+  '';
+
   buildInputs = [ libtool gettext libuuid ];
 
   configureFlags = "MAKE=make MSGFMT=msgfmt MSGMERGE=msgmerge XGETTEXT=xgettext ZIP=gzip AWK=gawk --disable-shared";
diff --git a/pkgs/tools/graphics/asymptote/src-for-default.nix b/pkgs/tools/graphics/asymptote/src-for-default.nix
index 1f8a46ae5810..e9d822904afc 100644
--- a/pkgs/tools/graphics/asymptote/src-for-default.nix
+++ b/pkgs/tools/graphics/asymptote/src-for-default.nix
@@ -1,9 +1,7 @@
 rec {
-   version="2.15";
-   name="asymptote-2.15";
-   hash="11y8w2r51g48znqvl1wwrg0wsrwz3194r70aq1mlgq1g0xzln0w9";
-   url="http://downloads.sourceforge.net/project/asymptote/asymptote/${version}/asymptote-${version}.src.tgz";
-   advertisedUrl="http://downloads.sourceforge.net/project/asymptote/asymptote/2.15/asymptote-2.15.src.tgz";
-
-
+   version="2.16";
+   name="asymptote-2.16";
+   hash="1yj8dx320s1ypqbpb2116y4kkc8lwg5q4d49n992ds3g59w98djj";
+   url="http://downloads.sourceforge.net/project/asymptote/${version}/asymptote-${version}.src.tgz";
+   advertisedUrl="http://downloads.sourceforge.net/project/asymptote/2.16/asymptote-2.16.src.tgz";
 }
diff --git a/pkgs/tools/graphics/briss/default.nix b/pkgs/tools/graphics/briss/default.nix
new file mode 100644
index 000000000000..2af2a9a8757e
--- /dev/null
+++ b/pkgs/tools/graphics/briss/default.nix
@@ -0,0 +1,31 @@
+# The releases of this project are apparently precompiled to .jar files.
+
+{ stdenv, fetchurl, jre }:
+
+let
+
+  version = "0.9";
+  sha256 = "45dd668a9ceb9cd59529a9fefe422a002ee1554a61be07e6fc8b3baf33d733d9";
+
+in stdenv.mkDerivation {
+  name = "briss-${version}";
+  src = fetchurl {
+    url = "mirror://sourceforge/briss/briss-${version}.tar.gz";
+    inherit sha256;
+  };
+
+  installPhase = ''
+    mkdir -p "$out/bin";
+    mkdir -p "$out/share";
+    install -D -m444 -t "$out/share" *.jar
+    echo "#!/bin/sh" > "$out/bin/briss"
+    echo "${jre}/bin/java -Xms128m -Xmx1024m -cp \"$out/share/\" -jar \"$out/share/briss-${version}.jar\"" >> "$out/bin/briss"
+    chmod +x "$out/bin/briss"
+  '';
+
+  meta = {
+    homepage = http://sourceforge.net/projects/briss/;
+    description = "Java application for cropping PDF files";
+    license = stdenv.lib.licenses.gpl3;
+  };
+}
diff --git a/pkgs/tools/graphics/exif/default.nix b/pkgs/tools/graphics/exif/default.nix
index 94bf2e2cb0db..a8599980d94d 100644
--- a/pkgs/tools/graphics/exif/default.nix
+++ b/pkgs/tools/graphics/exif/default.nix
@@ -1,12 +1,17 @@
-{stdenv, fetchurl, pkgconfig, libexif, popt}:
+{ stdenv, fetchurl, pkgconfig, libexif, popt }:
 
-stdenv.mkDerivation {
-  name = "exif-0.6.15";
+stdenv.mkDerivation rec {
+  name = "exif-0.6.21";
 
   src = fetchurl {
-    url = mirror://sourceforge/libexif/exif-0.6.15.tar.bz2;
-    sha256 = "19kxl72l1iqq747k58rir7v4ld1676j3dmjdc1pik9hjlgdb1yj1";
+    url = "mirror://sourceforge/libexif/${name}.tar.bz2";
+    sha256 = "1zb9hwdl783d4vd2s2rw642hg8hd6n0mfp6lrbiqmp9jmhlq5rsr";
   };
 
-  buildInputs = [pkgconfig libexif popt];
+  buildInputs = [ pkgconfig libexif popt ];
+  
+  meta = {
+    homepage = http://libexif.sourceforge.net/;
+    description = "A utility to read and manipulate EXIF data in digital photographs";
+  };
 }
diff --git a/pkgs/tools/graphics/ploticus/default.nix b/pkgs/tools/graphics/ploticus/default.nix
index f173f2f1e140..857a86d57af1 100644
--- a/pkgs/tools/graphics/ploticus/default.nix
+++ b/pkgs/tools/graphics/ploticus/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, zlib, libX11, libpng}:
 
 stdenv.mkDerivation {
-  name = "ploticus-2.40";
+  name = "ploticus-2.41";
 
   builder = ./builder.sh;
   src = fetchurl {
-    url = mirror://sourceforge/ploticus/pl240src.tar.gz;
-    sha256 = "1gwppsmfxajrpidjrplkhvq2yy35r9hmigpwjmjqv4r7dj7cnrw8";
+    url = mirror://sourceforge/ploticus/ploticus/2.41/pl241src.tar.gz;
+    sha256 = "ecccb6afcf0008d5b31da2e9e74c448564101eb7b9bbde758a3dca1f2dc8c580";
   };
 
   buildInputs = [zlib libX11 libpng];
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index 597ab802d74e..9d9ea52f3f58 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional selinuxSupport libselinux
     ++ stdenv.lib.optional selinuxSupport libsepol;
 
-  crossAttrs = {
+  crossAttrs = ({
     buildInputs = [ gmp ]
       ++ stdenv.lib.optional aclSupport acl.hostDrv
       ++ stdenv.lib.optional selinuxSupport libselinux.hostDrv
@@ -32,7 +32,14 @@ stdenv.mkDerivation rec {
     # I don't know why it is not properly detected cross building with glibc.
     configureFlags = [ "fu_cv_sys_stat_statfs2_bsize=yes" ];
     doCheck = false;
-  };
+  }
+
+  //
+
+  # XXX: Temporary workaround to allow GNU/Hurd builds with newer libcs.
+  (stdenv.lib.optionalAttrs (stdenv.cross.config == "i586-pc-gnu") {
+    patches = [ ./gets-undeclared.patch ];
+  }));
 
   # The tests are known broken on Cygwin
   # (http://thread.gmane.org/gmane.comp.gnu.core-utils.bugs/19025),
diff --git a/pkgs/tools/misc/coreutils/gets-undeclared.patch b/pkgs/tools/misc/coreutils/gets-undeclared.patch
new file mode 100644
index 000000000000..b6cdc77caa84
--- /dev/null
+++ b/pkgs/tools/misc/coreutils/gets-undeclared.patch
@@ -0,0 +1,71 @@
+This patch is needed to allow builds with newer versions of
+the GNU libc (2.16+).
+
+
+commit 66712c23388e93e5c518ebc8515140fa0c807348
+Author: Eric Blake <eblake@redhat.com>
+Date:   Thu Mar 29 13:30:41 2012 -0600
+
+    stdio: don't assume gets any more
+    
+    Gnulib intentionally does not have a gets module, and now that C11
+    and glibc have dropped it, we should be more proactive about warning
+    any user on a platform that still has a declaration of this dangerous
+    interface.
+    
+    * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
+    support.
+    * modules/stdio (Makefile.am): Likewise.
+    * lib/stdio-read.c (gets): Likewise.
+    * tests/test-stdio-c++.cc: Likewise.
+    * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
+    * lib/stdio.in.h (gets): Make warning occur in more places.
+    * doc/posix-functions/gets.texi (gets): Update documentation.
+    Reported by Christer Solskogen.
+    
+    Signed-off-by: Eric Blake <eblake@redhat.com>
+
+diff --git a/lib/stdio.in.h b/lib/stdio.in.h
+index aa7b599..c377b6e 100644
+--- a/lib/stdio.in.h
++++ b/lib/stdio.in.h
+@@ -698,22 +698,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
+ # endif
+ #endif
+ 
+-#if @GNULIB_GETS@
+-# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
+-#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+-#   undef gets
+-#   define gets rpl_gets
+-#  endif
+-_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
+-_GL_CXXALIAS_RPL (gets, char *, (char *s));
+-# else
+-_GL_CXXALIAS_SYS (gets, char *, (char *s));
+-#  undef gets
+-# endif
+-_GL_CXXALIASWARN (gets);
+ /* It is very rare that the developer ever has full control of stdin,
+-   so any use of gets warrants an unconditional warning.  Assume it is
+-   always declared, since it is required by C89.  */
++   so any use of gets warrants an unconditional warning; besides, C11
++   removed it.  */
++#undef gets
++#if HAVE_RAW_DECL_GETS
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+ #endif
+ 
+@@ -1053,9 +1042,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - "
+ # endif
+ #endif
+ 
+-/* Some people would argue that sprintf should be handled like gets
+-   (for example, OpenBSD issues a link warning for both functions),
+-   since both can cause security holes due to buffer overruns.
++/* Some people would argue that all sprintf uses should be warned about
++   (for example, OpenBSD issues a link warning for it),
++   since it can cause security holes due to buffer overruns.
+    However, we believe that sprintf can be used safely, and is more
+    efficient than snprintf in those safe cases; and as proof of our
+    belief, we use sprintf in several gnulib modules.  So this header
diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix
index 4c19910608e0..1fc03a4ebff1 100644
--- a/pkgs/tools/misc/ethtool/default.nix
+++ b/pkgs/tools/misc/ethtool/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "ethtool-6";
+  name = "ethtool-3.2";
 
   src = fetchurl {
-    url = mirror://sourceforge/gkernel/ethtool/6/ethtool-6.tar.gz;
-    sha256 = "1iml9w4lrrxsg366wzdkw1wnrydpyah0lprwqf4zcxyxwxrzaijh";
+    url = mirror://kernel/software/network/ethtool/ethtool-3.2.tar.xz;
+    sha256 = "0g9ldaba3vwlsmf490j33y3fgsmpfzxlzzblwashl448f8lcfap7";
   };
 
 }
diff --git a/pkgs/tools/misc/figlet/default.nix b/pkgs/tools/misc/figlet/default.nix
index 3f89713918fc..488f8020b639 100644
--- a/pkgs/tools/misc/figlet/default.nix
+++ b/pkgs/tools/misc/figlet/default.nix
@@ -1,14 +1,16 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "figlet-222";
+  name = "figlet-2.2.4";
 
   # some tools can be found here ftp://ftp.figlet.org/pub/figlet/util/
   src = fetchurl {
-    url = ftp://ftp.figlet.org/pub/figlet/program/unix/figlet222.tar.gz;
-    sha256 = "1y22hhwxhnwd6yrjgl5p3p44r22xzrhv9cksj58n85laac6jdfhs";
+    url = ftp://ftp.figlet.org/pub/figlet/program/unix/figlet-2.2.4.tar.gz;
+    sha256 = "19qcmm9cmf78w1z7gbpyj9wmrfjzjl25sax9f2j37sijznrh263f";
   };
 
+  installPhase = "make prefix=$out install";
+
   preConfigure = ''
     mkdir -p $out/{man/man6,bin}
     makeFlags="DESTDIR=$out/bin MANDIR=$out/man/man6 DEFAULTFONTDIR=$out/share/figlet"
diff --git a/pkgs/tools/misc/fortune/default.nix b/pkgs/tools/misc/fortune/default.nix
index 8e44b0998a2b..68f826a9d93b 100644
--- a/pkgs/tools/misc/fortune/default.nix
+++ b/pkgs/tools/misc/fortune/default.nix
@@ -1,20 +1,24 @@
 { stdenv, fetchurl, recode }:
 
 stdenv.mkDerivation {
-  name = "fortune-mod_1.99.1";
+  name = "fortune-mod-1.99.1";
+  
   src = fetchurl {
     url = http://ftp.de.debian.org/debian/pool/main/f/fortune-mod/fortune-mod_1.99.1.orig.tar.gz;
     sha256 = "1kpa2hgbglj5dbfasvl9wc1q3xpl91mqn3sfby46r4rwyzhswlgw";
   };
-  buildInputs = [recode];
+  
+  buildInputs = [ recode ];
+  
   preConfigure = ''
     sed -i "s|/usr/|$out/|" Makefile 
   '';
+  
   postInstall = ''
     ln -s $out/games/fortune $out/bin/fortune
   '';
 
   meta = {
-    description = "fortune is a simple program that displays a pseudorandom message from a database of quotations that first appeared in Version 7 Unix.";
+    description = "A program that displays a pseudorandom message from a database of quotations";
   };
 }
diff --git a/pkgs/tools/misc/logstash/default.nix b/pkgs/tools/misc/logstash/default.nix
new file mode 100644
index 000000000000..b273e4630a3f
--- /dev/null
+++ b/pkgs/tools/misc/logstash/default.nix
@@ -0,0 +1,11 @@
+{ fetchurl }:
+
+let version = "1.1.0"; in
+
+fetchurl {
+  url = "http://semicomplete.com/files/logstash/logstash-${version}-monolithic.jar";
+
+  name = "logstash-${version}.jar";
+
+  sha256 = "03s9g2appsmdg973212dl37ldws36fgsvxi9w1lxbvmmclc4k7vc";
+}
diff --git a/pkgs/tools/misc/pv/default.nix b/pkgs/tools/misc/pv/default.nix
index f39ce5eff9b7..8150e7118dc7 100644
--- a/pkgs/tools/misc/pv/default.nix
+++ b/pkgs/tools/misc/pv/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl } :
 
-stdenv.mkDerivation {
-  name = "pv-1.2.0";
+stdenv.mkDerivation rec {
+  name = "pv-1.3.1";
 
   src = fetchurl {
-    url = http://pipeviewer.googlecode.com/files/pv-1.2.0.tar.bz2;
-    sha256 = "0rn6rpiw7c16pgkhcslax9p1mxkxkmk6ivc9hjmsis7r69niyag3";
+    url = "http://www.ivarch.com/programs/sources/${name}.tar.bz2";
+    sha256 = "1fwvdj663g3jf3rcxi788pv1l7s86sxna78xi2nl5qimng05y8jl";
   };
 
   meta = {
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index cd83ede9df49..4dcab442119d 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -10,11 +10,11 @@ assert sslSupport -> openssl != null;
 assert scpSupport -> libssh2 != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.22.0";
+  name = "curl-7.26.0";
 
   src = fetchurl {
     url = "http://curl.haxx.se/download/${name}.tar.bz2";
-    sha256 = "04ji7v06f33y6plvikwj283ad6fxxxjpm7as9xw25c924f3dm85x";
+    sha256 = "0snj41knvy4xbfirr88l9gq5zjzz0mwlmq0mxbfgqszb2qpjdvgw";
   };
 
   # Zlib and OpenSSL must be propagated because `libcurl.la' contains
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
new file mode 100644
index 000000000000..0a43251dc350
--- /dev/null
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "haproxy-1.4.20";
+  
+  src = fetchurl {
+    url = http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.20.tar.gz;
+    sha256 = "0gi81dg8k3ypljs7ifbppvpfrwrnbafjv41fjpwnyqfwbxa4j2gh";
+  };
+
+  buildInputs = [];
+
+  preConfigure = ''
+    export makeFlags="TARGET=linux26 PREFIX=$out"
+  '';
+  
+  meta = {
+    description = "HAProxy is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications.";
+    homepage = http://haproxy.1wt.eu/;
+  };
+}
diff --git a/pkgs/tools/networking/minidlna/config.patch b/pkgs/tools/networking/minidlna/config.patch
new file mode 100644
index 000000000000..74442a756562
--- /dev/null
+++ b/pkgs/tools/networking/minidlna/config.patch
@@ -0,0 +1,57 @@
+diff -rc minidlna-1.0.24/genconfig.sh minidlna-1.0.24-new/genconfig.sh
+*** minidlna-1.0.24/genconfig.sh	2012-06-24 20:08:26.697884140 +0200
+--- minidlna-1.0.24-new/genconfig.sh	2012-06-24 20:10:44.742874979 +0200
+***************
+*** 38,68 ****
+  
+  ${RM} ${CONFIGFILE}
+  
+- # Detect if there are missing headers
+- # NOTE: This check only works with a normal distro
+- [ ! -e "/usr/include/sqlite3.h" ] && MISSING="libsqlite3 $MISSING"
+- [ ! -e "/usr/include/jpeglib.h" ] && MISSING="libjpeg $MISSING"
+- [ ! -e "/usr/include/libexif/exif-loader.h" ] && MISSING="libexif $MISSING"
+- [ ! -e "/usr/include/id3tag.h" ] && MISSING="libid3tag $MISSING"
+- [ ! -e "/usr/include/ogg/ogg.h" ] && MISSING="libogg $MISSING"
+- [ ! -e "/usr/include/vorbis/codec.h" ] && MISSING="libvorbis $MISSING"
+- [ ! -e "/usr/include/FLAC/metadata.h" ] && MISSING="libflac $MISSING"
+- [ ! -e "/usr/include/ffmpeg/avutil.h" -a \
+-   ! -e "/usr/include/libavutil/avutil.h" -a \
+-   ! -e "/usr/include/ffmpeg/libavutil/avutil.h" ] && MISSING="libavutil $MISSING"
+- [ ! -e "/usr/include/ffmpeg/avformat.h" -a \
+-   ! -e "/usr/include/libavformat/avformat.h" -a \
+-   ! -e "/usr/include/ffmpeg/libavformat/avformat.h" ] && MISSING="libavformat $MISSING"
+- [ ! -e "/usr/include/ffmpeg/avcodec.h" -a \
+-   ! -e "/usr/include/libavcodec/avcodec.h" -a \
+-   ! -e "/usr/include/ffmpeg/libavcodec/avcodec.h" ] && MISSING="libavcodec $MISSING"
+- if [ -n "$MISSING" ]; then
+- 	echo -e "\nERROR!  Cannot continue."
+- 	echo -e "The following required libraries are either missing, or are missing development headers:\n"
+- 	echo -e "$MISSING\n"
+- 	exit 1
+- fi
+- 
+  echo "/* MiniDLNA Project" >> ${CONFIGFILE}
+  echo " * http://sourceforge.net/projects/minidlna/" >> ${CONFIGFILE}
+  echo " * (c) 2008-2009 Justin Maggard" >> ${CONFIGFILE}
+--- 38,43 ----
+diff -rc minidlna-1.0.24/Makefile minidlna-1.0.24-new/Makefile
+*** minidlna-1.0.24/Makefile	2012-06-24 20:16:08.673195909 +0200
+--- minidlna-1.0.24-new/Makefile	2012-06-24 20:16:18.615267052 +0200
+***************
+*** 64,70 ****
+  	$(INSTALL) -d $(ETCINSTALLDIR)
+  	$(INSTALL) --mode=0644 minidlna.conf $(ETCINSTALLDIR)
+  
+! minidlna:	$(BASEOBJS) $(LNXOBJS) $(LIBS)
+  	@echo Linking $@
+  	@$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(BASEOBJS) $(LNXOBJS) $(LIBS)
+  
+--- 64,70 ----
+  	$(INSTALL) -d $(ETCINSTALLDIR)
+  	$(INSTALL) --mode=0644 minidlna.conf $(ETCINSTALLDIR)
+  
+! minidlna:	$(BASEOBJS) $(LNXOBJS) 
+  	@echo Linking $@
+  	@$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(BASEOBJS) $(LNXOBJS) $(LIBS)
+  
diff --git a/pkgs/tools/networking/minidlna/default.nix b/pkgs/tools/networking/minidlna/default.nix
new file mode 100644
index 000000000000..736ca980cfbc
--- /dev/null
+++ b/pkgs/tools/networking/minidlna/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl, libav, flac, libvorbis, libogg, libid3tag, libexif, libjpeg, sqlite }:
+stdenv.mkDerivation rec {
+  name = "minidlna-1.0.24";
+  src = fetchurl {
+    url = mirror://sourceforge/project/minidlna/minidlna/1.0.24/minidlna_1.0.24_src.tar.gz;
+    sha256 = "0hmrrrq7d8940rckwj93bcdpdxxy3qfkjl17j5k31mi37hqc42l4";
+  };
+
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libav}/include/libavutil -I${libav}/include/libavcodec -I${libav}/include/libavformat"
+    export makeFlags="INSTALLPREFIX=$out"
+  '';
+
+  buildInputs = [ libav flac libvorbis libogg libid3tag libexif libjpeg sqlite ];
+  patches = [ ./config.patch ];
+
+  meta = {
+    description = "MiniDLNA Media Server";
+    longDescription = ''
+      MiniDLNA (aka ReadyDLNA) is server software with the aim of being fully 
+      compliant with DLNA/UPnP-AV clients. 
+    '';
+    homepage = http://sourceforge.net/projects/minidlna/;
+    license = stdenv.lib.licenses.gpl2;
+
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/networking/nbd/default.nix b/pkgs/tools/networking/nbd/default.nix
index 987b5d261cd1..97ef0080de21 100644
--- a/pkgs/tools/networking/nbd/default.nix
+++ b/pkgs/tools/networking/nbd/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, glib }:
 
 let
-  name = "nbd-3.0";
+  name = "nbd-3.1.1";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://sourceforge/nbd/${name}.tar.bz2";
-    sha256 = "f7210edfa858f5ae69bdbf76f5467ac9dcaa97074d945e55e2a683e7aa228b93";
+    sha256 = "5cd150b874f966aacf4a9dfe1e9de9b2139b295241ce89bae9f70f9aa844220b";
   };
 
   buildInputs = [ pkgconfig glib ] ++ stdenv.lib.optional (stdenv ? glibc) stdenv.glibc.kernelHeaders;
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 00f37bd61e38..e5bd2ab77e38 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -1,16 +1,20 @@
 { stdenv, fetchurl, intltool, wirelesstools, pkgconfig, dbus_glib, xz
 , udev, libnl1, libuuid, polkit, gnutls, ppp, dhcp, dhcpcd, iptables
-, libgcrypt, dnsmasq, avahi, substituteAll }:
+, libgcrypt, dnsmasq, avahi, bind, perl, substituteAll }:
 
 stdenv.mkDerivation rec {
   name = "network-manager-${version}";
-  version = "0.9.2.0";
+  version = "0.9.4.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/NetworkManager/0.9/NetworkManager-${version}.tar.xz";
-    sha256 = "1pvd49ji7mh8ww2rfbvq6hmmjms5mb7w10fr7ihgzqbg589zjyj3";
+    sha256 = "eb4f124008b3d855a37205d03ef035b7218639cd7332bdae5567095977e93e0f";
   };
 
+  preConfigure = ''
+    substituteInPlace tools/glib-mkenums --replace /usr/bin/perl ${perl}/bin/perl
+  '';
+
   # Right now we hardcode quite a few paths at build time. Probably we should
   # patch networkmanager to allow passing these path in config file. This will
   # remove unneeded build-time dependencies.
@@ -36,7 +40,7 @@ stdenv.mkDerivation rec {
   patches =
     [ ( substituteAll {
         src = ./nixos-purity.patch;
-        inherit avahi dnsmasq ppp;
+        inherit avahi dnsmasq ppp bind;
         glibc = stdenv.gcc.libc;
       })
     ];
@@ -46,6 +50,11 @@ stdenv.mkDerivation rec {
       installFlagsArray=( "sysconfdir=$out/etc" "localstatedir=$out/var" )
     '';
 
+  postInstall =
+    ''
+      mkdir -p $out/lib/NetworkManager
+    '';
+
   meta = with stdenv.lib; {
     homepage = http://projects.gnome.org/NetworkManager/;
     description = "Network configuration and management in an easy way. Desktop environment independent.";
diff --git a/pkgs/tools/networking/network-manager/nixos-purity.patch b/pkgs/tools/networking/network-manager/nixos-purity.patch
index 41f7d3b73516..998c2f25b2b2 100644
--- a/pkgs/tools/networking/network-manager/nixos-purity.patch
+++ b/pkgs/tools/networking/network-manager/nixos-purity.patch
@@ -1,11 +1,11 @@
 diff --git a/src/backends/NetworkManagerExherbo.c b/src/backends/NetworkManagerExherbo.c
-index d7e24cf..aa64210 100644
+index d027789..ef6b646 100644
 --- a/src/backends/NetworkManagerExherbo.c
 +++ b/src/backends/NetworkManagerExherbo.c
-@@ -56,9 +56,9 @@ void nm_system_enable_loopback (void)
-  */
- void nm_system_update_dns (void)
- {
+@@ -41,9 +41,9 @@ void nm_backend_update_dns (void)
+ 	/* Make glibc/nscd aware of any changes to the resolv.conf file by
+ 	 * restarting nscd. Only restart if already running.
+ 	 */
 -	if (g_file_test ("/usr/sbin/nscd", G_FILE_TEST_IS_EXECUTABLE)) {
 +	if (g_file_test ("@glibc@/sbin/nscd", G_FILE_TEST_IS_EXECUTABLE)) {
  		nm_log_info (LOGD_DNS, "Clearing nscd hosts cache.");
@@ -15,7 +15,7 @@ index d7e24cf..aa64210 100644
  }
  
 diff --git a/src/dhcp-manager/nm-dhcp-dhclient.c b/src/dhcp-manager/nm-dhcp-dhclient.c
-index 88136a9..b4113a9 100644
+index 0932139..5b5aee8 100644
 --- a/src/dhcp-manager/nm-dhcp-dhclient.c
 +++ b/src/dhcp-manager/nm-dhcp-dhclient.c
 @@ -68,10 +68,6 @@ const char *
@@ -44,8 +44,23 @@ index 237661f..48bc33f 100644
  		NULL
  	};
  	const char **path = dhcpcd_paths;
+diff --git a/src/dns-manager/nm-dns-bind.c b/src/dns-manager/nm-dns-bind.c
+index 1a3243b..a47dccd 100644
+--- a/src/dns-manager/nm-dns-bind.c
++++ b/src/dns-manager/nm-dns-bind.c
+@@ -51,9 +51,7 @@ static inline const char *
+ find_bind (void)
+ {
+ 	static const char *paths[] = {
+-		"/usr/local/sbin/named",
+-		"/usr/sbin/named",
+-		"/sbin/named",
++		"@bind@/sbin/named",
+ 		NULL
+ 	};
+ 	const char **binary = paths;
 diff --git a/src/dns-manager/nm-dns-dnsmasq.c b/src/dns-manager/nm-dns-dnsmasq.c
-index 2767208..6562015 100644
+index 8e216f4..6e00210 100644
 --- a/src/dns-manager/nm-dns-dnsmasq.c
 +++ b/src/dns-manager/nm-dns-dnsmasq.c
 @@ -52,9 +52,7 @@ static inline const char *
@@ -60,7 +75,7 @@ index 2767208..6562015 100644
  	};
  	const char **binary = paths;
 diff --git a/src/dnsmasq-manager/nm-dnsmasq-manager.c b/src/dnsmasq-manager/nm-dnsmasq-manager.c
-index ca2f9dc..7afb118 100644
+index ca2f9dc..ce718d0 100644
 --- a/src/dnsmasq-manager/nm-dnsmasq-manager.c
 +++ b/src/dnsmasq-manager/nm-dnsmasq-manager.c
 @@ -170,9 +170,7 @@ static inline const char *
@@ -75,11 +90,11 @@ index ca2f9dc..7afb118 100644
  	};
  
 diff --git a/src/nm-device.c b/src/nm-device.c
-index 3522ea4..75b2db3 100644
+index 1dc94ee..e60f3c8 100644
 --- a/src/nm-device.c
 +++ b/src/nm-device.c
-@@ -1285,8 +1285,7 @@ aipd_exec (NMDevice *self, GError **error)
- 	gboolean success = FALSE;
+@@ -1321,8 +1321,7 @@ aipd_start (NMDevice *self, NMDeviceStateReason *reason)
+ 	char *argv[6], *cmdline;
  	const char **aipd_binary = NULL;
  	static const char *aipd_paths[] = {
 -		"/usr/sbin/avahi-autoipd",
@@ -88,7 +103,7 @@ index 3522ea4..75b2db3 100644
  		NULL
  	};
  	int i = 0;
-@@ -2446,7 +2445,7 @@ share_init (void)
+@@ -2555,7 +2554,7 @@ share_init (void)
  	}
  
  	for (iter = modules; *iter; iter++) {
@@ -98,7 +113,7 @@ index 3522ea4..75b2db3 100644
  		GError *error = NULL;
  
 diff --git a/src/ppp-manager/nm-ppp-manager.c b/src/ppp-manager/nm-ppp-manager.c
-index e863aab..27c14e2 100644
+index 59698c3..7dba0f7 100644
 --- a/src/ppp-manager/nm-ppp-manager.c
 +++ b/src/ppp-manager/nm-ppp-manager.c
 @@ -661,9 +661,7 @@ static inline const char *
@@ -112,7 +127,7 @@ index e863aab..27c14e2 100644
  		NULL
  	};
  
-@@ -992,7 +990,7 @@ nm_ppp_manager_start (NMPPPManager *manager,
+@@ -988,7 +986,7 @@ nm_ppp_manager_start (NMPPPManager *manager,
  
  	/* Make sure /dev/ppp exists (bgo #533064) */
  	if (stat ("/dev/ppp", &st) || !S_ISCHR (st.st_mode))
diff --git a/pkgs/tools/networking/p2p/libtorrent/default.nix b/pkgs/tools/networking/p2p/libtorrent/default.nix
index 76aedf1c0ef9..fb0a889d3eeb 100644
--- a/pkgs/tools/networking/p2p/libtorrent/default.nix
+++ b/pkgs/tools/networking/p2p/libtorrent/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, openssl, libsigcxx }:
 
 let
-  version = "0.12.9";
+  version = "0.13.2";
 in
 stdenv.mkDerivation {
   name = "libtorrent-${version}";
 
   src = fetchurl {
     url = "http://libtorrent.rakshasa.no/downloads/libtorrent-${version}.tar.gz";
-    sha256 = "0r5gjh2kc6fdimh5xxg7qsx2390cxw4fz6srgr20y1sxsj6rxp0m";
+    sha256 = "ed2f2dea16c29cac63fa2724f6658786d955f975861fa6811bcf1597ff8a5e4f";
   };
 
   buildInputs = [ pkgconfig openssl libsigcxx ];
diff --git a/pkgs/tools/networking/p2p/rtorrent/default.nix b/pkgs/tools/networking/p2p/rtorrent/default.nix
index ae52865eace8..b503c1d91521 100644
--- a/pkgs/tools/networking/p2p/rtorrent/default.nix
+++ b/pkgs/tools/networking/p2p/rtorrent/default.nix
@@ -2,21 +2,22 @@
 , zlib, openssl }:
 
 let
-  version = "0.8.9";
+  version = "0.9.2";
 in
 stdenv.mkDerivation {
   name = "rtorrent-${version}";
 
   src = fetchurl {
     url = "http://libtorrent.rakshasa.no/downloads/rtorrent-${version}.tar.gz";
-    sha256 = "cca70eb36a0c176bbd6fdb3afe2bc9f163fa4c9377fc33bc29689dec60cf6d84";
+    sha256 = "5c8f8c780bee376afce3c1cde2f5ecb928f40bac23b2b8171deed5cf3c888c3d";
   };
 
   buildInputs = [ libtorrent ncurses pkgconfig libsigcxx curl zlib openssl ];
 
   postInstall = ''
-    mkdir -p $out/share/man/man1
+    mkdir -p $out/share/man/man1 $out/share/rtorrent
     mv doc/rtorrent.1 $out/share/man/man1/rtorrent.1
+    mv doc/rtorrent.rc $out/share/rtorrent/rtorrent.rc
   '';
 
   meta = {
diff --git a/pkgs/tools/networking/p2p/seeks/default.nix b/pkgs/tools/networking/p2p/seeks/default.nix
index bce4b0687bac..43c189f36a91 100644
--- a/pkgs/tools/networking/p2p/seeks/default.nix
+++ b/pkgs/tools/networking/p2p/seeks/default.nix
@@ -2,13 +2,13 @@
 , pkgconfig, protobuf, tokyocabinet, tokyotyrant, opencv
 }:
 
-let version = "0.4.0"; in
+let version = "0.4.1"; in
 stdenv.mkDerivation {
   name = "seeks-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/seeks/hippy/seeks-${version}.tar.gz";
-    sha256 = "1y91dmd0b0yj5036x8kk92iy88dsnzdwhhz23ba9lp96vpafd2ky";
+    sha256 = "1ppbbjw1zffxxhyvy64xwsff9xlw9wigqb7qwq5iw5mhbblz545q";
   };
 
   buildInputs =
diff --git a/pkgs/tools/networking/proxychains/default.nix b/pkgs/tools/networking/proxychains/default.nix
index 6ea12f262b4d..e2eeb73fc649 100644
--- a/pkgs/tools/networking/proxychains/default.nix
+++ b/pkgs/tools/networking/proxychains/default.nix
@@ -1,13 +1,12 @@
-{ stdenv, fetchurl } :
+{ stdenv, fetchgit } :
 stdenv.mkDerivation {
-  name = "proxychains-3.1";
-  src = fetchurl {
-    url = mirror://sourceforge/proxychains/proxychains-3.1.tar.gz;
-    sha256 = "9a27657fe9f6e17de9e402ba5c60f9954e7e79fb270c1ef242770f3c01d8515a";
+  name = "proxychains-4.0.1-head";
+  src = fetchgit {
+    url = https://github.com/haad/proxychains.git;
+    rev = "c9b8ce35b24f9d4e80563242b759dff54867163f";
+    sha256 = "4ab73e14c5db6d32d88e0710a9f1b7c9c77b59574a7cf0e9f69f34d8ec9fb643";
   };
 
-  patchPhase = "sed -e s@libproxychains.so@$out/lib/libproxychains.so@ -i proxychains/proxychains";
-
   meta = {
     description = "Proxifier for SOCKS proxies.";
     homepage = http://proxychains.sourceforge.net;
diff --git a/pkgs/tools/package-management/disnix/activation-scripts/default.nix b/pkgs/tools/package-management/disnix/activation-scripts/default.nix
index 23906fb3aff0..beae2e3b5f69 100644
--- a/pkgs/tools/package-management/disnix/activation-scripts/default.nix
+++ b/pkgs/tools/package-management/disnix/activation-scripts/default.nix
@@ -18,8 +18,8 @@ assert enableEjabberdDump -> ejabberd != null;
 stdenv.mkDerivation {
   name = "disnix-activation-scripts-0.3pre30423";
   src = fetchurl {
-    url = http://hydra.nixos.org/build/1842091/download/1/disnix-activation-scripts-0.3pre30423.tar.gz;
-    sha256 = "11b569bflknjbjddam4mv07bpmihbfx5acxzxzhnshj6x8sv6064";
+    url = http://hydra.nixos.org/build/2794103/download/1/disnix-activation-scripts-0.3pre30423.tar.gz;
+    sha256 = "1x1702isjnrkvwzycryc8rvjgka4qqmd1dk34pwl51y1l2bxymrx";
   };
   
   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 912248b694c3..8b6ccb787be9 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.0pre2668_46cdc6a";
+  name = "nix-1.1pre2723_1aba0bf";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/2492261/download/4/${name}.tar.bz2";
-    sha256 = "d9a1cfbee1670bc700593d81211c47eb8d7623aa9699d18a414ecaddccabfa1a";
+    url = "http://hydra.nixos.org/build/2746466/download/4/${name}.tar.bz2";
+    sha256 = "06224ecbde09124eea25bfcafcb06637457bc6ac9a9e332d84e9eaf561599160";
   };
 
   buildNativeInputs = [ perl pkgconfig ];
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
new file mode 100644
index 000000000000..5ac059070801
--- /dev/null
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchurl, pythonPackages, unzip, gamin }:
+
+let version = "0.8.6"; in
+
+pythonPackages.buildPythonPackage {
+  name = "fail2ban-${version}";
+  namePrefix = "";
+
+  src = fetchurl {
+    url = "https://github.com/fail2ban/fail2ban/zipball/${version}";
+    name = "fail2ban-${version}.zip";
+    sha256 = "1linfz5qxmm4225lzi9vawsa79y41d3rcdahvrzlyqlhb02ipd55";
+  };
+
+  buildInputs = [ unzip ];
+
+  pythonPath = [ gamin ];
+
+  preConfigure =
+    ''
+      substituteInPlace setup.cfg \
+        --replace /usr $out
+
+      substituteInPlace setup.py \
+        --replace /etc $out/etc \
+        --replace /var $TMPDIR/var \
+
+      for i in fail2ban-client fail2ban-regex fail2ban-server; do
+        substituteInPlace $i \
+          --replace /usr/share/fail2ban $out/share/fail2ban
+      done
+      
+      for i in config/action.d/sendmail*.conf; do
+        substituteInPlace $i \
+          --replace /usr/sbin/sendmail sendmail \
+          --replace /usr/bin/whois whois
+      done
+    '';
+
+  doCheck = false;
+  
+  installCommand =
+    ''
+      python setup.py install --prefix=$out
+    '';
+
+  meta = {
+    homepage = http://www.fail2ban.org/;
+    description = "A program that scans log files for repeated failing login attempts and bans IP addresses";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+  };
+}
diff --git a/pkgs/tools/security/ossec/default.nix b/pkgs/tools/security/ossec/default.nix
new file mode 100644
index 000000000000..f6f062011ab6
--- /dev/null
+++ b/pkgs/tools/security/ossec/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, which }:
+
+stdenv.mkDerivation {
+  name = "ossec-client-2.6";
+
+  src = fetchurl {
+    url = http://www.ossec.net/files/ossec-hids-2.6.tar.gz;
+
+    sha256 = "0k1b59wdv9h50gbyy88qw3cnpdm8hv0nrl0znm92h9a11i5b39ip";
+  };
+
+  buildInputs = [ which ];
+
+  phases = [ "unpackPhase" "patchPhase" "buildPhase" ];
+
+  patches = [ ./no-root.patch ];
+
+  buildPhase = ''
+    echo "en
+
+agent
+$out
+no
+127.0.0.1
+yes
+yes
+yes
+
+
+"   | ./install.sh
+  '';
+
+  meta = {
+    description = "Open soruce host-based instrusion detection system";
+    homepage = http://www.ossec.net;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+  };
+}
+
diff --git a/pkgs/tools/security/ossec/no-root.patch b/pkgs/tools/security/ossec/no-root.patch
new file mode 100644
index 000000000000..ea6e9c54a9ae
--- /dev/null
+++ b/pkgs/tools/security/ossec/no-root.patch
@@ -0,0 +1,176 @@
+diff -Naur ossec-hids-2.6-orig/install.sh ossec-hids-2.6/install.sh
+--- ossec-hids-2.6-orig/install.sh	2011-07-11 15:36:58.000000000 -0400
++++ ossec-hids-2.6/install.sh	2012-07-09 09:58:57.970692818 -0400
+@@ -119,14 +119,14 @@
+     # Generate the /etc/ossec-init.conf
+     VERSION_FILE="./src/VERSION"
+     VERSION=`cat ${VERSION_FILE}`
+-    chmod 700 ${OSSEC_INIT} > /dev/null 2>&1
+-    echo "DIRECTORY=\"${INSTALLDIR}\"" > ${OSSEC_INIT}
+-    echo "VERSION=\"${VERSION}\"" >> ${OSSEC_INIT}
+-    echo "DATE=\"`date`\"" >> ${OSSEC_INIT}
+-    echo "TYPE=\"${INSTYPE}\"" >> ${OSSEC_INIT}
+-    chmod 600 ${OSSEC_INIT}
+-    cp -pr ${OSSEC_INIT} ${INSTALLDIR}${OSSEC_INIT}
+-    chmod 644 ${INSTALLDIR}${OSSEC_INIT}
++    echo chmod 700 ${OSSEC_INIT} > /dev/null 2>&1
++    echo "DIRECTORY=\"${INSTALLDIR}\"" > ${INSTALLDIR}${OSSEC_INIT}
++    echo "VERSION=\"${VERSION}\"" >> ${INSTALLDIR}${OSSEC_INIT}
++    echo "DATE=\"`date`\"" >> ${INSTALLDIR}${OSSEC_INIT}
++    echo "TYPE=\"${INSTYPE}\"" >> ${INSTALLDIR}${OSSEC_INIT}
++    echo chmod 600 ${OSSEC_INIT}
++    echo cp -pr ${OSSEC_INIT} ${INSTALLDIR}${OSSEC_INIT}
++    echo chmod 644 ${INSTALLDIR}${OSSEC_INIT}
+ 
+ 
+     # If update_rules is set, we need to tweak
+@@ -926,11 +926,6 @@
+         catError "0x1-location";
+     fi
+ 
+-    # Must be root
+-    if [ ! "X$ME" = "Xroot" ]; then
+-        catError "0x2-beroot";
+-    fi
+-
+     # Checking dependencies
+     checkDependencies
+ 
+diff -Naur ossec-hids-2.6-orig/src/InstallAgent.sh ossec-hids-2.6/src/InstallAgent.sh
+--- ossec-hids-2.6-orig/src/InstallAgent.sh	2011-07-11 15:36:58.000000000 -0400
++++ ossec-hids-2.6/src/InstallAgent.sh	2012-07-09 09:56:12.061870552 -0400
+@@ -80,7 +80,7 @@
+ else
+     grep "^${USER}" /etc/passwd > /dev/null 2>&1
+     if [ ! $? = 0 ]; then
+-	/usr/sbin/groupadd ${GROUP}
++	echo /usr/sbin/groupadd ${GROUP}
+ 
+     # We first check if /sbin/nologin is present. If it is not,
+     # we look for bin/false. If none of them is present, we
+@@ -93,7 +93,7 @@
+             OSMYSHELL="/bin/false"
+         fi
+     fi        
+-	/usr/sbin/useradd -d ${DIR} -s ${OSMYSHELL} -g ${GROUP} ${USER}
++	echo /usr/sbin/useradd -d ${DIR} -s ${OSMYSHELL} -g ${GROUP} ${USER}
+     fi
+ fi
+ 
+@@ -105,31 +105,31 @@
+ done
+ 
+ # Default for all directories
+-chmod -R 550 ${DIR}
+-chown -R root:${GROUP} ${DIR}
++echo chmod -R 550 ${DIR}
++echo chown -R root:${GROUP} ${DIR}
+ 
+ # To the ossec queue (default for agentd to read)
+-chown -R ${USER}:${GROUP} ${DIR}/queue/ossec
+-chmod -R 770 ${DIR}/queue/ossec
++echo chown -R ${USER}:${GROUP} ${DIR}/queue/ossec
++echo chmod -R 770 ${DIR}/queue/ossec
+ 
+ # For the logging user
+-chown -R ${USER}:${GROUP} ${DIR}/logs
+-chmod -R 750 ${DIR}/logs
+-chmod -R 775 ${DIR}/queue/rids
+-touch ${DIR}/logs/ossec.log
+-chown ${USER}:${GROUP} ${DIR}/logs/ossec.log
+-chmod 664 ${DIR}/logs/ossec.log
+-
+-chown -R ${USER}:${GROUP} ${DIR}/queue/diff
+-chmod -R 750 ${DIR}/queue/diff
+-chmod 740 ${DIR}/queue/diff/* > /dev/null 2>&1
++echo chown -R ${USER}:${GROUP} ${DIR}/logs
++echo chmod -R 750 ${DIR}/logs
++echo chmod -R 775 ${DIR}/queue/rids
++echo touch ${DIR}/logs/ossec.log
++echo chown ${USER}:${GROUP} ${DIR}/logs/ossec.log
++echo chmod 664 ${DIR}/logs/ossec.log
++
++echo chown -R ${USER}:${GROUP} ${DIR}/queue/diff
++echo chmod -R 750 ${DIR}/queue/diff
++echo chmod 740 ${DIR}/queue/diff/* "> /dev/null 2>&1"
+ 
+ 
+ 
+ 
+ # For the etc dir
+-chmod 550 ${DIR}/etc
+-chown -R root:${GROUP} ${DIR}/etc
++echo chmod 550 ${DIR}/etc
++echo chown -R root:${GROUP} ${DIR}/etc
+ 
+ ls /etc/localtime > /dev/null 2>&1
+ if [ $? = 0 ]; then
+@@ -167,25 +167,25 @@
+ cp -pr ../etc/client.keys ${DIR}/etc/ > /dev/null 2>&1
+ cp -pr agentlessd/scripts/* ${DIR}/agentless/
+ 
+-chown root:${GROUP} ${DIR}/etc/internal_options.conf
+-chown root:${GROUP} ${DIR}/etc/local_internal_options.conf > /dev/null 2>&1
+-chown root:${GROUP} ${DIR}/etc/client.keys > /dev/null 2>&1
+-chown root:${GROUP} ${DIR}/agentless/*
+-chown ${USER}:${GROUP} ${DIR}/.ssh
+-chown -R root:${GROUP} ${DIR}/etc/shared
+-
+-chmod 550 ${DIR}/etc
+-chmod 440 ${DIR}/etc/internal_options.conf
+-chmod 440 ${DIR}/etc/local_internal_options.conf > /dev/null 2>&1
+-chmod 440 ${DIR}/etc/client.keys > /dev/null 2>&1
+-chmod -R 770 ${DIR}/etc/shared # ossec must be able to write to it
+-chmod 550 ${DIR}/agentless/*
+-chmod 700 ${DIR}/.ssh
++echo chown root:${GROUP} ${DIR}/etc/internal_options.conf
++echo chown root:${GROUP} ${DIR}/etc/local_internal_options.conf "> /dev/null 2>&1"
++echo chown root:${GROUP} ${DIR}/etc/client.keys "> /dev/null 2>&1"
++echo chown root:${GROUP} ${DIR}/agentless/*
++echo chown ${USER}:${GROUP} ${DIR}/.ssh
++echo chown -R root:${GROUP} ${DIR}/etc/shared
++
++echo chmod 550 ${DIR}/etc
++echo chmod 440 ${DIR}/etc/internal_options.conf
++echo chmod 440 ${DIR}/etc/local_internal_options.conf > /dev/null 2>&1
++echo chmod 440 ${DIR}/etc/client.keys > /dev/null 2>&1
++echo chmod -R 770 ${DIR}/etc/shared # ossec must be able to write to it
++echo chmod 550 ${DIR}/agentless/*
++echo chmod 700 ${DIR}/.ssh
+ 
+ 
+ # For the /var/run
+-chmod 770 ${DIR}/var/run
+-chown root:${GROUP} ${DIR}/var/run
++echo chmod 770 ${DIR}/var/run
++echo chown root:${GROUP} ${DIR}/var/run
+ 
+ 
+ # Moving the binary files
+@@ -201,11 +201,11 @@
+ sh ./init/fw-check.sh execute > /dev/null
+ cp -pr ../active-response/*.sh ${DIR}/active-response/bin/
+ cp -pr ../active-response/firewalls/*.sh ${DIR}/active-response/bin/
+-chmod 755 ${DIR}/active-response/bin/*
+-chown root:${GROUP} ${DIR}/active-response/bin/*
++echo chmod 755 ${DIR}/active-response/bin/*
++echo chown root:${GROUP} ${DIR}/active-response/bin/*
+ 
+-chown root:${GROUP} ${DIR}/bin/*
+-chmod 550 ${DIR}/bin/*
++echo chown root:${GROUP} ${DIR}/bin/*
++echo chmod 550 ${DIR}/bin/*
+ 
+ 
+ # Moving the config file
+@@ -221,8 +221,8 @@
+ else    
+     cp -pr ../etc/ossec-agent.conf ${DIR}/etc/ossec.conf
+ fi
+-chown root:${GROUP} ${DIR}/etc/ossec.conf
+-chmod 440 ${DIR}/etc/ossec.conf
++echo chown root:${GROUP} ${DIR}/etc/ossec.conf
++echo chmod 440 ${DIR}/etc/ossec.conf
+ 
+ 
+ 
diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix
new file mode 100644
index 000000000000..b4ddca4371e6
--- /dev/null
+++ b/pkgs/tools/system/fio/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchgit, libaio }:
+
+stdenv.mkDerivation rec {
+  name = "fio-2.0.8";
+  
+  src = fetchgit {
+    url = git://git.kernel.dk/fio.git;
+    rev = "cf9a74c8bd63d9db5256f1362885c740e11a1fe5";
+    sha256 = "b34de480bbbb9cde221d0c4557ead91790feb825a1e31c4013e222ee7f43e937";
+  };
+  
+  buildInputs = [ libaio ];
+
+  installPhase = ''
+    make install prefix=$out
+  '';
+
+  meta = {
+    homepage = "http://git.kernel.dk/?p=fio.git;a=summary";
+    description = "Flexible IO Tester - an IO benchmark tool";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/tools/system/smartmontools/default.nix b/pkgs/tools/system/smartmontools/default.nix
index 154f6acc09bf..eee0b0de571d 100644
--- a/pkgs/tools/system/smartmontools/default.nix
+++ b/pkgs/tools/system/smartmontools/default.nix
@@ -1,19 +1,18 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
-let
-  name = "smartmontools-5.42";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  name = "smartmontools-5.43";
 
   src = fetchurl {
     url = "mirror://sourceforge/smartmontools/${name}.tar.gz";
-    sha256 = "b664d11e814e114ce3a32a4fa918c9e649c684e2897c007b2a8b92574decc374";
+    sha256 = "d845187d1500b87ef8d2c43772bd0218a59114fe58474a903c56777c9175351e";
   };
 
   meta = {
     description = "Tools for monitoring the health of hard drivers";
-    homepage = http://smartmontools.sourceforge.net/;
-    license = "GPL";
+    homepage = "http://smartmontools.sourceforge.net/";
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/tools/system/ts/default.nix b/pkgs/tools/system/ts/default.nix
index abc04e96c322..a392ed0bcfd3 100644
--- a/pkgs/tools/system/ts/default.nix
+++ b/pkgs/tools/system/ts/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
 
-  name = "ts-0.7.2";
+  name = "ts-0.7.3";
 
   installPhase=''make install "PREFIX=$out"'';
 
@@ -11,8 +11,8 @@ stdenv.mkDerivation {
   };
 
   src = fetchurl {
-    url = http://vicerveza.homeunix.net/~viric/soft/ts/ts-0.7.2.tar.gz;
-    sha256 = "08f9ipg98d6ygzb4fzdm1z157llzh4akipmq14ycfd7l023vidik";
+    url = http://vicerveza.homeunix.net/~viric/soft/ts/ts-0.7.3.tar.gz;
+    sha256 = "1ajgk6y9y9bng5ssdqxwpzw44pmib30vn5284rgga6vr04ppakdy";
   };
 
   meta = {
diff --git a/pkgs/tools/text/diffutils/default.nix b/pkgs/tools/text/diffutils/default.nix
index eae48f2e3a47..086a44675a9a 100644
--- a/pkgs/tools/text/diffutils/default.nix
+++ b/pkgs/tools/text/diffutils/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchurl, coreutils ? null}:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation ({
   name = "diffutils-3.2";
   
   src = fetchurl {
@@ -16,3 +16,13 @@ stdenv.mkDerivation {
     description = "Commands for showing the differences between files (diff, cmp, etc.)";
   };
 }
+
+//
+
+{
+  crossAttrs =
+    # XXX: Temporary workaround to allow GNU/Hurd builds with newer libcs.
+    (stdenv.lib.optionalAttrs (stdenv.cross.config == "i586-pc-gnu") {
+      patches = [ ../../misc/coreutils/gets-undeclared.patch ];
+    });
+})
diff --git a/pkgs/tools/text/gawk/cygwin-identifiers.patch b/pkgs/tools/text/gawk/cygwin-identifiers.patch
new file mode 100644
index 000000000000..baff9b55481d
--- /dev/null
+++ b/pkgs/tools/text/gawk/cygwin-identifiers.patch
@@ -0,0 +1,75 @@
+This patch fixes compilation on Windows, where some of the identifiers
+would clash.
+
+commit 5a0b7f9953f24dc034eca4052214da49fbad8bd0
+Author: Arnold D. Robbins <arnold@skeeve.com>
+Date:   Fri Jul 29 13:25:57 2011 +0300
+
+    Fix DJGPP problem with libsigsegv.
+
+diff --git a/builtin.c b/builtin.c
+index 4d87592..941f5ad 100644
+--- a/builtin.c
++++ b/builtin.c
+@@ -605,7 +605,7 @@ format_tree(
+ 	NODE *arg;
+ 	long fw, prec, argnum;
+ 	int used_dollar;
+-	int lj, alt, big, bigbig, small, have_prec, need_format;
++	int lj, alt, big_flag, bigbig_flag, small_flag, have_prec, need_format;
+ 	long *cur = NULL;
+ 	uintmax_t uval;
+ 	int sgn;
+@@ -725,7 +725,7 @@ format_tree(
+ 		signchar = FALSE;
+ 		zero_flag = FALSE;
+ 		quote_flag = FALSE;
+-		lj = alt = big = bigbig = small = FALSE;
++		lj = alt = big_flag = bigbig_flag = small_flag = FALSE;
+ 		fill = sp;
+ 		cp = cend;
+ 		chbuf = lchbuf;
+@@ -907,7 +907,7 @@ check_pos:
+ 			goto retry;  
+ #endif
+ 		case 'l':
+-			if (big)
++			if (big_flag)
+ 				break;
+ 			else {
+ 				static short warned = FALSE;
+@@ -921,10 +921,10 @@ check_pos:
+ 					goto out;
+ 				}
+ 			}
+-			big = TRUE;
++			big_flag = TRUE;
+ 			goto retry;
+ 		case 'L':
+-			if (bigbig)
++			if (bigbig_flag)
+ 				break;
+ 			else {
+ 				static short warned = FALSE;
+@@ -938,10 +938,10 @@ check_pos:
+ 					goto out;
+ 				}
+ 			}
+-			bigbig = TRUE;
++			bigbig_flag = TRUE;
+ 			goto retry;
+ 		case 'h':
+-			if (small)
++			if (small_flag)
+ 				break;
+ 			else {
+ 				static short warned = FALSE;
+@@ -955,7 +955,7 @@ check_pos:
+ 					goto out;
+ 				}
+ 			}
+-			small = TRUE;
++			small_flag = TRUE;
+ 			goto retry;
+ 		case 'c':
+ 			need_format = FALSE;
diff --git a/pkgs/tools/text/gawk/default.nix b/pkgs/tools/text/gawk/default.nix
index 0c7e85cce4f2..bb6e4e20d244 100644
--- a/pkgs/tools/text/gawk/default.nix
+++ b/pkgs/tools/text/gawk/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, libsigsegv }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
   name = "gawk-4.0.0";
 
   src = fetchurl {
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0sss7rhpvizi2a88h6giv0i7w5h07s2fxkw3s6n1hqvcnhrfgbb0";
   };
 
-  doCheck = true;
+  doCheck = !stdenv.isCygwin;      # XXX: `test-dup2' segfaults on Cygwin 6.1
 
   buildInputs = [ libsigsegv ];
 
@@ -37,3 +37,9 @@ stdenv.mkDerivation rec {
     maintainers = [ stdenv.lib.maintainers.ludo ];
   };
 }
+
+//
+
+stdenv.lib.optionalAttrs stdenv.isCygwin {
+  patches = [ ./cygwin-identifiers.patch ];
+})
diff --git a/pkgs/tools/text/wgetpaste/default.nix b/pkgs/tools/text/wgetpaste/default.nix
index b2da6602dd34..8cfc26d70cc3 100644
--- a/pkgs/tools/text/wgetpaste/default.nix
+++ b/pkgs/tools/text/wgetpaste/default.nix
@@ -10,6 +10,7 @@
 
     prePatch = ''
       substituteInPlace wgetpaste --replace "/usr/bin/env bash" "${bash}/bin/bash"
+      substituteInPlace wgetpaste --replace "LC_ALL=C wget" "LC_ALL=C ${wget}/bin/wget"
     '';
 
     installPhase = ''
diff --git a/pkgs/tools/typesetting/tex/nix/run-latex.sh b/pkgs/tools/typesetting/tex/nix/run-latex.sh
index 2886057c8945..fa27520d11cd 100644
--- a/pkgs/tools/typesetting/tex/nix/run-latex.sh
+++ b/pkgs/tools/typesetting/tex/nix/run-latex.sh
@@ -2,6 +2,7 @@ source $stdenv/setup
 
 mkdir -p $out
 
+export VARTEXFONTS=$TMPDIR/texfonts
 export TEXMFCNF=$TMPDIR:
 echo 'max_print_line = 8192' >> $TMPDIR/texmf.cnf
 
diff --git a/pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix b/pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix
index 1d146aa449e8..a85d4223b714 100644
--- a/pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix
+++ b/pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
   
   src = fetchurl {
     url = http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip;
-    sha256 = "0p0rk3bhk35b3dxdy8wjnbbj5zh1va63yfvdk5jxnzdzplds8v65";
+    sha256 = "15mxjay8pr6cvlmp9hdsg5z7zc15bicjrc30f27rknq72zyhxi8h";
   };
 
   buildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/tools/virtualization/aws/default.nix b/pkgs/tools/virtualization/aws/default.nix
new file mode 100644
index 000000000000..00cc4e7733fb
--- /dev/null
+++ b/pkgs/tools/virtualization/aws/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation {
+  name = "aws-1.75";
+  
+  src = fetchurl {
+    url = https://raw.github.com/timkay/aws/2f2ff99f9f5111ea708ae6cd14d20e264748e72b/aws;
+    sha256 = "0d5asv73a58yb1bb1jpsw3c7asd62y86z5fwpg4llhjzkx79maj6";
+  };
+
+  buildInputs = [ perl ];
+
+  unpackPhase = "true";
+
+  installPhase =
+    ''
+      mkdir -p $out/bin
+      cp $src $out/bin/aws
+      chmod +x $out/bin/aws
+    '';
+
+  meta = {
+    homepage = http://www.timkay.com/aws/;
+    description = "Command-line utility for working with Amazon EC2, S3, SQS, ELB, IAM and SDB";
+    license = "GPLv3+";
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4ec940b6393e..204c844640f9 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -423,6 +423,8 @@ let
     qt4Support = getConfig [ "avahi" "qt4Support" ] false;
   };
 
+  aws = callPackage ../tools/virtualization/aws { };
+
   aws_mturk_clt = callPackage ../tools/misc/aws-mturk-clt { };
 
   axel = callPackage ../tools/networking/axel { };
@@ -435,10 +437,14 @@ let
 
   bc = callPackage ../tools/misc/bc { };
 
+  bchunk = callPackage ../tools/cd-dvd/bchunk { };
+
   bfr = callPackage ../tools/misc/bfr { };
 
   bootchart = callPackage ../tools/system/bootchart { };
 
+  bsod = callPackage ../misc/emulators/bsod { };
+
   btrfsProgs = builderDefsPackage (import ../tools/filesystems/btrfsprogs) {
     inherit (pkgs) libuuid zlib acl attr fetchgit e2fsprogs;
   };
@@ -548,6 +554,10 @@ let
   cron = callPackage ../tools/system/cron {  # see also fcron
   };
 
+  cudatoolkit = callPackage ../development/compilers/cudatoolkit {
+    python = python26;
+  };
+
   curl = makeOverridable (import ../tools/networking/curl) rec {
     fetchurl = fetchurlBoot;
     inherit stdenv zlib openssl libssh2;
@@ -650,7 +660,9 @@ let
 
   efibootmgr = callPackage ../tools/system/efibootmgr { };
 
-  enblendenfuse = callPackage ../tools/graphics/enblend-enfuse { };
+  enblendenfuse = callPackage ../tools/graphics/enblend-enfuse {
+    boost = boost149;
+  };
 
   encfs = callPackage ../tools/filesystems/encfs { };
 
@@ -666,10 +678,11 @@ let
 
   expect = callPackage ../tools/misc/expect { };
 
+  fail2ban = callPackage ../tools/security/fail2ban { };
+
   fakeroot = callPackage ../tools/system/fakeroot { };
 
-  fcron = callPackage ../tools/system/fcron {  # see also cron
-  };
+  fcron = callPackage ../tools/system/fcron { };
 
   fdisk = callPackage ../tools/system/fdisk { };
 
@@ -691,6 +704,8 @@ let
 
   finger_bsd = callPackage ../tools/networking/bsd-finger { };
 
+  fio = callPackage ../tools/system/fio { };
+
   flvstreamer = callPackage ../tools/networking/flvstreamer { };
 
   libbsd = callPackage ../development/libraries/libbsd { };
@@ -805,6 +820,8 @@ let
    */
   graphviz_2_0 = callPackage ../tools/graphics/graphviz/2.0.nix { };
 
+  grive = callPackage ../tools/filesystems/grive { };
+
   groff = callPackage ../tools/text/groff {
     ghostscript = null;
   };
@@ -825,6 +842,8 @@ let
 
   gt5 = callPackage ../tools/system/gt5 { };
 
+  gtkdatabox = callPackage ../development/libraries/gtkdatabox {};
+
   gtkgnutella = callPackage ../tools/networking/p2p/gtk-gnutella { };
 
   gtkvnc = callPackage ../tools/admin/gtk-vnc {};
@@ -849,6 +868,8 @@ let
 
   pigz = callPackage ../tools/compression/pigz { };
 
+  haproxy = callPackage ../tools/networking/haproxy { };
+
   hardlink = callPackage ../tools/system/hardlink { };
 
   halibut = callPackage ../tools/typesetting/halibut { };
@@ -940,6 +961,12 @@ let
 
   less = callPackage ../tools/misc/less { };
 
+  logstash = callPackage ../tools/misc/logstash { };
+
+  klavaro = callPackage ../games/klavaro {};
+
+  minidlna = callPackage ../tools/networking/minidlna { };
+
   most = callPackage ../tools/misc/most { };
 
   netperf = callPackage ../applications/networking/netperf { };
@@ -1037,6 +1064,8 @@ let
 
   mpage = callPackage ../tools/text/mpage { };
 
+  mr = callPackage ../applications/version-management/mr { };
+
   mscgen = callPackage ../tools/graphics/mscgen { };
 
   msf = builderDefsPackage (import ../tools/security/metasploit/3.1.nix) {
@@ -1138,6 +1167,8 @@ let
 
   obexftp = callPackage ../tools/bluetooth/obexftp { };
 
+  obnam = callPackage ../tools/backup/obnam { };
+
   odt2txt = callPackage ../tools/text/odt2txt { };
 
   offlineimap = callPackage ../tools/networking/offlineimap { };
@@ -1175,6 +1206,8 @@ let
 
   optipng = callPackage ../tools/graphics/optipng { };
 
+  ossec = callPackage ../tools/security/ossec {};
+
   p7zip = callPackage ../tools/archivers/p7zip { };
 
   pal = callPackage ../tools/misc/pal { };
@@ -1222,6 +1255,8 @@ let
 
   pdfread = callPackage ../tools/graphics/pdfread { };
 
+  briss = callPackage ../tools/graphics/briss { };
+
   pdnsd = callPackage ../tools/networking/pdnsd { };
 
   pg_top = callPackage ../tools/misc/pg_top { };
@@ -1243,7 +1278,9 @@ let
 
   plan9port = callPackage ../tools/system/plan9port { };
 
-  ploticus = callPackage ../tools/graphics/ploticus { };
+  ploticus = callPackage ../tools/graphics/ploticus {
+    libpng = libpng12;
+  };
 
   plotutils = callPackage ../tools/graphics/plotutils { };
 
@@ -1323,6 +1360,8 @@ let
 
   remind = callPackage ../tools/misc/remind { };
 
+  remmina = callPackage ../applications/networking/remote/remmina {};
+
   replace = callPackage ../tools/text/replace { };
 
   rdiff_backup = callPackage ../tools/backup/rdiff-backup { };
@@ -1399,6 +1438,10 @@ let
 
   smbnetfs = callPackage ../tools/filesystems/smbnetfs {};
 
+  stardict = callPackage ../applications/misc/stardict/stardict.nix {
+    inherit (gnome) libgnomeui scrollkeeper;
+  };
+
   fusesmb = callPackage ../tools/filesystems/fusesmb { };
 
   socat = callPackage ../tools/networking/socat { };
@@ -1449,9 +1492,11 @@ let
 
   tcpdump = callPackage ../tools/networking/tcpdump { };
 
+  /*
   tcng = callPackage ../tools/networking/tcng {
     kernel = linux_2_6_27;
   };
+  */
 
   telnet = callPackage ../tools/networking/telnet { };
 
@@ -1500,7 +1545,9 @@ let
 
   vifm = callPackage ../applications/misc/vifm {};
 
-  viking = callPackage ../applications/misc/viking { };
+  viking = callPackage ../applications/misc/viking {
+    inherit (gnome) scrollkeeper;
+  };
 
   vncrec = builderDefsPackage ../tools/video/vncrec {
     inherit (xlibs) imake libX11 xproto gccmakedep libXt
@@ -1508,6 +1555,8 @@ let
       libXp;
   };
 
+  vobcopy = callPackage ../tools/cd-dvd/vobcopy { };
+
   vorbisgain = callPackage ../tools/misc/vorbisgain { };
 
   vpnc = callPackage ../tools/networking/vpnc { };
@@ -1534,6 +1583,10 @@ let
 
   time = callPackage ../tools/misc/time { };
 
+  tkabber = callPackage ../applications/networking/instant-messengers/tkabber { };
+
+  tkabber_plugins = callPackage ../applications/networking/instant-messengers/tkabber-plugins { };
+
   tm = callPackage ../tools/system/tm { };
 
   trang = callPackage ../tools/text/xml/trang { };
@@ -1847,7 +1900,9 @@ let
 
   gccCrossStageStatic = let
       isMingw = (stdenv.cross.libc == "msvcrt");
-      libcCross1 = if isMingw then windows.mingw_headers1 else null;
+      isMingw64 = isMingw && stdenv.cross.config == "x86_64-w64-mingw32";
+      libcCross1 = if isMingw64 then windows.mingw_w64_headers else
+                   if isMingw then windows.mingw_headers1 else null;
     in
       wrapGCCCross {
       gcc = forceBuildDrv (lib.addMetaAttrs { platforms = []; } (
@@ -1954,10 +2009,10 @@ let
   }));
 
   gcc47 = lowPrio (wrapGCC (lib.overrideDerivation gcc46_debug.gcc (a: {
-    name = "gcc-debug-4.7.0";
+    name = "gcc-debug-4.7.1";
     src = fetchurl {
-      url = "mirror://gnu/gcc/gcc-4.7.0/gcc-4.7.0.tar.bz2";
-      sha256 = "19f9kpqwq75ax3iz1jzzpdqhxrqjk5rbjifdgamnsrbg04z0i056";
+      url = "mirror://gnu/gcc/gcc-4.7.1/gcc-4.7.1.tar.bz2";
+      sha256 = "0vs0v89zzgkngkw2p8kdynyk7j8ky4wf6zyrg3rsschpl1pky28n";
     };
 
     configureFlags = a.configureFlags
@@ -2192,8 +2247,10 @@ let
   # particularly in connection with Hydra builds for all these packages.
   # So we enable it for selected versions only.
 
-  # Current default version: 7.0.4.
-  haskellPackages = haskellPackages_ghc704;
+  # Current default version: 7.4.1.
+  haskellPackages = haskellPackages_ghc741;
+  # Current Haskell platform.
+  haskellPlatform = haskellPackages.haskellPlatform;
 
   haskellPackages_ghc6104             = recurseIntoAttrs (haskell.packages_ghc6104);
   haskellPackages_ghc6121             =                   haskell.packages_ghc6121;
@@ -2202,17 +2259,16 @@ let
   haskellPackages_ghc701              =                   haskell.packages_ghc701;
   haskellPackages_ghc702              =                   haskell.packages_ghc702;
   haskellPackages_ghc703              =                   haskell.packages_ghc703;
+  haskellPackages_ghc704              = recurseIntoAttrs (haskell.packages_ghc704);
+  haskellPackages_ghc721              =                   haskell.packages_ghc721;
+  haskellPackages_ghc722              =                   haskell.packages_ghc722;
   # For the default version, we build profiling versions of the libraries, too.
   # The following three lines achieve that: the first two make Hydra build explicit
   # profiling and non-profiling versions; the final respects the user-configured
   # default setting.
-  haskellPackages_ghc704_no_profiling = recurseIntoAttrs (haskell.packages_ghc704.noProfiling);
-  haskellPackages_ghc704_profiling    = recurseIntoAttrs (haskell.packages_ghc704.profiling);
-  haskellPackages_ghc704              =                   haskell.packages_ghc704.highPrio;
-  haskellPackages_ghc721              =                   haskell.packages_ghc721;
-  haskellPackages_ghc722              =                   haskell.packages_ghc722;
-  haskellPackages_ghc741              = recurseIntoAttrs (haskell.packages_ghc741);
-  haskellPackages_ghc741_pedantic     =                   haskell.packages_ghc741_pedantic;
+  haskellPackages_ghc741_no_profiling = recurseIntoAttrs (haskell.packages_ghc741.noProfiling);
+  haskellPackages_ghc741_profiling    = recurseIntoAttrs (haskell.packages_ghc741.profiling);
+  haskellPackages_ghc741              = recurseIntoAttrs (haskell.packages_ghc741.highPrio);
   # Stable branch snapshot.
   haskellPackages_ghc742              = recurseIntoAttrs (haskell.packages_ghc742);
   # Reasonably current HEAD snapshot.
@@ -2247,9 +2303,11 @@ let
 
   path64 = callPackage ../development/compilers/path64 { };
 
-  openjdkDarwin = callPackage ../development/compilers/openjdk-darwin { };
-
-  openjdk = callPackage ../development/compilers/openjdk { };
+  openjdk =
+    if stdenv.isDarwin then
+      callPackage ../development/compilers/openjdk-darwin { }
+    else
+      callPackage ../development/compilers/openjdk { };
 
   openjre = callPackage ../development/compilers/openjdk {
     jreOnly = true;
@@ -2265,11 +2323,11 @@ let
     assert system == "i686-linux" || system == "x86_64-linux";
     callPackage ../development/compilers/jdk/default-5.nix { });
 
-  jdk       = if stdenv.isDarwin then openjdkDarwin else jdkdistro true  false;
+  jdk       = if stdenv.isDarwin then openjdk else jdkdistro true false;
   jre       = jdkdistro false false;
 
-  jdkPlugin = jdkdistro true true;
-  jrePlugin = jdkdistro false true;
+  jdkPlugin = lowPrio (jdkdistro true true);
+  jrePlugin = lowPrio (jdkdistro false true);
 
   supportsJDK =
     system == "i686-linux" ||
@@ -2294,6 +2352,7 @@ let
   };
 
   llvm = callPackage ../development/compilers/llvm { };
+  llvm_3_1 = callPackage ../development/compilers/llvm/3.1.nix { };
 
   mitscheme = callPackage ../development/compilers/mit-scheme { };
 
@@ -2467,7 +2526,13 @@ let
 
   urweb = callPackage ../development/compilers/urweb { };
 
-  vala = callPackage ../development/compilers/vala { };
+  vala = vala17;
+
+  vala15 = callPackage ../development/compilers/vala/15.2.nix { };
+
+  vala16 = callPackage ../development/compilers/vala/16.1.nix { };
+
+  vala17 = callPackage ../development/compilers/vala/default.nix { };
 
   visualcpp = callPackage ../development/compilers/visual-c++ { };
 
@@ -2732,8 +2797,6 @@ let
 
   ecj = callPackage ../development/eclipse/ecj { };
 
-  ecjDarwin = ecj.override { gcj = openjdkDarwin; ant = antDarwin; };
-
   jdtsdk = callPackage ../development/eclipse/jdt-sdk { };
 
   jruby165 = callPackage ../development/interpreters/jruby { };
@@ -2762,20 +2825,16 @@ let
 
   antlr3 = callPackage ../development/tools/parsing/antlr { };
 
-  antDarwin = apacheAnt.override rec { jdk = openjdkDarwin; name = "ant-" + jdk.name; } ;
-
   ant = apacheAnt;
 
-  apacheAnt = callPackage ../development/tools/build-managers/apache-ant {
-    name = "ant-" + jdk.name;
-  };
+  apacheAnt = callPackage ../development/tools/build-managers/apache-ant { };
 
-  apacheAnt14 = callPackage ../development/tools/build-managers/apache-ant {
-    jdk = j2sdk14x;
-    name = "ant-" + j2sdk14x.name;
-  };
+  apacheAntOpenJDK = apacheAnt.override { jdk = openjdk; };
+
+  apacheAnt14 = apacheAnt.override { jdk = j2sdk14x; };
 
-  apacheAntGcj = callPackage ../development/tools/build-managers/apache-ant/from-source.nix {  # must be either pre-built or built with GCJ *alone*
+  apacheAntGcj = callPackage ../development/tools/build-managers/apache-ant/from-source.nix {
+    # must be either pre-built or built with GCJ *alone*
     gcj = gcj.gcc; # use the raw GCJ, which has ${gcj}/lib/jvm
   };
 
@@ -2787,11 +2846,7 @@ let
 
   autoconf213 = callPackage ../development/tools/misc/autoconf/2.13.nix { };
 
-  automake = automake111x;
-
-  automake17x = callPackage ../development/tools/misc/automake/automake-1.7.x.nix { };
-
-  automake19x = callPackage ../development/tools/misc/automake/automake-1.9.x.nix { };
+  automake = automake112x;
 
   automake110x = callPackage ../development/tools/misc/automake/automake-1.10.x.nix { };
 
@@ -2804,6 +2859,12 @@ let
       && !stdenv.isFreeBSD;
   };
 
+  automake112x = callPackage ../development/tools/misc/automake/automake-1.12.x.nix {
+    doCheck = !stdenv.isArm && !stdenv.isCygwin
+      # Some of the parallel tests seem to hang on `i386-pc-solaris2.11'.
+      && stdenv.system != "i686-solaris";
+  };
+
   automoc4 = callPackage ../development/tools/misc/automoc4 { };
 
   avrdude = callPackage ../development/tools/misc/avrdude { };
@@ -2863,6 +2924,8 @@ let
      wrapGCC (ccache.links extraConfig)) {};
   ccacheStdenv = overrideGCC stdenv ccacheWrapper;
 
+  cgdb = callPackage ../development/tools/misc/cgdb { };
+
   complexity = callPackage ../development/tools/misc/complexity { };
 
   ctags = callPackage ../development/tools/misc/ctags { };
@@ -3031,6 +3094,7 @@ let
      buildNativeInput after the renaming.
      */
   pkgconfig = forceBuildDrv (callPackage ../development/tools/misc/pkgconfig { });
+  pkgconfigUpstream = pkgconfig.override { vanilla = true; };
 
   premake = callPackage ../development/tools/misc/premake { };
 
@@ -3173,23 +3237,16 @@ let
 
   boolstuff = callPackage ../development/libraries/boolstuff { };
 
-  boost142 = callPackage ../development/libraries/boost/1.42.nix { };
   boost144 = callPackage ../development/libraries/boost/1.44.nix { };
   boost146 = callPackage ../development/libraries/boost/1.46.nix { };
   boost147 = callPackage ../development/libraries/boost/1.47.nix { };
-  boost148 = callPackage ../development/libraries/boost/1.48.nix { };
   boost149 = callPackage ../development/libraries/boost/1.49.nix { };
-  boost = boost149;
+  boost150 = callPackage ../development/libraries/boost/1.50.nix { };
+  boost = boost150;
 
   boostHeaders149 = callPackage ../development/libraries/boost/1.49-headers.nix { };
-  boostHeaders = boostHeaders149;
-
-  # A Boost build with all library variants enabled.  Very large (about 250 MB).
-  boostFull = appendToName "full" (boost.override {
-    enableDebug = true;
-    enableSingleThreaded = true;
-    enableStatic = true;
-  });
+  boostHeaders150 = callPackage ../development/libraries/boost/1.50-headers.nix { };
+  boostHeaders = boostHeaders150;
 
   botan = callPackage ../development/libraries/botan { };
 
@@ -3198,6 +3255,8 @@ let
 
   buddy = callPackage ../development/libraries/buddy { };
 
+  bwidget = callPackage ../development/libraries/bwidget { };
+
   caelum = callPackage ../development/libraries/caelum { };
 
   cairomm = callPackage ../development/libraries/cairomm { };
@@ -3273,7 +3332,7 @@ let
   cppunit = callPackage ../development/libraries/cppunit { };
 
   cppnetlib = callPackage ../development/libraries/cppnetlib {
-    boost = boostFull;
+    boost = boostHeaders;
   };
 
   cracklib = callPackage ../development/libraries/cracklib { };
@@ -3521,6 +3580,8 @@ let
   # We can choose:
   libcCrossChooser = name : if (name == "glibc") then glibcCross
     else if (name == "uclibc") then uclibcCross
+    else if (name == "msvcrt" && stdenv.cross.config == "x86_64-w64-mingw32") then
+      windows.mingw_w64
     else if (name == "msvcrt") then windows.mingw_headers3
     else throw "Unknown libc";
 
@@ -3588,6 +3649,13 @@ let
     libart = gnome.libart_lgpl;
   };
 
+  goffice_0_9 = callPackage ../development/libraries/goffice/0.9.nix {
+    inherit (gnome) libglade libgnomeui;
+    gconf = gnome.GConf;
+    libart = gnome.libart_lgpl;
+    gtk = gtk3;
+  };
+
   goocanvas = callPackage ../development/libraries/goocanvas { };
 
   google_perftools = callPackage ../development/libraries/google-perftools { };
@@ -3892,6 +3960,8 @@ let
 
   libdiscid = callPackage ../development/libraries/libdiscid { };
 
+  libdivsufsort = callPackage ../development/libraries/libdivsufsort { };
+
   libdmtx = callPackage ../development/libraries/libdmtx { };
 
   libdnet = callPackage ../development/libraries/libdnet { };
@@ -4181,11 +4251,13 @@ let
 
   libunwind = callPackage ../development/libraries/libunwind { };
 
-  libv4l = callPackage ../development/libraries/libv4l { };
+  libv4l = v4l_utils.override {
+    withQt4 = false;
+  };
 
   libva = callPackage ../development/libraries/libva { };
 
-  libvdpau = callPackage ../development/libraries/libvdpau { };
+  libvdpau = callPackage ../development/libraries/libvdpau { inherit (xlibs) libX11; };
 
   libvirt = callPackage ../development/libraries/libvirt { };
 
@@ -4561,6 +4633,10 @@ let
 
   librdf = callPackage ../development/libraries/librdf { };
 
+  lilv = callPackage ../development/libraries/audio/lilv { };
+
+  lv2 = callPackage ../development/libraries/audio/lv2 { };
+
   qrupdate = callPackage ../development/libraries/qrupdate { };
 
   redland = pkgs.librdf_redland;
@@ -4599,6 +4675,8 @@ let
 
   SDL_ttf = callPackage ../development/libraries/SDL_ttf { };
 
+  serd = callPackage ../development/libraries/serd {};
+
   simgear = callPackage ../development/libraries/simgear {};
 
   sfml_git = callPackage ../development/libraries/sfml { };
@@ -4621,6 +4699,8 @@ let
 
   soqt = callPackage ../development/libraries/soqt { };
 
+  sord = callPackage ../development/libraries/sord {};
+
   speechd = callPackage ../development/libraries/speechd { };
 
   speech_tools = callPackage ../development/libraries/speech-tools {};
@@ -4629,6 +4709,8 @@ let
 
   sphinxbase = callPackage ../development/libraries/sphinxbase { };
 
+  sratom = callPackage ../development/libraries/audio/sratom { };
+
   srtp = callPackage ../development/libraries/srtp {};
 
   sqlite = lowPrio (callPackage ../development/libraries/sqlite {
@@ -4653,6 +4735,8 @@ let
 
   strigi = callPackage ../development/libraries/strigi {};
 
+  suil = callPackage ../development/libraries/audio/suil { };
+
   suitesparse = callPackage ../development/libraries/suitesparse { };
 
   sword = callPackage ../development/libraries/sword { };
@@ -4669,6 +4753,10 @@ let
 
   tclap = callPackage ../development/libraries/tclap {};
 
+  tcllib = callPackage ../development/libraries/tcllib { };
+
+  tcltls = callPackage ../development/libraries/tcltls { };
+
   tcp_wrappers = callPackage ../development/libraries/tcp-wrappers {};
 
   tdb = callPackage ../development/libraries/tdb { };
@@ -4713,6 +4801,8 @@ let
     inherit (pkgs.pythonPackages) numpy;
   };
 
+  vlock = callPackage ../misc/screensavers/vlock { };
+
   vmime = callPackage ../development/libraries/vmime { };
 
   vrpn = callPackage ../development/libraries/vrpn { };
@@ -5031,16 +5121,26 @@ let
 
   rdf4store = callPackage ../servers/http/4store { };
 
-  apacheHttpd = callPackage ../servers/http/apache-httpd {
+  apacheHttpd = pkgs.apacheHttpd_2_2;
+
+  apacheHttpd_2_2 = callPackage ../servers/http/apache-httpd/2.2.nix {
     sslSupport = true;
   };
 
+  apacheHttpd_2_4 = lowPrio (callPackage ../servers/http/apache-httpd/2.4.nix {
+    sslSupport = true;
+  });
+
   sabnzbd = callPackage ../servers/sabnzbd { };
 
   bind = callPackage ../servers/dns/bind {
     inherit openssl libtool perl;
   };
 
+  couchdb = callPackage ../servers/http/couchdb {
+    spidermonkey = spidermonkey_185;
+  };
+
   dico = callPackage ../servers/dico { };
 
   dict = callPackage ../servers/dict { };
@@ -5055,13 +5155,12 @@ let
 
   dovecot = callPackage ../servers/mail/dovecot { };
   dovecot_1_1_1 = callPackage ../servers/mail/dovecot/1.1.1.nix { };
-  dovecot_2_0 = callPackage ../servers/mail/dovecot/2.0.nix { };
+  dovecot_2 = callPackage ../servers/mail/dovecot/2.x.nix { };
+  dovecot_2_0 = pkgs.dovecot_2; # Actually, 2.1
 
   ejabberd = callPackage ../servers/xmpp/ejabberd { };
 
-  couchdb = callPackage ../servers/http/couchdb {
-    spidermonkey = spidermonkey_185;
-  };
+  elasticmq = callPackage ../servers/elasticmq { };
 
   felix = callPackage ../servers/felix { };
 
@@ -5076,7 +5175,7 @@ let
   freeswitch = callPackage ../servers/sip/freeswitch { };
 
   ghostOne = callPackage ../servers/games/ghost-one {
-    boost = boostFull;
+    boost = boost144.override { taggedLayout = true; };
   };
 
   ircdHybrid = callPackage ../servers/irc/ircd-hybrid { };
@@ -5135,7 +5234,10 @@ let
 
   monetdb = callPackage ../servers/sql/monetdb { };
 
-  mongodb = callPackage ../servers/nosql/mongodb { useV8 = (getConfig ["mongodb" "useV8"] false); };
+  mongodb = callPackage ../servers/nosql/mongodb {
+    boost = boost149;
+    useV8 = (getConfig ["mongodb" "useV8"] false);
+  };
 
   mysql4 = import ../servers/sql/mysql {
     inherit fetchurl stdenv ncurses zlib perl;
@@ -5164,6 +5266,8 @@ let
 
   nagiosPluginsOfficial = callPackage ../servers/monitoring/nagios/plugins/official { };
 
+  net_snmp = callPackage ../servers/monitoring/net-snmp { };
+
   oidentd = callPackage ../servers/identd/oidentd { };
 
   openfire = callPackage ../servers/xmpp/openfire { };
@@ -5198,6 +5302,11 @@ let
 
   redstore = callPackage ../servers/http/redstore { };
 
+  spamassassin = callPackage ../servers/mail/spamassassin {
+    inherit (perlPackages) HTMLParser NetDNS NetAddrIP DBFile
+      HTTPDate MailDKIM;
+  };
+
   samba = callPackage ../servers/samba { };
 
   # A lightweight Samba, useful for non-Linux-based OSes.
@@ -5258,6 +5367,8 @@ let
 
   afuse = callPackage ../os-specific/linux/afuse { };
 
+  amdUcode = callPackage ../os-specific/linux/firmware/amd-ucode { };
+
   autofs5 = callPackage ../os-specific/linux/autofs/autofs-v5.nix { };
 
   _915resolution = callPackage ../os-specific/linux/915resolution { };
@@ -5288,6 +5399,10 @@ let
     inherit (perlPackages) LocaleGettext TermReadKey RpcXML;
   };
 
+  b43Firmware_5_1_138 = callPackage ../os-specific/linux/firmware/b43-firmware/5.1.138.nix { };
+
+  b43FirmwareCutter = callPackage ../os-specific/linux/firmware/b43-firmware-cutter { };
+
   bcm43xx = callPackage ../os-specific/linux/firmware/bcm43xx { };
 
   bluez = callPackage ../os-specific/linux/bluez { };
@@ -5296,6 +5411,8 @@ let
 
   bridge_utils = callPackage ../os-specific/linux/bridge-utils { };
 
+  busybox = callPackage ../os-specific/linux/busybox { };
+
   checkpolicy = callPackage ../os-specific/linux/checkpolicy { };
 
   cifs_utils = callPackage ../os-specific/linux/cifs-utils { };
@@ -5482,16 +5599,6 @@ let
       ];
   };
 
-  linux_2_6_27 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.27.nix) {
-    inherit fetchurl perl mktemp module_init_tools;
-    stdenv = overrideGCC (overrideInStdenv stdenv [ gnumake381 ]) gcc45;
-    kernelPatches =
-      [ kernelPatches.fbcondecor_2_6_27
-        kernelPatches.sec_perm_2_6_24
-        kernelPatches.cifs_timeout_2_6_25
-      ];
-  };
-
   linux_2_6_32 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.32.nix) {
     inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
     kernelPatches =
@@ -5510,32 +5617,12 @@ let
       [ kernelPatches.fbcondecor_2_6_31
         kernelPatches.sec_perm_2_6_24
         kernelPatches.aufs2_2_6_32
-        kernelPatches.cifs_timeout
+        kernelPatches.cifs_timeout_2_6_29
         kernelPatches.no_xsave
         kernelPatches.dell_rfkill
       ];
   };
 
-  linux_2_6_32_systemtap = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.32.nix) {
-    inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
-    extraConfig =
-      ''
-        DEBUG_KERNEL y
-        KPROBES y # kernel probes (needs `utrace' for process probes)
-        DEBUG_INFO y
-        RELAY y
-        DEBUG_FS y
-      '';
-    dontStrip = true;
-    kernelPatches =
-      [ kernelPatches.fbcondecor_2_6_31
-        kernelPatches.sec_perm_2_6_24
-        kernelPatches.aufs2_2_6_32
-        kernelPatches.tracehook_2_6_32
-        kernelPatches.utrace_2_6_32
-      ];
-  };
-
   linux_2_6_35 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.35.nix) {
     inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
     kernelPatches =
@@ -5547,34 +5634,6 @@ let
         kernelPatches.sheevaplug_modules_2_6_35;
   };
 
-  linux_nanonote_jz_2_6_34 = makeOverridable
-    (import ../os-specific/linux/kernel/linux-nanonote-jz-2.6.34.nix) {
-      inherit fetchurl fetchsvn stdenv perl mktemp module_init_tools ubootChooser;
-      kernelPatches =
-        [ kernelPatches.aufs2_2_6_34
-        ];
-    };
-
-  linux_nanonote_jz_2_6_35 = makeOverridable
-    (import ../os-specific/linux/kernel/linux-nanonote-jz-2.6.35.nix) {
-      inherit fetchurl fetchsvn stdenv perl mktemp module_init_tools ubootChooser;
-      kernelPatches =
-        [ kernelPatches.aufs2_2_6_35
-        ];
-    };
-
-  linux_nanonote_jz_2_6_36 = makeOverridable
-    (import ../os-specific/linux/kernel/linux-nanonote-jz-2.6.36.nix) {
-      inherit fetchurl fetchsvn stdenv perl mktemp module_init_tools ubootChooser;
-      kernelPatches =
-        [ #kernelPatches.fbcondecor_2_6_35
-          kernelPatches.sec_perm_2_6_24
-          kernelPatches.aufs2_2_6_36
-          kernelPatches.mips_restart_2_6_36
-          kernelPatches.cifs_timeout_2_6_35
-        ];
-    };
-
   linux_2_6_35_oldI686 = linux_2_6_35.override {
     extraConfig = ''
       HIGHMEM64G? n
@@ -5586,27 +5645,6 @@ let
     };
   };
 
-  linux_2_6_38 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.38.nix) {
-    inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
-    kernelPatches =
-      [ kernelPatches.fbcondecor_2_6_38
-        kernelPatches.sec_perm_2_6_24
-        kernelPatches.aufs2_1_2_6_38
-        kernelPatches.cifs_timeout_2_6_38
-      ];
-  };
-
-  linux_2_6_38_ati = linux_2_6_38.override { extraConfig="DRM_RADEON_KMS y"; };
-
-  linux_2_6_39 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.39.nix) {
-    inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
-    kernelPatches =
-      [ #kernelPatches.fbcondecor_2_6_38
-        kernelPatches.sec_perm_2_6_24
-        kernelPatches.aufs2_1_2_6_39
-      ];
-  };
-
   linux_3_0 = makeOverridable (import ../os-specific/linux/kernel/linux-3.0.nix) {
     inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
     kernelPatches =
@@ -5645,6 +5683,18 @@ let
       ];
   };
 
+  linux_3_4 = makeOverridable (import ../os-specific/linux/kernel/linux-3.4.nix) {
+    inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
+    kernelPatches =
+      [ #kernelPatches.fbcondecor_2_6_38
+        kernelPatches.sec_perm_2_6_24
+        kernelPatches.aufs3_4
+      ] ++ lib.optionals (platform.kernelArch == "mips")
+      [ kernelPatches.mips_fpureg_emu
+        kernelPatches.mips_fpu_sigill
+      ];
+  };
+
   /* Linux kernel modules are inherently tied to a specific kernel.  So
      rather than provide specific instances of those packages for a
      specific kernel, we have a function that builds those packages
@@ -5756,21 +5806,14 @@ let
   };
 
   # Build the kernel modules for the some of the kernels.
-  linuxPackages_2_6_27 = recurseIntoAttrs (linuxPackagesFor linux_2_6_27 pkgs.linuxPackages_2_6_27);
   linuxPackages_2_6_32 = recurseIntoAttrs (linuxPackagesFor linux_2_6_32 pkgs.linuxPackages_2_6_32);
-  linuxPackages_2_6_32_systemtap = linuxPackagesFor linux_2_6_32_systemtap pkgs.linuxPackages_2_6_32_systemtap;
   linuxPackages_2_6_32_xen = linuxPackagesFor linux_2_6_32_xen pkgs.linuxPackages_2_6_32_xen;
   linuxPackages_2_6_35 = recurseIntoAttrs (linuxPackagesFor linux_2_6_35 pkgs.linuxPackages_2_6_35);
-  linuxPackages_2_6_38 = recurseIntoAttrs (linuxPackagesFor linux_2_6_38 pkgs.linuxPackages_2_6_38);
-  linuxPackages_2_6_38_ati = linuxPackagesFor linux_2_6_38_ati pkgs.linuxPackages_2_6_38;
-  linuxPackages_2_6_39 = recurseIntoAttrs (linuxPackagesFor linux_2_6_39 pkgs.linuxPackages_2_6_39);
   linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0 pkgs.linuxPackages_3_0);
   linuxPackages_3_1 = recurseIntoAttrs (linuxPackagesFor linux_3_1 pkgs.linuxPackages_3_1);
-  linuxPackages_nanonote_jz_2_6_34 = linuxPackagesFor linux_nanonote_jz_2_6_34 pkgs.linuxPackages_nanonote_jz_2_6_34;
-  linuxPackages_nanonote_jz_2_6_35 = linuxPackagesFor linux_nanonote_jz_2_6_35 pkgs.linuxPackages_nanonote_jz_2_6_35;
-  linuxPackages_nanonote_jz_2_6_36 = linuxPackagesFor linux_nanonote_jz_2_6_36 pkgs.linuxPackages_nanonote_jz_2_6_36;
   linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 pkgs.linuxPackages_3_2);
   linuxPackages_3_3 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_3 pkgs.linuxPackages_3_3);
+  linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 pkgs.linuxPackages_3_4);
 
   # The current default kernel / kernel modules.
   linux = linuxPackages.kernel;
@@ -5871,6 +5914,8 @@ let
 
   pam_login = callPackage ../os-specific/linux/pam_login { };
 
+  pam_ssh_agent_auth = callPackage ../os-specific/linux/pam_ssh_agent_auth { };
+
   pam_unix2 = callPackage ../os-specific/linux/pam_unix2 { };
 
   pam_usb = callPackage ../os-specific/linux/pam_usb { };
@@ -5948,6 +5993,8 @@ let
 
   sysstat = callPackage ../os-specific/linux/sysstat { };
 
+  systemd = callPackage ../os-specific/linux/systemd { };
+
   sysvinit = callPackage ../os-specific/linux/sysvinit { };
 
   sysvtools = callPackage ../os-specific/linux/sysvinit {
@@ -6018,9 +6065,13 @@ let
     inherit ncurses perl;
   };
 
-  v4l_utils = callPackage ../os-specific/linux/v4l-utils {};
+  v4l_utils = callPackage ../os-specific/linux/v4l-utils {
+    withQt4 = true;
+  };
 
   windows = rec {
+    jom = callPackage ../os-specific/windows/jom { };
+
     w32api = callPackage ../os-specific/windows/w32api {
       gccCross = gccCrossStageStatic;
       binutilsCross = binutilsCross;
@@ -6054,6 +6105,15 @@ let
       paths = [ w32api mingw_runtime ];
     };
 
+    mingw_w64 = callPackage ../os-specific/windows/mingw-w64 {
+      gccCross = gccCrossStageStatic;
+      binutilsCross = binutilsCross;
+    };
+
+    mingw_w64_headers = callPackage ../os-specific/windows/mingw-w64 {
+      onlyHeaders = true;
+    };
+
     pthreads = callPackage ../os-specific/windows/pthread-w32 {
       mingw_headers = mingw_headers2;
     };
@@ -6148,6 +6208,8 @@ let
 
   docbook_xsl_ns = callPackage ../data/sgml+xml/stylesheets/xslt/docbook-xsl-ns { };
 
+  dosemu_fonts = callPackage ../data/fonts/dosemu-fonts { };
+
   freefont_ttf = callPackage ../data/fonts/freefont-ttf { };
 
   gentium = callPackage ../data/fonts/gentium {};
@@ -6212,6 +6274,8 @@ let
 
   ttf_bitstream_vera = callPackage ../data/fonts/ttf-bitstream-vera { };
 
+  ubuntu_font_family = callPackage ../data/fonts/ubuntu-font-family { };
+
   ucsFonts = callPackage ../data/fonts/ucs-fonts { };
 
   unifont = callPackage ../data/fonts/unifont { };
@@ -6261,6 +6325,7 @@ let
 
   ardour3 =  lowPrio (callPackage ../applications/audio/ardour/ardour3.nix {
     inherit (gnome) libgnomecanvas libgnomecanvasmm;
+    boost = boost149;
   });
 
   arora = callPackage ../applications/networking/browsers/arora { };
@@ -6301,7 +6366,6 @@ let
   bibletime = callPackage ../applications/misc/bibletime { };
 
   bitcoin = callPackage ../applications/misc/bitcoin {
-    boost = boost144;
     db4 = db48;
   };
 
@@ -6317,6 +6381,10 @@ let
 
   bvi = callPackage ../applications/editors/bvi { };
 
+  calf = callPackage ../applications/audio/calf {
+      inherit (gnome) libglade;
+  };
+
   calibre = callPackage ../applications/misc/calibre { };
 
   carrier = builderDefsPackage (import ../applications/networking/instant-messengers/carrier/2.5.0.nix) {
@@ -6345,14 +6413,13 @@ let
     xulrunner = firefox36Pkgs.xulrunner;
   };
 
-  chrome = lowPrio (callPackage ../applications/networking/browsers/chromium {
-    inherit (gnome) GConf;
-    libpng = libpng12;
+  chromium = lowPrio (callPackage ../applications/networking/browsers/chromium {
+    gconf = gnome.GConf;
   });
 
   chromeWrapper = wrapFirefox
-    { browser = chrome; browserName = "chrome"; desktopName = "Chrome";
-      icon = "${chrome}/libexec/chrome/product_logo_48.png";
+    { browser = chromium; browserName = chromium.packageName; desktopName = "Chromium";
+      icon = "${chromium}/share/icons/hicolor/48x48/apps/${chromium.packageName}.png";
     };
 
   cinelerra = callPackage ../applications/video/cinelerra { };
@@ -6377,7 +6444,10 @@ let
 
   compiz_plugins_extra = callPackage ../applications/window-managers/compiz/plugins-extra.nix { };
 
-  cinepaint = callPackage ../applications/graphics/cinepaint { };
+  cinepaint = callPackage ../applications/graphics/cinepaint {
+    fltk = fltk13;
+    libpng = libpng12;
+  };
 
   codeville = builderDefsPackage (import ../applications/version-management/codeville/0.8.0.nix) {
     inherit makeWrapper;
@@ -6445,7 +6515,7 @@ let
 
   elvis = callPackage ../applications/editors/elvis { };
 
-  emacs = emacs23;
+  emacs = emacs24;
 
   emacs22 = callPackage ../applications/editors/emacs-22 {
     stdenv =
@@ -6486,18 +6556,16 @@ let
     librsvg = null /* if stdenv.isDarwin then null else librsvg */;
   };
 
-  emacs24 = lowPrio (callPackage ../applications/editors/emacs-24 {
-    # use override to select the appropriate gui toolkit
+  emacs24 = callPackage ../applications/editors/emacs-24 {
+    # use override to enable additional features
     libXaw = if stdenv.isDarwin then xlibs.libXaw else null;
     Xaw3d = null;
     gtk = if stdenv.isDarwin then null else gtk;
-    # TODO: these packages don't build on Darwin.
-    gconf = null /* if stdenv.isDarwin then null else gnome.GConf */;
-    librsvg = if stdenv.isDarwin then null else librsvg;
-    # alsa only on linux
-    alsaLib = if stdenv.isLinux then alsaLib else null;
-    imagemagick = imagemagickBig;
-  });
+    gconf = null;
+    librsvg = null;
+    alsaLib = null;
+    imagemagick = null;
+  };
 
   emacsPackages = emacs: self: let callPackage = newScope self; in rec {
     inherit emacs;
@@ -6568,7 +6636,7 @@ let
   };
 
   emacs22Packages = emacsPackages emacs22 pkgs.emacs22Packages;
-  emacs23Packages = recurseIntoAttrs (emacsPackages emacs23 pkgs.emacs23Packages);
+  emacs23Packages = emacsPackages emacs23 pkgs.emacs23Packages;
   emacs24Packages = recurseIntoAttrs (emacsPackages emacs24 pkgs.emacs24Packages);
 
   epdfview = callPackage ../applications/misc/epdfview { };
@@ -6653,23 +6721,17 @@ let
 
   firefox36Wrapper = wrapFirefox { browser = firefox36Pkgs.firefox; };
 
-  firefox10Pkgs = callPackage ../applications/networking/browsers/firefox/10.0.nix {
-    inherit (gnome) libIDL;
-  };
-
-  firefox10Wrapper = wrapFirefox { browser = firefox10Pkgs.firefox; };
-
-  firefox11Pkgs = callPackage ../applications/networking/browsers/firefox/11.0.nix {
+  firefox12Pkgs = callPackage ../applications/networking/browsers/firefox/12.0.nix {
     inherit (gnome) libIDL;
   };
 
-  firefox11Wrapper = wrapFirefox { browser = firefox11Pkgs.firefox; };
+  firefox12Wrapper = wrapFirefox { browser = firefox12Pkgs.firefox; };
 
-  firefox12Pkgs = callPackage ../applications/networking/browsers/firefox/12.0.nix {
+  firefox13Pkgs = callPackage ../applications/networking/browsers/firefox/13.0.nix {
     inherit (gnome) libIDL;
   };
 
-  firefox12Wrapper = wrapFirefox { browser = firefox12Pkgs.firefox; };
+  firefox13Wrapper = lowPrio (wrapFirefox { browser = firefox13Pkgs.firefox; });
 
   flac = callPackage ../applications/audio/flac { };
 
@@ -6715,6 +6777,10 @@ let
     inherit (gnome) libart_lgpl;
   };
 
+  gimp_2_8 = callPackage ../applications/graphics/gimp/2.8.nix {
+    inherit (gnome) libart_lgpl;
+  };
+
   gimpPlugins = recurseIntoAttrs (import ../applications/graphics/gimp/plugins {
     inherit pkgs gimp;
   });
@@ -6760,6 +6826,11 @@ let
     inherit (gnome) GConf;
   };
 
+  gnumeric = callPackage ../applications/office/gnumeric {
+    goffice = goffice_0_9;
+    inherit (gnome) libglade scrollkeeper;
+  };
+
   gnunet08 = callPackage ../applications/networking/p2p/gnunet/0.8.nix {
     inherit (gnome) libglade;
     guile = guile_1_8;
@@ -6814,6 +6885,10 @@ let
     inherit (gnome) GConf;
   };
 
+  gnome_terminator = callPackage ../applications/misc/gnome_terminator {
+    vte = gnome.vte.override { pythonSupport = true; };
+  };
+
   googleearth = callPackage_i686 ../applications/misc/googleearth { };
 
   google_talk_plugin = callPackage ../applications/networking/browsers/mozilla-plugins/google-talk-plugin { };
@@ -6881,10 +6956,7 @@ let
   ikiwiki = callPackage ../applications/misc/ikiwiki {
     inherit (perlPackages) TextMarkdown URI HTMLParser HTMLScrubber
       HTMLTemplate TimeDate CGISession DBFile CGIFormBuilder LocaleGettext
-      RpcXML XMLSimple PerlMagick YAML YAMLLibYAML;
-    gitSupport = false;
-    monotoneSupport = false;
-    extraUtils = [];
+      RpcXML XMLSimple PerlMagick YAML YAMLLibYAML HTMLTree Filechdir;
   };
 
   imagemagick = callPackage ../applications/graphics/ImageMagick {
@@ -6966,6 +7038,7 @@ let
     inherit (perlPackages) ArchiveZip CompressZlib;
     inherit (gnome) GConf ORBit2 gnome_vfs;
     zip = zip.override { enableNLS = false; };
+    boost = boost149;
     fontsConf = makeFontsConf {
       fontDirectories = [
         freefont_ttf xorg.fontmiscmisc xorg.fontbhttf
@@ -6980,7 +7053,9 @@ let
   links = callPackage ../applications/networking/browsers/links { };
 
   ledger = callPackage ../applications/office/ledger/2.6.3.nix { };
-  ledger3 = callPackage ../applications/office/ledger/3.0.nix { };
+  ledger3 = callPackage ../applications/office/ledger/3.0.nix {
+    boost = boost149;
+  };
 
   links2 = callPackage ../applications/networking/browsers/links2 { };
 
@@ -7009,6 +7084,8 @@ let
     pygtk = pyGtkGlade;
   };
 
+  mcomix = callPackage ../applications/graphics/mcomix { };
+
   mercurial = callPackage ../applications/version-management/mercurial {
     inherit (pythonPackages) curses;
     guiSupport = false;		# use mercurialFull to get hgk GUI
@@ -7039,10 +7116,14 @@ let
       icon = "${midori}/share/icons/hicolor/22x22/apps/midori.png";
     };
 
+  mikmod = callPackage ../applications/audio/mikmod { };
+
   minicom = callPackage ../tools/misc/minicom { };
 
   minidjvu = callPackage ../applications/graphics/minidjvu { };
 
+  mirage = callPackage ../applications/graphics/mirage {};
+
   mmex = callPackage ../applications/office/mmex { };
 
   monodevelop = callPackage ../applications/editors/monodevelop {
@@ -7151,6 +7232,8 @@ let
 
   offrss = callPackage ../applications/networking/offrss { };
 
+  ogmtools = callPackage ../applications/video/ogmtools { };
+
   oneteam = callPackage ../applications/networking/instant-messengers/oneteam {};
 
   openbox = callPackage ../applications/window-managers/openbox { };
@@ -7412,12 +7495,12 @@ let
 
   taskwarrior = callPackage ../applications/misc/taskwarrior { };
 
-  taskwarrior_unstable = callPackage ../applications/misc/taskwarrior/unstable.nix { };
-
   telepathy_gabble = callPackage ../applications/networking/instant-messengers/telepathy/gabble {
     inherit (pkgs.gnome) libsoup;
   };
 
+  telepathy_haze = callPackage ../applications/networking/instant-messengers/telepathy/haze {};
+
   telepathy_logger = callPackage ../applications/networking/instant-messengers/telepathy/logger {};
 
   telepathy_mission_control = callPackage ../applications/networking/instant-messengers/telepathy/mission-control { };
@@ -7446,6 +7529,8 @@ let
 
   transmission = callPackage ../applications/networking/p2p/transmission { };
 
+  transmission_remote_gtk = callPackage ../applications/networking/p2p/transmission-remote-gtk {};
+
   trayer = callPackage ../applications/window-managers/trayer { };
 
   tree = callPackage ../tools/system/tree { };
@@ -7453,7 +7538,6 @@ let
   tribler = callPackage ../applications/networking/p2p/tribler { };
 
   twinkle = callPackage ../applications/networking/instant-messengers/twinkle {
-    boost = boostFull;
     ccrtp = ccrtp_1_8;
     libzrtpcpp = libzrtpcpp_1_6;
   };
@@ -7603,6 +7687,8 @@ let
 
   xcompmgr = callPackage ../applications/window-managers/xcompmgr { };
 
+  compton = callPackage ../applications/window-managers/compton { };
+
   xdaliclock = callPackage ../tools/misc/xdaliclock {};
 
   xdg_utils = callPackage ../tools/X11/xdg-utils { };
@@ -7672,6 +7758,8 @@ let
 
   zathura = callPackage ../applications/misc/zathura { };
 
+  zgrviewer = callPackage ../applications/graphics/zgrviewer {};
+
   zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { };
 
   ### GAMES
@@ -7884,6 +7972,7 @@ let
     # Torcs wants to make shared libraries linked with plib libraries (it provides static).
     # i686 is the only platform I know than can do that linking without plib built with -fPIC
     plib = plib.override { enablePIC = if stdenv.isi686 then false else true; };
+    libpng = libpng12;
   };
 
   torcs = callPackage ../games/torcs {
@@ -7896,6 +7985,7 @@ let
 
   ufoai = callPackage ../games/ufoai {
     inherit (gnome) gtksourceview gtkglext;
+    libpng = libpng12;
   };
 
   ultimatestunts = callPackage ../games/ultimatestunts { };
@@ -8020,6 +8110,8 @@ let
 
       kadu = callPackage ../applications/networking/instant-messengers/kadu { };
 
+      kbibtex = callPackage ../applications/office/kbibtex { };
+
       kbluetooth = callPackage ../tools/bluetooth/kbluetooth { };
 
       kde_wacomtablet = callPackage ../applications/misc/kde-wacomtablet { };
@@ -8203,7 +8295,7 @@ let
 
   coq = callPackage ../applications/science/logic/coq {
     inherit (ocamlPackages) findlib lablgtk;
-    camlp5 = ocamlPackages.camlp5_5_transitional;
+    camlp5 = ocamlPackages.camlp5_transitional;
   };
 
   cvc3 = callPackage ../applications/science/logic/cvc3 {};
@@ -8213,8 +8305,10 @@ let
       paths = [
         texLive texLiveExtra
       ];
+    };
   };
-  };
+
+  ginac = callPackage ../applications/science/math/ginac { };
 
   hol = callPackage ../applications/science/logic/hol { };
 
@@ -8225,7 +8319,7 @@ let
 
   isabelle = import ../applications/science/logic/isabelle {
     inherit (pkgs) stdenv fetchurl nettools perl polyml;
-    inherit (pkgs.emacs23Packages) proofgeneral;
+    inherit (pkgs.emacs24Packages) proofgeneral;
   };
 
   iprover = callPackage ../applications/science/logic/iprover {};
@@ -8257,7 +8351,7 @@ let
   spass = callPackage ../applications/science/logic/spass {};
 
   ssreflect = callPackage ../applications/science/logic/ssreflect {
-    camlp5 = ocamlPackages.camlp5_5_transitional;
+    camlp5 = ocamlPackages.camlp5_transitional;
   };
 
   tptp = callPackage ../applications/science/logic/tptp {};
@@ -8325,10 +8419,6 @@ let
 
   auctex = callPackage ../tools/typesetting/tex/auctex { };
 
-  busybox = callPackage ../misc/busybox {
-    enableStatic = true;
-  };
-
   cups = callPackage ../misc/cups { };
 
   cups_pdf_filter = callPackage ../misc/cups/pdf-filter.nix { };
@@ -8424,14 +8514,10 @@ let
     stateDir = getConfig [ "nix" "stateDir" ] "/nix/var";
   };
 
-  /*
   nixUnstable = callPackage ../tools/package-management/nix/unstable.nix {
     storeDir = getConfig [ "nix" "storeDir" ] "/nix/store";
     stateDir = getConfig [ "nix" "stateDir" ] "/nix/var";
   };
-  */
-
-  nixUnstable = nixStable;
 
   nixCustomFun = src: preConfigure: enableScripts: configureFlags:
     import ../tools/package-management/nix/custom.nix {
@@ -8586,10 +8672,6 @@ let
     inherit texLive unzip;
   };
 
-  trac = callPackage ../misc/trac {
-    inherit (pythonPackages) pysqlite;
-  };
-
   vice = callPackage ../misc/emulators/vice { };
 
   vimprobable2 = callPackage ../applications/networking/browsers/vimprobable2 {
diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix
index 93bc6838eca5..64291854a03e 100644
--- a/pkgs/top-level/haskell-defaults.nix
+++ b/pkgs/top-level/haskell-defaults.nix
@@ -15,19 +15,16 @@
   # Change these if you want to change the default versions of packages being used
   # for a particular GHC version.
 
-  ghcHEADPrefs = ghc741Prefs;
-
-  ghc741Prefs_pedantic =
+  ghcHEADPrefs =
     self : self.haskellPlatformArgs_future self // {
-      mtl1 = self.mtl_1_1_1_1; # 7.2 ok, 7.3 ok
+      haskellPlatform = null;
       binary = null; # now a core package
     };
 
   ghc741Prefs =
-    self : ghc741Prefs_pedantic self // {
-      # These are necessary at the moment to prevent many packages from breaking.
-      mtl          = self.mtl_2_0_1_0;
-      transformers = self.transformers_0_2_2_0;
+    self : self.haskellPlatformArgs_2012_2_0_0 self // {
+      haskellPlatform = self.haskellPlatform_2012_2_0_0;
+      binary = null; # now a core package
     };
 
   ghc722Prefs = ghc741Prefs;
@@ -37,7 +34,6 @@
   ghc704Prefs =
     self : self.haskellPlatformArgs_2011_4_0_0 self // {
       haskellPlatform = self.haskellPlatform_2011_4_0_0;
-      mtl1 = self.mtl_1_1_1_1;
       repaExamples = null;      # don't pick this version of 'repa-examples' during nix-env -u
       cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; };
       monadPar = self.monadPar_0_1_0_3;
@@ -46,7 +42,6 @@
   ghc703Prefs =
     self : self.haskellPlatformArgs_2011_2_0_1 self // {
       haskellPlatform = self.haskellPlatform_2011_2_0_1;
-      mtl1 = self.mtl_1_1_1_1;
       repaExamples = null;      # don't pick this version of 'repa-examples' during nix-env -u
       cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; zlib = self.zlib_0_5_3_3; };
       monadPar = self.monadPar_0_1_0_3;
@@ -57,7 +52,6 @@
   ghc701Prefs =
     self : self.haskellPlatformArgs_2011_2_0_0 self // {
       haskellPlatform = self.haskellPlatform_2011_2_0_0;
-      mtl1 = self.mtl_1_1_1_1;
       repaExamples = null;      # don't pick this version of 'repa-examples' during nix-env -u
       cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; zlib = self.zlib_0_5_3_3; };
       monadPar = self.monadPar_0_1_0_3;
@@ -68,6 +62,7 @@
   ghc6122Prefs =
     self : self.haskellPlatformArgs_2010_2_0_0 self // {
       haskellPlatform = self.haskellPlatform_2010_2_0_0;
+      mtl1 = self.mtl_1_1_0_2;
       repaExamples = null;      # don't pick this version of 'repa-examples' during nix-env -u
       cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; zlib = self.zlib_0_5_3_3; };
       monadPar = self.monadPar_0_1_0_3;
@@ -78,6 +73,7 @@
   ghc6121Prefs =
     self : self.haskellPlatformArgs_2010_1_0_0 self // {
       haskellPlatform = self.haskellPlatform_2010_1_0_0;
+      mtl1 = self.mtl_1_1_0_2;
       extensibleExceptions = self.extensibleExceptions_0_1_1_0;
       repaExamples = null;      # don't pick this version of 'repa-examples' during nix-env -u
       deepseq = self.deepseq_1_1_0_2;
@@ -88,6 +84,8 @@
   ghc6104Prefs =
     self : self.haskellPlatformArgs_2009_2_0_2 self // {
       haskellPlatform = self.haskellPlatform_2009_2_0_2;
+      mtl = self.mtl_1_1_0_2;
+      mtl1 = self.mtl_1_1_0_2;
       extensibleExceptions = self.extensibleExceptions_0_1_1_0;
       text = self.text_0_11_0_6;
       repaExamples = null;      # don't pick this version of 'repa-examples' during nix-env -u
@@ -247,23 +245,17 @@
                prefFun = ghc741Prefs;
              };
 
-  # More strictly adhering to the probable future Haskell Platform.
-  packages_ghc741_pedantic =
-    packages_ghc741.override { prefFun = ghc741Prefs_pedantic; };
-
-  # Stable branch snapshot.
   packages_ghc742 =
     packages { ghcPath = ../development/compilers/ghc/7.4.2.nix;
                ghcBinary = ghc6121BinaryDarwin;
-               prefFun = ghcHEADPrefs;
+               prefFun = ghc741Prefs;
              };
 
   # Reasonably current HEAD snapshot. Should *always* be lowPrio.
   packages_ghcHEAD =
     packages { ghcPath = ../development/compilers/ghc/head.nix;
-               ghcBinary = # (packages_ghc704.ghcWithPackages (self : [ self.alex self.happy ]))
-                           ghc704Binary;
+               ghcBinary = ghc704Binary;
                prefFun = ghcHEADPrefs;
              };
-  
+
 }
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 1899a801377d..b5fdcc9a2348 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -116,42 +116,74 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   # GHC version, change the "preferences function" for that GHC version
   # in haskell-defaults.nix.
 
-  # NOTE: 2011.4.0.0 is the current default.
+  # NOTE: 2012.2.0.0 is the current default.
 
-  # These are currently set to versions that will likely be in
-  # the next platform release (May 2012). Please update with
-  # care.
   haskellPlatformArgs_future = self : {
     inherit (self) cabal ghc;
+    cgi          = self.cgi_3001_1_7_4;         # 7.5 fail
+    fgl          = self.fgl_5_4_2_4;            # 7.5 ok
+    GLUT         = self.GLUT_2_1_2_1;           # 7.5 fail
+    haskellSrc   = self.haskellSrc_1_0_1_5;     # 7.5 ok
+    html         = self.html_1_0_1_2;           # 7.5 ok
+    HTTP         = self.HTTP_4000_2_3;          # 7.5 ok
+    HUnit        = self.HUnit_1_2_4_3;          # 7.5 ok
+    mtl          = self.mtl_2_1_2;              # 7.5 ok
+    network      = self.network_2_3_0_14;       # 7.5 ok
+    OpenGL       = self.OpenGL_2_2_3_1;         # 7.5 fail
+    parallel     = self.parallel_3_2_0_2;       # 7.5 fail
+    parsec       = self.parsec_3_1_3;           # 7.5 ok
+    QuickCheck   = self.QuickCheck_2_5;         # 7.5 fail
+    random       = self.random_1_0_1_1;         # 7.5 ok
+    regexBase    = self.regexBase_0_93_2;       # 7.5 ok
+    regexCompat  = self.regexCompat_0_95_1;     # 7.5 fail
+    regexPosix   = self.regexPosix_0_95_1;      # 7.5 fail
+    stm          = self.stm_2_4;                # 7.5 ok
+    syb          = self.syb_0_3_7;              # 7.5 ok
+    text         = self.text_0_11_2_2;          # 7.5 ok
+    transformers = self.transformers_0_3_0_0;   # 7.5 ok
+    xhtml        = self.xhtml_3000_2_1;         # 7.5 ok
+    zlib         = self.zlib_0_5_3_3;           # 7.5 fail
+    cabalInstall = self.cabalInstall_0_14_0;    # 7.5 ok
+    alex         = self.alex_3_0_1;             # 7.5 ok
+    haddock      = self.haddock_2_10_0;         # 7.5 ok
+    happy        = self.happy_1_18_9;           # 7.5 ok
+  };
+
+  haskellPlatformArgs_2012_2_0_0 = self : {
+    inherit (self) cabal ghc;
     cgi          = self.cgi_3001_1_7_4;         # 7.4.1 ok
     fgl          = self.fgl_5_4_2_4;            # 7.4.1 ok
     GLUT         = self.GLUT_2_1_2_1;           # 7.4.1 ok
     haskellSrc   = self.haskellSrc_1_0_1_5;     # 7.4.1 ok
     html         = self.html_1_0_1_2;           # 7.4.1 ok
+    HTTP         = self.HTTP_4000_2_3;          # 7.4.1 ok
     HUnit        = self.HUnit_1_2_4_2;          # 7.4.1 ok
+    mtl          = self.mtl_2_1_1;              # 7.4.1 ok
     network      = self.network_2_3_0_13;       # 7.4.1 ok
     OpenGL       = self.OpenGL_2_2_3_1;         # 7.4.1 ok
     parallel     = self.parallel_3_2_0_2;       # 7.4.1 ok
     parsec       = self.parsec_3_1_2;           # 7.4.1 ok
     QuickCheck   = self.QuickCheck_2_4_2;       # 7.4.1 ok
+    random       = self.random_1_0_1_1;         # 7.4.1 ok
     regexBase    = self.regexBase_0_93_2;       # 7.4.1 ok
     regexCompat  = self.regexCompat_0_95_1;     # 7.4.1 ok
     regexPosix   = self.regexPosix_0_95_1;      # 7.4.1 ok
     stm          = self.stm_2_3;                # 7.4.1 ok
     syb          = self.syb_0_3_6_1;            # 7.4.1 ok
-    xhtml        = self.xhtml_3000_2_0_5;       # 7.4.1 ok
-    zlib         = self.zlib_0_5_3_3;           # 7.4.1 ok
-    HTTP         = self.HTTP_4000_2_3;          # 7.4.1 ok
     text         = self.text_0_11_2_0;          # 7.4.1 ok
     transformers = self.transformers_0_3_0_0;   # 7.4.1 ok
-    mtl          = self.mtl_2_1_1;              # 7.4.1 ok
-    random       = self.random_1_0_1_1;         # 7.4.1 ok
+    xhtml        = self.xhtml_3000_2_1;         # 7.4.1 ok
+    zlib         = self.zlib_0_5_3_3;           # 7.4.1 ok
     cabalInstall = self.cabalInstall_0_14_0;    # 7.4.1 ok
     alex         = self.alex_3_0_1;             # 7.4.1 ok
-    happy        = self.happy_1_18_9;           # 7.4.1 ok
     haddock      = self.haddock_2_10_0;         # 7.4.1 ok
+    happy        = self.happy_1_18_9;           # 7.4.1 ok
   };
 
+  haskellPlatform_2012_2_0_0 =
+    callPackage ../development/libraries/haskell/haskell-platform/2012.2.0.0.nix
+      (self.haskellPlatformArgs_2012_2_0_0 self);
+
   haskellPlatformArgs_2011_4_0_0 = self : {
     inherit (self) cabal ghc;
     cgi          = self.cgi_3001_1_7_4;
@@ -356,6 +388,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     haskellSrcExts = self.haskellSrcExts_1_11_1;
   };
 
+  accelerate = callPackage ../development/libraries/haskell/accelerate {};
+
+  accelerateCuda = callPackage ../development/libraries/haskell/accelerate-cuda {};
+
+  accelerateExamples = callPackage ../development/libraries/haskell/accelerate-examples {};
+
+  accelerateIo = callPackage ../development/libraries/haskell/accelerate-io {};
+
   ACVector = callPackage ../development/libraries/haskell/AC-Vector {};
 
   abstractDeque = callPackage ../development/libraries/haskell/abstract-deque {};
@@ -421,9 +461,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   blazeBuilderEnumerator = callPackage ../development/libraries/haskell/blaze-builder-enumerator {};
 
-  blazeHtml_0_4_3_4 = callPackage ../development/libraries/haskell/blaze-html/0.4.3.4.nix {};
-  blazeHtml_0_5_0_0 = callPackage ../development/libraries/haskell/blaze-html/0.5.0.0.nix {};
-  blazeHtml = self.blazeHtml_0_4_3_4;
+  blazeHtml = callPackage ../development/libraries/haskell/blaze-html {};
 
   blazeMarkup = callPackage ../development/libraries/haskell/blaze-markup {};
 
@@ -447,13 +485,17 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   bytestringTrie = callPackage ../development/libraries/haskell/bytestring-trie {};
 
-  c2hs = callPackage ../development/libraries/haskell/c2hs {};
+  c2hs = callPackage ../development/libraries/haskell/c2hs {
+    languageC = self.languageC_0_3_2_1;
+  };
 
   Cabal_1_14_0 = callPackage ../development/libraries/haskell/Cabal/1.14.0.nix { cabal = self.cabal.override { Cabal = null; }; };
   Cabal = null; # core package in GHC
 
   cabalFileTh = callPackage ../development/libraries/haskell/cabal-file-th {};
 
+  cabalMacosx = callPackage ../development/libraries/haskell/cabal-macosx {};
+
   cairo = callPackage ../development/libraries/haskell/cairo {
     inherit (pkgs) cairo zlib;
     libc = pkgs.stdenv.gcc.libc;
@@ -472,7 +514,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   cgi_3001_1_7_3 = callPackage ../development/libraries/haskell/cgi/3001.1.7.3.nix {};
   cgi_3001_1_7_4 = callPackage ../development/libraries/haskell/cgi/3001.1.7.4.nix {};
   cgi_3001_1_8_2 = callPackage ../development/libraries/haskell/cgi/3001.1.8.2.nix {};
-  cgi = self.cgi_3001_1_7_1;
+  cgi = self.cgi_3001_1_8_2;
 
   Chart = callPackage ../development/libraries/haskell/Chart {};
 
@@ -520,6 +562,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   cryptoPubkeyTypes = callPackage ../development/libraries/haskell/crypto-pubkey-types {};
 
+  cuda = callPackage ../development/libraries/haskell/cuda {
+    inherit (pkgs.linuxPackages) nvidia_x11;
+  };
+
   csv = callPackage ../development/libraries/haskell/csv {};
 
   cssText = callPackage ../development/libraries/haskell/css-text {};
@@ -572,7 +618,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   download = callPackage ../development/libraries/haskell/download {};
 
-  downloadCurl = callPackage ../development/libraries/haskell/download-curl { tagsoup = self.tagsoup_0_10_1; };
+  downloadCurl = callPackage ../development/libraries/haskell/download-curl {};
 
   DSH = callPackage ../development/libraries/haskell/DSH {};
 
@@ -590,8 +636,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   erf = callPackage ../development/libraries/haskell/erf {};
 
+  exceptionMtl = callPackage ../development/libraries/haskell/exception-mtl {};
+
+  exceptionTransformers = callPackage ../development/libraries/haskell/exception-transformers {};
+
   explicitException = callPackage ../development/libraries/haskell/explicit-exception {};
 
+  executablePath = callPackage ../development/libraries/haskell/executable-path {};
+
   filepath_1_3_0_0 = callPackage ../development/libraries/haskell/filepath {};
   filepath = null; # a core package in recent GHCs
 
@@ -674,14 +726,15 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   GlomeVec = callPackage ../development/libraries/haskell/GlomeVec {};
 
   gloss = callPackage ../development/libraries/haskell/gloss {
-    GLUT   = self.GLUT22;
-    OpenGL = self.OpenGL24;
+    GLUT   = self.GLUT23;
+    OpenGL = self.OpenGL25;
   };
 
   GLURaw = callPackage ../development/libraries/haskell/GLURaw {};
 
   GLUT_2_1_1_2 = callPackage ../development/libraries/haskell/GLUT/2.1.1.2.nix {};
   GLUT_2_1_2_1 = callPackage ../development/libraries/haskell/GLUT/2.1.2.1.nix {};
+  GLUT_2_1_2_2 = callPackage ../development/libraries/haskell/GLUT/2.1.2.2.nix {};
   GLUT_2_2_2_1 = callPackage ../development/libraries/haskell/GLUT/2.2.2.1.nix {
     OpenGL = self.OpenGL_2_4_0_2;
   };
@@ -689,6 +742,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     OpenGL = self.OpenGL_2_5_0_0;
   };
   GLUT22 = self.GLUT_2_2_2_1;
+  GLUT23 = self.GLUT_2_3_0_0;
   GLUT = self.GLUT_2_3_0_0;
 
   gtk = callPackage ../development/libraries/haskell/gtk {
@@ -696,9 +750,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     libc = pkgs.stdenv.gcc.libc;
   };
 
-  gtk2hsBuildtools_0_12_1 = callPackage ../development/libraries/haskell/gtk2hs-buildtools/0.12.1.nix {};
-  gtk2hsBuildtools_0_12_3 = callPackage ../development/libraries/haskell/gtk2hs-buildtools/0.12.3.nix {};
-  gtk2hsBuildtools = self.gtk2hsBuildtools_0_12_1;
+  gtk2hsBuildtools = callPackage ../development/libraries/haskell/gtk2hs-buildtools {};
   gtk2hsC2hs = self.gtk2hsBuildtools;
 
   gtksourceview2 = callPackage ../development/libraries/haskell/gtksourceview2 {
@@ -717,8 +769,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   hamlet = callPackage ../development/libraries/haskell/hamlet {};
 
-  happstackData = callPackage ../development/libraries/haskell/happstack/happstack-data.nix {};
-
   happstackUtil = callPackage ../development/libraries/haskell/happstack/happstack-util.nix {};
 
   happstackServer = callPackage ../development/libraries/haskell/happstack/happstack-server.nix {};
@@ -789,6 +839,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   highlightingKate = callPackage ../development/libraries/haskell/highlighting-kate {};
 
+  hinotify = callPackage ../development/libraries/haskell/hinotify {};
+
   hint = callPackage ../development/libraries/haskell/hint {};
 
   Hipmunk = callPackage ../development/libraries/haskell/Hipmunk {};
@@ -797,15 +849,15 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   hledger = callPackage ../development/libraries/haskell/hledger {};
   hledgerLib = callPackage ../development/libraries/haskell/hledger-lib {};
-  #hledgerVty = callPackage ../development/libraries/haskell/hledger-vty {};
-  #hledgerChart = callPackage ../development/libraries/haskell/hledger-chart {};
   hledgerInterest = callPackage ../applications/office/hledger-interest {};
-  #hledgerWeb = callPackage ../development/libraries/haskell/hledger-web {};
+  hledgerWeb = callPackage ../development/libraries/haskell/hledger-web {};
 
   HList = callPackage ../development/libraries/haskell/HList {};
 
   hmatrix = callPackage ../development/libraries/haskell/hmatrix {};
 
+  hoauth = callPackage ../development/libraries/haskell/hoauth {};
+
   hoogle = callPackage ../development/libraries/haskell/hoogle {};
 
   hopenssl = callPackage ../development/libraries/haskell/hopenssl {};
@@ -855,7 +907,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   HUnit_1_2_2_1 = callPackage ../development/libraries/haskell/HUnit/1.2.2.1.nix {};
   HUnit_1_2_2_3 = callPackage ../development/libraries/haskell/HUnit/1.2.2.3.nix {};
   HUnit_1_2_4_2 = callPackage ../development/libraries/haskell/HUnit/1.2.4.2.nix {};
-  HUnit = self.HUnit_1_2_4_2;
+  HUnit_1_2_4_3 = callPackage ../development/libraries/haskell/HUnit/1.2.4.3.nix {};
+  HUnit = self.HUnit_1_2_4_3;
 
   hxt = callPackage ../development/libraries/haskell/hxt {};
 
@@ -885,6 +938,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   ivor = callPackage ../development/libraries/haskell/ivor {};
 
+  JuicyPixels = callPackage ../development/libraries/haskell/JuicyPixels {};
+
   jpeg = callPackage ../development/libraries/haskell/jpeg {};
 
   JsContracts = callPackage ../development/libraries/haskell/JsContracts {
@@ -896,7 +951,11 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   jsonTypes = callPackage ../development/libraries/haskell/jsonTypes {};
 
-  languageC = callPackage ../development/libraries/haskell/language-c {};
+  languageC_0_4_2   = callPackage ../development/libraries/haskell/language-c/0.4.2.nix {};
+  languageC_0_3_2_1 = callPackage ../development/libraries/haskell/language-c/0.3.2.1.nix {};
+  languageC = self.languageC_0_4_2;
+
+  languageCQuote = callPackage ../development/libraries/haskell/language-c-quote/default.nix {};
 
   languageJavascript = callPackage ../development/libraries/haskell/language-javascript {};
 
@@ -920,9 +979,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   mathFunctions = callPackage ../development/libraries/haskell/math-functions {};
 
-  maude = callPackage ../development/libraries/haskell/maude {
-    parsec = self.parsec3;
-  };
+  mainlandPretty = callPackage ../development/libraries/haskell/mainland-pretty {};
+
+  maude = callPackage ../development/libraries/haskell/maude {};
 
   MaybeT = callPackage ../development/libraries/haskell/MaybeT {};
 
@@ -932,6 +991,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   mimeMail = callPackage ../development/libraries/haskell/mime-mail {};
 
+  mimeTypes = callPackage ../development/libraries/haskell/mime-types {};
+
   MissingH = callPackage ../development/libraries/haskell/MissingH {};
 
   mmap = callPackage ../development/libraries/haskell/mmap {};
@@ -970,9 +1031,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   mtl_2_1_1 = callPackage ../development/libraries/haskell/mtl/2.1.1.nix {
     transformers = self.transformers_0_3_0_0;
   };
-  mtl1 = self.mtl_1_1_0_2;
-  mtl2 = self.mtl_2_1_1;
-  mtl  = self.mtl2;
+  mtl_2_1_2 = callPackage ../development/libraries/haskell/mtl/2.1.2.nix {
+    transformers = self.transformers_0_3_0_0;
+  };
+  mtl = self.mtl_2_1_2;
 
   mtlparse = callPackage ../development/libraries/haskell/mtlparse {};
 
@@ -995,7 +1057,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   network_2_3_0_2 = callPackage ../development/libraries/haskell/network/2.3.0.2.nix {};
   network_2_3_0_5 = callPackage ../development/libraries/haskell/network/2.3.0.5.nix {};
   network_2_3_0_13 = callPackage ../development/libraries/haskell/network/2.3.0.13.nix {};
-  network = self.network_2_3_0_13;
+  network_2_3_0_14 = callPackage ../development/libraries/haskell/network/2.3.0.14.nix {};
+  network = self.network_2_3_0_14;
 
   networkConduit = callPackage ../development/libraries/haskell/network-conduit {};
 
@@ -1019,6 +1082,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   OpenGL_2_4_0_2 = callPackage ../development/libraries/haskell/OpenGL/2.4.0.2.nix {};
   OpenGL_2_5_0_0 = callPackage ../development/libraries/haskell/OpenGL/2.5.0.0.nix {};
   OpenGL24 = self.OpenGL_2_4_0_2;
+  OpenGL25 = self.OpenGL_2_5_0_0;
   OpenGL = self.OpenGL_2_5_0_0;
 
   OpenGLRaw = callPackage ../development/libraries/haskell/OpenGLRaw {};
@@ -1038,15 +1102,17 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   parallel_2_2_0_1 = callPackage ../development/libraries/haskell/parallel/2.2.0.1.nix {};
   parallel_3_1_0_1 = callPackage ../development/libraries/haskell/parallel/3.1.0.1.nix {};
   parallel_3_2_0_2 = callPackage ../development/libraries/haskell/parallel/3.2.0.2.nix {};
-  parallel = self.parallel_3_2_0_2;
+  parallel_3_2_0_3 = callPackage ../development/libraries/haskell/parallel/3.2.0.3.nix {};
+  parallel = self.parallel_3_2_0_3;
 
   parseargs = callPackage ../development/libraries/haskell/parseargs {};
 
   parsec_2_1_0_1 = callPackage ../development/libraries/haskell/parsec/2.1.0.1.nix {};
   parsec_3_1_1   = callPackage ../development/libraries/haskell/parsec/3.1.1.nix {};
   parsec_3_1_2   = callPackage ../development/libraries/haskell/parsec/3.1.2.nix {};
+  parsec_3_1_3   = callPackage ../development/libraries/haskell/parsec/3.1.3.nix {};
   parsec2 = self.parsec_2_1_0_1;
-  parsec3 = self.parsec_3_1_2;
+  parsec3 = self.parsec_3_1_3;
   parsec  = self.parsec3;
 
   parsimony = callPackage ../development/libraries/haskell/parsimony {};
@@ -1067,6 +1133,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   persistentTemplate = callPackage ../development/libraries/haskell/persistent-template {};
 
+  pgm = callPackage ../development/libraries/haskell/pgm {};
+
   polyparse_1_7 = callPackage ../development/libraries/haskell/polyparse/1.7.nix {};
   polyparse_1_8 = callPackage ../development/libraries/haskell/polyparse/1.8.nix {};
   polyparse = self.polyparse_1_8;
@@ -1079,6 +1147,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   primitive = callPackage ../development/libraries/haskell/primitive {};
 
+  processExtras = callPackage ../development/libraries/haskell/process-extras {};
+
   processLeksah = callPackage ../development/libraries/haskell/leksah/process-leksah.nix {};
 
   prolog = callPackage ../development/libraries/haskell/prolog {};
@@ -1101,8 +1171,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   QuickCheck_2_4_0_1 = callPackage ../development/libraries/haskell/QuickCheck/2.4.0.1.nix {};
   QuickCheck_2_4_1_1 = callPackage ../development/libraries/haskell/QuickCheck/2.4.1.1.nix {};
   QuickCheck_2_4_2 = callPackage ../development/libraries/haskell/QuickCheck/2.4.2.nix {};
+  QuickCheck_2_5 = callPackage ../development/libraries/haskell/QuickCheck/2.5.nix {};
   QuickCheck1 = self.QuickCheck_1_2_0_1;
-  QuickCheck2 = self.QuickCheck_2_4_2;
+  QuickCheck2 = self.QuickCheck_2_5;
   QuickCheck  = self.QuickCheck2;
 
   RangedSets = callPackage ../development/libraries/haskell/Ranged-sets {};
@@ -1122,6 +1193,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   reactiveBanana = callPackage ../development/libraries/haskell/reactive-banana {};
 
+  reactiveBananaWx = callPackage ../development/libraries/haskell/reactive-banana-wx {};
+
   readline = callPackage ../development/libraries/haskell/readline {
     inherit (pkgs) readline;
   };
@@ -1149,7 +1222,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   regexPosix_0_95_1 = callPackage ../development/libraries/haskell/regex-posix/0.95.1.nix {
     regexBase = self.regexBase_0_93_2;
   };
-  regexPosix = self.regexPosix_0_95_1;
+  regexPosix_0_95_2 = callPackage ../development/libraries/haskell/regex-posix/0.95.2.nix {
+    regexBase = self.regexBase_0_93_2;
+  };
+  regexPosix = self.regexPosix_0_95_2;
 
   regexTDFA = callPackage ../development/libraries/haskell/regex-tdfa {};
   regexTdfa = self.regexTDFA;
@@ -1163,6 +1239,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   regular = callPackage ../development/libraries/haskell/regular {};
 
+  remote = callPackage ../development/libraries/haskell/remote {};
+
   repa = callPackage ../development/libraries/haskell/repa {};
   repaAlgorithms = callPackage ../development/libraries/haskell/repa-algorithms {};
   repaExamples = callPackage ../development/libraries/haskell/repa-examples {};
@@ -1184,6 +1262,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   semigroups = callPackage ../development/libraries/haskell/semigroups {};
 
+  shelly = callPackage ../development/libraries/haskell/shelly {};
+
   simpleSendfile = callPackage ../development/libraries/haskell/simple-sendfile {};
 
   skein = callPackage ../development/libraries/haskell/skein {};
@@ -1196,6 +1276,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   socks = callPackage ../development/libraries/haskell/socks {};
 
+  srcloc = callPackage ../development/libraries/haskell/srcloc {};
+
   stateref = callPackage ../development/libraries/haskell/stateref {};
 
   StateVar = callPackage ../development/libraries/haskell/StateVar {};
@@ -1208,10 +1290,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   stringCombinators = callPackage ../development/libraries/haskell/string-combinators {};
 
+  stringsearch = callPackage ../development/libraries/haskell/stringsearch {};
+
   syb_0_2_2 = callPackage ../development/libraries/haskell/syb/0.2.2.nix {};
   syb_0_3 = callPackage ../development/libraries/haskell/syb/0.3.nix {};
   syb_0_3_3 = callPackage ../development/libraries/haskell/syb/0.3.3.nix {};
   syb_0_3_6_1 = callPackage ../development/libraries/haskell/syb/0.3.6.1.nix {};
+  syb_0_3_6_2 = callPackage ../development/libraries/haskell/syb/0.3.6.2.nix {};
+  syb_0_3_7 = callPackage ../development/libraries/haskell/syb/0.3.7.nix {};
   syb = null;  # by default, we assume that syb ships with GHC, which is
                # true for the older GHC versions
 
@@ -1257,7 +1343,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   stm_2_1_2_1 = callPackage ../development/libraries/haskell/stm/2.1.2.1.nix {};
   stm_2_2_0_1 = callPackage ../development/libraries/haskell/stm/2.2.0.1.nix {};
   stm_2_3 = callPackage ../development/libraries/haskell/stm/2.3.nix {};
-  stm = self.stm_2_3;
+  stm_2_4 = callPackage ../development/libraries/haskell/stm/2.4.nix {};
+  stm = self.stm_2_4;
 
   storableComplex = callPackage ../development/libraries/haskell/storable-complex {};
 
@@ -1271,6 +1358,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     libc = pkgs.stdenv.gcc.libc;
   };
 
+  symbol = callPackage ../development/libraries/haskell/symbol {};
+
   systemFilepath = callPackage ../development/libraries/haskell/system-filepath {};
 
   systemFileio = callPackage ../development/libraries/haskell/system-fileio {};
@@ -1314,7 +1403,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   text_0_11_1_5 = callPackage ../development/libraries/haskell/text/0.11.1.5.nix {};
   text_0_11_1_13 = callPackage ../development/libraries/haskell/text/0.11.1.13.nix {};
   text_0_11_2_0 = callPackage ../development/libraries/haskell/text/0.11.2.0.nix {};
-  text = self.text_0_11_2_0;
+  text_0_11_2_2 = callPackage ../development/libraries/haskell/text/0.11.2.2.nix {};
+  text = self.text_0_11_2_2;
 
   thespian = callPackage ../development/libraries/haskell/thespian {};
 
@@ -1491,7 +1581,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   zlib_0_5_3_1 = callPackage ../development/libraries/haskell/zlib/0.5.3.1.nix {
     inherit (pkgs) zlib;
   };
-  zlib_0_5_3_3 = callPackage ../development/libraries/haskell/zlib/0.5.3.1.nix {
+  zlib_0_5_3_3 = callPackage ../development/libraries/haskell/zlib/0.5.3.3.nix {
     inherit (pkgs) zlib;
   };
   zlib = self.zlib_0_5_3_3;
@@ -1595,7 +1685,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     };
   };
 
-  xmobar = callPackage ../applications/misc/xmobar {};
+  xmobar = callPackage ../applications/misc/xmobar {
+    stm = self.stm_2_3;
+  };
 
   xmonad = callPackage ../applications/window-managers/xmonad {
     X11 = self.X11_1_5_0_1;
diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix
index b3c29c267463..d2f74fe74c0e 100644
--- a/pkgs/top-level/make-tarball.nix
+++ b/pkgs/top-level/make-tarball.nix
@@ -2,17 +2,20 @@
    also builds the documentation and tests whether the Nix expressions
    evaluate correctly. */
 
-{ nixpkgs ? {outPath = (import ./all-packages.nix {}).lib.cleanSource ../..; rev = 1234;}
+{ nixpkgs ? { outPath = (import ./all-packages.nix {}).lib.cleanSource ../..; revCount = 1234; shortRev = "abcdef"; }
 , officialRelease ? false
 }:
 
 with import nixpkgs.outPath {};
 
-releaseTools.makeSourceTarball {
+releaseTools.sourceTarball {
   name = "nixpkgs-tarball";
   src = nixpkgs;
   inherit officialRelease;
 
+  version = builtins.readFile ../../VERSION;
+  versionSuffix = if officialRelease then "" else "pre${toString nixpkgs.revCount}_${nixpkgs.shortRev}";
+
   buildInputs = [
     lzma
     libxml2 # Needed for the release notes.
@@ -24,7 +27,7 @@ releaseTools.makeSourceTarball {
 
   configurePhase = ''
     eval "$preConfigure"
-    releaseName=nixpkgs-$(cat $src/VERSION)$VERSION_SUFFIX
+    releaseName=nixpkgs-$VERSION$VERSION_SUFFIX
     echo "release name is $releaseName"
     echo $releaseName > relname
   '';
@@ -57,7 +60,7 @@ releaseTools.makeSourceTarball {
         header "checking pkgs/top-level/all-packages.nix on $platform"
         nix-env --readonly-mode -f pkgs/top-level/all-packages.nix \
             --show-trace --argstr system "$platform" \
-            -qa \* --drv-path --system-filter \* --system --meta --xml
+            -qa \* --drv-path --system-filter \* --system --meta --xml > /dev/null
         stopNest
     done
 
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index bfd90c4cf5c1..9008459c63eb 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -939,6 +939,27 @@ rec {
     };
   };
 
+  CryptOpenSSLRandom = buildPerlPackage rec {
+    name = "Crypt-OpenSSL-Random-0.04";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/I/IR/IROBERTS/${name}.tar.gz";
+      sha256 = "acf7eb81023cd1f40d8c60b893096d041513df2be2aefe145cc7ae1a3dcc78c7";
+    };
+    NIX_CFLAGS_COMPILE = "-I${pkgs.openssl}/include";
+    NIX_CFLAGS_LINK = "-L${pkgs.openssl}/lib -lcrypto";
+  };
+
+  CryptOpenSSLRSA = buildPerlPackage rec {
+    name = "Crypt-OpenSSL-RSA-0.28";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PE/PERLER/${name}.tar.gz";
+      sha256 = "5357f977464bb3a8184cf2d3341851a10d5515b4b2b0dfb88bf78995c0ded7be";
+    };
+    propagatedBuildInputs = [ CryptOpenSSLRandom ];
+    NIX_CFLAGS_COMPILE = "-I${pkgs.openssl}/include";
+    NIX_CFLAGS_LINK = "-L${pkgs.openssl}/lib -lcrypto";
+  };
+
   CryptSSLeay = buildPerlPackage rec {
     name = "Crypt-SSLeay-0.57";
     src = fetchurl {
@@ -1015,7 +1036,7 @@ rec {
       sha256 = "1998syyprmqnhpgznmk7ia3zd8saw34q7pbaprxarcz7a3bncyjc";
     };
     buildInputs = [ TestRequires ];
-    propagatedBuildInputs = 
+    propagatedBuildInputs =
       [ ClassLoad Moose TaskWeaken TieToObject NamespaceClean ];
   };
 
@@ -1425,11 +1446,11 @@ rec {
       ] ++ stdenv.lib.optional stdenv.isLinux LinuxInotify2;
   };
 
-  Filechdir = buildPerlPackage {
-    name = "File-chdir-0.1002";
+  Filechdir = buildPerlPackage rec {
+    name = "File-chdir-0.1006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/File-chdir-0.1002.tar.gz;
-      sha256 = "1fc2l754bxsizli3injm4wqf8dn03iq16rmfn62l99nxpibl5k6p";
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/${name}.tar.gz";
+      sha256 = "b26e91f8b5480544da599412612ff9287007be9703d41c35251f09c5ff19879a";
     };
   };
 
@@ -1525,6 +1546,14 @@ rec {
     propagatedBuildInputs = [ TestScript ];
   };
 
+  FontAFM = buildPerlPackage rec {
+    name = "Font-AFM-1.20";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/G/GA/GAAS/${name}.tar.gz";
+      sha256 = "32671166da32596a0f6baacd0c1233825a60acaf25805d79c81a3f18d6088bc1";
+    };
+  };
+
   FontTTF = buildPerlPackage {
     name = "Font-TTF-0.43";
     src = fetchurl {
@@ -1672,12 +1701,12 @@ rec {
       url = "mirror://cpan/modules/by-module/HTML/${name}.tar.gz";
       sha256 = "1yg9fy6s8f1jscfxf7a9hm91x43cjhk3ijw46z94sw8133h50rvy";
     };
-    propagatedBuildInputs = 
+    propagatedBuildInputs =
       [ ClassAccessorChained Clone ConfigAny
         DateCalc ListMoreUtils EmailValid
         DataVisitor DateTime DateTimeFormatBuilder
         DateTimeFormatStrptime DateTimeFormatNatural
-        Readonly YAMLLibYAML NumberFormat HashFlatten 
+        Readonly YAMLLibYAML NumberFormat HashFlatten
         HTMLTokeParserSimple RegexpCommon
         CaptchaReCAPTCHA HTMLScrubber FileShareDir
         TemplateToolkit CryptCBC CryptDES PathClass
@@ -1737,11 +1766,11 @@ rec {
     buildInputs = [TestPod];
   };
 
-  HTMLTree = buildPerlPackage {
-    name = "HTML-Tree-3.23";
+  HTMLTree = buildPerlPackage rec {
+    name = "HTML-Tree-4.2";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETEK/HTML-Tree-3.23.tar.gz;
-      sha256 = "1pn80f4g1wixs030f40b80wrj12kwfinwycrx3f10drg4v7ml5zm";
+      url = "mirror://cpan/authors/id/J/JF/JFEARN/${name}.tar.gz";
+      sha256 = "80e4e3caa5e0e025dee5ed383a8d4cc7479ae4802184c4757dafd147a8fca7c9";
     };
     propagatedBuildInputs = [HTMLParser];
   };
@@ -1884,6 +1913,16 @@ rec {
     };
   };
 
+  IOSocketInet6 = buildPerlPackage rec {
+    name = "IO-Socket-INET6-2.69";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz";
+      sha256 = "accd565643969d905e199e28e60e833213ccc2026c372432df01e49b044c3045";
+    };
+    propagatedBuildInputs = [Socket6];
+    doCheck = false;
+  };
+
   IOSocketSSL = buildPerlPackage rec {
     name = "IO-Socket-SSL-1.44";
     src = fetchurl {
@@ -2222,6 +2261,16 @@ rec {
     inherit fetchurl buildPerlPackage stdenv DBDmysql;
   };
 
+  MailDKIM = buildPerlPackage rec {
+    name = "Mail-DKIM-0.39";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JA/JASLONG/${name}.tar.gz";
+      sha256 = "b1425a540f514c483e80566fb3decc2c1db4162306f6ae8794cef72a2d73557b";
+    };
+    propagatedBuildInputs = [ CryptOpenSSLRSA NetDNS MailTools ];
+    doCheck = false; # tries to access the domain name system
+  };
+
   MailIMAPClient = buildPerlPackage {
     name = "Mail-IMAPClient-2.2.9";
     src = fetchurl {
@@ -2541,6 +2590,14 @@ rec {
     propagatedBuildInputs = [ BHooksEndOfScope DevelHide PackageStash ];
   };
 
+  NetAddrIP = buildPerlPackage rec {
+    name = "NetAddr-IP-4.062";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MI/MIKER/${name}.tar.gz";
+      sha256 = "08c037afe314ca2e6369f8aa92eb4b8937f493f977f9f1f35ca396c1de8ed0c6";
+    };
+  };
+
   NetAmazonEC2 = buildPerlPackage rec {
     name = "Net-Amazon-EC2-0.14-stanaka-bc66577e13";
     src = fetchurl {
@@ -2825,10 +2882,10 @@ rec {
   };
 
   PerlMagick = buildPerlPackage {
-    name = "PerlMagick-6.74";
+    name = "PerlMagick-6.77";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JC/JCRISTY/PerlMagick-6.74.tar.gz;
-      sha256 = "6f2fbd3398610f2f02d5670eb5e0f5cb58079fba0e6b9d26519f469c104b969a";
+      url = mirror://cpan/authors/id/J/JC/JCRISTY/PerlMagick-6.77.tar.gz;
+      sha256 = "0axbj3n5avjxvlxradjs9zxiv84i00drmnjsb7hq9sjn9fzggngg";
     };
     buildInputs = [pkgs.imagemagick];
     preConfigure =
@@ -3051,6 +3108,15 @@ rec {
     };
   };
 
+  Socket6 = buildPerlPackage rec {
+    name = "Socket6-0.23";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/U/UM/UMEMOTO/${name}.tar.gz";
+      sha256 = "eda753f0197e8c3c8d4ab20a634561ce84011fa51aa5ff40d4dbcb326ace0833";
+    };
+    buildInputs = [ pkgs.which ];
+  };
+
   SortVersions = buildPerlPackage rec {
     name = "Sort-Versions-1.5";
     src = fetchurl {
@@ -3898,6 +3964,20 @@ rec {
     };
   };
 
+  WWWCurl = buildPerlPackage rec {
+    name = "WWW-Curl-4.15";
+    src = fetchurl {
+      url = "mirror://cpan/modules/by-module/WWW/${name}.tar.gz";
+      sha256 = "18az7k0jsr642lp6dfy0b2s7vx0cd7sj9dgk93wff73safa09x1y";
+    };
+    buildInputs = [ pkgs.curl ];
+    preConfigure =
+      ''
+        substituteInPlace Makefile.PL --replace '"cpp"' '"gcc -E"'
+      '';
+    doCheck = false; # performs network access
+  };
+
   WWWMechanize = buildPerlPackage rec {
     name = "WWW-Mechanize-1.54";
     src = fetchurl {
diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix
index 386ca566d552..7a45492b0323 100644
--- a/pkgs/top-level/platforms.nix
+++ b/pkgs/top-level/platforms.nix
@@ -44,6 +44,9 @@ rec {
         DM_CRYPT m
         MD y
         REISERFS_FS m
+        BTRFS_FS m
+        XFS_FS m
+        JFS_FS m
         EXT4_FS m
         USB_STORAGE_CYPRESS_ATACB m
 
@@ -75,6 +78,7 @@ rec {
         CIFS_ACL y
 
         ZRAM m
+        NETCONSOLE m
 
         # Fail to build
         DRM n
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 4ffcc8237bb2..fb265337b39e 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -33,12 +33,11 @@ let pythonPackages = python.modules // rec {
 
 
   afew = buildPythonPackage rec {
-    rev = "a3ea63d7048faedb6cc58b4abcb6d4ecfddfb5db";
-    name = "afew-1.0pre${rev}";
+    name = "afew-1.0pre";
     src = fetchurl {
-      url = "https://github.com/teythoon/afew/tarball/${rev}";
+      url = "https://github.com/teythoon/afew/tarball/master";
       name = "${name}.tar.bz";
-      sha256 = "4e8850242a3845602331cabb47299b5a3af21993036a715c83e8dd698ab5d716";
+      sha256 = "949710f8dcf503f42f2a2d77ea71e48ccf70155a764f75ad29cc93edc120809b";
     };
 
     propagatedBuildInputs = [ notmuch pkgs.dbacl ];
@@ -60,17 +59,17 @@ let pythonPackages = python.modules // rec {
 
 
   alot = buildPythonPackage rec {
-    name = "alot-0.3";
+    name = "alot-0.3.1";
 
     src = fetchurl {
-      url = "https://github.com/pazz/alot/tarball/0.3";
+      url = "https://github.com/pazz/alot/tarball/master";
       name = "${name}.tar.bz";
-      md5 = "fa4944a1a7e9e380da0ee75ea3571a79";
+      sha256 = "06683de36688615d3d526198c93133e1131897c888ffa31e83f1ad292eae57af";
     };
 
     doCheck = false;
 
-    propagatedBuildInputs = [ notmuch urwid twisted magic configobj ];
+    propagatedBuildInputs = [ notmuch urwid twisted magic configobj pygpgme ];
 
     postInstall = ''
       wrapProgram $out/bin/alot \
@@ -174,7 +173,7 @@ let pythonPackages = python.modules // rec {
     name = "logilab-astng-0.21.1";
 
     src = fetchurl {
-      url = "http://ftp.logilab.org/pub/astng/${name}.tar.gz";
+      url = "ftp://ftp.logilab.org/pub/astng/${name}.tar.gz";
       sha256 = "0rqp2vwrnv6gkzdd96j078h1sz26plh49cmnyswy2wb6l4wans67";
     };
     propagatedBuildInputs = [logilabCommon];
@@ -346,6 +345,26 @@ let pythonPackages = python.modules // rec {
     };
   });
 
+  coilmq = buildPythonPackage (rec {
+    name = "coilmq-0.6.1";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/C/CoilMQ/CoilMQ-0.6.1.tar.gz";
+      md5 = "5f39727415b837abd02651eeb2721749";
+    };
+
+    propagatedBuildInputs = [ stompclient distribute ]; 
+      
+    doCheck = false;
+
+    meta = {
+      description = "Simple, lightweight, and easily extensible STOMP message broker";
+      homepage = http://code.google.com/p/coilmq/;
+      license = pkgs.lib.licenses.asl20;
+      platforms = python.meta.platforms;
+    };
+  });
+
   configobj = buildPythonPackage (rec {
     name = "configobj-4.7.2";
 
@@ -414,19 +433,18 @@ let pythonPackages = python.modules // rec {
     };
   });
 
+  
   dateutil = buildPythonPackage (rec {
-    name = "dateutil-1.4.1";
+    name = "dateutil-1.5";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/python-dateutil/python-${name}.tar.gz";
-      sha256 = "0mrkh932k8s74h4rpgksvpmwbrrkq8zn78gbgwc22i2vlp31bdkl";
+      sha256 = "02dhw57jf5kjcp7ng1if7vdrbnlpb9yjmz7wygwwvf3gni4766bg";
     };
 
     meta = {
       description = "Powerful extensions to the standard datetime module";
-
       homepage = http://pypi.python.org/pypi/python-dateutil;
-
       license = "BSD-style";
     };
   });
@@ -445,6 +463,32 @@ let pythonPackages = python.modules // rec {
     };
   };
 
+  distribute = buildPythonPackage (rec {
+    name = "distribute-0.6.26";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.26.tar.gz";
+      md5 = "841f4262a70107f85260362f5def8206"; #"ecd75ea629fee6d59d26f88c39b2d291";
+      
+    };
+
+    buildInputs = [ pkgs.unzip ];
+    
+    installCommand = 
+      ''
+        # ehm, YES, the --verbose flags needs to be there, otherwise it tries to patch setuptools!
+        easy_install --verbose --prefix=$out .
+      '';
+    doCheck = false;
+
+    meta = {
+      description = "Easily download, build, install, upgrade, and uninstall Python packages";
+      homepage = http://packages.python.org/distribute;
+      license = "PSF or ZPL";
+      platforms = python.meta.platforms;
+    };
+  });
+  
 
   distutils_extra = buildPythonPackage rec {
     name = "distutils-extra-2.26";
@@ -460,6 +504,76 @@ let pythonPackages = python.modules // rec {
     };
   };
 
+  
+  django = buildPythonPackage rec {
+    name = "Django-${version}";
+    version = "1.4";
+
+    src = fetchurl {
+      url = "http://www.djangoproject.com/m/releases/${version}/${name}.tar.gz";
+      sha256 = "1sc8ajixaqfylb7jmmhn38hgbnqipylh1sqmpicx7rqhxbxvm5n0";
+    };
+
+    doCheck = false;
+
+    meta = {
+      description = "A high-level Python Web framework";
+      homepage = https://www.djangoproject.com/;
+    };
+  };
+
+  
+  django_1_3_1 = buildPythonPackage rec {
+    name = "Django-1.3.1";
+
+    src = fetchurl {
+      url = "http://www.djangoproject.com/m/releases/1.3/${name}.tar.gz";
+      sha256 = "0sqmvqy3y5h76pa3zjcnyiy5x01bzzy03afdp2qdwqx0x321i4dg";
+    };
+
+    doCheck = false;
+
+    meta = {
+      description = "A high-level Python Web framework";
+      homepage = https://www.djangoproject.com/;
+    };
+  };
+
+  
+  django_evolution = buildPythonPackage rec {
+    name = "django_evolution-0.6.7";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/d/django_evolution/${name}.tar.gz";
+      md5 = "24b8373916f53f74d701b99a6cf41409";
+    };
+
+    propagatedBuildInputs = [ django_1_3_1 ];
+
+    meta = {
+      description = "A database schema evolution tool for the Django web framework";
+      homepage = http://code.google.com/p/django-evolution/;
+    };
+  };
+
+  
+  djblets = buildPythonPackage rec {
+    name = "Djblets-0.6.19";
+
+    src = fetchurl {
+      url = "http://downloads.reviewboard.org/releases/Djblets/0.6/${name}.tar.gz";
+      sha256 = "1hhvpi81yknvlaazq1cpgamp9vf3x1fcr0ba64q3j2yz1kgin1i8";
+    };
+
+    propagatedBuildInputs = [ pkgs.pil django_1_3_1 ];
+
+    meta = {
+      description = "A collection of useful extensions for Django";
+      homepage = https://github.com/djblets/djblets;
+    };
+  };
+
+  
   dulwich = buildPythonPackage rec {
     name = "dulwich-0.8.1";
 
@@ -480,6 +594,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
+  
   hggit = buildPythonPackage rec {
     name = "hg-git-0.3.1";
 
@@ -496,6 +611,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
+  
   docutils = buildPythonPackage rec {
     name = "docutils-0.8.1";
 
@@ -584,6 +700,7 @@ let pythonPackages = python.modules // rec {
     };
   });
 
+  
   foolscap = buildPythonPackage (rec {
     name = "foolscap-0.6.1";
 
@@ -625,6 +742,9 @@ let pythonPackages = python.modules // rec {
       sha256 = "0jrajyppdzb3swcxv3w1mpp88vcy7400gy1v2h2gm3pq0dmggaij";
     };
 
+    # two tests fail on x86_64 at least. I don't know why.
+    doCheck = false;
+
     buildInputs = [ pkgs.setuptools ];
 
     meta = {
@@ -821,7 +941,7 @@ let pythonPackages = python.modules // rec {
     name = "logilab-common-0.56.0";
 
     src = fetchurl {
-      url = "http://ftp.logilab.org/pub/common/${name}.tar.gz";
+      url = "ftp://ftp.logilab.org/pub/common/${name}.tar.gz";
       sha256 = "14p557nqypbd10d8k7qs6jlm58pksiwh86wvvl0axyki00hj6971";
     };
     propagatedBuildInputs = [unittest2];
@@ -926,6 +1046,7 @@ let pythonPackages = python.modules // rec {
     };
   });
 
+  
   mechanize = buildPythonPackage (rec {
     name = "mechanize-0.1.11";
 
@@ -946,6 +1067,21 @@ let pythonPackages = python.modules // rec {
   });
 
 
+  memcached = buildPythonPackage rec {
+    name = "memcached-1.48";
+
+    src = fetchurl {
+      url = "ftp://ftp.tummy.com/pub/python-memcached/old-releases/python-memcached-1.48.tar.gz";
+      sha256 = "1i0h05z9j0zl65rgvw86p4f54pigkxynhzppn4qxby8rjlnwdfv6";
+    };
+
+    meta = {
+      description = "Python API for communicating with the memcached distributed memory object cache daemon";
+      homepage = http://www.tummy.com/Community/software/python-memcached/;
+    };
+  };
+
+  
   mock = buildPythonPackage (rec {
     name = "mock-0.7.0";
 
@@ -1252,18 +1388,17 @@ let pythonPackages = python.modules // rec {
     };
   });
 
-  paramiko = buildPythonPackage {
-    name = "paramiko-1.7.6";
+  
+  paramiko = buildPythonPackage rec {
+    name = "paramiko-1.7.7.1";
 
     src = fetchurl {
-      url = "http://www.lag.net/paramiko/download/paramiko-1.7.6.tar.gz";
-      sha256 = "00jhzl3s9xdkbj32h1kq1swk8wpx9zky7qfda40n8mb204xjcn9h";
+      url = "http://www.lag.net/paramiko/download/${name}.tar.gz";
+      sha256 = "1bjy4jn51c50mpq51jbwk0glzd8bxz83gxdfkr9p95dmrd17c7hh";
     };
 
     buildInputs = [ pkgs.pycrypto ];
 
-    doCheck = false;
-
     meta = {
       homepage = "http://www.lag.net/paramiko/";
       description = "SSH2 protocol for python";
@@ -1475,36 +1610,27 @@ let pythonPackages = python.modules // rec {
   });
 
 
-  pycurl =
-    let libcurl = pkgs.stdenv.lib.overrideDerivation pkgs.curl
-      (oldAttrs: {
-        configureFlags =
-          (if oldAttrs ? configureFlags then oldAttrs.configureFlags else "" )
-          + " --enable-static";
-      });
-    in
-  buildPythonPackage (rec {
+  pycurl = buildPythonPackage (rec {
     name = "pycurl-7.19.0";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/p/pycryptopp/${name}.tar.gz";
+      url = "http://pycurl.sourceforge.net/download/${name}.tar.gz";
       sha256 = "0hh6icdbp7svcq0p57zf520ifzhn7jw64x07k99j7h57qpy2sy7b";
     };
 
-    buildInputs = [ libcurl ];
+    buildInputs = [ pkgs.curl ];
 
     doCheck = false;
 
-    postInstall = ''
-      find $out -name easy-install.pth | xargs rm -v
-      find $out -name 'site.py*' | xargs rm -v
+    preConfigure = ''
+      substituteInPlace setup.py --replace '--static-libs' '--libs'
     '';
 
+    installCommand = "python setup.py install --prefix=$out";
+
     meta = {
       homepage = http://pycurl.sourceforge.net/;
-
       description = "Python wrapper for libcurl";
-
       platforms = stdenv.lib.platforms.linux;
     };
   });
@@ -1525,15 +1651,39 @@ let pythonPackages = python.modules // rec {
 
 
   pygments = buildPythonPackage rec {
-    name = "Pygments-1.4";
+    name = "Pygments-1.5";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/P/Pygments/${name}.tar.gz";
-      md5 = "d77ac8c93a7fb27545f2522abe9cc462";
+      md5 = "ef997066cc9ee7a47d01fb4f3da0b5ff";
     };
+    
     meta = {
       homepage = http://pygments.org/;
-      description = "Pygments is a generic syntax highlighter for general use in all kinds of software such as forum systems, wikis or other applications that need to prettify source code.";
+      description = "A generic syntax highlighter";
+    };
+  };
+
+
+  pygpgme = buildPythonPackage rec {
+    version = "0.3";
+    name = "pygpgme-${version}";
+
+    src = fetchurl {
+      url = "https://launchpad.net/pygpgme/trunk/${version}/+download/${name}.tar.gz";
+      sha256 = "5fd887c407015296a8fd3f4b867fe0fcca3179de97ccde90449853a3dfb802e1";
+    };
+
+    doCheck = false;
+
+    propagatedBuildInputs = [ pkgs.gpgme ];
+
+    meta = {
+      homepage = "https://launchpad.net/pygpgme";
+      description = "A Python wrapper for the GPGME library.";
+      license = pkgs.lib.licenses.lgpl21;
+      maintainers = [ stdenv.lib.maintainers.garbas ];
+      platforms = python.meta.platforms;
     };
   };
 
@@ -1552,8 +1702,10 @@ let pythonPackages = python.modules // rec {
     };
   };
 
+  
   ldap = buildPythonPackage rec {
     name = "python-ldap-2.4.3";
+    namePrefix = "";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/python-ldap/${name}.tar.gz";
@@ -1564,16 +1716,18 @@ let pythonPackages = python.modules // rec {
     propagatedBuildInputs = [pkgs.openldap pkgs.cyrus_sasl pkgs.openssl];
   };
 
+  
   pylint = buildPythonPackage rec {
     name = "pylint-0.23.0";
 
     src = fetchurl {
-      url = "http://ftp.logilab.org/pub/pylint/${name}.tar.gz";
+      url = "ftp://ftp.logilab.org/pub/pylint/${name}.tar.gz";
       sha256 = "07091avcc2b374i5f3blszmawjcin8xssjfryz91qbxybb8r7c6d";
     };
     propagatedBuildInputs = [astng];
   };
 
+  
   pymacs = pkgs.stdenv.mkDerivation rec {
     version = "v0.24-beta2";
     name = "Pymacs-${version}";
@@ -1602,6 +1756,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
+  
   pyopengl =
     let version = "3.0.0b5";
     in
@@ -1630,6 +1785,7 @@ let pythonPackages = python.modules // rec {
         };
       };
 
+      
   pyreport = buildPythonPackage (rec {
     name = "pyreport-0.3.4c";
 
@@ -1751,6 +1907,21 @@ let pythonPackages = python.modules // rec {
   };
 
 
+  pytz = buildPythonPackage rec {
+    name = "pytz-2012c";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/pytz/${name}.tar.bz2";
+      md5 = "660e0cee7f6c419ca2665db460f65131";
+    };
+
+    meta = {
+      description = "World timezone definitions, modern and historical";
+      homepage = http://pytz.sourceforge.net/;
+    };
+  };
+
+  
   pyutil = buildPythonPackage (rec {
     name = "pyutil-1.7.9";
 
@@ -1784,6 +1955,7 @@ let pythonPackages = python.modules // rec {
     };
   });
 
+  
   pyyaml = buildPythonPackage (rec {
     name = "PyYAML-3.09";
 
@@ -1802,17 +1974,35 @@ let pythonPackages = python.modules // rec {
     };
   });
 
-  RBTools =  buildPythonPackage rec {
-    name = "RBTools-0.4.1";
+  
+  RBTools = buildPythonPackage rec {
+    name = "rbtools-0.4.1";
+    namePrefix = "";
 
     src = fetchurl {
-      url = "http://downloads.reviewboard.org/releases/RBTools/0.4/${name}.tar.gz";
+      url = "http://downloads.reviewboard.org/releases/RBTools/0.4/RBTools-0.4.1.tar.gz";
       sha256 = "1v0r7rfzrasj56s53mib51wl056g7ykh2y1c6dwv12r6hzqsycgv";
     };
 
     propagatedBuildInputs = [ setuptools ];
   };
 
+  
+  recaptcha_client = buildPythonPackage rec {
+    name = "recaptcha-client-1.0.6";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/r/recaptcha-client/${name}.tar.gz";
+      md5 = "74228180f7e1fb76c4d7089160b0d919";
+    };
+
+    meta = {
+      description = "A CAPTCHA for Python using the reCAPTCHA service";
+      homepage = http://recaptcha.net/;
+    };
+  };
+
+  
   reportlab =
    let freetype = pkgs.lib.overrideDerivation pkgs.freetype (args: { configureFlags = "--enable-static --enable-shared"; });
    in buildPythonPackage rec {
@@ -1832,6 +2022,23 @@ let pythonPackages = python.modules // rec {
     };
   };
 
+  
+  reviewboard = buildPythonPackage rec {
+    name = "ReviewBoard-1.6.9";
+
+    src = fetchurl {
+      url = "http://downloads.reviewboard.org/releases/ReviewBoard/1.6/${name}.tar.gz";
+      sha256 = "06pwbmqwsb0g2y8zg5hk5ibaivsl1af7v0vnkqranimf4yaa10mc";
+    };
+
+    propagatedBuildInputs =
+      [ recaptcha_client pytz memcached dateutil paramiko flup pygments
+        djblets django_1_3_1 django_evolution pkgs.pycrypto python.modules.sqlite3
+        pysvn pkgs.pil psycopg2
+      ];
+  };
+
+  
   rdflib = buildPythonPackage (rec {
     name = "rdflib-3.0.0";
 
@@ -1982,6 +2189,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
+  
   setuptoolsTrial = buildPythonPackage {
     name = "setuptools-trial-0.5.12";
 
@@ -2001,6 +2209,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
+  
   simplejson = buildPythonPackage (rec {
     name = "simplejson-2.1.3";
 
@@ -2026,6 +2235,24 @@ let pythonPackages = python.modules // rec {
     };
   });
 
+  
+  six = buildPythonPackage rec {
+    name = "six-1.1.0";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/s/six/${name}.tar.gz";
+      md5 = "9e8099b57cd27493a6988e9c9b313e23";
+    };
+
+    doCheck = false;
+
+    meta = {
+      description = "A Python 2 and 3 compatibility library";
+      homepage = http://pypi.python.org/pypi/six/;
+    };
+  };
+
+  
   skype4py = buildPythonPackage (rec {
     name = "Skype4Py-1.0.32.0";
 
@@ -2121,6 +2348,25 @@ let pythonPackages = python.modules // rec {
     };
   };
 
+  stompclient = buildPythonPackage (rec {
+    name = "stompclient-0.3.2";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/s/stompclient/${name}.tar.gz";
+      md5 = "af0a314b6106dd80da24a918c24a1eab";
+    };
+
+    doCheck = false;
+
+    meta = {
+      description = "Lightweight and extensible STOMP messaging client";
+      homepage = http://bitbucket.org/hozn/stompclient;
+      license = pkgs.lib.licenses.asl20;
+      platforms = python.meta.platforms;
+    };
+  });
+
+
   svneverever =  buildPythonPackage rec {
     name = "svneverever-778489a8";
 
@@ -2275,6 +2521,8 @@ let pythonPackages = python.modules // rec {
       md5 = "1072b66d53c24e019a8f1304ac9d9fc5";
     };
 
+    patches = [ ../development/python-modules/virtualenv-change-prefix.patch ];
+
     doCheck = false;
 
     meta = with stdenv.lib; {
@@ -2457,4 +2705,85 @@ let pythonPackages = python.modules // rec {
     };
   };
 
+  cliapp = buildPythonPackage rec {
+    name = "cliapp-1.20120630";
+
+    src = fetchurl rec {
+      url = "http://code.liw.fi/debian/pool/main/p/python-cliapp/python-cliapp_1.20120630.orig.tar.gz";
+      sha256 = "6beeb1fb3077561540094584ce36055266ac67b80f158b9b82fe4075096f4716";
+    };
+
+    buildInputs = [ sphinx ];
+
+    doCheck = false;
+
+    meta = {
+      homepage = http://liw.fi/cliapp/;
+      description = "Python framework for Unix command line programs.";
+      maintainers = [ stdenv.lib.maintainers.rickynils ];
+      platforms = python.meta.platforms;
+    };
+  };
+
+  tracing = buildPythonPackage rec {
+    name = "tracing-0.6";
+
+    src = fetchurl rec {
+      url = "http://code.liw.fi/debian/pool/main/p/python-tracing/python-tracing_0.6.orig.tar.gz";
+      sha256 = "1164cf05891f9bca93fb87413f32d2c4da90348adbf69b0ad36a464b7adcd354";
+    };
+
+    buildInputs = [ sphinx ];
+
+    doCheck = false;
+
+    meta = {
+      homepage = http://liw.fi/tracing/;
+      description = "Python debug logging helper.";
+      maintainers = [ stdenv.lib.maintainers.rickynils ];
+      platforms = python.meta.platforms;
+    };
+  };
+
+  ttystatus = buildPythonPackage rec {
+    name = "ttystatus-0.19";
+
+    src = fetchurl rec {
+      url = "http://code.liw.fi/debian/pool/main/p/python-ttystatus/python-ttystatus_0.19.orig.tar.gz";
+      sha256 = "7cc112a4783f2e0c354c5244f8e50b18733b5957677b56a755c1016e04c0c28d";
+    };
+
+    buildInputs = [ sphinx ];
+
+    doCheck = false;
+
+    meta = {
+      homepage = http://liw.fi/ttystatus/;
+      description = "Progress and status updates on terminals for Python.";
+      maintainers = [ stdenv.lib.maintainers.rickynils ];
+      platforms = python.meta.platforms;
+    };
+  };
+
+  larch = buildPythonPackage rec {
+    name = "larch-0.31";
+
+    src = fetchurl rec {
+      url = "http://code.liw.fi/debian/pool/main/p/python-larch/python-larch_0.31.orig.tar.gz";
+      sha256 = "18c243a45b35974c304c9b3d8b05718f1272f14c29cd3c9010800cf821064444";
+    };
+
+    buildInputs = [ sphinx ];
+    propagatedBuildInputs = [ tracing ttystatus cliapp ];
+
+    doCheck = false;
+
+    meta = {
+      homepage = http://liw.fi/larch/;
+      description = "Python B-tree library.";
+      maintainers = [ stdenv.lib.maintainers.rickynils ];
+      platforms = python.meta.platforms;
+    };
+  };
+
 }; in pythonPackages
diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix
index e6a4798f27b1..a1af20acc77c 100644
--- a/pkgs/top-level/release-cross.nix
+++ b/pkgs/top-level/release-cross.nix
@@ -17,10 +17,9 @@ let
       #xorgserver.hostDrv = nativePlatforms;
     };
     nixUnstable.hostDrv = nativePlatforms;
-    linuxPackages_2_6_32.kernel.hostDrv = linux;
-    linuxPackages_2_6_33.kernel.hostDrv = linux;
-    linuxPackages_2_6_34.kernel.hostDrv = linux;
-    linuxPackages_2_6_35.kernel.hostDrv = linux;
+    linuxPackages_2_6_39.kernel.hostDrv = linux;
+    linuxPackages_3_3.kernel.hostDrv = linux;
+    linuxPackages_3_4.kernel.hostDrv = linux;
   };
 
   /* Basic list of packages to be natively built,
@@ -165,6 +164,29 @@ in {
   };
 }) // (
 
+/* Test some cross builds on mingw-w64 */
+let
+  crossSystem = {
+      # That's the triplet they use in the mingw-w64 docs,
+      # and it's relevant for nixpkgs conditions.
+      config = "x86_64-w64-mingw32";
+      arch = "x86_64"; # Irrelevant
+      libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
+      platform = {};
+  };
+in {
+  crossMingwW64 = mapTestOnCross crossSystem {
+    coreutils.hostDrv = nativePlatforms;
+    boehmgc.hostDrv = nativePlatforms;
+    gmp.hostDrv = nativePlatforms;
+    guile_1_8.hostDrv = nativePlatforms;
+    libffi.hostDrv = nativePlatforms;
+    libtool.hostDrv = nativePlatforms;
+    libunistring.hostDrv = nativePlatforms;
+    windows.wxMSW.hostDrv = nativePlatforms;
+  };
+}) // (
+
 /* GNU aka. GNU/Hurd.  */
 let
   crossSystem = {
diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix
index 59777fe99be7..3201afb44a05 100644
--- a/pkgs/top-level/release-small.nix
+++ b/pkgs/top-level/release-small.nix
@@ -24,7 +24,6 @@ with (import ./release-lib.nix);
   autoconf = all;
   automake110x = all;
   automake111x = all;
-  automake19x = all;
   avahi = allBut "i686-cygwin";  # Cygwin builds fail
   bash = all;
   bashInteractive = all;
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index aff1dd9ce9c6..5391b3a51c57 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -26,7 +26,6 @@ with (import ./release-lib.nix);
   autoconf = all;
   automake110x = all;
   automake111x = all;
-  automake19x = all;
   avahi = allBut "i686-cygwin";  # Cygwin builds fail
   bash = all;
   bashInteractive = all;
@@ -360,9 +359,8 @@ with (import ./release-lib.nix);
   };
 
   firefox36Pkgs.firefox = linux;
-  firefox10Pkgs.firefox = linux;
-  firefox11Pkgs.firefox = linux;
   firefox12Pkgs.firefox = linux;
+  firefox13Pkgs.firefox = linux;
 
   gnome = {
     gnome_panel = linux;