summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2011-12-12 16:54:35 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2011-12-12 16:54:35 +0000
commiteda3fd1730cdfe7302ad8891fca7bb09670e37b2 (patch)
tree7ca3e75279c237cb10ee9b365b0bc919a5f2eddc
parent5de58eb38778eef03e119545b21b2ad48c125482 (diff)
parentb0834a993ea0daa1a417d7d838764c828cee992c (diff)
downloadnixlib-eda3fd1730cdfe7302ad8891fca7bb09670e37b2.tar
nixlib-eda3fd1730cdfe7302ad8891fca7bb09670e37b2.tar.gz
nixlib-eda3fd1730cdfe7302ad8891fca7bb09670e37b2.tar.bz2
nixlib-eda3fd1730cdfe7302ad8891fca7bb09670e37b2.tar.lz
nixlib-eda3fd1730cdfe7302ad8891fca7bb09670e37b2.tar.xz
nixlib-eda3fd1730cdfe7302ad8891fca7bb09670e37b2.tar.zst
nixlib-eda3fd1730cdfe7302ad8891fca7bb09670e37b2.zip
* Sync with the trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=30852
-rwxr-xr-xmaintainers/scripts/gnu/gnupdate19
-rw-r--r--pkgs/applications/audio/ncmpcpp/default.nix21
-rw-r--r--pkgs/applications/editors/zile/default.nix7
-rw-r--r--pkgs/applications/graphics/giv/default.nix6
-rw-r--r--pkgs/applications/graphics/giv/union.patch38
-rw-r--r--pkgs/applications/misc/adobe-reader/default.nix1
-rw-r--r--pkgs/applications/misc/bitcoin/default.nix30
-rw-r--r--pkgs/applications/misc/eaglemode/default.nix10
-rw-r--r--pkgs/applications/misc/gosmore/default.nix6
-rw-r--r--pkgs/applications/misc/gv/default.nix9
-rw-r--r--pkgs/applications/misc/ikiwiki/default.nix4
-rw-r--r--pkgs/applications/misc/xfontsel/default.nix3
-rw-r--r--pkgs/applications/misc/xmobar/default.nix8
-rw-r--r--pkgs/applications/misc/xpdf/default.nix2
-rw-r--r--pkgs/applications/misc/xterm/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/firefox/6.0-install-sdk-bin.patch35
-rw-r--r--pkgs/applications/networking/browsers/firefox/8.0.nix10
-rw-r--r--pkgs/applications/networking/browsers/firefox/9.0.nix (renamed from pkgs/applications/networking/browsers/firefox/6.0.nix)44
-rw-r--r--pkgs/applications/networking/browsers/icecat-4/default.nix118
-rw-r--r--pkgs/applications/networking/browsers/icecat-4/rpath-link.patch14
-rw-r--r--pkgs/applications/networking/browsers/icecat-4/skip-gre-registration.patch12
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/builder.sh23
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix88
-rw-r--r--pkgs/applications/networking/instant-messengers/amsn/builder.sh11
-rw-r--r--pkgs/applications/networking/instant-messengers/amsn/default.nix18
-rw-r--r--pkgs/applications/networking/instant-messengers/kadu/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/kadu/disable_encryption_plugins.patch16
-rw-r--r--pkgs/applications/networking/instant-messengers/kadu/disable_some_plugins.patch28
-rw-r--r--pkgs/applications/networking/instant-messengers/torchat/default.nix38
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix10
-rw-r--r--pkgs/applications/networking/p2p/gnunet/0.8.nix (renamed from pkgs/applications/networking/p2p/gnunet/0.9.nix)32
-rw-r--r--pkgs/applications/networking/p2p/gnunet/default.nix123
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix39
-rw-r--r--pkgs/applications/networking/sync/rsync/default.nix11
-rw-r--r--pkgs/applications/office/gnucash/default.nix4
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix4
-rw-r--r--pkgs/applications/science/logic/hol_light/default.nix6
-rw-r--r--pkgs/applications/science/logic/isabelle/default.nix2
-rw-r--r--pkgs/applications/science/logic/matita/default.nix4
-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.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/svn2git/default.nix37
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix15
-rw-r--r--pkgs/applications/version-management/subversion/default.nix4
-rw-r--r--pkgs/applications/video/bangarang/default.nix4
-rw-r--r--pkgs/applications/video/dvb-apps/default.nix23
-rw-r--r--pkgs/applications/video/quvi/library.nix22
-rw-r--r--pkgs/applications/video/quvi/scripts.nix22
-rw-r--r--pkgs/applications/video/quvi/tool.nix22
-rw-r--r--pkgs/applications/video/vlc/default.nix4
-rw-r--r--pkgs/applications/video/xine-ui/default.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix4
-rw-r--r--pkgs/applications/window-managers/xmonad/default.nix13
-rw-r--r--pkgs/applications/window-managers/xmonad/xmonad-contrib.nix4
-rw-r--r--pkgs/applications/window-managers/xmonad/xmonad-extras.nix12
-rw-r--r--pkgs/build-support/builder-defs/builder-defs.nix5
-rw-r--r--pkgs/build-support/native-darwin-cctools-wrapper/builder.sh2
-rw-r--r--pkgs/build-support/release/source-tarball.nix9
-rw-r--r--pkgs/data/misc/xkeyboard-config/default.nix4
-rw-r--r--pkgs/desktops/e17/e_dbus/default.nix9
-rw-r--r--pkgs/desktops/e17/ecore/default.nix4
-rw-r--r--pkgs/desktops/e17/edje/default.nix9
-rw-r--r--pkgs/desktops/e17/eet/default.nix4
-rw-r--r--pkgs/desktops/e17/eeze/default.nix4
-rw-r--r--pkgs/desktops/e17/efreet/default.nix4
-rw-r--r--pkgs/desktops/e17/eina/default.nix4
-rw-r--r--pkgs/desktops/e17/embryo/default.nix7
-rw-r--r--pkgs/desktops/e17/enlightenment/default.nix7
-rw-r--r--pkgs/desktops/e17/evas/default.nix4
-rw-r--r--pkgs/desktops/kde-4.7/default.nix2
-rw-r--r--pkgs/desktops/kde-4.7/kde-package/4.7.2.nix273
-rw-r--r--pkgs/desktops/kde-4.7/kde-package/4.7.4.nix273
-rwxr-xr-xpkgs/desktops/kde-4.7/kde-package/kde-manifest.sh2
-rw-r--r--pkgs/desktops/kde-4.7/l10n/manifest-4.7.2.nix262
-rw-r--r--pkgs/desktops/kde-4.7/l10n/manifest-4.7.4.nix267
-rw-r--r--pkgs/development/compilers/Agda-executable/default.nix4
-rw-r--r--pkgs/development/compilers/epic/default.nix4
-rw-r--r--pkgs/development/compilers/gcc-4.5/default.nix21
-rw-r--r--pkgs/development/compilers/gcc-4.6/builder.sh5
-rw-r--r--pkgs/development/compilers/gcc-4.6/default.nix23
-rw-r--r--pkgs/development/compilers/ghc/7.2.2.nix44
-rw-r--r--pkgs/development/compilers/ghc/with-packages.nix89
-rw-r--r--pkgs/development/compilers/llvm/clang-include-paths-svn.patch40
-rw-r--r--pkgs/development/compilers/llvm/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/svn-head.nix66
-rw-r--r--pkgs/development/compilers/mit-scheme/default.nix17
-rw-r--r--pkgs/development/compilers/nvidia-cg-toolkit/default.nix51
-rw-r--r--pkgs/development/compilers/opa/default.nix63
-rw-r--r--pkgs/development/compilers/opa/libdir.patch93
-rw-r--r--pkgs/development/compilers/opa/locate.patch14
-rw-r--r--pkgs/development/compilers/sbcl/src-for-default.nix10
-rw-r--r--pkgs/development/compilers/sbcl/src-info-for-default.nix7
-rw-r--r--pkgs/development/compilers/strategoxt/0.18.nix6
-rw-r--r--pkgs/development/compilers/uhc/default.nix (renamed from pkgs/development/compilers/ehc/default.nix)17
-rw-r--r--pkgs/development/compilers/urweb/default.nix6
-rw-r--r--pkgs/development/interpreters/guile/default.nix17
-rw-r--r--pkgs/development/interpreters/pure/default.nix4
-rw-r--r--pkgs/development/interpreters/racket/default.nix4
-rw-r--r--pkgs/development/interpreters/ruby/generated.nix206
-rw-r--r--pkgs/development/interpreters/ruby/ruby-19.nix5
-rw-r--r--pkgs/development/libraries/boost/1.48.nix91
-rw-r--r--pkgs/development/libraries/ccrtp/default.nix6
-rw-r--r--pkgs/development/libraries/cloog/default.nix20
-rw-r--r--pkgs/development/libraries/db4/db4-4.8.nix2
-rw-r--r--pkgs/development/libraries/fcgi/default.nix4
-rw-r--r--pkgs/development/libraries/freetds/default.nix20
-rw-r--r--pkgs/development/libraries/gdbm/default.nix4
-rw-r--r--pkgs/development/libraries/gnutls/default.nix4
-rw-r--r--pkgs/development/libraries/gss/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Agda/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/HTTP/3001.1.5.nix18
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.1.nix (renamed from pkgs/development/libraries/haskell/HTTP/4000.1.2.nix)6
-rw-r--r--pkgs/development/libraries/haskell/HaskellForMaths/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Hipmunk/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/X11/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/aeson/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/asn1-data/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/attoparsec-text-enumerator/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/attoparsec-text/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/enumerator.nix12
-rw-r--r--pkgs/development/libraries/haskell/authenticate/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/base16-bytestring/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/blaze-html/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/blaze-textual/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/bytestring-lexing/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/cairo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/case-insensitive/default.nix5
-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/clientsession/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/cmdlib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/convertible-text/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cookie/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/criterion/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/css-text/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/data-object-yaml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/data-object/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/double-conversion/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/enumerator/default.nix4
-rwxr-xr-xpkgs/development/libraries/haskell/flexible-defaults/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/glib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gloss/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/graphviz/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gtk/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hakyll/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/hamlet/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix4
-rw-r--r--pkgs/development/libraries/haskell/hashtables/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-exts/1.9.6.nix19
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-exts/default.nix (renamed from pkgs/development/libraries/haskell/haskell-src-exts/1.11.1.nix)0
-rw-r--r--pkgs/development/libraries/haskell/haskell-src/1.0.1.5.nix18
-rw-r--r--pkgs/development/libraries/haskell/hastache/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/hmatrix/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-enumerator/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-types/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hxt/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/iteratee/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/libmpd/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/mime-mail/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/monad-control/0.2.0.3.nix18
-rw-r--r--pkgs/development/libraries/haskell/monad-control/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/pango/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/persistent-template/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/persistent/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/pool/default.nix4
-rwxr-xr-xpkgs/development/libraries/haskell/random-source/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/random/1.0.0.2.nix17
-rw-r--r--pkgs/development/libraries/haskell/random/1.0.1.1.nix (renamed from pkgs/development/libraries/haskell/random/1.0.1.0.nix)4
-rw-r--r--pkgs/development/libraries/haskell/safe/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-css/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-js/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-text/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/smallcheck/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/snap/core.nix4
-rw-r--r--pkgs/development/libraries/haskell/snap/server.nix4
-rw-r--r--pkgs/development/libraries/haskell/statistics/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.5.nix (renamed from pkgs/development/libraries/haskell/random/1.0.0.3.nix)12
-rw-r--r--pkgs/development/libraries/haskell/tagsoup/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/terminfo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/test-framework/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/texmath/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/th-extras/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/tls/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/transformers-base/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/utility-ht/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/uu-parsinglib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vector-space/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-app-static/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-extra/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/warp/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/xml-enumerator/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/xss-sanitize/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/yaml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-auth/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/yesod-core/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/yesod-form/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-json/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/yesod-persistent/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-static/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod/default.nix8
-rw-r--r--pkgs/development/libraries/hwloc/default.nix11
-rw-r--r--pkgs/development/libraries/isl/default.nix23
-rw-r--r--pkgs/development/libraries/libassuan/default.nix4
-rw-r--r--pkgs/development/libraries/libchop/default.nix47
-rw-r--r--pkgs/development/libraries/libdvbpsi/default.nix19
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix4
-rw-r--r--pkgs/development/libraries/libidn/default.nix6
-rw-r--r--pkgs/development/libraries/libofx/default.nix6
-rw-r--r--pkgs/development/libraries/libofx/libofx-0.9.0-gcc43.patch375
-rw-r--r--pkgs/development/libraries/librsync/default.nix2
-rw-r--r--pkgs/development/libraries/libtasn1/default.nix4
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/default.nix4
-rw-r--r--pkgs/development/libraries/libvirt/default.nix4
-rw-r--r--pkgs/development/libraries/log4cplus/default.nix19
-rw-r--r--pkgs/development/libraries/ncurses/default.nix2
-rw-r--r--pkgs/development/libraries/openssl/default.nix19
-rw-r--r--pkgs/development/libraries/openssl/freebsd-x86_64-asm.patch16
-rw-r--r--pkgs/development/libraries/openssl/hurd-target.patch12
-rw-r--r--pkgs/development/libraries/sqlite/default.nix4
-rw-r--r--pkgs/development/libraries/tokyo-tyrant/default.nix41
-rw-r--r--pkgs/development/libraries/ucommon/default.nix6
-rw-r--r--pkgs/development/libraries/xapian/bindings/default.nix8
-rw-r--r--pkgs/development/libraries/xapian/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/cryptokit/META8
-rw-r--r--pkgs/development/ocaml-modules/cryptokit/default.nix30
-rw-r--r--pkgs/development/ocaml-modules/cryptokit/makefile.patch21
-rw-r--r--pkgs/development/ocaml-modules/ocamlgraph/default.nix40
-rw-r--r--pkgs/development/ocaml-modules/ocamlgraph/destdir.patch13
-rw-r--r--pkgs/development/ocaml-modules/ulex/0.8/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ulex/default.nix2
-rw-r--r--pkgs/development/perl-modules/starman-dont-change-name.patch23
-rw-r--r--pkgs/development/tools/analysis/lcov/default.nix1
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix4
-rw-r--r--pkgs/development/tools/haskell/SourceGraph/default.nix24
-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/haskell/uuagc/cabal.nix4
-rw-r--r--pkgs/development/tools/misc/autoconf/default.nix2
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix24
-rw-r--r--pkgs/development/tools/ocaml/camlp5/5.15.nix44
-rw-r--r--pkgs/development/tools/ocaml/camlp5/default.nix11
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.8.nix21
-rw-r--r--pkgs/development/web/nodejs/default.nix13
-rw-r--r--pkgs/games/spring/default.nix13
-rw-r--r--pkgs/games/warzone2100/default.nix4
-rw-r--r--pkgs/lib/maintainers.nix1
-rw-r--r--pkgs/misc/emulators/wine/default.nix4
-rw-r--r--pkgs/misc/sane-backends/default.nix5
-rw-r--r--pkgs/misc/sane-backends/snapshot.nix33
-rw-r--r--pkgs/misc/tex/dblatex/default.nix12
-rw-r--r--pkgs/os-specific/gnu/hurd/default.nix6
-rw-r--r--pkgs/os-specific/linux/aufs-util/2.1.nix (renamed from pkgs/os-specific/linux/aufs2.1-util/default.nix)11
-rw-r--r--pkgs/os-specific/linux/aufs-util/2.nix (renamed from pkgs/os-specific/linux/aufs2-util/default.nix)8
-rw-r--r--pkgs/os-specific/linux/aufs-util/3.nix (renamed from pkgs/os-specific/linux/aufs3-util/default.nix)12
-rw-r--r--pkgs/os-specific/linux/aufs/2.1.nix (renamed from pkgs/os-specific/linux/aufs2.1/default.nix)5
-rw-r--r--pkgs/os-specific/linux/aufs/2.nix (renamed from pkgs/os-specific/linux/aufs2/default.nix)2
-rw-r--r--pkgs/os-specific/linux/aufs/3.nix (renamed from pkgs/os-specific/linux/aufs3/default.nix)2
-rw-r--r--pkgs/os-specific/linux/aufs/debian-2.6.29.diff133
-rw-r--r--pkgs/os-specific/linux/aufs/default.nix43
-rw-r--r--pkgs/os-specific/linux/bluez/default.nix2
-rw-r--r--pkgs/os-specific/linux/bridge-utils/default.nix11
-rw-r--r--pkgs/os-specific/linux/cryptsetup/default.nix16
-rw-r--r--pkgs/os-specific/linux/firmware/rtl8192c/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-2.6.35.nix10
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.0.nix14
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.1.nix16
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.2.nix237
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix73
-rw-r--r--pkgs/os-specific/linux/libcgroup/default.nix (renamed from pkgs/os-specific/linux/libcg/default.nix)7
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix6
-rw-r--r--pkgs/os-specific/linux/shadow/default.nix21
-rw-r--r--pkgs/os-specific/linux/udev/173.nix4
-rw-r--r--pkgs/servers/identd/oidentd/default.nix16
-rw-r--r--pkgs/servers/mpd/clientlib.nix17
-rw-r--r--pkgs/servers/prayer/default.nix36
-rw-r--r--pkgs/servers/prayer/install.patch170
-rw-r--r--pkgs/servers/pulseaudio/default.nix4
-rw-r--r--pkgs/servers/samba/default.nix45
-rw-r--r--pkgs/servers/sip/sipwitch/default.nix4
-rw-r--r--pkgs/stdenv/adapters.nix20
-rw-r--r--pkgs/stdenv/generic/default.nix3
-rw-r--r--pkgs/stdenv/native/default.nix12
-rw-r--r--pkgs/tools/X11/x11vnc/default.nix13
-rw-r--r--pkgs/tools/admin/tigervnc/default.nix56
-rw-r--r--pkgs/tools/archivers/dar/default.nix8
-rw-r--r--pkgs/tools/backup/btar/default.nix21
-rw-r--r--pkgs/tools/backup/duplicity/default.nix6
-rw-r--r--pkgs/tools/cd-dvd/xorriso/default.nix4
-rw-r--r--pkgs/tools/misc/dtach/default.nix32
-rw-r--r--pkgs/tools/misc/gource/default.nix6
-rw-r--r--pkgs/tools/misc/mc/default.nix6
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/recutils/default.nix4
-rw-r--r--pkgs/tools/misc/tmux/default.nix6
-rw-r--r--pkgs/tools/networking/imapproxy/default.nix21
-rw-r--r--pkgs/tools/networking/miniupnpc/default.nix4
-rw-r--r--pkgs/tools/networking/openvpn/default.nix1
-rw-r--r--pkgs/tools/networking/p2p/rtorrent/default.nix5
-rw-r--r--pkgs/tools/networking/p2p/seeks/default.nix11
-rw-r--r--pkgs/tools/networking/uwimap/default.nix38
-rw-r--r--pkgs/tools/networking/vde2/default.nix8
-rw-r--r--pkgs/tools/networking/wget/default.nix11
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix13
-rw-r--r--pkgs/tools/system/fakeroot/default.nix6
-rw-r--r--pkgs/tools/system/freeipmi/default.nix4
-rw-r--r--pkgs/tools/system/ts/default.nix6
-rw-r--r--pkgs/tools/text/wdiff/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix277
-rw-r--r--pkgs/top-level/haskell-packages.nix87
-rw-r--r--pkgs/top-level/perl-packages.nix208
-rw-r--r--pkgs/top-level/python-packages.nix6
-rw-r--r--pkgs/top-level/release-cross.nix7
-rw-r--r--pkgs/top-level/release.nix7
320 files changed, 4051 insertions, 2816 deletions
diff --git a/maintainers/scripts/gnu/gnupdate b/maintainers/scripts/gnu/gnupdate
index a0c1f338d3a4..0b50677464b6 100755
--- a/maintainers/scripts/gnu/gnupdate
+++ b/maintainers/scripts/gnu/gnupdate
@@ -441,6 +441,8 @@ the file at URL."
     (define validsig-rx
       (make-regexp
        "^\\[GNUPG:\\] VALIDSIG ([[:xdigit:]]+) ([[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}) ([[:digit:]]+) .*$"))
+    (define expkeysig-rx                    ; good signature, but expired key
+      (make-regexp "^\\[GNUPG:\\] EXPKEYSIG ([[:xdigit:]]+) (.*)$"))
     (define errsig-rx
       (make-regexp
        "^\\[GNUPG:\\] ERRSIG ([[:xdigit:]]+) ([^ ]+) ([^ ]+) ([^ ]+) ([[:digit:]]+) ([[:digit:]]+)"))
@@ -450,20 +452,25 @@ the file at URL."
            (lambda (match)
              `(signature-id ,(match:substring match 1) ; sig id
                             ,(match:substring match 2) ; date
-                            ,(string->number      ; timestamp
+                            ,(string->number           ; timestamp
                               (match:substring match 3)))))
           ((regexp-exec goodsig-rx line)
            =>
            (lambda (match)
-             `(good-signature ,(match:substring match 1) ; key id
+             `(good-signature ,(match:substring match 1)    ; key id
                               ,(match:substring match 2)))) ; user name
           ((regexp-exec validsig-rx line)
            =>
            (lambda (match)
              `(valid-signature ,(match:substring match 1) ; fingerprint
                                ,(match:substring match 2) ; sig creation date
-                               ,(string->number   ; timestamp
+                               ,(string->number           ; timestamp
                                  (match:substring match 3)))))
+          ((regexp-exec expkeysig-rx line)
+           =>
+           (lambda (match)
+             `(expired-key-signature ,(match:substring match 1) ; fingerprint
+                                     ,(match:substring match 2)))) ; user name
           ((regexp-exec errsig-rx line)
            =>
            (lambda (match)
@@ -471,7 +478,7 @@ the file at URL."
                                ,(match:substring match 2) ; pubkey algo
                                ,(match:substring match 3) ; hash algo
                                ,(match:substring match 4) ; sig class
-                               ,(string->number   ; timestamp
+                               ,(string->number           ; timestamp
                                  (match:substring match 5))
                                ,(let ((rc
                                        (string->number ; return code
@@ -504,7 +511,7 @@ the file at URL."
 a key-id/user pair; return #f otherwise."
   (any (lambda (sexp)
          (match sexp
-           (('good-signature key-id user)
+           (((or 'good-signature 'expired-key-signature) key-id user)
             (cons key-id user))
            (_ #f)))
        status))
@@ -774,7 +781,6 @@ Return #t if the signature was good, #f otherwise."
       ("freefont-ttf" "ftp.gnu.org"   "/gnu/freefont" #f)
       ("gnupg"        "ftp.gnupg.org" "/gcrypt" #t)
       ("gnu-ghostscript" "ftp.gnu.org"  "/gnu/ghostscript" #f)
-      ("GNUnet"       "ftp.gnu.org" "/gnu/gnunet" #f)
       ("mit-scheme"   "ftp.gnu.org" "/gnu/mit-scheme/stable.pkg" #f)
       ("icecat"       "ftp.gnu.org" "/gnu/gnuzilla" #f)
       ("source-highlight" "ftp.gnu.org" "/gnu/src-highlite" #f)
@@ -798,7 +804,6 @@ Return #t if the signature was good, #f otherwise."
       ("gnumake"     . "make")
       ("gnused"      . "sed")
       ("gnutar"      . "tar")
-      ("gnunet"      . "GNUnet") ;; ftp.gnu.org/gnu/gnunet/GNUnet-x.y.tar.gz
       ("mitscheme"   . "mit-scheme")
       ("texmacs"     . "TeXmacs")))
 
diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix
new file mode 100644
index 000000000000..b9d304097111
--- /dev/null
+++ b/pkgs/applications/audio/ncmpcpp/default.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, ncurses, curl, taglib, fftw, mpd_clientlib, pkgconfig}:
+
+stdenv.mkDerivation rec {
+  version = "0.5.8";
+  name = "ncmpcpp-${version}";
+
+  src = fetchurl {
+    url = "http://unkart.ovh.org/ncmpcpp/ncmpcpp-${version}.tar.bz2";
+    sha256 = "1kbkngs4fhf9z53awskqiwdl94i5slvxmjiajkrayi99373fallx";
+  };
+
+  buildInputs = [ ncurses curl taglib fftw mpd_clientlib pkgconfig ];
+
+  meta = {
+    description = "Curses-based interface for MPD (music player daemon)";
+    homepage = http://unkart.ovh.org/ncmpcpp/;
+    license = "GPLv2+";
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
+  };
+}
+
diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix
index 6a1762d77ff3..0d588e537bb5 100644
--- a/pkgs/applications/editors/zile/default.nix
+++ b/pkgs/applications/editors/zile/default.nix
@@ -8,13 +8,16 @@ stdenv.mkDerivation rec {
     sha256 = "0ia91c18fyssnhabfb22npmidjkx32rqfkjgxxjibvdwfja25d3k";
   };
 
-  buildInputs = [ ncurses boehmgc perl ];
-  buildNativeInputs = [ help2man ];
+  buildInputs = [ ncurses boehmgc ];
+  buildNativeInputs = [ help2man perl ];
 
   # Tests can't be run because most of them rely on the ability to
   # fiddle with the terminal.
   doCheck = false;
 
+  # XXX: Work around cross-compilation-unfriendly `gl_FUNC_FSTATAT' macro.
+  preConfigure = "export gl_cv_func_fstatat_zero_flag=yes";
+
   meta = {
     description = "GNU Zile, a lightweight Emacs clone";
 
diff --git a/pkgs/applications/graphics/giv/default.nix b/pkgs/applications/graphics/giv/default.nix
index d32ef5bbebc9..a9eab8e00f84 100644
--- a/pkgs/applications/graphics/giv/default.nix
+++ b/pkgs/applications/graphics/giv/default.nix
@@ -2,11 +2,11 @@
   pcre, cfitsio, perl, gob2, vala, libtiff }:
 
 stdenv.mkDerivation rec {
-  name = "giv-0.9.19";
+  name = "giv-0.9.20";
 
   src = fetchurl {
     url = "mirror://sourceforge/giv/${name}.tar.gz";
-    sha256 = "07sgpp4k27417ymavcvil4waq6ac2mj08g42g1l52l435xm5mnh7";
+    sha256 = "09s659vvv26nw9vaw3a766al8yq6np7p0xb4iw907921j6nbqp7z";
   };
 
   # It built code to be put in a shared object without -fPIC
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     sed -i s,/usr/local,$out, SConstruct 
   '';
 
-  patches = [ ./build.patch ./union.patch ];
+  patches = [ ./build.patch ];
 
   buildPhase = "scons";
 
diff --git a/pkgs/applications/graphics/giv/union.patch b/pkgs/applications/graphics/giv/union.patch
deleted file mode 100644
index f12fce036135..000000000000
--- a/pkgs/applications/graphics/giv/union.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Already reported uptream
-
-diff --git a/src/giv-data.h b/src/giv-data.h
-index 64e7696..d34bfe4 100644
---- a/src/giv-data.h
-+++ b/src/giv-data.h
-@@ -88,7 +88,7 @@ typedef struct
- typedef struct
- {
-   gint op;
--  union
-+  struct
-   {
-     struct
-     {
-diff --git a/src/giv_types.h b/src/giv_types.h
-index 02abebe..c3cfb78 100644
---- a/src/giv_types.h
-+++ b/src/giv_types.h
-@@ -11,13 +11,11 @@ typedef struct {
- 
- typedef struct {
-   gint op;
--  union {
--    struct {
--      gdouble x,y;
--    } point;
--    double arc_dev;
--    text_mark_t *text_object;
--  } data;
-+  struct {
-+    gdouble x,y;
-+  } point;
-+  double arc_dev;
-+  text_mark_t *text_object;
- } point_t;
- 
- typedef struct {
diff --git a/pkgs/applications/misc/adobe-reader/default.nix b/pkgs/applications/misc/adobe-reader/default.nix
index 6182931de96e..e56982a6680b 100644
--- a/pkgs/applications/misc/adobe-reader/default.nix
+++ b/pkgs/applications/misc/adobe-reader/default.nix
@@ -28,5 +28,6 @@ stdenv.mkDerivation {
   meta = {
     description = "Adobe Reader, a viewer for PDF documents";
     homepage = http://www.adobe.com/products/reader;
+    license = "unfree";
   };
 }
diff --git a/pkgs/applications/misc/bitcoin/default.nix b/pkgs/applications/misc/bitcoin/default.nix
index 9d9ddb056daa..d56ebe6b17f1 100644
--- a/pkgs/applications/misc/bitcoin/default.nix
+++ b/pkgs/applications/misc/bitcoin/default.nix
@@ -1,32 +1,30 @@
-{ fetchurl, stdenv, openssl, db4, boost, zlib, glib, libSM, gtk, wxGTK, miniupnpc }:
+{ fetchurl, stdenv, openssl, db4, boost, zlib, miniupnpc, qt4 }:
 
 stdenv.mkDerivation rec {
-  version = "0.3.24";
+  version = "0.5.0";
   name = "bitcoin-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/bitcoin/Bitcoin/${name}/${name}-src.tar.gz";
-    sha256 = "18n8i37c478b275m2x82411i1fsw8l34qm1k65ynnw38fpaj4h3r";
+    url = " https://github.com/bitcoin/bitcoin/tarball/v${version}";
+    sha256 = "1i9wnbjf9yrs9rq5jnh9pk1x5j982qh3xpjm05z8dgd3nympgyy8";
   };
 
-  buildInputs = [ openssl db4 boost zlib glib libSM gtk wxGTK miniupnpc ];
+  buildInputs = [ openssl db4 boost zlib miniupnpc qt4 ];
 
-  preConfigure = ''
+  unpackCmd = "tar xvf $curSrc";
+
+  buildPhase = ''
+    qmake
+    make
     cd src
-    substituteInPlace makefile.unix \
-      --replace "-Wl,-Bstatic" "" \
-      --replace "-Wl,-Bdynamic" "" \
-      --replace "DEBUGFLAGS=-g -D__WXDEBUG__" "DEBUGFLAGS=" \
+    make -f makefile.unix
+    cd ..
   '';
 
-  makefile = "makefile.unix";
-
-  buildFlags = "bitcoin bitcoind";
-
   installPhase = ''
     ensureDir $out/bin
-    cp bitcoin $out/bin
-    cp bitcoind $out/bin
+    cp bitcoin-qt $out/bin
+    cp src/bitcoind $out/bin
   '';
 
   meta = { 
diff --git a/pkgs/applications/misc/eaglemode/default.nix b/pkgs/applications/misc/eaglemode/default.nix
index adf240414830..f027588c5dc6 100644
--- a/pkgs/applications/misc/eaglemode/default.nix
+++ b/pkgs/applications/misc/eaglemode/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, perl, libX11, xineLib, libjpeg, libpng, libtiff, pkgconfig,
-librsvg, glib, gtk, libXext, libXxf86vm }:
+librsvg, glib, gtk, libXext, libXxf86vm, poppler }:
 
 stdenv.mkDerivation {
-  name = "eaglemode-0.79.0";
+  name = "eaglemode-0.83.0";
  
   src = fetchurl {
-    url = mirror://sourceforge/eaglemode/eaglemode-0.79.0.tar.bz2;
-    sha256 = "115jydig35dqkrwl3x7fv564bks13nw89vfb46bb5rlr3l4a084s";
+    url = mirror://sourceforge/eaglemode/eaglemode-0.83.0.tar.bz2;
+    sha256 = "0rlvi9ljf3ml2l4ydkcgjjja8wk9c7h5qlpdr4x4ghh6sqq0q2x3";
   };
  
   buildInputs = [ perl libX11 xineLib libjpeg libpng libtiff pkgconfig 
-    librsvg glib gtk libXxf86vm libXext ];
+    librsvg glib gtk libXxf86vm libXext poppler ];
  
   # The program tries to dlopen both Xxf86vm and Xext, so we use the
   # trick on NIX_LDFLAGS and dontPatchELF to make it find them.
diff --git a/pkgs/applications/misc/gosmore/default.nix b/pkgs/applications/misc/gosmore/default.nix
index 6da8ed054996..e93e2be85e38 100644
--- a/pkgs/applications/misc/gosmore/default.nix
+++ b/pkgs/applications/misc/gosmore/default.nix
@@ -17,7 +17,11 @@ rec {
   configureFlags = [];
 
   /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
+  phaseNames = ["fixCurlIncludes" "doConfigure" "doMakeInstall"];
+
+  fixCurlIncludes = a.fullDepEntry ''
+    sed -e '/curl.types.h/d' -i *.{c,h,hpp,cpp}
+  '' ["minInit" "doUnpack"];
       
   name = "gosmore-r21657";
   meta = {
diff --git a/pkgs/applications/misc/gv/default.nix b/pkgs/applications/misc/gv/default.nix
index efce2c935614..7a02100b2cb9 100644
--- a/pkgs/applications/misc/gv/default.nix
+++ b/pkgs/applications/misc/gv/default.nix
@@ -1,11 +1,14 @@
 { stdenv, fetchurl, Xaw3d, ghostscriptX, perl }:
 
-stdenv.mkDerivation rec {
-  name = "gv-3.7.2";
+let
+  name = "gv-3.7.3";
+in
+stdenv.mkDerivation {
+  inherit name;
 
   src = fetchurl {
     url = "mirror://gnu/gv/${name}.tar.gz";
-    sha256 = "1cj03rb7xs0l3krax4z2llwnldh876p1h3p5vql4gygcxki8vhk2";
+    sha256 = "ee01ba96e3a5c319eb4658357372a118dbb0e231891b360edecbdebd449d1c2b";
   };
 
   buildInputs = [ Xaw3d ghostscriptX perl ];
diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix
index 7fde09c2175b..46e630804c62 100644
--- a/pkgs/applications/misc/ikiwiki/default.nix
+++ b/pkgs/applications/misc/ikiwiki/default.nix
@@ -13,14 +13,14 @@ assert monotoneSupport -> (monotone != null);
 
 let
   name = "ikiwiki";
-  version = "3.20110715";
+  version = "3.20111107";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz";
-    sha256 = "ef9cbe5ddf484e6b75de05cc6a5b51dfdff1f5920b1c4c66309b1409266df9c7";
+    sha256 = "5b14370ec9c31138d4937eca4ba9c1f1a74515edd34071cefd0cefa37395565c";
   };
 
   buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate
diff --git a/pkgs/applications/misc/xfontsel/default.nix b/pkgs/applications/misc/xfontsel/default.nix
index b875e51ecffb..c81a346914c9 100644
--- a/pkgs/applications/misc/xfontsel/default.nix
+++ b/pkgs/applications/misc/xfontsel/default.nix
@@ -13,6 +13,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [libX11 pkgconfig libXaw];
 
+  # Without this, it gets Xmu as a dependency, but without rpath entry
+  NIX_LDFLAGS = "-lXmu";
+
   # 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.
diff --git a/pkgs/applications/misc/xmobar/default.nix b/pkgs/applications/misc/xmobar/default.nix
index 454e5493ea77..355deec4092f 100644
--- a/pkgs/applications/misc/xmobar/default.nix
+++ b/pkgs/applications/misc/xmobar/default.nix
@@ -1,12 +1,14 @@
-{ cabal, mtl, parsec, stm, time, utf8String, X11, X11Xft }:
+{ cabal, libXrandr, mtl, parsec, stm, time, utf8String, X11, X11Xft
+}:
 
 cabal.mkDerivation (self: {
   pname = "xmobar";
-  version = "0.13";
-  sha256 = "0ijava0vn2dmc6v57i6x663rvxz3ryb2gqks18qk1qli4k0m3hf7";
+  version = "0.14";
+  sha256 = "1y26b2a5v9hxv1zmjcb4m8j9qkqdn74mqc3q58vgp5cav45rphvh";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ mtl parsec stm time utf8String X11 X11Xft ];
+  extraLibraries = [ libXrandr ];
   configureFlags = "-fwith_xft";
   meta = {
     homepage = "http://projects.haskell.org/xmobar/";
diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix
index 8cefdd39b3a3..d653c9728504 100644
--- a/pkgs/applications/misc/xpdf/default.nix
+++ b/pkgs/applications/misc/xpdf/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
     if test -n \"${base14Fonts}\"; then
       substituteInPlace $out/etc/xpdfrc \\
         --replace /usr/local/share/ghostscript/fonts ${base14Fonts} \\
-        --replace '#displayFontT1' displayFontT2
+        --replace '#fontFile' fontFile
     fi
   ";
 
diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix
index e0df36efcb89..b4fab591ef47 100644
--- a/pkgs/applications/misc/xterm/default.nix
+++ b/pkgs/applications/misc/xterm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, xorg, ncurses, freetype, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "xterm-268";
+  name = "xterm-276";
   
   src = fetchurl {
     url = "ftp://invisible-island.net/xterm/${name}.tgz";
-    sha256 = "1hr886mgr74k146fjppnq1pmg6f95l00v88cfwac3rms5lx7ckap";
+    sha256 = "1k3k025z3vl91sc8i7f5lmnsb1rsblpbijri9vnxgpynw4wgrc7b";
   };
   
   buildInputs =
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index bd98d48ffa76..0be1d4dc48da 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -1,5 +1,5 @@
 { GConf, alsaLib, bzip2, cairo, cups, dbus, dbus_glib, expat
-, fetchurl, ffmpeg, fontconfig, freetype, gtkLibs, libX11
+, fetchurl, ffmpeg, fontconfig, freetype, gtkLibs, libX11, libXfixes
 , libXScrnSaver, libXdamage, libXext, libXrender, libXt, libXtst
 , libgcrypt, libjpeg, libpng, makeWrapper, nspr, nss, patchelf
 , stdenv, unzip, zlib, pam, pcre }:
@@ -7,23 +7,23 @@
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" ;
 
 stdenv.mkDerivation rec {
-  name = "chromium-16.0.879.0-pre${version}";
+  name = "chromium-17.0.943.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:config’.
-  version = "100626";
+  version = "110566";
   
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://commondatastorage.googleapis.com/chromium-browser-continuous/Linux_x64/${version}/chrome-linux.zip";
-        sha256 = "1dymz7h9v5hkivn6qn26bnj1waw60z3mngh8g46yvvc5xn4npc3l";
+        sha256 = "0pi2qbcvqy9gn2s0bfqlam3mj5ghnnnkrbxrrjl63737377an7ha";
       }
     else if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://commondatastorage.googleapis.com/chromium-browser-continuous/Linux/${version}/chrome-linux.zip";
-        sha256 = "0zqaj90lfzdddbs6sjygmyxlh8nw3xfr9xw450g9cabg6a2sh7ca";
+        sha256 = "0mk8ikgz97i69qy1cy3cqw4a2ff2ixjzyw5i86fmrq7m1f156yva";
       }
     else throw "Chromium is not supported on this platform.";
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   libPath =
     stdenv.lib.makeLibraryPath
        [ GConf alsaLib bzip2 cairo cups dbus dbus_glib expat
-         ffmpeg fontconfig freetype libX11 libXScrnSaver
+         ffmpeg fontconfig freetype libX11 libXScrnSaver libXfixes
          libXdamage libXext libXrender libXt libXtst libgcrypt libjpeg
          libpng nspr stdenv.gcc.gcc zlib stdenv.gcc.libc
          gtkLibs.glib gtkLibs.gtk gtkLibs.gdk_pixbuf gtkLibs.pango
diff --git a/pkgs/applications/networking/browsers/firefox/6.0-install-sdk-bin.patch b/pkgs/applications/networking/browsers/firefox/6.0-install-sdk-bin.patch
deleted file mode 100644
index 30fe15c6e483..000000000000
--- a/pkgs/applications/networking/browsers/firefox/6.0-install-sdk-bin.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-
-# HG changeset patch
-# User Chris Coulson <chrisccoulson@ubuntu.com>
-# Date 1306390403 -7200
-# Node ID 99672871e93003520189cfe3a684ebbea151cb4b
-# Parent  831f8e040f381ed58441d8bf413f9845f26ce08e
-Bug 639554 - Install sdk/bin with make install. r=bsmedberg
-
-diff --git a/toolkit/mozapps/installer/packager.mk b/toolkit/mozapps/installer/packager.mk
---- a/toolkit/mozapps/installer/packager.mk
-+++ b/toolkit/mozapps/installer/packager.mk
-@@ -704,20 +704,22 @@ ifdef INSTALL_SDK # Here comes the hard 
- 	$(NSINSTALL) -D $(DESTDIR)$(includedir)
- 	(cd $(DIST)/include && tar $(TAR_CREATE_FLAGS) - .) | \
- 	  (cd $(DESTDIR)$(includedir) && tar -xf -)
- 	$(NSINSTALL) -D $(DESTDIR)$(idldir)
- 	(cd $(DIST)/idl && tar $(TAR_CREATE_FLAGS) - .) | \
- 	  (cd $(DESTDIR)$(idldir) && tar -xf -)
- # SDK directory is the libs + a bunch of symlinks
- 	$(NSINSTALL) -D $(DESTDIR)$(sdkdir)/sdk/lib
-+	$(NSINSTALL) -D $(DESTDIR)$(sdkdir)/sdk/bin
- 	if test -f $(DIST)/include/xpcom-config.h; then \
- 	  $(SYSINSTALL) $(IFLAGS1) $(DIST)/include/xpcom-config.h $(DESTDIR)$(sdkdir); \
- 	fi
- 	(cd $(DIST)/sdk/lib && tar $(TAR_CREATE_FLAGS) - .) | (cd $(DESTDIR)$(sdkdir)/sdk/lib && tar -xf -)
-+	(cd $(DIST)/sdk/bin && tar $(TAR_CREATE_FLAGS) - .) | (cd $(DESTDIR)$(sdkdir)/sdk/bin && tar -xf -)
- 	$(RM) -f $(DESTDIR)$(sdkdir)/lib $(DESTDIR)$(sdkdir)/bin $(DESTDIR)$(sdkdir)/include $(DESTDIR)$(sdkdir)/include $(DESTDIR)$(sdkdir)/sdk/idl $(DESTDIR)$(sdkdir)/idl
- 	ln -s $(sdkdir)/sdk/lib $(DESTDIR)$(sdkdir)/lib
- 	ln -s $(installdir) $(DESTDIR)$(sdkdir)/bin
- 	ln -s $(includedir) $(DESTDIR)$(sdkdir)/include
- 	ln -s $(idldir) $(DESTDIR)$(sdkdir)/idl
- endif # INSTALL_SDK
- 
- make-sdk:
-
diff --git a/pkgs/applications/networking/browsers/firefox/8.0.nix b/pkgs/applications/networking/browsers/firefox/8.0.nix
index f68070565290..823d6e0cbd28 100644
--- a/pkgs/applications/networking/browsers/firefox/8.0.nix
+++ b/pkgs/applications/networking/browsers/firefox/8.0.nix
@@ -15,14 +15,14 @@ assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
 
 rec {
 
-  firefoxVersion = "8.0b1";
+  firefoxVersion = "8.0.1";
   
-  xulVersion = "8.0"; # this attribute is used by other packages
+  xulVersion = "8.0.1"; # this attribute is used by other packages
 
   
   src = fetchurl {
-    url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/${firefoxVersion}-candidates/build1/source/firefox-${firefoxVersion}.source.tar.bz2";
-    sha256 = "1sdahpawgngvjh4cap2vdg00ngiwji5nkb40dh5kd393wa6c8mpm";
+    url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
+    sha1 = "0dd207c5cee9d53114c55aa23eeca36b754bc128";
   };
   
   commonConfigureFlags =
@@ -161,7 +161,7 @@ rec {
             file $i;
             if file $i | grep executable &>/dev/null; then 
 	        rm "$out/bin/$(basename "$i")"
-                echo -e '#! /bin/sh\n"'"$i"'" "$@"' > "$out/bin/$(basename "$i")"
+                echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")"
                 chmod a+x "$out/bin/$(basename "$i")"
             fi;
         done;
diff --git a/pkgs/applications/networking/browsers/firefox/6.0.nix b/pkgs/applications/networking/browsers/firefox/9.0.nix
index df205a64fb5c..f14eb05899d0 100644
--- a/pkgs/applications/networking/browsers/firefox/6.0.nix
+++ b/pkgs/applications/networking/browsers/firefox/9.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
+, yasm, mesa, sqlite, unzip
 
 , # If you want the resulting program to call itself "Firefox" instead
   # of "Shiretoko" or whatever, enable this option.  However, those
@@ -15,16 +15,15 @@ assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
 
 rec {
 
-  firefoxVersion = "6.0.2";
+  firefoxVersion = "9.0b1";
   
-  xulVersion = "6.0.2"; # this attribute is used by other packages
+  xulVersion = "9.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";
-    sha1 = "074eb9c1df4de0fe0a4bb9226ca3c2822c334cd6";
+    url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/${firefoxVersion}-candidates/build1/source/firefox-${firefoxVersion}.source.tar.bz2";
+    sha256 = "0mvm0bjzghqywh54fnk5qhz7fjm5d8y952sf59ypq64bhs5dh009";
   };
-
   
   commonConfigureFlags =
     [ "--enable-optimize"
@@ -51,15 +50,13 @@ rec {
     
     inherit src;
 
-    patches = [ ./6.0-install-sdk-bin.patch ];
-
     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
+        xlibs.libXScrnSaver xlibs.scrnsaverproto
+        xlibs.libXext xlibs.xextproto sqlite unzip
       ];
 
     configureFlags =
@@ -76,12 +73,13 @@ rec {
           stdenv.lib.concatStringsSep ":" 
             (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
         }' ';'
+
+        export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
       '';
 
-    # !!! Temporary hacks.
+    # !!! Temporary hack.
     preBuild =
       ''
-        ln -s Linux2.6.mk security/coreconf/Linux3.0.mk
         export NIX_ENFORCE_PURITY=
       '';
 
@@ -103,15 +101,19 @@ rec {
       for i in $out/lib/$libDir/*; do 
           file $i;
           if file $i | grep executable &>/dev/null; then 
-              ln -s $i $out/bin
+              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.org/firefox/;
+      homepage = http://www.mozilla.com/en-US/firefox/;
     };
 
     passthru = { inherit gtk; version = xulVersion; };
@@ -128,7 +130,7 @@ rec {
     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
+        xlibs.pixman yasm mesa sqlite file unzip
       ];
 
     propagatedBuildInputs = [xulrunner];
@@ -137,6 +139,7 @@ rec {
       [ "--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";
@@ -153,11 +156,20 @@ rec {
     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.org/firefox/;
+      homepage = http://www.mozilla.com/en-US/firefox/;
     };
 
     passthru = {
diff --git a/pkgs/applications/networking/browsers/icecat-4/default.nix b/pkgs/applications/networking/browsers/icecat-4/default.nix
deleted file mode 100644
index 9de1b4525a94..000000000000
--- a/pkgs/applications/networking/browsers/icecat-4/default.nix
+++ /dev/null
@@ -1,118 +0,0 @@
-{ fetchurl, stdenv, xz, pkgconfig, gtk, pango, perl, python, ply, zip, libIDL
-, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs, alsaLib
-, libnotify, gnome_vfs, libgnomeui
-, freetype, fontconfig, wirelesstools ? null, pixman
-, application ? "browser" }:
-
-# Build the WiFi stuff on Linux-based systems.
-# FIXME: Disable for now until it can actually be built:
-# http://thread.gmane.org/gmane.comp.gnu.gnuzilla/1376 .
-#assert stdenv.isLinux -> (wirelesstools != null);
-
-let version = "4.0.1.1"; in
-stdenv.mkDerivation {
-  name = "icecat-${version}";
-
-  src = fetchurl {
-    url = "mirror://gnu/gnuzilla/${version}/icecat-${version}.tar.xz";
-    sha256 = "1f1y1834pv8f5fmfb5d4d5gj2v7bxsk3k9b9g832bwq0h5203yvg";
-  };
-
-  buildInputs =
-    [ xz libgnomeui libnotify gnome_vfs alsaLib
-      pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2 pixman
-      python ply dbus dbus_glib pango freetype fontconfig
-      xlibs.libXi xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt
-    ]
-    ++ (stdenv.lib.optional false /* stdenv.isLinux */ wirelesstools);
-
-  patches = [
-    ./skip-gre-registration.patch ./rpath-link.patch
-  ];
-
-  configureFlags =
-    [ "--enable-application=${application}"
-      "--enable-libxul"
-      "--disable-javaxpcom"
-
-      "--enable-optimize"
-      "--disable-debug"
-      "--enable-strip"
-      "--with-system-jpeg"
-      "--with-system-zlib"
-      "--with-system-bz2"
-      # "--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" # <-- this seems to be discouraged
-      "--disable-crashreporter"
-    ]
-    ++ (stdenv.lib.optional true /* (!stdenv.isLinux) */ "--disable-necko-wifi");
-
-  postInstall = ''
-    export dontPatchELF=1;
-
-    # Strip some more stuff
-    strip -S "$out/lib/"*"/"* || true
-
-    # This fixes starting IceCat when there already is a running
-    # instance.  The `icecat' wrapper script actually expects to be
-    # in the same directory as `run-mozilla.sh', apparently.
-    libDir=$(cd $out/lib && ls -d icecat-[0-9]*)
-    test -n "$libDir"
-
-    if [ -f "$out/bin/icecat" ]
-    then
-        # Fix references to /bin paths in the IceCat shell script.
-        substituteInPlace $out/bin/icecat		\
-            --replace /bin/pwd "$(type -tP pwd)"	\
-            --replace /bin/ls "$(type -tP ls)"
-
-        cd $out/bin
-        mv icecat ../lib/$libDir/
-        ln -s ../lib/$libDir/icecat .
-
-        # Register extensions etc.
-        echo "running \`icecat -register'..."
-        (cd $out/lib/$libDir && LD_LIBRARY_PATH=. ./icecat-bin -register) || false
-    fi
-
-    if [ -f "$out/lib/$libDir/xpidl" ]
-    then
-        # XulRunner's IDL compiler.
-        echo "linking \`xpidl'..."
-        ln -s "$out/lib/$libDir/xpidl" "$out/bin"
-    fi
-
-    # Put the GNU IceCat icon in the right place.
-    ensureDir "$out/lib/$libDir/chrome/icons/default"
-    ln -s ../../../icons/default.xpm  "$out/lib/$libDir/chrome/icons/default/"
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = {
-    description = "GNU IceCat, a free web browser based on Mozilla Firefox";
-
-    longDescription = ''
-      Gnuzilla is the GNU version of the Mozilla suite, and GNU IceCat
-      is the GNU version of the Firefox browser.  Its main advantage
-      is an ethical one: it is entirely free software.  While the
-      source code from the Mozilla project is free software, the
-      binaries that they release include additional non-free software.
-      Also, they distribute and recommend non-free software as
-      plug-ins.  In addition, GNU IceCat includes some privacy
-      protection features.
-    '';
-
-    homepage = http://www.gnu.org/software/gnuzilla/;
-    licenses = [ "GPLv2+" "LGPLv2+" "MPLv1+" ];
-
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-    platforms = stdenv.lib.platforms.gnu;
-  };
-
-  passthru = {
-    inherit gtk version;
-    isFirefox3Like = true;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/icecat-4/rpath-link.patch b/pkgs/applications/networking/browsers/icecat-4/rpath-link.patch
deleted file mode 100644
index d50784f13eea..000000000000
--- a/pkgs/applications/networking/browsers/icecat-4/rpath-link.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Without this patch, IceCat ends up linking with
-`-Wl,-rpath-link=/bin -Wl-,-rpath-link=/lib'.
-
---- icecat-3.5/js/src/configure	2009-07-04 18:03:01.000000000 +0200
-+++ icecat-3.5/js/src/configure	2009-07-13 18:34:30.000000000 +0200
-@@ -4775,7 +4775,6 @@ HOST_AR='$(AR)'
- HOST_AR_FLAGS='$(AR_FLAGS)'
- 
- MOZ_JS_LIBS='-L$(libdir) -lmozjs'
--MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(PREFIX)/lib'
- 
- MOZ_COMPONENT_NSPR_LIBS='-L$(LIBXUL_DIST)/bin $(NSPR_LIBS)'
- MOZ_XPCOM_OBSOLETE_LIBS='-L$(LIBXUL_DIST)/lib -lxpcom_compat'
-
diff --git a/pkgs/applications/networking/browsers/icecat-4/skip-gre-registration.patch b/pkgs/applications/networking/browsers/icecat-4/skip-gre-registration.patch
deleted file mode 100644
index d1fb4e3f30ab..000000000000
--- a/pkgs/applications/networking/browsers/icecat-4/skip-gre-registration.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Skip "GRE" registration since that assumes write access to `/etc'.
-
---- icecat-3.0.1-g1/xulrunner/installer/Makefile.in	2008-07-27 12:52:16.000000000 +0200
-+++ icecat-3.0.1-g1/xulrunner/installer/Makefile.in	2008-09-08 17:19:17.000000000 +0200
-@@ -71,6 +71,7 @@ $(MOZILLA_VERSION).system.conf: $(topsrc
- 	printf "[%s]\nGRE_PATH=%s\nxulrunner=true\nabi=%s" \
- 	  $(MOZILLA_VERSION) $(installdir) $(TARGET_XPCOM_ABI)> $@
- 
-+SKIP_GRE_REGISTRATION = yes
- ifndef SKIP_GRE_REGISTRATION
- # to register xulrunner per-user, override this with $HOME/.gre.d
- regdir = /etc/gre.d
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/builder.sh b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/builder.sh
new file mode 100644
index 000000000000..4db487f5c51c
--- /dev/null
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/builder.sh
@@ -0,0 +1,23 @@
+source $stdenv/setup
+
+dontStrip=1
+dontPatchELF=1
+sourceRoot=$TMPDIR
+
+unpackPhase() {
+    tar xvzf $src;
+    for a in *; do
+	if [ -d $a ]; then
+		cd $a
+		break
+	fi
+    done
+}
+
+installPhase() {
+    ensureDir $out/lib/mozilla/plugins
+    cp -pv libflashplayer.so $out/lib/mozilla/plugins
+    patchelf --set-rpath "$rpath" $out/lib/mozilla/plugins/libflashplayer.so
+}
+
+genericBuild
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
new file mode 100644
index 000000000000..260edd360c65
--- /dev/null
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
@@ -0,0 +1,88 @@
+{ stdenv
+, fetchurl
+, zlib
+, alsaLib
+, curl
+, nss
+, nspr
+, fontconfig
+, freetype
+, expat
+, libX11
+, libXext
+, libXrender
+, libXt
+, gtk 
+, glib
+, pango
+, cairo
+, atk
+, gdk_pixbuf
+, debug ? false
+
+/* you have to add ~/mm.cfg :
+
+    TraceOutputFileEnable=1
+    ErrorReportingEnable=1
+    MaxWarnings=1
+
+  in order to read the flash trace at ~/.macromedia/Flash_Player/Logs/flashlog.txt
+  Then FlashBug (a FireFox plugin) shows the log as well
+*/
+
+}:
+
+let
+
+  src =
+    if stdenv.system == "x86_64-linux" then
+      if debug then
+        # no plans to provide a x86_64 version:
+        # http://labs.adobe.com/technologies/flashplayer10/faq.html
+        throw "no x86_64 debugging version available"
+      else {
+        # -> http://labs.adobe.com/downloads/flashplayer10.html
+        version = "11.1.102.55";
+        url = http://fpdownload.macromedia.com/get/flashplayer/pdc/11.1.102.55/install_flash_player_11_linux.x86_64.tar.gz;
+        sha256 = "09swldv174z23pnixy9fxkw084qkl3bbrxfpf159fbjdgvwihn1l";
+      }
+    else if stdenv.system == "i686-linux" then
+      if debug then {
+        # The debug version also contains a player
+        version = "11.1";
+        url = http://fpdownload.macromedia.com/pub/flashplayer/updaters/11/flashplayer_11_plugin_debug.i386.tar.gz;
+        sha256 = "1z3649lv9sh7jnwl8d90a293nkaswagj2ynhsr4xmwiy7c0jz2lk";
+      } else {
+        version = "11.1.102.55";
+        url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/11.1.102.55/install_flash_player_11_linux.i386.tar.gz";
+        sha256 = "08zdnl06lqyk2k3yq4lgphqd3ci2267448mghlv1p0hjrdq253k7";
+      }
+    else throw "Flash Player is not supported on this platform";
+
+in
+
+stdenv.mkDerivation {
+  name = "flashplayer-${src.version}";
+
+  builder = ./builder.sh;
+  
+  src = fetchurl { inherit (src) url sha256; };
+
+  inherit zlib alsaLib;
+
+  passthru = {
+    mozillaPlugin = "/lib/mozilla/plugins";
+  };
+
+  rpath = stdenv.lib.makeLibraryPath
+    [ zlib alsaLib curl nss nspr fontconfig freetype expat libX11
+      libXext libXrender libXt gtk glib pango atk cairo gdk_pixbuf
+    ];
+
+  buildPhase = ":";
+
+  meta = {
+    description = "Adobe Flash Player browser plugin";
+    homepage = http://www.adobe.com/products/flashplayer/;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/amsn/builder.sh b/pkgs/applications/networking/instant-messengers/amsn/builder.sh
deleted file mode 100644
index 4f7680b29d92..000000000000
--- a/pkgs/applications/networking/instant-messengers/amsn/builder.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-source $stdenv/setup
-
-echo $libstdcpp
-echo "-L$libstdcpp/lib"
-LDFLAGS="-L$libstdcpp/lib"
-CPPFLAGS="-L$libstdcpp/include"
-CFLAGS="-lm"
-
-configureFlags="--with-tcl=$tcl/lib --with-tk=$tk/lib --enable-static"
-
-genericBuild
diff --git a/pkgs/applications/networking/instant-messengers/amsn/default.nix b/pkgs/applications/networking/instant-messengers/amsn/default.nix
index 330d7e9d2813..07aa20ff1f31 100644
--- a/pkgs/applications/networking/instant-messengers/amsn/default.nix
+++ b/pkgs/applications/networking/instant-messengers/amsn/default.nix
@@ -1,15 +1,19 @@
-{stdenv, fetchurl, which, tcl, tk, x11, libstdcpp }:
+{stdenv, fetchurl, which, tcl, tk, x11, libpng, libjpeg, makeWrapper}:
 
 stdenv.mkDerivation {
-  name = "amsn-0.96";
-  builder = ./builder.sh;
+  name = "amsn-0.98.4";
   src = fetchurl {
-    url = mirror://sourceforge/amsn/amsn-0.96.tar.bz2;
-    md5 = "3df6b0d34ef1997a47c0b8af29b2547a";
+    url = mirror://sourceforge/amsn/amsn-0.98.4-src.tar.gz;
+    sha256 = "1kcn1hc6bvgy4svf5l3j5psdrvsmy0p3r33fn7gzcinqdf3xfgqx";
   };
 
-  inherit tcl tk libstdcpp;
-  buildInputs = [which tcl tk x11 ];
+  configureFlags = "--with-tcl=${tcl}/lib --with-tk=${tk}/lib --enable-static";
+
+  buildInputs = [which tcl tk x11 libpng libjpeg makeWrapper];
+
+  postInstall = ''
+    wrapProgram $out/bin/amsn --prefix PATH : ${tk}/bin
+  '';
 
   meta = {
     homepage = http://amsn-project.net;
diff --git a/pkgs/applications/networking/instant-messengers/kadu/default.nix b/pkgs/applications/networking/instant-messengers/kadu/default.nix
index cdad7eb1e7c4..76b5dde0e876 100644
--- a/pkgs/applications/networking/instant-messengers/kadu/default.nix
+++ b/pkgs/applications/networking/instant-messengers/kadu/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation {
 
-  name = "kadu-0.10.0";
+  name = "kadu-0.10.1";
 
   src = fetchurl {
-    url = http://www.kadu.net/download/stable/kadu-0.10.0.tar.bz2;
-    sha256 = "039dx8y6vzqmv86prk1srmi7fvxlrbisyd6rcfs0gv497bfi1995";
+    url = http://download.kadu.im/stable/kadu-0.10.1.tar.bz2;
+    sha256 = "0j88pyp2nqpc57j38zr135ypfiv4v329gfgiz9rdbqi8j26cyp7g";
   };
 
   buildInputs = [ cmake qt4 libgadu libXScrnSaver libsndfile libX11 alsaLib aspell libidn qca2 phonon
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
   '';
 
   # because I was not able to get those working
-  patches = [ ./disable_encryption_plugins.patch ];
+  patches = [ ./disable_some_plugins.patch ];
 
   NIX_LDFLAGS="-lX11";
 
diff --git a/pkgs/applications/networking/instant-messengers/kadu/disable_encryption_plugins.patch b/pkgs/applications/networking/instant-messengers/kadu/disable_encryption_plugins.patch
deleted file mode 100644
index e89095de55d1..000000000000
--- a/pkgs/applications/networking/instant-messengers/kadu/disable_encryption_plugins.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/Plugins.cmake b/Plugins.cmake
-index c6906ce..b1284d6 100644
---- a/Plugins.cmake
-+++ b/Plugins.cmake
-@@ -30,9 +30,9 @@ set (COMPILE_PLUGINS
- 
- # encryption
- 	# Encrypted chat support
--	encryption_ng
-+	# encryption_ng
- 	# OpenSSL encrypted chat support
--	encryption_ng_simlite
-+	# encryption_ng_simlite
- 
- # docking
- 	# Tray icon support (common part of all docking modules)
diff --git a/pkgs/applications/networking/instant-messengers/kadu/disable_some_plugins.patch b/pkgs/applications/networking/instant-messengers/kadu/disable_some_plugins.patch
new file mode 100644
index 000000000000..0ee06c21382a
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/kadu/disable_some_plugins.patch
@@ -0,0 +1,28 @@
+diff --git a/Plugins.cmake b/Plugins.cmake
+index ad63f20..c14a781 100644
+--- a/Plugins.cmake
++++ b/Plugins.cmake
+@@ -30,9 +30,9 @@ set (COMPILE_PLUGINS
+ 
+ # encryption
+ 	# Encrypted chat support
+-	encryption_ng
++        # encryption_ng
+ 	# OpenSSL encrypted chat support
+-	encryption_ng_simlite
++        # encryption_ng_simlite
+ 
+ # docking
+ 	# Tray icon support (common part of all docking modules)
+@@ -104,9 +104,9 @@ if (UNIX)
+ 
+ 	# mediaplayer
+ 		# MPD mediaplayer support
+-		mpd_mediaplayer
++		# mpd_mediaplayer
+ 		# MPRIS Media Players support
+-		mprisplayer_mediaplayer
++                # mprisplayer_mediaplayer
+ 	)
+ endif (UNIX)
+ 
diff --git a/pkgs/applications/networking/instant-messengers/torchat/default.nix b/pkgs/applications/networking/instant-messengers/torchat/default.nix
new file mode 100644
index 000000000000..440ab624a623
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/torchat/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, python, unzip, wxPython, wrapPython, tor }:
+stdenv.mkDerivation rec {
+
+  name = "torchat-${version}";
+  version = "0.9.9.550";
+
+  src = fetchurl {
+    url = "http://torchat.googlecode.com/files/torchat-source-${version}.zip";
+    sha256 = "01z0vrmflcmb146m04b66zihkd22aqnxz2vr4x23z1q5mlwylmq2";
+  };
+
+  buildInputs = [ python unzip wxPython wrapPython ];
+  pythonPath = [ wxPython ];
+
+  preConfigure = "rm portable.txt";
+  preUnpack = "sourceRoot=`pwd`/src";
+
+  installPhase = ''
+    substituteInPlace "Tor/tor.sh" --replace "tor -f" "${tor}/bin/tor -f"
+
+    wrapPythonPrograms
+
+    ensureDir $out/lib/torchat
+    cp -rf * $out/lib/torchat
+    makeWrapper ${python}/bin/python $out/bin/torchat \
+        --set PYTHONPATH $out/lib/torchat:$program_PYTHONPATH \
+        --run "cd $out/lib/torchat" \
+        --add-flags "-O $out/lib/torchat/torchat.py"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://code.google.com/p/torchat/;
+    description = "instant messaging application on top of the Tor network and it's location hidden services";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.phreedom ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index dcaaf01c336e..9cf5909575b9 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, bash, emacs, gdb, git, glib, gmime, gnupg1, pkgconfig, talloc, xapian }:
 
 stdenv.mkDerivation rec {
-  name = "notmuch-0.8";
+  name = "notmuch-0.9";
 
   src = fetchurl {
     url = "http://notmuchmail.org/releases/${name}.tar.gz";
-    sha256 = "f40bcdc6447cae9f76d5b4e70ab70d87e4a813cd123b524c1dc3155a3371a949";
+    sha256 = "e6f1046941d2894d143cb7c19d4810f97946f98742f6d9b8a7208ddb858c57e4";
   };
 
   buildInputs = [ bash emacs gdb git glib gmime gnupg1 pkgconfig talloc xapian ];
@@ -13,6 +13,7 @@ stdenv.mkDerivation rec {
   patchPhase = ''
     (cd test && for prg in \
         aggregate-results.sh \
+        atomicity \
         author-order \
         basic \
         crypto \
@@ -52,11 +53,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Notmuch -- The mail indexer";
-
     longDescription = "";
-
-    license = "GPLv3";
-
+    license = stdenv.lib.licenses.gpl3;
     maintainers = [ stdenv.lib.maintainers.chaoflow ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
diff --git a/pkgs/applications/networking/p2p/gnunet/0.9.nix b/pkgs/applications/networking/p2p/gnunet/0.8.nix
index 221640930d70..586146bdd9dd 100644
--- a/pkgs/applications/networking/p2p/gnunet/0.9.nix
+++ b/pkgs/applications/networking/p2p/gnunet/0.8.nix
@@ -1,30 +1,25 @@
-{ stdenv, fetchsvn, libextractor, libmicrohttpd, libgcrypt
-, zlib, gmp, curl, libtool, adns, sqlite, pkgconfig
+{ stdenv, fetchurl, libextractor, libmicrohttpd, libgcrypt
+, zlib, gmp, curl, libtool, guile, adns, sqlite, pkgconfig
 , libxml2, ncurses, gettext, findutils
-, autoconf, automake
 , gtkSupport ? false, gtk ? null, libglade ? null
 , makeWrapper }:
 
 assert gtkSupport -> (gtk != null) && (libglade != null);
 
-let
-  rev = "17000";
-  version = "0.9-svn-${rev}";
+let version = "0.8.1b";
 in
   stdenv.mkDerivation {
     name = "gnunet-${version}";
 
-    src = fetchsvn {
-      url = "https://gnunet.org/svn/gnunet";
-      sha256 = "17nkvykg3xb5m1y86i9lahgsic9jpj6h0nr73ywzpxpp7ql45cm4";
-      inherit rev;
+    src = fetchurl {
+      url = "mirror://gnu/gnunet/GNUnet-${version}.tar.gz";
+      sha256 = "0k6nrsxz5s52z6hlahb7d3sj1z0gidm79n04pf9j2ngfylp4v1bw";
     };
 
     buildInputs = [
       libextractor libmicrohttpd libgcrypt gmp curl libtool
-      zlib adns sqlite libxml2 ncurses
+      zlib guile adns sqlite libxml2 ncurses
       pkgconfig gettext findutils
-      autoconf automake
       makeWrapper
     ] ++ (if gtkSupport then [ gtk libglade ] else []);
 
@@ -47,8 +42,19 @@ in
         echo "$i: replacing references to \`/tmp' by \`$TMPDIR'..."
         substituteInPlace "$i" --replace "/tmp" "$TMPDIR"
       done
+    '';
+
+    doCheck = false;
+
+    # 1. Run tests have once GNUnet is installed.
+    # 2. Help programs find the numerous modules that sit under
+    #    `$out/lib/GNUnet'.
 
-      autoreconf -vfi
+    # FIXME: `src/transports/test_udp' hangs forever.
+    postInstall = ''
+      #GNUNET_PREFIX="$out" make check
+      wrapProgram "$out/bin/gnunetd" \
+        --prefix LTDL_LIBRARY_PATH ":" "$out/lib/GNUnet"
     '';
 
     meta = {
diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix
index 586146bdd9dd..1219c1763549 100644
--- a/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -1,85 +1,72 @@
 { stdenv, fetchurl, libextractor, libmicrohttpd, libgcrypt
-, zlib, gmp, curl, libtool, guile, adns, sqlite, pkgconfig
-, libxml2, ncurses, gettext, findutils
+, zlib, gmp, curl, libtool, adns, sqlite, pkgconfig
+, libxml2, ncurses, gettext
 , gtkSupport ? false, gtk ? null, libglade ? null
 , makeWrapper }:
 
 assert gtkSupport -> (gtk != null) && (libglade != null);
 
-let version = "0.8.1b";
-in
-  stdenv.mkDerivation {
-    name = "gnunet-${version}";
+stdenv.mkDerivation rec {
+  name = "gnunet-0.9.0";
 
-    src = fetchurl {
-      url = "mirror://gnu/gnunet/GNUnet-${version}.tar.gz";
-      sha256 = "0k6nrsxz5s52z6hlahb7d3sj1z0gidm79n04pf9j2ngfylp4v1bw";
-    };
+  src = fetchurl {
+    url = "mirror://gnu/gnunet/${name}.tar.gz";
+    sha256 = "1a0faq2j20dxhpdq0lpi8mjhddwmscbaa1bsxk460p5mj8n55i3p";
+  };
 
-    buildInputs = [
-      libextractor libmicrohttpd libgcrypt gmp curl libtool
-      zlib guile adns sqlite libxml2 ncurses
-      pkgconfig gettext findutils
-      makeWrapper
-    ] ++ (if gtkSupport then [ gtk libglade ] else []);
+  buildInputs = [
+    libextractor libmicrohttpd libgcrypt gmp curl libtool
+    zlib adns sqlite libxml2 ncurses
+    pkgconfig gettext makeWrapper
+  ] ++ (if gtkSupport then [ gtk libglade ] else []);
 
-    preConfigure = ''
-      # Brute force: since nix-worker chroots don't provide
-      # /etc/{resolv.conf,hosts}, replace all references to `localhost'
-      # by their IPv4 equivalent.
-      for i in $(find . \( -name \*.c -or -name \*.conf \) \
-                      -exec grep -l localhost {} \;)
-      do
-        echo "$i: substituting \`127.0.0.1' to \`localhost'..."
-        substituteInPlace "$i" --replace "localhost" "127.0.0.1"
-      done
+  preConfigure = ''
+    # Brute force: since nix-worker chroots don't provide
+    # /etc/{resolv.conf,hosts}, replace all references to `localhost'
+    # by their IPv4 equivalent.
+    for i in $(find . \( -name \*.c -or -name \*.conf \) \
+                    -exec grep -l '\<localhost\>' {} \;)
+    do
+      echo "$i: substituting \`127.0.0.1' to \`localhost'..."
+      sed -i "$i" -e's/\<localhost\>/127.0.0.1/g'
+    done
 
-      # Make sure the tests don't rely on `/tmp', for the sake of chroot
-      # builds.
-      for i in $(find . \( -iname \*test\*.c -or -name \*.conf \) \
-                      -exec grep -l /tmp {} \;)
-      do
-        echo "$i: replacing references to \`/tmp' by \`$TMPDIR'..."
-        substituteInPlace "$i" --replace "/tmp" "$TMPDIR"
-      done
-    '';
+    # Make sure the tests don't rely on `/tmp', for the sake of chroot
+    # builds.
+    for i in $(find . \( -iname \*test\*.c -or -name \*.conf \) \
+                    -exec grep -l /tmp {} \;)
+    do
+      echo "$i: replacing references to \`/tmp' by \`$TMPDIR'..."
+      substituteInPlace "$i" --replace "/tmp" "$TMPDIR"
+    done
+  '';
 
-    doCheck = false;
+  # XXX: There are several test failures, forwarded to bug-gnunet@gnu.org.
+  doCheck = false;
 
-    # 1. Run tests have once GNUnet is installed.
-    # 2. Help programs find the numerous modules that sit under
-    #    `$out/lib/GNUnet'.
+  meta = {
+    description = "GNUnet, GNU's decentralized anonymous and censorship-resistant P2P framework";
 
-    # FIXME: `src/transports/test_udp' hangs forever.
-    postInstall = ''
-      #GNUNET_PREFIX="$out" make check
-      wrapProgram "$out/bin/gnunetd" \
-        --prefix LTDL_LIBRARY_PATH ":" "$out/lib/GNUnet"
+    longDescription = ''
+      GNUnet is a framework for secure peer-to-peer networking that
+      does not use any centralized or otherwise trusted services.  A
+      first service implemented on top of the networking layer
+      allows anonymous censorship-resistant file-sharing.  Anonymity
+      is provided by making messages originating from a peer
+      indistinguishable from messages that the peer is routing.  All
+      peers act as routers and use link-encrypted connections with
+      stable bandwidth utilization to communicate with each other.
+      GNUnet uses a simple, excess-based economic model to allocate
+      resources.  Peers in GNUnet monitor each others behavior with
+      respect to resource usage; peers that contribute to the
+      network are rewarded with better service.
     '';
 
-    meta = {
-      description = "GNUnet, GNU's decentralized anonymous and censorship-resistant P2P framework";
-
-      longDescription = ''
-        GNUnet is a framework for secure peer-to-peer networking that
-        does not use any centralized or otherwise trusted services.  A
-        first service implemented on top of the networking layer
-        allows anonymous censorship-resistant file-sharing.  Anonymity
-        is provided by making messages originating from a peer
-        indistinguishable from messages that the peer is routing.  All
-        peers act as routers and use link-encrypted connections with
-        stable bandwidth utilization to communicate with each other.
-        GNUnet uses a simple, excess-based economic model to allocate
-        resources.  Peers in GNUnet monitor each others behavior with
-        respect to resource usage; peers that contribute to the
-        network are rewarded with better service.
-      '';
-
-      homepage = http://gnunet.org/;
+    homepage = http://gnunet.org/;
 
-      license = "GPLv2+";
+    license = "GPLv2+";
 
-      maintainers = [ stdenv.lib.maintainers.ludo ];
-      platforms = stdenv.lib.platforms.gnu;
-    };
-  }
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.gnu;
+  };
+}
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 53710c54eafb..aca0203ca6c9 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -1,12 +1,37 @@
-{stdenv, fetchurl, perl, pkgconfig, gtk, libpcap, flex, bison}:
+{ stdenv, fetchurl, perl, pkgconfig, gtk, libpcap, flex, bison
+, gnutls, libgcrypt, glib, zlib, libxml2, libxslt, adns, geoip
+, heimdal, python, lynx, lua5
+}:
 
-stdenv.mkDerivation rec {
-  version = "1.4.2";
+let
+  version = "1.6.2";
+in
+stdenv.mkDerivation {
   name = "wireshark-${version}";
+
   src = fetchurl {
-    url = "http://www.wireshark.org/download/src/${name}.tar.bz2";
-    sha256 = "1cj9n3yhahj6pabx1h1gas6b6dhwsljjz2w3ngky3a4g6bnf3ij4";
+    url = "mirror://sourceforge/wireshark/wireshark-${version}.tar.bz2";
+    sha256 = "0zqy8ws05xz36y49azf5lrwzgfz26h7f8d27xjc89hlqrqagahsk";
+  };
+
+  buildInputs = [perl pkgconfig gtk libpcap flex bison gnutls libgcrypt
+    glib zlib libxml2 libxslt adns geoip heimdal python lynx lua5
+  ];
+
+  configureFlags = "--disable-usr-local --with-ssl --enable-threads --enable-packet-editor";
+
+  meta = {
+    homepage = "http://sourceforge.net/projects/wireshark/";
+    description = "a powerful network protocol analyzer";
+    license = stdenv.lib.licenses.gpl2;
+
+    longDescription = ''
+      Wireshark (formerly known as "Etherreal") is a powerful network
+      protocol analyzer developed by an international team of networking
+      experts. It runs on UNIX, OS X and Windows.
+    '';
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.simons ];
   };
-  configureFlags = "--with-pcap=${libpcap}";
-  buildInputs = [perl pkgconfig gtk libpcap flex bison];
 }
diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix
index cf770213ef9b..343895e0877b 100644
--- a/pkgs/applications/networking/sync/rsync/default.nix
+++ b/pkgs/applications/networking/sync/rsync/default.nix
@@ -5,11 +5,11 @@
 assert enableACLs -> acl != null;
 
 stdenv.mkDerivation {
-  name = "rsync-3.0.7";
-  
+  name = "rsync-3.0.9";
+
   src = fetchurl {
-    url = http://rsync.samba.org/ftp/rsync/src/rsync-3.0.7.tar.gz;
-    sha256 = "1j77vwz6q3dvgr8w6wvigd5v4m5952czaqdvihr8di13q0b0vq4y";
+    url = http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz;
+    sha256 = "01bw4klqsrlhh3i9lazd485sd9qx5djvnwa21lj2h3a9sn6hzw9h";
   };
 
   buildInputs = stdenv.lib.optional enableACLs acl;
@@ -18,5 +18,8 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://samba.anu.edu.au/rsync/;
     description = "A fast incremental file transfer utility";
+
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index 3e20a350a791..a58c82e1b8b7 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -9,14 +9,14 @@
  */
 
 let
-  name = "gnucash-2.4.7";
+  name = "gnucash-2.4.8";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://sourceforge/gnucash/${name}.tar.bz2";
-    sha256 = "eeb3b17f9081a544f8705db735df88ab3f468642a1d01552ea4e36bcb5b0730e";
+    sha256 = "06gfgw4sq1b8c9qzinyd3wmcy3i0jyprngr259l0aldv8rvix8aa";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index 72c3f3e24356..e1bf95700c9b 100644
--- a/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, gtk, gperf, pkgconfig, bzip2, xz, tcl, tk, judy} :
 stdenv.mkDerivation rec {
-  name = "gtkwave-3.3.20";
+  name = "gtkwave-3.3.28";
 
   src = fetchurl {
     url = "mirror://sourceforge/gtkwave/${name}.tar.gz";
-    sha256 = "0r2yh8a5rrxjzvykdmqlb098wws5c9k255saf2bsdchnigs8il3n";
+    sha256 = "0y3dmx39xwc3m23fwjkxvp9gqxpckk8s5814nhs8fnxa384z5cz0";
   };
 
   buildInputs = [ gtk gperf pkgconfig bzip2 xz tcl tk judy];
diff --git a/pkgs/applications/science/logic/hol_light/default.nix b/pkgs/applications/science/logic/hol_light/default.nix
index d835e351cac6..3f161b5249d7 100644
--- a/pkgs/applications/science/logic/hol_light/default.nix
+++ b/pkgs/applications/science/logic/hol_light/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchsvn, writeScript, ocaml, findlib, camlp5}:
 
 stdenv.mkDerivation rec {
-  name = "hol_light-20110813";
+  name = "hol_light-20111106";
   src = fetchsvn {
     url = http://hol-light.googlecode.com/svn/trunk;
-    rev = "102";
-    sha256 = "5b972672db6aa1838dc5d130accd9ab6a62030c6b0c1dc4b69e42088b1ae86c9";
+    rev = "112";
+    sha256 = "6c7b39ea024b2e8042c1a22a01f778caedaaf82189c9f2c1cfa8c08707151129";
   };
 
   buildInputs = [ ocaml findlib camlp5 ];
diff --git a/pkgs/applications/science/logic/isabelle/default.nix b/pkgs/applications/science/logic/isabelle/default.nix
index 5705262f3771..7cfe5f927363 100644
--- a/pkgs/applications/science/logic/isabelle/default.nix
+++ b/pkgs/applications/science/logic/isabelle/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   inherit name theories;
 
   src = fetchurl {
-    url = "http://www.cl.cam.ac.uk/research/hvg/${pname}/dist/${name}.tar.gz";
+    url = http://isabelle.in.tum.de/website-Isabelle2011/dist/Isabelle2011.tar.gz;
     sha256 = "ea85eb2a859891be387f020b2e45f8c9a0bd1d8bbc3902f28a429e9c61cb0b6a";
   };
 
diff --git a/pkgs/applications/science/logic/matita/default.nix b/pkgs/applications/science/logic/matita/default.nix
index 6ac672193e27..92e9479d9a44 100644
--- a/pkgs/applications/science/logic/matita/default.nix
+++ b/pkgs/applications/science/logic/matita/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, camlp5, findlib, gdome2, ocaml_expat, gmetadom, ocaml_http, lablgtk, lablgtkmathview, ocaml_mysql, ocaml_sqlite3, ocamlnet, ulex08, camlzip, ocaml_pcre }:
+{stdenv, fetchurl, ocaml, findlib, gdome2, ocaml_expat, gmetadom, ocaml_http, lablgtk, lablgtkmathview, ocaml_mysql, ocaml_sqlite3, ocamlnet, ulex08, camlzip, ocaml_pcre }:
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
     sha256 = "04sxklfak71khy1f07ks5c6163jbpxv6fmaw03fx8gwwlvpmzglh";
   };
 
-  buildInputs = [ocaml camlp5 findlib gdome2 ocaml_expat gmetadom ocaml_http lablgtk lablgtkmathview ocaml_mysql ocaml_sqlite3 ocamlnet ulex08 camlzip ocaml_pcre ];
+  buildInputs = [ocaml findlib gdome2 ocaml_expat gmetadom ocaml_http lablgtk lablgtkmathview ocaml_mysql ocaml_sqlite3 ocamlnet ulex08 camlzip ocaml_pcre ];
 
   postPatch = ''
     BASH=$(type -tp bash)
diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix
index f8f21d8909b4..b79499097604 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.25.0";
+  version = "5.25.1";
 
   searchPath =
     stdenv.lib.makeSearchPath "bin"
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
-    sha256 = "49c90fb809f5027787600050503476193db3620fd9517f620b82ad492ba30c0a";
+    sha256 = "8e98ad742151e52edb56337bd62c8a9749f7b598cb6ed4e991980e0e6f89706a";
   };
 
   buildInputs = [sbcl texinfo perl makeWrapper];
diff --git a/pkgs/applications/science/math/wxmaxima/default.nix b/pkgs/applications/science/math/wxmaxima/default.nix
index 6bd6e9266e6b..77fe32d1792d 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 = "11.04.0";
+  version = "11.08.0";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/wxMaxima-${version}.tar.gz";
-    sha256 = "1dfwh5ka125wr6wxzyiwz16lk8kaf09rb6lldzryjwh8zi7yw8dm";
+    sha256 = "dfa25cc15de52829a93da624d42344213cc979351b5fcd3dff2afed6738832df";
   };
 
   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 3f1593899c15..c6b29d8ae26f 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -48,8 +48,9 @@ rec {
   gitAnnex = lib.makeOverridable (import ./git-annex) {
     inherit stdenv fetchurl libuuid rsync findutils curl perl git ikiwiki which;
     inherit (haskellPackages) ghc MissingH utf8String pcreLight SHA dataenc
-      HTTP testpack monadControl hS3 mtl network hslogger hxt json;
+      HTTP testpack hS3 mtl network hslogger hxt json;
     QuickCheck2 = haskellPackages.QuickCheck_2_4_0_1;
+    monadControl = haskellPackages.monadControl_OBSOLETE;
   };
 
   qgit = import ./qgit {
@@ -100,7 +101,8 @@ rec {
   };
 
   svn2git = import ./svn2git {
-    inherit stdenv fetchgit qt47 subversion apr;
+    inherit stdenv fetchgit ruby makeWrapper;
+    git = gitSVN;
   };
 
   gitSubtree = import ./git-subtree {
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 937c2eecd729..26a99c21f253 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
@@ -4,14 +4,14 @@
 }:
 
 let
-  version = "3.20111025";
+  version = "3.20111203";
 in
 stdenv.mkDerivation {
   name = "git-annex-${version}";
 
   src = fetchurl {
     url = "http://ftp.de.debian.org/debian/pool/main/g/git-annex/git-annex_${version}.tar.gz";
-    sha256 = "1ae0fd9551d3397d1b7e5bc1eba9aab47b803bac680c3d019ba6ef7cefe96d27";
+    sha256 = "236a8fa537be1738a16afcab8a7438dc567dce75a6b71b62780d31048428f74b";
   };
 
   buildInputs = [
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 eb5daae67e26..795d43da6da4 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -8,7 +8,7 @@
 }:
 
 let
-  version = "1.7.7";
+  version = "1.7.8";
   svn = subversionClient.override { perlBindings = true; };
 in
 stdenv.mkDerivation {
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://git-core.googlecode.com/files/git-${version}.tar.gz";
-    sha256 = "1xkpyd6mff4m8kmk4vkwi7snr2ff2nmrmsa5hf9bk2a93v07p5ss";
+    sha256 = "ede41a79c83e0d8673ed16c64d5c105e404d953591f9611e44c3964130da0713";
   };
 
   patches = [ ./docbook2texi.patch ];
diff --git a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
index ae928fa2d4d5..6f5d36f6aa74 100644
--- a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix
@@ -1,25 +1,30 @@
-{ stdenv, fetchgit, qt47, subversion, apr}:
+{ stdenv, fetchgit, ruby, makeWrapper, git }:
 
 stdenv.mkDerivation rec {
-  name = "svn2git";
+  name = "svn2git-2.1.0-20111206";
 
   src = fetchgit {
-    url = http://git.gitorious.org/svn2git/svn2git.git;
-    rev = "197979b6a641b8b5fa4856c700b1235491c73a41";
-    sha256 = "7be1a8f5822aff2d4ea7f415dce0b4fa8c6a82310acf24e628c5f1ada2d2d613";
+    url = https://github.com/nirvdrum/svn2git;
+    rev = "5cd8d4b509affb66eb2dad50d7298c52b3b0d848";
+    sha256 = "26aa17f68f605e958b623d803b4bd405e12d6c5d51056635873a2c59e4c7b9ca";
   };
 
-  buildPhase = ''
-    sed -i 's|/bin/cat|cat|' ./src/repository.cpp
-    qmake
-    make CXXFLAGS='-I${apr}/include/apr-1 -I${subversion}/include/subversion-1 -DVER="\"${src.rev}\""'
-  '';
+  buildInputs = [ ruby makeWrapper ];
 
-  installPhase = ''
-    ensureDir $out/bin
-    cp svn-all-fast-export $out/bin
-  '';
+  buildPhase = "true";
 
-  buildInputs = [subversion apr qt47];
-  
+  installPhase =
+    ''
+      mkdir -p $out
+      cp -r lib $out/
+      
+      mkdir -p $out/bin
+      substituteInPlace bin/svn2git --replace '/usr/bin/env ruby' ${ruby}/bin/ruby
+      cp bin/svn2git $out/bin/
+      chmod +x $out/bin/svn2git
+      
+      wrapProgram $out/bin/svn2git \
+        --set RUBYLIB $out/lib \
+        --prefix PATH : ${git}/bin
+    '';
 }
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index e263d7556c0b..8d4a45a496c4 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -1,18 +1,21 @@
-{ stdenv, fetchurl, python, makeWrapper, docutils
+{ stdenv, fetchurl, python, makeWrapper, docutils, unzip
 , guiSupport ? false, tk ? null, ssl, curses }:
 
-stdenv.mkDerivation rec {
-  name = "mercurial-1.9.2";
+let
+  name = "mercurial-2.0";
+in
+stdenv.mkDerivation {
+  inherit name;
 
   src = fetchurl {
     url = "http://mercurial.selenic.com/release/${name}.tar.gz";
-    sha256 = "481309264d8528a871aab013068c48fa3a6072b016a4095a22230cfdfb8bb9aa";
+    sha256 = "1565ns768vgvsqx6pn5q9r2670lmvq8y4zy0jwgwfx2h9n5bgymg";
   };
 
   inherit python; # pass it so that the same version can be used in hg2git
   pythonPackages = [ ssl curses ];
 
-  buildInputs = [ python makeWrapper docutils ];
+  buildInputs = [ python makeWrapper docutils unzip ];
 
   makeFlags = "PREFIX=$(out)";
 
@@ -42,6 +45,8 @@ stdenv.mkDerivation rec {
       chmod u+x $out/share/cgi-bin/hgweb.cgi
     '';
 
+  doCheck = false;  # The test suite fails, unfortunately. Not sure why.
+
   meta = {
     description = "A fast, lightweight SCM system for very large distributed projects";
     homepage = http://www.selenic.com/mercurial/;
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index 0199dd113027..a1a6a3fcd7fb 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -19,13 +19,13 @@ assert compressionSupport -> neon.compressionSupport;
 
 stdenv.mkDerivation rec {
 
-  version = "1.7.1";
+  version = "1.7.2";
 
   name = "subversion-${version}";
 
   src = fetchurl {
     url = "mirror://apache/subversion//${name}.tar.bz2";
-    sha1 = "4bfaa8e33e9eaf26a504117cd91b23805518071a";
+    sha1 = "8c0824aeb7f42da1ff4f7cd296877af7f59812bb";
   };
 
   buildInputs = [ zlib apr aprutil sqlite ]
diff --git a/pkgs/applications/video/bangarang/default.nix b/pkgs/applications/video/bangarang/default.nix
index e6ff1770c46d..2fe4b4d0bdc2 100644
--- a/pkgs/applications/video/bangarang/default.nix
+++ b/pkgs/applications/video/bangarang/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, qt4, kdelibs, automoc4, phonon, soprano, kdemultimedia, taglib, glibc, gettext }:
+{ stdenv, fetchurl, cmake, qt4, kdelibs, automoc4, phonon, soprano, shared_desktop_ontologies, kdemultimedia, taglib, glibc, gettext }:
 stdenv.mkDerivation rec {
   name = "bangarang-2.0";
 
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
     sha256 = "1fixqx56k0mk0faz35rzpdg6zaa0mvm4548rg0g7fhafl35fxzlz";
   };
 
-  buildInputs = [ cmake qt4 kdelibs automoc4 phonon soprano kdemultimedia taglib glibc gettext ];
+  buildInputs = [ cmake qt4 kdelibs automoc4 phonon soprano shared_desktop_ontologies kdemultimedia taglib glibc gettext ];
 
   meta = with stdenv.lib; {
     description = "A media player for KDE based on Nepomuk and Phonon";
diff --git a/pkgs/applications/video/dvb-apps/default.nix b/pkgs/applications/video/dvb-apps/default.nix
new file mode 100644
index 000000000000..74e3d58553a7
--- /dev/null
+++ b/pkgs/applications/video/dvb-apps/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation {
+  name = "dvb-apps-7f68f9c8d311";
+
+  src = fetchurl {
+    url = "http://linuxtv.org/hg/dvb-apps/archive/7f68f9c8d311.tar.gz";
+    sha256 = "0a6c5jjq6ad98bj0r954l3n7zjb2syw9m19jksg06z4zg1z8yg82";
+  };
+
+  buildInputs = [ perl ];
+
+  configurePhase = "true"; # skip configure
+
+  installPhase = "make prefix=$out install";
+
+  meta = {
+    description = "Linux DVB API applications and utilities";
+    homepage = http://linuxtv.org/;
+    platforms = stdenv.lib.platforms.linux;
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/applications/video/quvi/library.nix b/pkgs/applications/video/quvi/library.nix
new file mode 100644
index 000000000000..bef755afed46
--- /dev/null
+++ b/pkgs/applications/video/quvi/library.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchurl, pkgconfig, lua5, curl, quvi_scripts}:
+
+stdenv.mkDerivation rec {
+  name = "libquvi-${version}";
+  version="0.4.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/quvi/libquvi-${version}.tar.gz";
+    sha256 = "15cm9j8dssn2zhplqvlw49piwfw511lia6b635byiwfniqf6dnwp";
+  };
+
+  buildInputs = [ pkgconfig lua5 curl quvi_scripts ];
+
+  meta = { 
+    description = "Quvi is a web video downloader.";
+    homepage = http://quvi.sf.net;
+    license = "LGPLv2.1+";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.mornfall ]; 
+  };
+}
+
diff --git a/pkgs/applications/video/quvi/scripts.nix b/pkgs/applications/video/quvi/scripts.nix
new file mode 100644
index 000000000000..9c6cd9d31377
--- /dev/null
+++ b/pkgs/applications/video/quvi/scripts.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchurl, pkgconfig}:
+
+stdenv.mkDerivation rec {
+  name = "quvi-scripts-${version}";
+  version="0.4.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/quvi/libquvi-scripts-${version}.tar.gz";
+    sha256 = "14p1sn7id4n35isaw3i3h8vsgfqlym09fih9k5xfqwsg6n7xdvq5";
+  };
+
+  buildInputs = [ pkgconfig ];
+
+  meta = { 
+    description = "Quvi is a web video downloader.";
+    homepage = http://quvi.sf.net;
+    license = "LGPLv2.1+";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.mornfall ]; 
+  };
+}
+
diff --git a/pkgs/applications/video/quvi/tool.nix b/pkgs/applications/video/quvi/tool.nix
new file mode 100644
index 000000000000..b2ddabfa6a8d
--- /dev/null
+++ b/pkgs/applications/video/quvi/tool.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchurl, pkgconfig, lua5, curl, quvi_scripts, libquvi}:
+
+stdenv.mkDerivation rec {
+  name = "quvi-${version}";
+  version="0.4.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/quvi/quvi-${version}.tar.gz";
+    sha256 = "0qzyj55py4z7pg97794jjycq8nvrlr02072rgjzg8jgknw49hgfv";
+  };
+
+  buildInputs = [ pkgconfig lua5 curl quvi_scripts libquvi ];
+
+  meta = { 
+    description = "Quvi is a web video downloader.";
+    homepage = http://quvi.sf.net;
+    license = "LGPLv2.1+";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.mornfall ]; 
+  };
+}
+
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index ce7b233fdd20..471a4c4a76f7 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -5,7 +5,7 @@
 , libcaca, pulseaudio, flac, schroedinger, libxml2, librsvg
 , mpeg2dec, udev, gnutls, avahi, libcddb, jackaudio, SDL, SDL_image
 , libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz
-, libass, libva
+, libass, libva, libdvbpsi
 }:
 
 stdenv.mkDerivation rec {
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     pkgconfig dbus hal fribidi qt4 libvorbis libtheora speex lua libgcrypt
     libupnp libcaca pulseaudio flac schroedinger libxml2 librsvg mpeg2dec
     udev gnutls avahi libcddb jackaudio SDL SDL_image libmtp unzip taglib
-    libkate libtiger libv4l samba liboggz libass
+    libkate libtiger libv4l samba liboggz libass libdvbpsi
   ]
   ++ (with xlibs; [ xlibs.xlibs libXv libXvMC libXpm xcbutil libva ]);
 
diff --git a/pkgs/applications/video/xine-ui/default.nix b/pkgs/applications/video/xine-ui/default.nix
index 1ac335ade00d..4607c85b6a16 100644
--- a/pkgs/applications/video/xine-ui/default.nix
+++ b/pkgs/applications/video/xine-ui/default.nix
@@ -14,6 +14,10 @@ stdenv.mkDerivation {
       xlibs.libXinerama xlibs.libXi
     ];
 
+  preBuild = ''
+    sed -e '/curl.types.h/d' -i *.c *.h */*.c */*.h */*/*.c */*/*.h
+  '';
+
   configureFlags = "--with-readline=${readline}";
   
   NIX_LDFLAGS = "-lXext -lgcc_s";
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 6fd4f9d148e4..d435f53e1098 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -4,14 +4,14 @@
 , xorriso, makeself, perl, jdk
 }:
 
-let version = "4.1.2"; in
+let version = "4.1.6"; in
 
 stdenv.mkDerivation {
   name = "virtualbox-${version}-${kernel.version}";
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
-    sha256 = "1g3nqlxk4bxkq5yqwk0mrn50mz5y0kxpcn0hq5f81bbb9niglc5h";
+    sha256 = "0zmbq0h9g4lamzmxqg281nr9pp88606dxh2dsw6vy1m86g5kfham";
   };
 
   buildInputs = [iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt4 libIDL SDL hal libcap glib kernel python alsaLib curl pam xorriso makeself perl jdk ];
diff --git a/pkgs/applications/window-managers/xmonad/default.nix b/pkgs/applications/window-managers/xmonad/default.nix
index 76b9b37456e2..c89088e400be 100644
--- a/pkgs/applications/window-managers/xmonad/default.nix
+++ b/pkgs/applications/window-managers/xmonad/default.nix
@@ -1,12 +1,13 @@
-{cabal, X11, mtl, xmessage, syb}:
+{ cabal, extensibleExceptions, mtl, utf8String, X11, xmessage }:
 
 cabal.mkDerivation (self: {
   pname = "xmonad";
-  name = "${self.fname}";
-  version = "0.9.2";
-  sha256 = "07w5k3pqmybjn0zh2nr1glp69685xg2fhj3z9zxb37x5nzss7kdd";
+  version = "0.10";
+  sha256 = "19z5y36pybsm93x6hlj5hzyys9r4ag7hkdib5spsnryk2mv72xj6";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ extensibleExceptions mtl utf8String X11 ];
   noHaddock = true;
-  propagatedBuildInputs = [X11 mtl syb];
   meta = {
     homepage = "http://xmonad.org";
     description = "A tiling window manager";
@@ -18,7 +19,7 @@ cabal.mkDerivation (self: {
     ];
   };
 
-  preConfigure = '' 
+  preConfigure = ''
     substituteInPlace XMonad/Core.hs --replace \
       '"xmessage"' '"${xmessage}/bin/xmessage"'
   '';
diff --git a/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix b/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix
index 7ca5e2b17fd1..6bb06f7d4a56 100644
--- a/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix
+++ b/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xmonad-contrib";
-  version = "0.9.2";
-  sha256 = "06hg5j4w8iz62wmyygq4c7xcbi9dxlhhh3dbic438cjk7c0w1h5p";
+  version = "0.10";
+  sha256 = "0lp7qr69rpjy4s3knhdgh2bp6zs81xp0az1lisv4a2i7i1ys7hfq";
   buildDepends = [
     extensibleExceptions mtl random utf8String X11 X11Xft xmonad
   ];
diff --git a/pkgs/applications/window-managers/xmonad/xmonad-extras.nix b/pkgs/applications/window-managers/xmonad/xmonad-extras.nix
index 0461933a7bc8..249310b6411c 100644
--- a/pkgs/applications/window-managers/xmonad/xmonad-extras.nix
+++ b/pkgs/applications/window-managers/xmonad/xmonad-extras.nix
@@ -1,15 +1,15 @@
-{ cabal, hint, mtl, network, parsec, random, split, X11, xmonad
-, xmonadContrib
+{ cabal, hint, HList, libmpd, mtl, network, parsec, random
+, regexPosix, split, X11, xmonad, xmonadContrib
 }:
 
 cabal.mkDerivation (self: {
   pname = "xmonad-extras";
-  version = "0.9.2";
-  sha256 = "54b41a4c59ff3d68b3a214d727fb5675fa7c1b90090d99e58ecae62b3dfdd701";
+  version = "0.10.1";
+  sha256 = "17rac0xjw1zw1jlc1rpq54vg50xscb3b98knk4gkb8bv1khpgz27";
   buildDepends = [
-    hint mtl network parsec random split X11 xmonad xmonadContrib
+    hint HList libmpd mtl network parsec random regexPosix split X11
+    xmonad xmonadContrib
   ];
-  configureFlags = "-f-with_hlist -f-with_mpd";
   noHaddock = true;
   meta = {
     homepage = "http://projects.haskell.org/xmonad-extras";
diff --git a/pkgs/build-support/builder-defs/builder-defs.nix b/pkgs/build-support/builder-defs/builder-defs.nix
index 58c439e4316e..ba13a0911f7a 100644
--- a/pkgs/build-support/builder-defs/builder-defs.nix
+++ b/pkgs/build-support/builder-defs/builder-defs.nix
@@ -25,6 +25,7 @@ let inherit (builtins) head tail trace; in
                 else if (hasSuffixHack ".tar.xz" s) then "tar.xz"
                 else if (hasSuffixHack ".zip" s) || (hasSuffixHack ".ZIP" s) then "zip"
                 else if (hasSuffixHack "-cvs-export" s) then "cvs-dir"
+                else if (hasSuffixHack "-git-export" s) then "git-dir"
                 else if (hasSuffixHack ".nar.bz2" s) then "narbz2"
                 else if (hasSuffixHack ".rpm" s) then "rpm"
 
@@ -228,6 +229,10 @@ let inherit (builtins) head tail trace; in
                 cp -r '${s}' .
                 cd \$(basename ${s})
                 chmod u+rwX -R .
+        " else if (archiveType s) == "git-dir" then "
+                cp -r '${s}' .
+                cd \$(basename ${s})
+                chmod u+rwX -R .
         " else if (archiveType s) == "dir" then "
                 cp -r '${s}' .
                 cd \$(basename ${s})
diff --git a/pkgs/build-support/native-darwin-cctools-wrapper/builder.sh b/pkgs/build-support/native-darwin-cctools-wrapper/builder.sh
index 411cb867a98b..c79b3709ee8b 100644
--- a/pkgs/build-support/native-darwin-cctools-wrapper/builder.sh
+++ b/pkgs/build-support/native-darwin-cctools-wrapper/builder.sh
@@ -1,6 +1,6 @@
 source $stdenv/setup
 
 ensureDir $out/bin
-for i in ar as c++filt gprof ld nm nmedit ranlib size strings strip dsymutil; do 
+for i in ar as c++filt gprof ld nm nmedit ranlib size strings strip dsymutil libtool; do 
     ln -s /usr/bin/$i $out/bin/
 done
diff --git a/pkgs/build-support/release/source-tarball.nix b/pkgs/build-support/release/source-tarball.nix
index 94566e4c4605..16ac0033d93b 100644
--- a/pkgs/build-support/release/source-tarball.nix
+++ b/pkgs/build-support/release/source-tarball.nix
@@ -6,16 +6,15 @@
 , buildInputs ? []
 , name ? "source-tarball"
 , version ? "0"
+, versionSuffix ? 
+    if officialRelease
+    then ""
+    else if src ? rev then "pre${toString src.rev}" else ""
 , src, stdenv, autoconf, automake, libtool
 , ... } @ args:
 
 let
 
-  versionSuffix =
-    if officialRelease
-    then ""
-    else if src ? rev then "pre${toString src.rev}" else "";
-
   # By default, provide all the GNU Build System as input.
   bootstrapBuildInputs =
     if (args ? bootstrapBuildInputs)
diff --git a/pkgs/data/misc/xkeyboard-config/default.nix b/pkgs/data/misc/xkeyboard-config/default.nix
index 63357fb45a32..fbe8e7ce1f5b 100644
--- a/pkgs/data/misc/xkeyboard-config/default.nix
+++ b/pkgs/data/misc/xkeyboard-config/default.nix
@@ -8,7 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "0x9hkb4iqz64gcabzkdcfy4p78sdhnpjwh54g8wx5bdgy9087vpr";
   };
 
-  buildInputs = [ perl perlXMLParser xkbcomp gettext intltool ];
+  buildInputs = [ gettext ];
+
+  buildNativeInputs = [ perl perlXMLParser intltool xkbcomp ];
 
   patches = [ ./eo.patch ];
 
diff --git a/pkgs/desktops/e17/e_dbus/default.nix b/pkgs/desktops/e17/e_dbus/default.nix
index 44be90f7af93..7c078eee0eea 100644
--- a/pkgs/desktops/e17/e_dbus/default.nix
+++ b/pkgs/desktops/e17/e_dbus/default.nix
@@ -1,12 +1,13 @@
-{ stdenv, fetchurl, pkgconfig, ecore, eina, evas, dbus_libs }:
+{ stdenv, fetchurl, pkgconfig, zlib, libjpeg, expat, ecore, eina, evas
+, dbus_libs }:
 stdenv.mkDerivation rec {
   name = "e_dbus-${version}";
-  version = "1.0.1";
+  version = "1.1.0";
   src = fetchurl {
     url = "http://download.enlightenment.org/releases/${name}.tar.gz";
-    sha256 = "1ifkijy4ap2mlqw2nd1dlvzlppyi7bnp15bxiy40nhdly8vhpbdl";
+    sha256 = "10y68f023jjq6dinjc0brpr41acnd7clxgb0q1j2i9isalx1473z";
   };
-  buildInputs = [ pkgconfig ecore eina evas ];
+  buildInputs = [ pkgconfig zlib libjpeg expat ecore eina evas ];
   propagatedBuildInputs = [ dbus_libs ];
   configureFlags = ''
     --disable-edbus-test
diff --git a/pkgs/desktops/e17/ecore/default.nix b/pkgs/desktops/e17/ecore/default.nix
index 004d708070c3..010a8022fca5 100644
--- a/pkgs/desktops/e17/ecore/default.nix
+++ b/pkgs/desktops/e17/ecore/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, eina, evas, libX11, libXext }:
 stdenv.mkDerivation rec {
   name = "ecore-${version}";
-  version = "1.0.1";
+  version = "1.1.0";
   src = fetchurl {
     url = "http://download.enlightenment.org/releases/${name}.tar.gz";
-    sha256 = "1vi03zxnsdnrjv1rh5r3v0si0b20ikrfb8hf5374i2sqvi1g65j0";
+    sha256 = "12iqhrklp3k5lvbxf7lhqd53wpl1csvricfkzlcv2nny4y3r31m0";
   };
   buildInputs = [ pkgconfig eina evas ];
   propagatedBuildInputs = [ libX11 libXext ];
diff --git a/pkgs/desktops/e17/edje/default.nix b/pkgs/desktops/e17/edje/default.nix
index 3272963b8b63..6c9e58c65fd2 100644
--- a/pkgs/desktops/e17/edje/default.nix
+++ b/pkgs/desktops/e17/edje/default.nix
@@ -1,12 +1,13 @@
-{ stdenv, fetchurl, pkgconfig, lua, eina, eet, evas, ecore, embryo }:
+{ stdenv, fetchurl, pkgconfig, lua, expat, zlib, libjpeg, eina, eet, evas
+, ecore, embryo }:
 stdenv.mkDerivation rec {
   name = "edje-${version}";
-  version = "1.0.1";
+  version = "1.1.0";
   src = fetchurl {
     url = "http://download.enlightenment.org/releases/${name}.tar.gz";
-    sha256 = "0z7gjj4ccjr36ba763ijmjkya58fc173vpdw1m298zwhy8n4164j";
+    sha256 = "0fjn4psl70hkfbjmczk06if8yxarg67w5hp2i1vq49kfkpyn2cx7";
   };
-  buildInputs = [ pkgconfig lua eina eet evas ecore embryo ];
+  buildInputs = [ pkgconfig expat zlib libjpeg lua eina eet evas ecore embryo ];
   meta = {
     description = "Enlightenment's abstract GUI layout and animation object library";
     longDescription = ''
diff --git a/pkgs/desktops/e17/eet/default.nix b/pkgs/desktops/e17/eet/default.nix
index 7f2809c0aa0a..98cdca08179f 100644
--- a/pkgs/desktops/e17/eet/default.nix
+++ b/pkgs/desktops/e17/eet/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, eina, zlib, libjpeg }:
 stdenv.mkDerivation rec {
   name = "eet-${version}";
-  version = "1.4.1";
+  version = "1.5.0";
   src = fetchurl {
     url = "http://download.enlightenment.org/releases/${name}.tar.gz";
-    sha256 = "1hlznlmgkgzxnkmc3qgqjrc62bmwqj5af8lsh59vac2gf4jnymnc";
+    sha256 = "0csk2s0y3qllf40q06i4wqaj8y2p1csh5jxcqnlmf6lrk1ycjv32";
   };
   buildInputs = [ pkgconfig eina zlib libjpeg ];
   meta = {
diff --git a/pkgs/desktops/e17/eeze/default.nix b/pkgs/desktops/e17/eeze/default.nix
index 3499d29dbb11..c095e25f886a 100644
--- a/pkgs/desktops/e17/eeze/default.nix
+++ b/pkgs/desktops/e17/eeze/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, eina, ecore, udev }:
 stdenv.mkDerivation rec {
   name = "eeze-${version}";
-  version = "1.0.2";
+  version = "1.1.0";
   src = fetchurl {
     url = "http://download.enlightenment.org/releases/${name}.tar.gz";
-    sha256 = "0g6afhnl862clj1rfh0s4nzdnhdikylbalfp8zmsw56dj0zncynq";
+    sha256 = "10n2qd7rf1cnsgd3mhh1wd1qm7hsf1lxx1ig72xyj55i4i5dllh3";
   };
   buildInputs = [ pkgconfig eina ecore ];
   propagatedBuildInputs = [ udev ];
diff --git a/pkgs/desktops/e17/efreet/default.nix b/pkgs/desktops/e17/efreet/default.nix
index e1e8d34197fd..291ea2f63f9c 100644
--- a/pkgs/desktops/e17/efreet/default.nix
+++ b/pkgs/desktops/e17/efreet/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, eina, eet, ecore }:
 stdenv.mkDerivation rec {
   name = "efreet-${version}";
-  version = "1.0.1";
+  version = "1.1.0";
   src = fetchurl {
     url = "http://download.enlightenment.org/releases/${name}.tar.gz";
-    sha256 = "0fakczsrr1idyvrp04mxw51ww017kn65xa77vq8wka4js8y0nagi";
+    sha256 = "0fqrrp8dvaqhwczlh7xyh1x6wr4flpmpy6ihrjh1ywymgcvrfwkf";
   };
   buildInputs = [ pkgconfig eina eet ecore ];
   meta = {
diff --git a/pkgs/desktops/e17/eina/default.nix b/pkgs/desktops/e17/eina/default.nix
index b4c3d0a72919..d3f02e595c15 100644
--- a/pkgs/desktops/e17/eina/default.nix
+++ b/pkgs/desktops/e17/eina/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl }:
 stdenv.mkDerivation rec {
   name = "eina-${version}";
-  version = "1.0.1";
+  version = "1.1.0";
   src = fetchurl {
     url = "http://download.enlightenment.org/releases/${name}.tar.gz";
-    sha256 = "1v2z1l6nqr7hnp5gki3972kprlvylpalp5wq9xdppm250z91kaas";
+    sha256 = "0h2vmvr7bmnb19n124bjvi2rddv7vm15pv19lrpc7av3idk7ic4j";
   };
   meta = {
     description = "Enlightenment's core data structure library";
diff --git a/pkgs/desktops/e17/embryo/default.nix b/pkgs/desktops/e17/embryo/default.nix
index e23b3f4b0b15..2dd1a5cbab07 100644
--- a/pkgs/desktops/e17/embryo/default.nix
+++ b/pkgs/desktops/e17/embryo/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, pkgconfig, eina }:
 stdenv.mkDerivation rec {
   name = "embryo-${version}";
-  version = "1.0.0";
+  version = "1.1.0";
   src = fetchurl {
     url = "http://download.enlightenment.org/releases/${name}.tar.gz";
-    sha256 = "0ch9vps83s892vda1ss1cf1fbgzff9p51df2fip7fqlj8y1shvvx";
+    sha256 = "0nk7jajsgi5xf02yxahwr3cm7bml5477fb1mas1i7a788bw7i6zn";
   };
+  buildInputs = [ pkgconfig eina ];
   meta = {
     description = "Enlightenment's small Pawn based virtual machine and compiler";
     longDescription = ''
diff --git a/pkgs/desktops/e17/enlightenment/default.nix b/pkgs/desktops/e17/enlightenment/default.nix
index b21bfc92ef2a..f8c57543f88f 100644
--- a/pkgs/desktops/e17/enlightenment/default.nix
+++ b/pkgs/desktops/e17/enlightenment/default.nix
@@ -1,9 +1,10 @@
 { stdenv, fetchurl, pkgconfig, eina, eet, evas, ecore, edje, efreet, e_dbus, embryo }:
 stdenv.mkDerivation rec {
-  name = "enlightenment-0.16.999.55225";
+  name = "enlightenment-${version}";
+  version = "0.16.999.65643";
   src = fetchurl {
-    url = "http://download.enlightenment.org/snapshots/2010-12-03/${name}.tar.gz";
-    sha256 = "1cv701fidp9mx3g5m9klmzsp0fj149rb133v1w76rzms3a0wljl1";
+    url = "http://download.enlightenment.org/snapshots/2011-11-28/${name}.tar.gz";
+    sha256 = "1bb577gbccb1wrifrhv9pzm451zhig2p29mwz55b187ls31p36kz";
   };
   buildInputs = [ pkgconfig eina eet ecore evas edje efreet e_dbus embryo ];
   configureFlags = ''
diff --git a/pkgs/desktops/e17/evas/default.nix b/pkgs/desktops/e17/evas/default.nix
index c546eb1af54a..84dae4822bab 100644
--- a/pkgs/desktops/e17/evas/default.nix
+++ b/pkgs/desktops/e17/evas/default.nix
@@ -2,10 +2,10 @@
 , libX11, libXext, eina, eet }:
 stdenv.mkDerivation rec {
   name = "evas-${version}";
-  version = "1.0.1";
+  version = "1.1.0";
   src = fetchurl {
     url = "http://download.enlightenment.org/releases/${name}.tar.gz";
-    sha256 = "0xkwyvxy32dwja0i3j8r8bzlybjwlrgmrhcri1bscp3aaj75x2rx";
+    sha256 = "1qjmxn5a5qhc2slxjx7bsas76w0zlnrbs6hx9swr8xarkifjk3dv";
   };
   buildInputs = [ pkgconfig freetype fontconfig libpng libjpeg
                   libX11 libXext eina eet
diff --git a/pkgs/desktops/kde-4.7/default.nix b/pkgs/desktops/kde-4.7/default.nix
index aeb62fc07405..3bdf825410cd 100644
--- a/pkgs/desktops/kde-4.7/default.nix
+++ b/pkgs/desktops/kde-4.7/default.nix
@@ -1,7 +1,7 @@
 { callPackage, callPackageOrig, stdenv, qt47 }:
 
 let
-  release = "4.7.2";
+  release = "4.7.4";
 
   # Need callPackageOrig to avoid infinite cycle
   kde = callPackageOrig ./kde-package {
diff --git a/pkgs/desktops/kde-4.7/kde-package/4.7.2.nix b/pkgs/desktops/kde-4.7/kde-package/4.7.2.nix
deleted file mode 100644
index dafde475b241..000000000000
--- a/pkgs/desktops/kde-4.7/kde-package/4.7.2.nix
+++ /dev/null
@@ -1,273 +0,0 @@
-{stable=true;
-hashes=builtins.listToAttrs[
-  {name="blinken";value="0597y7xf6908i03mzrc4k6pfjc9fzlxc1d72rg8153j9183yadr1";}
-  {name="cantor";value="13cxw0iq0radipd75yl5pjs0qq3px9khjnphrwcq86ss9jivv70y";}
-  {name="gwenview";value="0zngbigs8g75wwfrhi5f64pxpg77fggd2d54ly4mh3kr1h79ndxs";}
-  {name="kalgebra";value="1dqiavpc91sk8418ahvv4knim0k0ifs1yj2c9bng4aq46kmi7wl5";}
-  {name="kalzium";value="0aysmjnm9iy20prx0q294szp0f9ghmj2mbcix7ds8977l630pkhm";}
-  {name="kamera";value="1kbfhfr3l7iffv4lb8fzik8zdx9kqskpalzr76i7awdba0qqx37n";}
-  {name="kanagram";value="16f37j66lpyg96f3clrh856fl4chlpmxlg3pqjp6lfad47b1191r";}
-  {name="kate";value="1qhvchk1kvs4a9hsd2zxfvn6hrnn883ic8ba6pvwnzvqpdaqijq4";}
-  {name="kbruch";value="0hxcdwyybwsxg07vl83hypn8xzpnn5747zapwv2sg2hxwkccw4sj";}
-  {name="kcolorchooser";value="0hp849nb3hhn48d49kdbl8b95d1l5ychgc6qwfn9nvrvhazgs51q";}
-  {name="kdeaccessibility";value="179k9wmy5j0iig3n0xlzpry7j0li6bv7q1wpqra5hsmlk3ns440s";}
-  {name="kdeadmin";value="0mycw08xw2gbqd09mz6vxwhpxmn6c2isch4kaisha61zz8rm827p";}
-  {name="kdeartwork";value="0cq75mz1s6qbaargdpk435bnllvk6a33zspplw33y9q4l3xyih74";}
-  {name="kde-baseapps";value="1yhbfr1nrdkyklyayvbfdbm1jhdyvkgic9dx1dxpbjfgv552h10i";}
-  {name="kdegames";value="046kk60y7ajv4vagffhnc6jpslmggs1700ds4xl5ina2vhazwl31";}
-  {name="kdegraphics-strigi-analyzer";value="029zw71xc2r3g5d58yv09vzwyv7zd9r87vs1sqpa8jglpysaml9j";}
-  {name="kdegraphics-thumbnailers";value="0sp44m3nn2vv926h91f13kar2zi30l1y445jcdinlpckbzkgyyc8";}
-  {name="kdelibs";value="0f4b7ycs79qx360mhwf1jsbcawhp0sp76pbk46d20g0ms8rhp9xz";}
-  {name="kdemultimedia";value="0078gfx96bqzj26lwyz6jpln07963v4w8qqxg5wc53sd3w8f39m5";}
-  {name="kdenetwork";value="0vy3ygqszy8ishb4sbipvil148yhv73r8mbj6p10lqnrrah0c5n6";}
-  {name="kdepim";value="0c36q3z1krwpzx2naj1gqirvsvl5sadh0an9csa2159vqyzxld8n";}
-  {name="kdepimlibs";value="016jazpgnpzcvxvzn43fl5ihw13ckq16ggb97fzmpahkrh01yyc2";}
-  {name="kdepim-runtime";value="00a89zzqh7005ig4lxz1fypdb0hmxwibs78yk0fyr5qdjdd3i90k";}
-  {name="kdeplasma-addons";value="0cf93s7g3zbrdmkwia0djj7x5qas2q77vgajpab8cwj3r6cnm5bi";}
-  {name="kde-runtime";value="0b8sq97xi0mh0iiwzrfzar3kv2dsiljq3c2bbxgvwlf942g7w5j6";}
-  {name="kdesdk";value="1gi0p4xgyaflkwyv8fmcjfsc6gav83k78ib8awy42cwn8bwpsdy9";}
-  {name="kdetoys";value="0sd9p4rldz07w6sbwsx5b1iwgpljhkycphlnj698qll2dqrjm6b1";}
-  {name="kdeutils";value="15igw1jnvzdr1jf6jbip1xw5lj5kpk6ffgp6wmnlyssmqj7i7snd";}
-  {name="kde-wallpapers";value="0hcgjrqdj1lvgy098lglca1mi77gdg4332hp494klwvmhny1j0li";}
-  {name="kdewebdev";value="0g4fw17pivck9av8xd6dij6q70vr4zjbr2cpngrm0nmzyl5xiky7";}
-  {name="kde-workspace";value="1c4y7wnizj7b9nq97yypi80ylsli7pny5pzdr477015dh1kls5va";}
-  {name="kgamma";value="14p5xwdlyg8za1rwp809axfnybgm0dxhxhpfr97gslqqsnncfq74";}
-  {name="kgeography";value="114m0bs18bjl0f1rvp2v0w6wi0zkw1qk9dy5z8axk5q8dykhxdxs";}
-  {name="khangman";value="07rsfx6lmhfvbm46bzl01cg3l6rbib3phwnf5xdq1b6rifw5d5ks";}
-  {name="kig";value="0264vyq18rx16nq62vqk1g5ip5i7gnpy9x6z6f6p6vdqfb1bankn";}
-  {name="kimono";value="1pkzr2d6axwrbf7n10d48fmkxa1l7i79nf39p12abkh5gy5k6rbn";}
-  {name="kiten";value="0clbfp5n5mvkps6f4c9jx4bfb367c3461sy6yrl35q32j2s0d7dh";}
-  {name="klettres";value="16ywszx3nr6lszdx6sj0cc5nv92db1j7wxn8np24ijvhvvf2qv6c";}
-  {name="kmplot";value="0y7zs9zacx73hbxab2w15h1rpvdsqcncpn80qkhgfg7kiw1mgnvy";}
-  {name="kolourpaint";value="1s2zhw4mc2pq1bzbgkd37iswz8bar38vhvind7xl14n7fmh1a456";}
-  {name="konsole";value="0f3dwwfcrqa0qyqhjzl7r0v5yc91j018gxbyka0633r5v657yp2a";}
-  {name="korundum";value="1d94rlaj89yshvywv3nwvbg7yjdysmxxv9zi4q4lfa8f210pay6b";}
-  {name="kross-interpreters";value="0d3gjj1mj8nzawdcn5g60khmzh8k9jxn8invzy9xcdywdbpdyda2";}
-  {name="kruler";value="1gb7p0b6zbcq2kjf74rcblxjyzn6ffy4pp4mfhynhcnh2fv0nniw";}
-  {name="ksaneplugin";value="04lzyibnxmskszrb6f3k85lxc8ifrlwy71pqy080bfxsmw6avsra";}
-  {name="ksnapshot";value="0rvz9vr2xaq7ixf0rm7snlhkam9cga0w10vmglsrylwi2cch1j59";}
-  {name="kstars";value="13xdbigh7rjcy9ycywz5h3r3q918yqsjdwf4b56w63bi89bf69yx";}
-  {name="ktouch";value="0xxzw58v6395vqs45n2d8865ixyjpqzjna2ahw8j0hv997x4cmc4";}
-  {name="kturtle";value="18hcy1zwyi1s90ypm2sh3s6myqz5hkrsjgyyiabk44rw8ikgsa8a";}
-  {name="kwordquiz";value="1zl21d58z8qrrs898czba902rzvz0xr9ndm1dychnrwmbzm5rjj8";}
-  {name="libkdcraw";value="0lzia65czgrqkl31sfzpnvpzqhrm01zx6vxr3fx0ckmz35rmy5sk";}
-  {name="libkdeedu";value="1bj1f92b408ccf55icsvk0yssp7ilsglcz0k1j5z1bc9lzmdfn3h";}
-  {name="libkexiv2";value="0wfzskm6c96cf7k6f29spxy1x2p15wkmn3r4n3qpxlc8wk4psrg1";}
-  {name="libkipi";value="0nf9cx0p2allmhfbl2yab5xi6mrc9gqkfmndfjdd271bwrgy4w1y";}
-  {name="libksane";value="0zaygvwxxs2i2jprkn6l7mmr5563523xgv19h7chfqbwg4r3y6yc";}
-  {name="marble";value="1i1k2shnzkr0dddd7f6l6xxfhgn0dvvx3bqk596avzpn4bsxinfr";}
-  {name="mobipocket";value="0j9saz9chk2v2jcpiyv3b43z8hpdf4npxfnjqhahqq71pv13fzyi";}
-  {name="okular";value="1qalyxr3cc78yk18601l1z4sflw5bg96jy1c1pkg79zjcdrb1n7x";}
-  {name="oxygen-icons";value="0814knrcisp0mpcr9fcmmbpf140s8jbdrrzw4k3rnk81vffh8w8y";}
-  {name="parley";value="10wkkv3fknbv7d56rnfz1vzs3npyfa9c4b7bmaqzj0399p7l1k65";}
-  {name="perlkde";value="1za9gvh8pvdb9wp79cf9sv1f6hn8is7nq4is9qh46k56z2pgzp92";}
-  {name="perlqt";value="1xindf7sb22wisvcqrfgjb6kjcx4vhapijjgkf2j9xyjlx4fiafa";}
-  {name="pykde4";value="1qap0n4kd247nl5bn9l1015ajpmbzwafqznf8a3i36f77yg1misf";}
-  {name="qtruby";value="1p1f1qkfzr5kl88pgb90slm27vi1yjxxbi62rph0qdkp9crhvgn4";}
-  {name="qyoto";value="1yb99hqqsrw28nf2zhaq6v3aw67qvl83jylgr47rczixdgazzqg0";}
-  {name="rocs";value="1lzkvww0ygq6cl6qzsnmbblbnp4lxhzvc8kiapn7ydcyas7sy21z";}
-  {name="smokegen";value="0yb8w6n8dyivcq97xkqxws60zqzqzh6babml1g022yb35ka4f2dk";}
-  {name="smokekde";value="1zqm1gxbdpvccx777v2vy200n314nrvslabf2mb1y61dxqwkvkmi";}
-  {name="smokeqt";value="0qhksy9z03kfmgbgvnch4vxbxyzcng0f7cy337s50cnh4rabl017";}
-  {name="step";value="01hdl1z7sd2a5sgx1n96anbwsvs6dmd3r4q8dpn5ha657xc38qy1";}
-  {name="svgpart";value="05199j918xk16bq5mmqdc2w3agrknngxsrk5gxas6rflhg8v4qz3";}
-];
-modules=[
-{
-  module="kdegraphics";
-  split=true;
-  pkgs=[
-    { name="gwenview";  }
-    { name="kamera";  }
-    { name="kcolorchooser";  }
-    { 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="mobipocket";  }
-    { name="okular";  }
-    { name="svgpart";  }
-  ];
-}
-{
-  module="kdeedu";
-  split=true;
-  pkgs=[
-    { 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="kde-baseapps";
-sane="kde_baseapps";  split=true;
-  pkgs=[
-    { name="kate";  }
-    { name="kde-baseapps"; sane="kde_baseapps"; }
-    { name="konsole";  }
-  ];
-}
-{ module="kdeaccessibility";  split=false;
-  pkgs=[
-    { name="kaccessible"; }
-    { name="kmag"; }
-    { name="kmouth"; }
-    { name="kmousetool"; }
-    { name="jovie"; }
-  ];
-
-}
-{ 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="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="kdeutils";  split=false;
-  pkgs=[
-    { name="ark"; }
-    { name="kcalc"; }
-    { name="kremotecontrol"; }
-    { name="kdf"; }
-    { name="kfloppy"; }
-    { name="printer-applet"; sane="printer_applet";}
-    { name="filelight"; }
-    { name="kcharselect"; }
-    { name="kgpg"; }
-    { name="ktimer"; }
-    { name="kwallet"; }
-    { name="sweeper"; }
-    { name="superkaramba"; }
-  ];
-
-}
-{ 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.7/kde-package/4.7.4.nix b/pkgs/desktops/kde-4.7/kde-package/4.7.4.nix
new file mode 100644
index 000000000000..9a816b72cc68
--- /dev/null
+++ b/pkgs/desktops/kde-4.7/kde-package/4.7.4.nix
@@ -0,0 +1,273 @@
+{stable=true;
+hashes=builtins.listToAttrs[
+  {name="blinken";value="16daqg0bbkci305qrcrvpv66cvshjfni5rf5gakblcn8qqlmwsi6";}
+  {name="cantor";value="0wgm0j9bl632bk94fi0hzp5s392xpyz0d524ahhi8q33bqkl06ra";}
+  {name="gwenview";value="1dhpb7q0myr9rl4bjsajq0kslvhxcddv1ddplqad63j619wk8gfj";}
+  {name="kalgebra";value="04g07syrk14kpr15f9kgfkkmkjgdvcwmrykmy56jwm8sfb6ncli9";}
+  {name="kalzium";value="0k25cinwp6yjp8q9irmwcb1ahf98ck3mw706jfpybpa7ds8ym5z1";}
+  {name="kamera";value="0airyhxzpnvpzag4w0q1h0pc1lwwplglki5max1mj5miaxg93r34";}
+  {name="kanagram";value="0271aq39dbs92rhc83m19pmm7rx5c573k27931sf3j3pw3x2q0nm";}
+  {name="kate";value="0pfddi7g99apqipnqv62i86ld11vl4igqv65xprqqf0a5a1413my";}
+  {name="kbruch";value="1dhhk55d3bs474l2w0xma89pq74gklq5faskrvd1lvvl853z3zib";}
+  {name="kcolorchooser";value="1gb861f1fy0fvmkg30l1gza998gyhjwj4gcyyv266wp5v7d01xda";}
+  {name="kdeaccessibility";value="12mvs1hy5ygnbbz14hg2fvs7mpvlamkfbz7g7kcvzp0fkjb524h3";}
+  {name="kdeadmin";value="16y73zpdgh72cf8yz8zn246i4d8nh4k6mbz9cbc4ggjblgjcn3pr";}
+  {name="kdeartwork";value="0vfz9mzpm8yy6fysmhcavd8l1fjcld36p0x9qymi4l072b7dkgyv";}
+  {name="kde-baseapps";value="075m3nn407di2mx8w5lv7va3ij0yd7yb575wmf05vfqr01xyhn8a";}
+  {name="kdegames";value="0c42wyk2mq3hz99zg4f9i2dbc9vyaa5l2301j0859pwvnp9zgafz";}
+  {name="kdegraphics-strigi-analyzer";value="1j7chf76mlwrq7z1dgm525f5srx1h30czm8dnw2f0yxfn18lvnl9";}
+  {name="kdegraphics-thumbnailers";value="1ny51jc8fm4gldrlmrfmslpfpn5pahlyws3jzaj6nkd3hdw3krnr";}
+  {name="kdelibs";value="0fdgl8qvpyb9pmb26b3yjfm9ib75mxayw75qm5kyzncmrvn427gy";}
+  {name="kdemultimedia";value="0a0vp1pq159lzgd0x817p9mf6al99w1dwnlyhs9zfpspgz8nw8y1";}
+  {name="kdenetwork";value="0zwqbyl5vw5nnzlilc4khlisjj1xjpziw9ahgvw8cbszscmv68b5";}
+  {name="kdepim";value="0s38qxks58dmwyi3fnvprpq5q9kr17v31n808j33d50rw62y398p";}
+  {name="kdepimlibs";value="0rpfkc0pxvfkaz8pb3yx21dm3ixw8gfrcdny1aqzbn3f7f8abhip";}
+  {name="kdepim-runtime";value="14p5bxrhqjnmz303hxlrdj4vxlmiv8j04qni33ljbgib0hnllva3";}
+  {name="kdeplasma-addons";value="068m2jpyprrscyk3f4nk9qix5smka5pq59sdwdan9996sh256py5";}
+  {name="kde-runtime";value="06nxv46s7ff5n3kmzq3mdc16b0ck0411lj0gf3scdyd85iqx06wd";}
+  {name="kdesdk";value="0v3gwml9rvqz96q8jk8myqvl6gjw3q37js2jn24yawli3sjjw552";}
+  {name="kdetoys";value="17fk1bmabgj9nz0m4j248f48m2xfscql43wmzkqnr7y6zghqfhfh";}
+  {name="kdeutils";value="0s1whgg59xnc6ny609s3vjzvpxak02f2y6v7zw72i808k03aal5v";}
+  {name="kde-wallpapers";value="133amrhhca4xi0gbmajcc6rw1c1ai5x29265fqp45588kyycbgvz";}
+  {name="kdewebdev";value="1nqp2j09nr3jhmfvjydwp86jz4nn5pxwcfi6ww9krfd1hyg4aqjc";}
+  {name="kde-workspace";value="1dj39nndpws9grinz287ypn5lj3zjh96gl4zhl7kp6z8f9mdqp0p";}
+  {name="kgamma";value="05vk5b40w0i75nx5lqn9qax10m604jkjxyxynm0i0b8gyksv78h9";}
+  {name="kgeography";value="1a49zqz8zb9kn7m4m5fsm5ibvn9m5pzq89isrd1yy9q7zlv3qfqc";}
+  {name="khangman";value="1bmzrc5jzbw9q9gxw9pzad37zj4h89rh3k4smycif6ky2jy72x6d";}
+  {name="kig";value="1s0mwnj2riam811l0nfk08ja43f0nibqaqchy2ff7627w22yr5m0";}
+  {name="kimono";value="1cbbchdj4x5sn6ldkmzrx5alhvgzgbprvyjpg1rcsfnyc6whp2p9";}
+  {name="kiten";value="13bcw1r39h0g75vwbyrsh8sb27vmqsbrmx2ay621ily4iy3jn5az";}
+  {name="klettres";value="1wczh41wq3w5ccy2yi4pqr3zk4v0wiy4slcn54a8bfi1b5s1267j";}
+  {name="kmplot";value="0dx5gnya008q7smf74fvygwfsa0hc2ajiznvdmf4qmm3s5bxpbrr";}
+  {name="kolourpaint";value="14zrh321av5f5i8a4bjj7xb1sqfcphzhc5qyg2w54cywaiswy8nx";}
+  {name="konsole";value="1wq2k8g6in86x72jzhz4ar8ba5lyjp0pia969wxa6b1vsj148ipy";}
+  {name="korundum";value="024daf05c9l83whcy0cfgxb3s24ci038kg1pnxlzz4z9sk39432r";}
+  {name="kross-interpreters";value="1kkg4w3id2g7nr89kjdgyy9hik75dnxlm6jmn3g8ilqdvw5ip1qx";}
+  {name="kruler";value="0wd805w2k1ask9l44z50jcd033zkbaxs3xd3w21qrwdvs52x8m41";}
+  {name="ksaneplugin";value="1rxpl6f5b0ld5ap6aag892rjd7r74szbzd6lqw8q8gzm6jmk34gq";}
+  {name="ksnapshot";value="0dn99b6qr4b4hc3c88m26axmb3jim836ig3mfgqpban9r7k15xci";}
+  {name="kstars";value="0zrw4rlfm5cwfbj884zn50sdp90zjg7inl9k2zj450dpvh7i6q3q";}
+  {name="ktouch";value="0vbzr69jbci058bcphf9i3fh40hwgrmcyj1n4gj90gwr4x2ha5hp";}
+  {name="kturtle";value="0mhg2b1jbywafnj93274yimvnaxivycqj98pvld3hppaq32f7vzp";}
+  {name="kwordquiz";value="0kfa83a91w8z39r55456i1vn85pb4dqrbav40sx5fhjb03iyrsdk";}
+  {name="libkdcraw";value="14y8ni9w441zx1k2fhcbnzpa1vcmpvk58mjdqrqvn8n630cy0hzn";}
+  {name="libkdeedu";value="1ga88g5s8mq1m8xwmhl09ylrnl8sw639cpah6wi8wwnqslj2zj0a";}
+  {name="libkexiv2";value="0w8mpjsiw2sr8ya7ffnvnprbsbi8ngpxrcxylgw617zcxpxky6ha";}
+  {name="libkipi";value="01fivyyg5jhnkn9r7bh96ygxvnh7a99h11wh228wk8nzx3i63lsc";}
+  {name="libksane";value="0bb26ajfmknxf4hdy513zx1q9j0hzrs0dr98vxmrwfxxbza67fbm";}
+  {name="marble";value="02yljp6lmqs753zkqpaz58zlrjjxydx9pizppzwjvjx8xk63b9z6";}
+  {name="mobipocket";value="0m08j4cdj2sr1xw3hi0zy651c2ap0q8y9s913r6ccm0f292n0856";}
+  {name="okular";value="03x1fgdnz0s17wj3pkdp77rqrbbb6ssgq0ly493pbi1x4lx768ib";}
+  {name="oxygen-icons";value="0ayx0y2swdcgz4wd1idkhm3gbixkn4mw89f1hrhrdvc6j7wdn2dj";}
+  {name="parley";value="0wgps4adiwaq3l471ig9j56vm7p2xf37779nlhfzavby622lyv8q";}
+  {name="perlkde";value="1psa8ca2ynmavhmbh5p8bgxiljiqj6figi3cmvkaa7ksnmg2p9a3";}
+  {name="perlqt";value="1v12vx46kmg9cgld7krphcqp97y0py1bc3s2gd6jbz5j48g1wznb";}
+  {name="pykde4";value="07c7rzi0rzafrh92m57ldz3v66v8996zqpgcqn351jfycwccg7pz";}
+  {name="qtruby";value="05j08dfqbqnj92k9n70x8yiiaxyk6p9sk3lwm8w8nhsxdciq8yny";}
+  {name="qyoto";value="1maq0c6qb618jiqrdfp4imq3x7x5rdgf80wbrsf8wmaz3iwg18jz";}
+  {name="rocs";value="0qqzfxas64jz95v8i0birbcp0azk01jx5ic6pny7szngwrms6k34";}
+  {name="smokegen";value="0rdaxss113l80gmzp71ngp1l07nn2ip5nhk0a3mmjkvd08i507i8";}
+  {name="smokekde";value="0cxd5y1i672wc295m2czvp5jry1lmvv88dkipd97368gxsqzd3q8";}
+  {name="smokeqt";value="0ll1q87y1sdmna4iac61cm6sn7imsfvcfq573cj7f5raqn08gbpf";}
+  {name="step";value="000a0hc45znshwrjsydrf05f5rwn7lmaiqbk65py827fgk67qkyb";}
+  {name="svgpart";value="056h2ynbl6ylfpf5a2l0qjasnicwx2yzizgd21pprzl9n7708zcw";}
+];
+modules=[
+{
+  module="kdegraphics";
+  split=true;
+  pkgs=[
+    { name="gwenview";  }
+    { name="kamera";  }
+    { name="kcolorchooser";  }
+    { 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="mobipocket";  }
+    { name="okular";  }
+    { name="svgpart";  }
+  ];
+}
+{
+  module="kdeedu";
+  split=true;
+  pkgs=[
+    { 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="kde-baseapps";
+sane="kde_baseapps";  split=true;
+  pkgs=[
+    { name="kate";  }
+    { name="kde-baseapps"; sane="kde_baseapps"; }
+    { name="konsole";  }
+  ];
+}
+{ module="kdeaccessibility";  split=false;
+  pkgs=[
+    { name="kaccessible"; }
+    { name="kmag"; }
+    { name="kmouth"; }
+    { name="kmousetool"; }
+    { name="jovie"; }
+  ];
+
+}
+{ 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="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="kdeutils";  split=false;
+  pkgs=[
+    { name="ark"; }
+    { name="kcalc"; }
+    { name="kremotecontrol"; }
+    { name="kdf"; }
+    { name="kfloppy"; }
+    { name="printer-applet"; sane="printer_applet";}
+    { name="filelight"; }
+    { name="kcharselect"; }
+    { name="kgpg"; }
+    { name="ktimer"; }
+    { name="kwallet"; }
+    { name="sweeper"; }
+    { name="superkaramba"; }
+  ];
+
+}
+{ 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.7/kde-package/kde-manifest.sh b/pkgs/desktops/kde-4.7/kde-package/kde-manifest.sh
index dbb5970ab64e..910394fb6a33 100755
--- a/pkgs/desktops/kde-4.7/kde-package/kde-manifest.sh
+++ b/pkgs/desktops/kde-4.7/kde-package/kde-manifest.sh
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#! /bin/sh
 
 # Usage: download kde release to $dir, then run
 # $0 $dir
diff --git a/pkgs/desktops/kde-4.7/l10n/manifest-4.7.2.nix b/pkgs/desktops/kde-4.7/l10n/manifest-4.7.2.nix
deleted file mode 100644
index ff89f2d8d0ca..000000000000
--- a/pkgs/desktops/kde-4.7/l10n/manifest-4.7.2.nix
+++ /dev/null
@@ -1,262 +0,0 @@
-[
-{
-  lang = "ar";
-  saneName = "ar";
-  sha256 = "17s0d1yr561r55b2jgj6ypmjbwv9p7ykmpv28r6lcs7smdhvazg2";
-}
-{
-  lang = "bg";
-  saneName = "bg";
-  sha256 = "1q3r15v4hqmw7hqb4bxkgp3xvvybhs4ij8j2k6ph78sl2kq0z9vg";
-}
-{
-  lang = "bs";
-  saneName = "bs";
-  sha256 = "00q0mamzkf3rn1r9dxjkbg0fcs0sg06m38d5hvvc81ia2f743qps";
-}
-{
-  lang = "ca";
-  saneName = "ca";
-  sha256 = "1k9x805ikaqxq33mxj8knxdbmba22pb7yl5r6yvgys6ffr36x4gv";
-}
-{
-  lang = "ca@valencia";
-  saneName = "ca_valencia";
-  sha256 = "0zfxlsxrwzyh6va0fc7d7xvahw51khf51w5v3yqx0c5zvkbnk5h2";
-}
-{
-  lang = "cs";
-  saneName = "cs";
-  sha256 = "1adccwlxqwdv575cckfh665ml0wx47226hmjyyp9qws8csi56c69";
-}
-{
-  lang = "da";
-  saneName = "da";
-  sha256 = "0d0zbv7f3cwzsly45ilzfz2abjp22f45ilzfmqjp4naj153c1dxi";
-}
-{
-  lang = "de";
-  saneName = "de";
-  sha256 = "02mzvz5n00dvdnw86awfd3g3s4dsbk28i6nd7hpqxz6anvasqrc1";
-}
-{
-  lang = "el";
-  saneName = "el";
-  sha256 = "00gi08mgkw9r3mbagxfx25ywcrl7h0xsgs8wvng8y098vq5bsql4";
-}
-{
-  lang = "en_GB";
-  saneName = "en_GB";
-  sha256 = "0sf7ipp0sggdfcpijhy0gymkvmlxd4yknrw5v1mcbl6hjdg4fpyr";
-}
-{
-  lang = "es";
-  saneName = "es";
-  sha256 = "0axzzwmx39rad34qnasdla014c5dvz65hvnkf184q2q2fzbsqcn4";
-}
-{
-  lang = "et";
-  saneName = "et";
-  sha256 = "080prwlf12nhbkkbkc111zsjr5j2zm0zp328s923gmrh5dfxi6c5";
-}
-{
-  lang = "eu";
-  saneName = "eu";
-  sha256 = "0vbc01xxnzpnvnrzvv3xird3g7glyls970rbq815a5f8d0svcqhz";
-}
-{
-  lang = "fi";
-  saneName = "fi";
-  sha256 = "0rhi9hc2kwh3dl3zin5l8akf1qlfc8i3yi8857f92az4crah0h7j";
-}
-{
-  lang = "fr";
-  saneName = "fr";
-  sha256 = "0jwlkiv3phlw4hinjz0hxgmcs5v9nkg2rdh96qfsmqm8qjwbgjj9";
-}
-{
-  lang = "ga";
-  saneName = "ga";
-  sha256 = "0nr7357xknsx2nn4w25yxzmhz1rij9b2i9fix9gbfrfi103p4j3d";
-}
-{
-  lang = "gl";
-  saneName = "gl";
-  sha256 = "1fvnfxyn2gdmbp6n9rrh7amzb23vwlfz0dif5c4pc17vkm733hci";
-}
-{
-  lang = "he";
-  saneName = "he";
-  sha256 = "1rmrwbfad81hhx3rvdis38mg4dvq88x3m2ypjy4vg47h7y3nzzsd";
-}
-{
-  lang = "hr";
-  saneName = "hr";
-  sha256 = "0w234ndd1rljrnxg1ws814r0kybh3ajc1x5n2m4qch1xvsq96knh";
-}
-{
-  lang = "hu";
-  saneName = "hu";
-  sha256 = "0rjaajqa3ci5qpx6zqzglzmllfnsm8knsal65bnm4msxh8s06k96";
-}
-{
-  lang = "ia";
-  saneName = "ia";
-  sha256 = "15rsn2qak7fjc3l54s1j26dlng4k31kh9qdgs68y38hsq65x4zc9";
-}
-{
-  lang = "id";
-  saneName = "id";
-  sha256 = "0dlciv1yk6vjc17506cabn722z9n0x25y2cmanafqb37ilm3ji9q";
-}
-{
-  lang = "is";
-  saneName = "is";
-  sha256 = "0iqsz23l4205p2vbm7nrhq6f4xcjnv2i8fll4zrim1fvmv8m9imb";
-}
-{
-  lang = "it";
-  saneName = "it";
-  sha256 = "1xmbw2c62d4zfarrwfdxg9ijgyly0p659ycxjqq6vq066ji728n0";
-}
-{
-  lang = "ja";
-  saneName = "ja";
-  sha256 = "1jrq9vhs7md5bjfaym5jqjhmlf0ydi9fwdhz87y03bp4cx8k17f5";
-}
-{
-  lang = "kk";
-  saneName = "kk";
-  sha256 = "1d5jl8yi8jjp1myg1d3jxh2fdf58n4lh77g50f9f4lab7xhwqiy0";
-}
-{
-  lang = "km";
-  saneName = "km";
-  sha256 = "1apxmwmsmis77y2if15npf38wd98nzl9h6qqi02mpbl2gq32hjnm";
-}
-{
-  lang = "kn";
-  saneName = "kn";
-  sha256 = "0r70d4m4x0jyq7fq3zj0dgy3v0pz25zbk20l932w3zyq6nxmaj18";
-}
-{
-  lang = "ko";
-  saneName = "ko";
-  sha256 = "0zr2ph6n2475fifanx2gisn0z29hgzcd822jy8h33qy1rysfzjv7";
-}
-{
-  lang = "lt";
-  saneName = "lt";
-  sha256 = "12vvy72nb16b0i2a8dqfq6zvbdxkanh39wqi6ysmbzxbic634lwy";
-}
-{
-  lang = "lv";
-  saneName = "lv";
-  sha256 = "1daxrnydhqcnmi0c2ag2jvdckshk9dypgpi6dchgfbffn4bqgy9p";
-}
-{
-  lang = "nb";
-  saneName = "nb";
-  sha256 = "1mjkbgd2k9g6ka811j6yphc9c7yl6hyx504k74l3qwhcd53nhixm";
-}
-{
-  lang = "nds";
-  saneName = "nds";
-  sha256 = "0vryzfy5phybffdizm4vxb3k1z04mqwhabvk7qijr536jv457s79";
-}
-{
-  lang = "nl";
-  saneName = "nl";
-  sha256 = "16w8i0ywlpyck2svahrjsgaadp18x6y26n637av23ll2albiigj3";
-}
-{
-  lang = "nn";
-  saneName = "nn";
-  sha256 = "1kq0nrj5i9kdb2rmn6wmrv0y3awjk25kqq0ls6f49nxy954nw1ch";
-}
-{
-  lang = "pa";
-  saneName = "pa";
-  sha256 = "12dqa9lbr99lmb35qb4vsl3pykn04kb95p4dw8yap380wfqr0j53";
-}
-{
-  lang = "pl";
-  saneName = "pl";
-  sha256 = "0mdcfw9v5434rrq1ix1zprvmrs3vdkl54nmaz7iz9iqlc44c44w1";
-}
-{
-  lang = "pt";
-  saneName = "pt";
-  sha256 = "08bwh2b9040wvhvq3ncih4b1s7yz1cdgchkird2zghsks34jn32j";
-}
-{
-  lang = "pt_BR";
-  saneName = "pt_BR";
-  sha256 = "145zgkslkm8y2vrxcr4zm2hv7m7mqc5h5q0vad33p6cxqpy8d0im";
-}
-{
-  lang = "ro";
-  saneName = "ro";
-  sha256 = "0w3s87h3msbjrbmil4za323jsh5wg80n4vzsvy77nhlv4a4zkd6p";
-}
-{
-  lang = "ru";
-  saneName = "ru";
-  sha256 = "1cddg14g2cdm2lfspps32ld8cbmd9qiwn78a2m6f6jsfbjh8kk0v";
-}
-{
-  lang = "sk";
-  saneName = "sk";
-  sha256 = "0wlgmfa15vk8vv9zd08dafvdd0df2j4721lnrn3pjrknbapfv76w";
-}
-{
-  lang = "sl";
-  saneName = "sl";
-  sha256 = "176x46y8fxhbs2x4zma705xz258jcxw45af5jkwskq6rq1v2nk8p";
-}
-{
-  lang = "sr";
-  saneName = "sr";
-  sha256 = "1sxrxblmyrpvjzag3z7a7ia3k1fd6n3jvqjv6mdcnzky6n4wjs35";
-}
-{
-  lang = "sv";
-  saneName = "sv";
-  sha256 = "1ni87ph5wgxydq5dyj7yw9xc6izx0gdqyqqvcbnzxxbfcg37apnx";
-}
-{
-  lang = "th";
-  saneName = "th";
-  sha256 = "1a4fn0vbb714pg15z9w9jkgmmqs0c3wl8397jg68xr6621cphpnh";
-}
-{
-  lang = "tr";
-  saneName = "tr";
-  sha256 = "09m81r5vlh9mi863wm0kmnbr881xy2qnsn2n6fy27csk91sj9g6s";
-}
-{
-  lang = "ug";
-  saneName = "ug";
-  sha256 = "191ivdzc60sz4z5d513v7m89clq214kw31r8pp16basayqvcycwg";
-}
-{
-  lang = "uk";
-  saneName = "uk";
-  sha256 = "1141213hrvw77ri5n518vj76k9whvr73vahbbrygfib3r1vml4rf";
-}
-{
-  lang = "wa";
-  saneName = "wa";
-  sha256 = "0mczkwzq5zb5s1mpl9g711lnng7j3bcfmn66zwm5is4ij4hd2swr";
-}
-{
-  lang = "zh_CN";
-  saneName = "zh_CN";
-  sha256 = "0ra5km0ddh3k3mb36drynf1wyfi05a1nf346jamx4lafsp5xai1r";
-}
-{
-  lang = "zh_TW";
-  saneName = "zh_TW";
-  sha256 = "0qbc0hs1f43aqkj92nnw5vn8b2r11y19hjhh2p8b41818dcyscyf";
-}
-]
diff --git a/pkgs/desktops/kde-4.7/l10n/manifest-4.7.4.nix b/pkgs/desktops/kde-4.7/l10n/manifest-4.7.4.nix
new file mode 100644
index 000000000000..a128ff8dc622
--- /dev/null
+++ b/pkgs/desktops/kde-4.7/l10n/manifest-4.7.4.nix
@@ -0,0 +1,267 @@
+[
+{
+  lang = "ar";
+  saneName = "ar";
+  sha256 = "1iw8x8k31jrgqc8nq276iwca1dgicz9vcx58rfbnk924dvqrflpv";
+}
+{
+  lang = "bg";
+  saneName = "bg";
+  sha256 = "07i4s6jkfkw59mr5n4256rzwy64y1c5wy957jbvnidqcrpzh1azf";
+}
+{
+  lang = "bs";
+  saneName = "bs";
+  sha256 = "080svc26zqf45wra6d6ljxzgs8f6gzl567wm73yp5qrgqnvyvxir";
+}
+{
+  lang = "ca";
+  saneName = "ca";
+  sha256 = "04fz56hsrpl6mxsbw5ja7armf8zbib542d7iv4p4c87xncib13qj";
+}
+{
+  lang = "ca@valencia";
+  saneName = "ca_valencia";
+  sha256 = "01mi1d6yz5w122bcjzp3r8g70pzil6216sv2y2dxaqjlxpdllklp";
+}
+{
+  lang = "cs";
+  saneName = "cs";
+  sha256 = "0l1rwx1k0vpkfc52divm5cnwxr05mwcl1sr84mi24s2ygs6rk8ib";
+}
+{
+  lang = "da";
+  saneName = "da";
+  sha256 = "1r2pzkvs1rc8hfzi5q0p6drvkl1ykq89bzi3k73i3fghx42qdxv6";
+}
+{
+  lang = "de";
+  saneName = "de";
+  sha256 = "100589wkw5rdcihk1nwl4i0bc30bq3b289n03q9lgf8zadflrrg9";
+}
+{
+  lang = "el";
+  saneName = "el";
+  sha256 = "0q41lpkf8srjxrrcnw9c7rkc83m4jw3r7z6s8x9rn0d5h2l36gv8";
+}
+{
+  lang = "en_GB";
+  saneName = "en_GB";
+  sha256 = "0mmvr3fh51r958myc18nxvl7d8hsm4wl70vmac3a3w47mr9aayqi";
+}
+{
+  lang = "es";
+  saneName = "es";
+  sha256 = "11k8svvnph9431maxdhzr334h7h11jk681fb2z1hb7i6cprmac9f";
+}
+{
+  lang = "et";
+  saneName = "et";
+  sha256 = "0pvjfkh93avkg9dii5byjh3kiqcgax9dfw97jmy6qccicgq6frvd";
+}
+{
+  lang = "eu";
+  saneName = "eu";
+  sha256 = "0gnnr7nyxjrzf632zs1k3j4bss3gm5qadfm2jki41y9q1f82vy99";
+}
+{
+  lang = "fi";
+  saneName = "fi";
+  sha256 = "0mfrmqn1yiqrgq79bgbb8799myv5h30g1gr83xja9g9y0lb645bs";
+}
+{
+  lang = "fr";
+  saneName = "fr";
+  sha256 = "03d6xbc7h9gslzvx1q7lcb8bfr5w8809jfb6cn4zv36in593wq85";
+}
+{
+  lang = "ga";
+  saneName = "ga";
+  sha256 = "13m7rdz2gd1cag2x6hfzyv8xj5777fly5f9pyhr28hrafyqc44l5";
+}
+{
+  lang = "gl";
+  saneName = "gl";
+  sha256 = "1ryimhlddxwaa40si3j0id37xm845ybsfkck0i7x2kmg87a55wcz";
+}
+{
+  lang = "he";
+  saneName = "he";
+  sha256 = "01v4vkbyhbsv64z7mnj129ss1rnr00n19iiza0ivjzsbzryhh3p2";
+}
+{
+  lang = "hr";
+  saneName = "hr";
+  sha256 = "0s2a4nc3z03xj8za426arwr1cjqqcd6pq82lc9q0kiv2fpxgagxw";
+}
+{
+  lang = "hu";
+  saneName = "hu";
+  sha256 = "0sv4fsnnnnpnf14s7fv83g9kzqq31gl0647cy523xkyxpdwhj9hp";
+}
+{
+  lang = "ia";
+  saneName = "ia";
+  sha256 = "0k9gzxiyplvk78nqk3kmqh74lani6iqciyighii1m0cvylq5sljz";
+}
+{
+  lang = "id";
+  saneName = "id";
+  sha256 = "16l4wif0qsmvpikagkhfyh98wdss4w0imixnzawadx0jq5mac6ga";
+}
+{
+  lang = "is";
+  saneName = "is";
+  sha256 = "1g5pan1iy2mx43z5gxvp07n3a9yrc56y4pya2r9g6wjnzcp0ynbj";
+}
+{
+  lang = "it";
+  saneName = "it";
+  sha256 = "0p0grhjx04khqmih8gmlpgjazr8asv7ql1gj965sjaf8a6z1h5ar";
+}
+{
+  lang = "ja";
+  saneName = "ja";
+  sha256 = "1f6ig8x3siqww4bwldpgncpyhlmkf6hbd6ahlvd5dqn6hqpknygx";
+}
+{
+  lang = "kk";
+  saneName = "kk";
+  sha256 = "0kyhr0b5g842dds59l3rcvyq3n12xx11svcqbqhiqqm3a8qki9vi";
+}
+{
+  lang = "km";
+  saneName = "km";
+  sha256 = "02ss6rxqf71n06a769l0xky30nhyqdhhsad9lmxs0dbbnxdcnixr";
+}
+{
+  lang = "kn";
+  saneName = "kn";
+  sha256 = "0rk193a27hvh63lfb7yy8g0wxb05kymyqnhdxcmai3wk2n53bi9y";
+}
+{
+  lang = "ko";
+  saneName = "ko";
+  sha256 = "0wyplpkkq6mdm5k7jxxppwgrm4rrb5mbhagszg1y460rcx7d5vcm";
+}
+{
+  lang = "lt";
+  saneName = "lt";
+  sha256 = "08767csx7sq02jkkrdl16jj7jprqc3qbsz7vdcwli3274qjkdk9s";
+}
+{
+  lang = "lv";
+  saneName = "lv";
+  sha256 = "0f4mxjsg2ipsj57ki26n870zxnk28z9ayblzgmv821xiawjaa4gc";
+}
+{
+  lang = "nb";
+  saneName = "nb";
+  sha256 = "1myb1b4p849nvb4q2n5hcy5fsfb4zdvhc5vkwa2giiy0pv230cmm";
+}
+{
+  lang = "nds";
+  saneName = "nds";
+  sha256 = "1vm6fjac0aaxls0rlgz4s804kbarj1rzyli50dzfcfqwngzkckxk";
+}
+{
+  lang = "nl";
+  saneName = "nl";
+  sha256 = "02v0cscngl7wfsl7yc2xr1a593qq064spgk1ynzad1rz1g98z212";
+}
+{
+  lang = "nn";
+  saneName = "nn";
+  sha256 = "01s1kfp5x036hcpyl87qzqjlmjwp8hda3qplnj3inihias2cnvb7";
+}
+{
+  lang = "pa";
+  saneName = "pa";
+  sha256 = "0al2lwvj23rp1plg2ykakbgw6qzxkkd5pd2nqdfnaif9xq9fp9db";
+}
+{
+  lang = "pl";
+  saneName = "pl";
+  sha256 = "08fffsaay01dnbs7bg3w325bknjcfbp3f1ryrdy2g7w2achyakls";
+}
+{
+  lang = "pt";
+  saneName = "pt";
+  sha256 = "03klc7q1h0xxc43vqw2m87n4wzxg140ql7mlzrjsrdnqgx2pvch4";
+}
+{
+  lang = "pt_BR";
+  saneName = "pt_BR";
+  sha256 = "1g4nd48fzfxam8zsi0imw57lhjm7i7qifqmy53s7pfr4cmq4fbw5";
+}
+{
+  lang = "ro";
+  saneName = "ro";
+  sha256 = "112pj6bi1bagafh89322mdj8ynmljv0ry7z2zss4ljfhqxxndc6b";
+}
+{
+  lang = "ru";
+  saneName = "ru";
+  sha256 = "1i4fx5mrz9910wkfgi885gjafcspnk8nyx7cimkvnp6y2xwpl733";
+}
+{
+  lang = "si";
+  saneName = "si";
+  sha256 = "0h77cqi9cmzni4mn7k91ar56b9ph8dlyagn29wd958hpkxwbdqiw";
+}
+{
+  lang = "sk";
+  saneName = "sk";
+  sha256 = "1q8bxlaah7afs12ni8xpjj6nlxjmxfpzabavm7ixqwnn4l732vyn";
+}
+{
+  lang = "sl";
+  saneName = "sl";
+  sha256 = "0508w2k4g7f9dm0ds28h5hhxd5qc4w16zxqskygrs6144567hb0c";
+}
+{
+  lang = "sr";
+  saneName = "sr";
+  sha256 = "0bvbzah338bh8vnn2ppakd8zb49vcc7d95ahyahrkqc4ls5z60sv";
+}
+{
+  lang = "sv";
+  saneName = "sv";
+  sha256 = "1glgb7shn3qlszayyc11wjhbc5g29agq2rlwf45drk2b5fi2m8bn";
+}
+{
+  lang = "th";
+  saneName = "th";
+  sha256 = "0g3pgrsb3d33295nw45y0a318yb4bvld46xvjsd3ay8hxpxrf4yy";
+}
+{
+  lang = "tr";
+  saneName = "tr";
+  sha256 = "02k1jakxwj5zp0z7x8yrjrl17syzv6rfyscal6af5bavjsx99kxp";
+}
+{
+  lang = "ug";
+  saneName = "ug";
+  sha256 = "0wq1jlxwz2avqzb9yqnck69qkfy3q7cq76i2jadbfdvwk06w44bi";
+}
+{
+  lang = "uk";
+  saneName = "uk";
+  sha256 = "0813bmgi9k3kx2k8rl8h1l9p6zcnabk36p7nm8v9vb4v7d52cyds";
+}
+{
+  lang = "wa";
+  saneName = "wa";
+  sha256 = "14slp0ybjbsm62misrp9qni5pzw4pzz3zznzc49z0a7yfni9i6av";
+}
+{
+  lang = "zh_CN";
+  saneName = "zh_CN";
+  sha256 = "18jfbz2h8jjby48hwjyrd9yn3k7xbp58g28psmlhsg2m3f8mr669";
+}
+{
+  lang = "zh_TW";
+  saneName = "zh_TW";
+  sha256 = "09mfspiy3ihg0n6paqhp0g1srl60sxrkxgha536624kbrbwp1jpq";
+}
+]
diff --git a/pkgs/development/compilers/Agda-executable/default.nix b/pkgs/development/compilers/Agda-executable/default.nix
index 02b1f0bfa935..1b772b8dc717 100644
--- a/pkgs/development/compilers/Agda-executable/default.nix
+++ b/pkgs/development/compilers/Agda-executable/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Agda-executable";
-  version = "2.2.10";
-  sha256 = "0jjlbz5vaz1pasfws1cy8wvllzdzv3sxm2lfj6bckl93kdrxlpy6";
+  version = "2.3.0";
+  sha256 = "1n1ak6z2vh356k9mk0zkiv6dqp9dvx97a7r21b0xnhwkmh3f8p5p";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ Agda ];
diff --git a/pkgs/development/compilers/epic/default.nix b/pkgs/development/compilers/epic/default.nix
index b4a53df94331..377a7377a322 100644
--- a/pkgs/development/compilers/epic/default.nix
+++ b/pkgs/development/compilers/epic/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "epic";
-  version = "0.1.13";
-  sha256 = "00rdprgndrvssrjlp6jh5jak2rxq6bcd2dknldx6i8h1cq6i69rb";
+  version = "0.9";
+  sha256 = "0bxvabzizq0msj0fy02vqj0pylq4cbymsypi6w2babwykscrdgm0";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ mtl ];
diff --git a/pkgs/development/compilers/gcc-4.5/default.nix b/pkgs/development/compilers/gcc-4.5/default.nix
index 0726d277f819..0e0029f9f94d 100644
--- a/pkgs/development/compilers/gcc-4.5/default.nix
+++ b/pkgs/development/compilers/gcc-4.5/default.nix
@@ -146,13 +146,17 @@ stdenv.mkDerivation ({
 
   postPatch =
     if (stdenv.system == "i586-pc-gnu"
+        || (libcCross != null                  # e.g., building `gcc.hostDrv'
+            && libcCross ? crossConfig
+            && libcCross.crossConfig == "i586-pc-gnu")
         || (cross != null && cross.config == "i586-pc-gnu"
             && libcCross != null))
     then
       # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
       # in glibc, so add the right `-I' flags to the default spec string.
+      assert libcCross != null -> libpthreadCross != null;
       let
-        libc = if cross != null then libcCross else stdenv.glibc;
+        libc = if libcCross != null then libcCross else stdenv.glibc;
         gnu_h = "gcc/config/gnu.h";
         i386_gnu_h = "gcc/config/i386/gnu.h";
         extraCPPDeps =
@@ -174,12 +178,18 @@ stdenv.mkDerivation ({
            echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..."
            sed -i "${gnu_h}" \
                -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g'
+
+           echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc}/include'..."
+           sed -i "${gnu_h}" \
+               -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc}/include"|g'
+           sed -i gcc/config/t-gnu \
+               -es'|NATIVE_SYSTEM_HEADER_DIR.*$|NATIVE_SYSTEM_HEADER_DIR = ${libc}/include|g'
         ''
     else if cross != null || stdenv.gcc.libc != null then
       # On NixOS, use the right path to the dynamic linker instead of
       # `/lib/ld*.so'.
       let
-        libc = if (cross != null && libcCross != null) then libcCross else stdenv.gcc.libc;
+        libc = if (libcCross != null) then libcCross else stdenv.gcc.libc;
       in
         '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..."
            for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
@@ -384,6 +394,13 @@ stdenv.mkDerivation ({
   };
 }
 
+// optionalAttrs (cross != null || libcCross != null) {
+  # `builder.sh' sets $CPP, which leads configure to use "gcc -E" instead of,
+  # say, "i586-pc-gnu-gcc -E" when building `gcc.hostDrv'.
+  # FIXME: Fix `builder.sh' directly in the next stdenv-update.
+  postUnpack = "unset CPP";
+}
+
 // optionalAttrs (cross != null && cross.libc == "msvcrt" && crossStageStatic) {
   makeFlags = [ "all-gcc" "all-target-libgcc" ];
   installTargets = "install-gcc install-target-libgcc";
diff --git a/pkgs/development/compilers/gcc-4.6/builder.sh b/pkgs/development/compilers/gcc-4.6/builder.sh
index 8e1b3c8e4079..6cd64bc58f20 100644
--- a/pkgs/development/compilers/gcc-4.6/builder.sh
+++ b/pkgs/development/compilers/gcc-4.6/builder.sh
@@ -5,11 +5,6 @@ export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy
 mkdir $NIX_FIXINC_DUMMY
 
 
-# libstdc++ needs this; otherwise it will use /lib/cpp, which is a Bad
-# Thing.
-export CPP="gcc -E"
-export CXXCPP="g++ -E"
-
 if test "$staticCompiler" = "1"; then
     EXTRA_LDFLAGS="-static"
 else
diff --git a/pkgs/development/compilers/gcc-4.6/default.nix b/pkgs/development/compilers/gcc-4.6/default.nix
index c7d01330cf0e..4faa531f10d5 100644
--- a/pkgs/development/compilers/gcc-4.6/default.nix
+++ b/pkgs/development/compilers/gcc-4.6/default.nix
@@ -151,13 +151,17 @@ stdenv.mkDerivation ({
 
   postPatch =
     if (stdenv.system == "i586-pc-gnu"
+        || (libcCross != null                  # e.g., building `gcc.hostDrv'
+            && libcCross ? crossConfig
+            && libcCross.crossConfig == "i586-pc-gnu")
         || (cross != null && cross.config == "i586-pc-gnu"
             && libcCross != null))
     then
       # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not
       # in glibc, so add the right `-I' flags to the default spec string.
+      assert libcCross != null -> libpthreadCross != null;
       let
-        libc = if cross != null then libcCross else stdenv.glibc;
+        libc = if libcCross != null then libcCross else stdenv.glibc;
         gnu_h = "gcc/config/gnu.h";
         i386_gnu_h = "gcc/config/i386/gnu.h";
         extraCPPDeps =
@@ -179,12 +183,18 @@ stdenv.mkDerivation ({
            echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..."
            sed -i "${gnu_h}" \
                -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g'
+
+           echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc}/include'..."
+           sed -i "${gnu_h}" \
+               -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc}/include"|g'
+           sed -i gcc/config/t-gnu \
+               -es'|NATIVE_SYSTEM_HEADER_DIR.*$|NATIVE_SYSTEM_HEADER_DIR = ${libc}/include|g'
         ''
     else if cross != null || stdenv.gcc.libc != null then
       # On NixOS, use the right path to the dynamic linker instead of
       # `/lib/ld*.so'.
       let
-        libc = if (cross != null && libcCross != null) then libcCross else stdenv.gcc.libc;
+        libc = if (libcCross != null) then libcCross else stdenv.gcc.libc;
       in
         '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..."
            for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
@@ -200,16 +210,17 @@ stdenv.mkDerivation ({
   inherit noSysDirs profiledCompiler staticCompiler langJava crossStageStatic
     libcCross crossMingw;
 
-  buildNativeInputs = [ texinfo which ]
-    ++ optional langJava perl;
+  buildNativeInputs = [ texinfo which gettext ]
+    ++ (optional (perl != null) perl)
+    ++ (optional javaAwtGtk pkgconfig);
 
-  buildInputs = [ gmp mpfr mpc libelf gettext ]
+  buildInputs = [ gmp mpfr mpc libelf ]
     ++ (optional (ppl != null) ppl)
     ++ (optional (cloogppl != null) cloogppl)
     ++ (optional (cloog != null) cloog)
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
-    ++ (optionals javaAwtGtk ([gtk pkgconfig libart_lgpl] ++ xlibs))
+    ++ (optionals javaAwtGtk ([ gtk libart_lgpl ] ++ xlibs))
     ++ (optionals (cross != null) [binutilsCross])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
diff --git a/pkgs/development/compilers/ghc/7.2.2.nix b/pkgs/development/compilers/ghc/7.2.2.nix
new file mode 100644
index 000000000000..358f41dcf089
--- /dev/null
+++ b/pkgs/development/compilers/ghc/7.2.2.nix
@@ -0,0 +1,44 @@
+{stdenv, fetchurl, ghc, perl, gmp, ncurses, darwinInstallNameToolUtility}:
+
+stdenv.mkDerivation rec {
+  version = "7.2.2";
+  name = "ghc-${version}";
+
+  src = fetchurl {
+    url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
+    sha256 = "0g87d3z9275dniaqzkf56qfgzp1msd89nqqhhm2gkc6iga072spz";
+  };
+
+  buildInputs = [ghc perl gmp ncurses] ++
+    (if stdenv.isDarwin then [darwinInstallNameToolUtility] else []);
+
+  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"
+  '';
+
+  preConfigure = ''
+    echo "${buildMK}" > mk/build.mk
+    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+  '';
+
+  configureFlags=[
+    "--with-gcc=${stdenv.gcc}/bin/gcc"
+  ];
+
+  # required, because otherwise all symbols from HSffi.o are stripped, and
+  # that in turn causes GHCi to abort
+  stripDebugFlags=["-S" "--keep-file-symbols"];
+
+  meta = {
+    homepage = "http://haskell.org/ghc";
+    description = "The Glasgow Haskell Compiler";
+    maintainers = [
+      stdenv.lib.maintainers.marcweber
+      stdenv.lib.maintainers.andres
+      stdenv.lib.maintainers.simons
+    ];
+    platforms = ghc.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/compilers/ghc/with-packages.nix b/pkgs/development/compilers/ghc/with-packages.nix
new file mode 100644
index 000000000000..19ce4eabf423
--- /dev/null
+++ b/pkgs/development/compilers/ghc/with-packages.nix
@@ -0,0 +1,89 @@
+{stdenv, ghc, packages ? [], makeWrapper}:
+
+stdenv.mkDerivation rec {
+  name = "ghc-${ghc.version}-linkdir";
+
+  allPackages = stdenv.lib.closePropagation packages;
+  buildInputs = allPackages ++ [makeWrapper];
+  propagatedBuildInputs = packages;
+
+  unpackPhase = "true";
+
+  installPhase = ''
+    originalTopDir="${ghc}/lib/ghc-${ghc.version}"
+    originalPkgDir="$originalTopDir/package.conf.d"
+    linkedTopDir="$out/lib"
+    linkedPkgDir="$linkedTopDir/package.conf.d"
+
+    ensureDir $out/bin
+    ensureDir $linkedTopDir
+    ensureDir $linkedPkgDir
+
+    echo "Linking GHC core libraries:"
+
+    echo -n "Linking $originalTopDir "
+    for f in $originalTopDir/*; do
+      if test -f $f; then
+        ln -s $f $linkedTopDir
+        echo -n .
+      fi
+    done
+    echo
+
+    echo -n "Linking $originalPkgDir "
+    for f in $originalPkgDir/*.conf; do
+      ln -s $f $linkedPkgDir
+      echo -n .
+    done
+    echo
+
+    echo "Linking selected packages and dependencies:"
+
+    for currentPath in ${stdenv.lib.concatStringsSep " " allPackages}; do
+      currentPkgDir="$currentPath/lib/ghc-pkgs/ghc-${ghc.version}"
+      # Check if current path is a Cabal package for the current GHC
+      if test -d $currentPkgDir; then
+        echo -n "Linking $currentPath "
+        for f in $currentPath/bin/*; do
+          ln -s $f $out/bin
+          echo -n .
+        done
+        for f in $currentPkgDir/*.conf; do
+          ln -s $f $linkedPkgDir
+          echo -n .
+        done
+        echo
+      fi
+    done
+
+    echo -n "Generating package cache "
+    ${ghc}/bin/ghc-pkg --global-conf $linkedPkgDir recache
+    echo .
+
+    echo -n "Generating wrappers "
+
+    for prg in ghc ghci ghc-${ghc.version} ghci-${ghc.version}; do
+      makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "-B$linkedTopDir"
+      echo -n .
+    done
+
+    for prg in runghc runhaskell; do
+      makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "-f $out/bin/ghc"
+      echo -n .
+    done
+
+    for prg in ghc-pkg ghc-pkg-${ghc.version}; do
+      makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "--global-conf $linkedPkgDir"
+      echo -n .
+    done
+
+    for prg in hp2ps hpc hasktags hsc2hs haddock haddock-${ghc.version}; do
+      if test -x ${ghc}/bin/$prg -a ! -x $out/bin/$prg; then
+        ln -s ${ghc}/bin/$prg $out/bin/$prg && echo -n .
+      fi
+    done
+    echo
+  '';
+
+  meta = ghc.meta;
+}
diff --git a/pkgs/development/compilers/llvm/clang-include-paths-svn.patch b/pkgs/development/compilers/llvm/clang-include-paths-svn.patch
deleted file mode 100644
index 85c7a12d09be..000000000000
--- a/pkgs/development/compilers/llvm/clang-include-paths-svn.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -ru -x '*~' a/tools/clang/lib/Frontend/InitHeaderSearch.cpp b/tools/clang/lib/Frontend/InitHeaderSearch.cpp
---- a/tools/clang/lib/Frontend/InitHeaderSearch.cpp	2010-09-03 18:45:53.000000000 +0200
-+++ b/tools/clang/lib/Frontend/InitHeaderSearch.cpp	2011-02-05 14:59:08.669573190 +0100
-@@ -480,6 +480,7 @@
-       AddPath(*i, System, false, false, false);
-     return;
-   }
- 
-+#if 0
-   switch (os) {
-   case llvm::Triple::Win32: {
-@@ -593,7 +593,9 @@
-   }
- 
-   if ( os != llvm::Triple::RTEMS )
-     AddPath("/usr/include", System, false, false, false);
-+#endif
-+  AddPath(C_INCLUDE_PATH, System, false, false, false);
- }
- 
- void InitHeaderSearch::
-@@ -550,6 +553,7 @@
-                                   triple);
-     return;
-   }
-+#if 0  
-   // FIXME: temporary hack: hard-coded paths.
- 
-   if (triple.isOSDarwin()) {
-@@ -769,6 +773,10 @@
-   default:
-     break;
-   }
-+#endif
-+  AddGnuCPlusPlusIncludePaths(
-+      CPP_INCLUDE_PATH,
-+      CPP_HOST, "", "", triple);
- }
- 
- void InitHeaderSearch::AddDefaultSystemIncludePaths(const LangOptions &Lang,
diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix
index c8f05bb1fd7f..afc1a55b0934 100644
--- a/pkgs/development/compilers/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, perl, groff, darwinSwVersUtility }:
 
-let version = "2.9"; in
+let version = "3.0"; in
 
 stdenv.mkDerivation {
   name = "llvm-${version}";
 
   src = fetchurl {
-    url    = "http://llvm.org/releases/${version}/llvm-${version}.tgz";
-    sha256 = "0y9pgdakn3n0vf8zs6fjxjw6972nyw4rkfwwza6b8a3ll77kc4k6";
+    url    = "http://llvm.org/releases/${version}/llvm-${version}.tar.gz";
+    sha256 = "0xq4gi7lflv8ilfckslhfvnja5693xjii1yvzz39kklr6hfv37ji";
   };
 
   buildInputs = [ perl groff ] ++
@@ -19,6 +19,8 @@ stdenv.mkDerivation {
       "CXX=clang++"
     ];
 
+  enableParallelBuilding = true;
+
   meta = {
     homepage = http://llvm.org/;
     description = "Collection of modular and reusable compiler and toolchain technologies";
diff --git a/pkgs/development/compilers/llvm/svn-head.nix b/pkgs/development/compilers/llvm/svn-head.nix
deleted file mode 100644
index f929815f8a21..000000000000
--- a/pkgs/development/compilers/llvm/svn-head.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ stdenv, fetchurl, gcc, flex, perl, libtool, groff, fetchsvn
-, buildClang ? false }:
-
-let rev =  "134309"; in
-stdenv.mkDerivation ({
-  name = "llvm-r${rev}";
-  
-  src = fetchsvn {
-    url    = "http://llvm.org/svn/llvm-project/llvm/trunk";
-    inherit rev;
-    sha256 = "136qwpcl22r5bl9y4kk94vgbha1m58xrggy7qw19lg7jkgxxj8s6";
-  };
-
-  buildInputs = [ gcc flex perl groff ];
-
-  configureFlags = [ "--enable-optimized" "--enable-shared" "--disable-static" ];
-
-  meta = {
-    homepage = http://llvm.org/;
-    description = "Collection of modular and reusable compiler and toolchain technologies";
-    license = "BSD";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; all;
-  };
-}
-// stdenv.lib.optionalAttrs buildClang (
-  # I write the assert because 'gcc.libc' will be evaluated although 'triplet' would not
-  # evaluate properly (in the preConfigure below)
-  assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
-  let
-    triplet = if (stdenv.system == "i686-linux") then "i686-unknown-linux-gnu"
-              else if (stdenv.system == "x86_64-linux") then "x86_64-unknown-linux-gnu"
-              else throw "System not supported";
-  in rec {
-    name = "clang-r${rev}";
-
-    srcClang = fetchsvn {
-      url = http://llvm.org/svn/llvm-project/cfe/trunk;
-      inherit rev;
-      sha256 = "0afbrjakfw6zgsplxblgzr2kwjndlnr2lnqjnbj16ggam5fcnhlr";
-    };
-
-    prePatch = ''
-      cp -r ${srcClang} tools/clang
-      chmod u+rwX -R tools/clang
-    '';
-
-    patches = [ ./clang-include-paths-svn.patch ];
-
-    # Set up the header file paths
-    preConfigure = ''
-      sed -i -e 's,C_INCLUDE_PATH,"${gcc.libc}/include/",' \
-        -e 's,CPP_HOST,"${triplet}",' \
-        -e 's,CPP_INCLUDE_PATH,"${gcc.gcc}/include/c++/${gcc.gcc.version}",' \
-        tools/clang/lib/Frontend/InitHeaderSearch.cpp
-    '';
-
-    meta = {
-      homepage = http://clang.llvm.org/;
-      description = "A C language family frontend for LLVM";
-      license = "BSD";
-      maintainers = with stdenv.lib.maintainers; [viric];
-      platforms = with stdenv.lib.platforms; linux;
-    };
-  }
-))
diff --git a/pkgs/development/compilers/mit-scheme/default.nix b/pkgs/development/compilers/mit-scheme/default.nix
index dcbdb6518d35..ef11c5b3baf2 100644
--- a/pkgs/development/compilers/mit-scheme/default.nix
+++ b/pkgs/development/compilers/mit-scheme/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, stdenv, gnum4, texinfo, texLive, automake }:
 
 let
-  version = "9.1";
+  version = "9.1.1";
   bootstrapFromC = ! (stdenv.isi686 || stdenv.isx86_64);
 in
 stdenv.mkDerivation {
@@ -15,25 +15,16 @@ stdenv.mkDerivation {
     if stdenv.isi686
     then fetchurl {
       url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-${version}-i386.tar.gz";
-      sha256 = "1vqdy9f1lbzflr9bw0gjn4g4w3hdpnjrkiwj5aaah70flif5ndns";
+      sha256 = "0vi760fy550d9db538m0vzbq1mpdncvw9g8bk4lswk0kcdira55z";
     } else if stdenv.isx86_64
     then fetchurl {
       url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-${version}-x86-64.tar.gz";
-      sha256 = "1l4zxqm5r1alc6y1cky62rn8h6i40qyiba081n6phwypwxr5sd0g";
+      sha256 = "1wcxm9hyfc53myvlcn93fyqrnnn4scwkknl9hkbp1cphc6mp291x";
     } else fetchurl {
       url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-c-${version}.tar.gz";
-      sha256 = "1661cybycfvjjyq92gb3n1cygxfmfjdhnh3d2ha3vy6xxk9d7za9";
+      sha256 = "0pclakzwxbqgy6wqwvs6ml62wgby8ba8xzmwzdwhx1v8wv05yw1j";
     };
 
-  configurePhase =
-    '' cd src
-       ./configure --prefix="$out"
-
-       cd ../doc
-       ./configure --prefix="$out"
-       cd ..
-     '';
-
   buildPhase =
     '' cd src
        ${if bootstrapFromC
diff --git a/pkgs/development/compilers/nvidia-cg-toolkit/default.nix b/pkgs/development/compilers/nvidia-cg-toolkit/default.nix
new file mode 100644
index 000000000000..8bb201f975e7
--- /dev/null
+++ b/pkgs/development/compilers/nvidia-cg-toolkit/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, patchelf }:
+
+assert stdenv ? glibc;
+
+stdenv.mkDerivation rec {
+  version = "3.0";
+  
+  date = "February2011";
+  
+  name = "nvidia-cg-toolkit-${version}";
+  
+  src =
+    if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url = "http://developer.download.nvidia.com/cg/Cg_${version}/Cg-${version}_${date}_x86_64.tgz";
+        sha256 = "07gmnzfsla3vf1kf00cj86p87h6wrdbp6ri4ycslc5kmfxsq7ypq";
+      }
+    else if stdenv.system == "i686-linux" then
+      fetchurl {
+        url = "http://developer.download.nvidia.com/cg/Cg_${version}/Cg-${version}_${date}_x86.tgz";
+        sha256 = "0hr8l0r20akbfm5j0vqv4ghl0acwjf5996pxnfxlajacl9w58nam";
+      }
+    else throw "nvidia-cg-toolkit does not support platform ${stdenv.system}";
+    
+  installPhase = ''
+    for b in cgc cgfxcat cginfo
+    do
+        patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-*.so.? "bin/$b"
+    done
+    # FIXME: cgfxcat and cginfo need more patchelf
+    ensureDir "$out/bin/"
+    cp -v bin/* "$out/bin/"
+    ensureDir "$out/include/"
+    cp -v -r include/Cg/ "$out/include/"
+    ensureDir "$out/lib/"
+    [ "$system" = "x86_64-linux" ] && cp -v lib64/* "$out/lib/"
+    [ "$system" = "i686-linux" ] && cp -v lib/* "$out/lib/"
+    for mandir in man1 man3 manCg manCgFX
+    do
+        ensureDir "$out/share/man/$mandir/"
+        cp -v share/man/$mandir/* "$out/share/man/$mandir/"
+    done
+    ensureDir "$out/share/doc/$name/"
+    cp -v -r local/Cg/* "$out/share/doc/$name/"
+  '';
+  
+  meta = {
+    homepage = http://developer.nvidia.com/cg-toolkit;
+    license = [ "nonfree-redistributable" ];
+  };
+}
diff --git a/pkgs/development/compilers/opa/default.nix b/pkgs/development/compilers/opa/default.nix
new file mode 100644
index 000000000000..6df16e44c3d4
--- /dev/null
+++ b/pkgs/development/compilers/opa/default.nix
@@ -0,0 +1,63 @@
+{ stdenv, fetchurl, which, ocaml, perl, jdk
+, findlib, ocaml_ssl, openssl, cryptokit, camlzip, ulex
+, ocamlgraph, coreutils, zlib, ncurses, makeWrapper
+, gcc, binutils, gnumake } :
+
+stdenv.mkDerivation rec {
+  pname = "opa";
+  version = "962";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/MLstate/opalang/tarball/v${version}";
+    name = "opa-${version}.tar.gz";
+    sha256 = "0g4kq2kxbld0iqlzb076b7g43d8fh4sfxam615z15mbk1jcvpf9l";
+  };
+
+  # Paths so the opa compiler code generation will use the same programs as were
+  # used to build opa.
+  codeGeneratorPaths = "${ocaml}/bin:${gcc}/bin:${binutils}/bin:${gnumake}/bin";
+
+  prePatch = ''
+    find . -type f -exec sed -i 's@/usr/bin/env@${coreutils}/bin/env@' {} \;
+    find . -type f -exec sed -i 's@/usr/bin/perl@${perl}/bin/perl@' {} \;
+  '';
+
+  patches = [ ./locate.patch ./libdir.patch ];
+
+  preConfigure = ''
+    configureFlags="$configureFlags -prefix $out"
+  '';
+
+  dontAddPrefix = true;
+
+  configureFlags = "-ocamlfind ${findlib}/bin/ocamlfind -openssl ${openssl}/lib";
+
+  buildInputs = [ which ocaml perl jdk findlib ocaml_ssl openssl cryptokit camlzip ulex
+                  ocamlgraph coreutils zlib ncurses makeWrapper gcc binutils gnumake ];
+
+  postInstall = ''
+    # Have compiler use same tools for code generation as used to build it.
+    for p in $out/bin/opa ; do
+      wrapProgram $p --prefix PATH ":" "${codeGeneratorPaths}" ;
+    done
+
+    # Install emacs mode.
+    ensureDir $out/share/emacs/site-lisp/opa
+    install -m 0644 -v ./utils/emacs/{opa-mode.el,site-start.el} $out/share/emacs/site-lisp/opa
+  '';
+
+  meta = {
+    description = "Opa is a concise and elegant language for writing distributed web applications. Both client and server sides.";
+    longDescription = ''
+    Opa is a new generation of web development platform that lets you write distributed
+    web applications using a single technology. Among the the many features of Opa are these:
+    Opa is concise, simple, concurrent, dynamically distributed, and secure.
+    '';
+
+    homepage = http://opalang.org/;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.kkallio ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/compilers/opa/libdir.patch b/pkgs/development/compilers/opa/libdir.patch
new file mode 100644
index 000000000000..05c8a89afa87
--- /dev/null
+++ b/pkgs/development/compilers/opa/libdir.patch
@@ -0,0 +1,93 @@
+These patches have the compiler place path flags in various places so that
+ocaml and c libraries are found in their Nixpkgs locations.
+
+diff -x '*~' -Naur MLstate-opalang-6b295a9//build_rules.ml MLstate-opalang-6b295a9-new//build_rules.ml
+--- MLstate-opalang-6b295a9//build_rules.ml	2011-11-21 08:07:04.000000000 -0430
++++ MLstate-opalang-6b295a9-new//build_rules.ml	2011-11-27 00:34:35.845277134 -0430
+@@ -373,7 +373,11 @@
+     | Some dep -> dep::list
+   ) (tags_of_pathname (env "%.opa_plugin")) []
+   in
+-  let lib_dir s = [A"--ml";A"-I";A"--ml";P (if Pathname.exists s then ".." / s else ("+"^s))] in
++  let cryptokitdir_opt = function
++    | Some path -> path
++    | None -> ""
++  in
++  let lib_dir s = [A"--ml";A"-I";A"--ml";P (if Pathname.exists s then ".." / s else (if s = "cryptokit" then (cryptokitdir_opt Config.Libdir.cryptokit) else ("+"^s)))] in
+   let include_dirs = List.flatten (List.map lib_dir caml_use_lib) in
+   let files = List.map ((^) path) files in
+   build_list build files;
+diff -x '*~' -Naur MLstate-opalang-6b295a9//config.mli MLstate-opalang-6b295a9-new//config.mli
+--- MLstate-opalang-6b295a9//config.mli	2011-11-21 08:07:04.000000000 -0430
++++ MLstate-opalang-6b295a9-new//config.mli	2011-11-27 00:30:39.312443906 -0430
+@@ -43,6 +43,9 @@
+ (** Flag for Dbm present *)
+ val has_dbm : bool
+ 
++(** openssh link directory *)
++val openssl : string option
++
+ (** library directories, if the libs are enabled *)
+ val libnatpmp : (string*string*string) option (** name of the lib, lib dir, include dir *)
+ 
+diff -x '*~' -Naur MLstate-opalang-6b295a9//configure MLstate-opalang-6b295a9-new//configure
+--- MLstate-opalang-6b295a9//configure	2011-11-21 08:07:04.000000000 -0430
++++ MLstate-opalang-6b295a9-new//configure	2011-11-27 00:40:52.496151405 -0430
+@@ -27,6 +27,7 @@
+ 
+ NO_CAMLIDL=1
+ NO_DBM=1
++CONFIG_LIB_OPENSSL=""
+ 
+ while [ $# -gt 0 ]; do
+     case "$1" in
+@@ -51,6 +52,11 @@
+             shift
+             OCAMLOPT=$1
+             ;;
++        -openssl)
++            if [ $# -lt 2 ]; then echo "Error: option $1 requires an argument" >&2; exit 1; fi
++            shift
++            CONFIG_LIB_OPENSSL=$1
++            ;;
+         -ocamlfind)
+             if [ $# -lt 2 ]; then echo "Error: option $1 requires an argument" >&2; exit 1; fi
+             shift
+@@ -647,6 +653,8 @@
+ let miniupnpc = $(camlopt "$HAS_MINIUPNPC" "$(camlstrtuple "${MINIUPNPC[@]}")")
+ let has_dbm = $(camlbool "$HAS_DBM")
+ 
++let openssl = $(camlopt "$CONFIG_LIB_OPENSSL" '"'"$CONFIG_LIB_OPENSSL"'"')
++
+ let available = [ $TAGS_LIST]
+ let all_tags = [ $(for t in $ALL_TAGS_LIST; do echo -n "\"$t\"; "; done)]
+ 
+diff -x '*~' -Naur MLstate-opalang-6b295a9//qml2ocaml/qml2ocamlOptions.ml MLstate-opalang-6b295a9-new//qml2ocaml/qml2ocamlOptions.ml
+--- MLstate-opalang-6b295a9//qml2ocaml/qml2ocamlOptions.ml	2011-11-21 08:07:04.000000000 -0430
++++ MLstate-opalang-6b295a9-new//qml2ocaml/qml2ocamlOptions.ml	2011-11-27 00:32:57.721442828 -0430
+@@ -44,6 +44,7 @@
+ 
+   let options_linker =
+     ["-w a"]
++    @ (match Config.openssl with | Some dir -> ["-ccopt"; "-L"^dir] | None -> [])
+     @ (if Base.is_windows then
+          ["-cclib"; "Dnsapi.lib"; "-cclib"; "libeay32.lib"; "-cclib"; "ssleay32.lib" (*; "ssl_stubs.obj" *)]
+        else [])
+@@ -51,11 +52,13 @@
+   (**
+      Absolute path for include directory, will be passed with the option -I to the ocaml compiler.
+   *)
++  let uselibdirpath = fun po p -> match po with | Some path -> path | None -> p
++
+   let server_include_dir = [
+-    "+zip" ; "+site-lib/zip" ; "+site-lib/camlzip" ;
+-    "+ssl" ; "+site-lib/ssl" ;
+-    "+cryptokit"; "+site-lib/cryptokit" ;
+-    "+ulex" ; "+site-lib/ulex" ;
++    uselibdirpath Config.Libdir.camlzip "+zip" ; "+site-lib/zip" ; "+site-lib/camlzip" ;
++    uselibdirpath Config.Libdir.ssl "+ssl" ; "+site-lib/ssl" ;
++    uselibdirpath Config.Libdir.cryptokit "+cryptokit"; "+site-lib/cryptokit" ;
++    uselibdirpath Config.Libdir.ulex "+ulex" ; "+site-lib/ulex" ;
+   ] @ (
+     if Config.has_dbm then [
+       "+dbm" ; "+site-lib/dbm" ;
diff --git a/pkgs/development/compilers/opa/locate.patch b/pkgs/development/compilers/opa/locate.patch
new file mode 100644
index 000000000000..e67e6bab2603
--- /dev/null
+++ b/pkgs/development/compilers/opa/locate.patch
@@ -0,0 +1,14 @@
+Needed to have ocamlfind discover ocamlgraph with Nixpkgs.
+
+diff -x '*~' -Naur MLstate-opalang-ee92891/configure MLstate-opalang-ee92891-new//configure
+--- MLstate-opalang-ee92891/configure	2011-09-30 05:41:18.000000000 -0430
++++ MLstate-opalang-ee92891-new//configure	2011-11-24 13:47:01.332558705 -0430
+@@ -567,7 +567,7 @@
+ fi
+ 
+ # - checking ocamlgraph
+-if ! CONFIG_LIB_OCAMLGRAPH=$(locate-ocaml-lib "Graph" "ocamlgraph/graph")
++if ! CONFIG_LIB_OCAMLGRAPH=$(locate-ocaml-lib "Graph" "ocamlgraph" "graph")
+ then lib-not-found "ocamlgraph" "libocamlgraph-ocaml-dev"
+ fi
+ 
diff --git a/pkgs/development/compilers/sbcl/src-for-default.nix b/pkgs/development/compilers/sbcl/src-for-default.nix
index 364fbd621d70..bcdd3002fd63 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.51";
-   name="sbcl-1.0.51";
-   hash="0kh7c7pgiv0k0rsm1iysbcp0hf2148fhpixi4d8kclryzqpzl9yj";
-   url="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.51/sbcl-1.0.51-source.tar.bz2";
-   advertisedUrl="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.51/sbcl-1.0.51-source.tar.bz2";
+   version="1.0.54";
+   name="sbcl-1.0.54";
+   hash="1ip13hz5zsys3vy68y3x0fapxs87xk0gqi6bdp68vyznz2a0v1cd";
+   url="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.54/sbcl-1.0.54-source.tar.bz2";
+   advertisedUrl="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.54/sbcl-1.0.54-source.tar.bz2";
   
   
 }
diff --git a/pkgs/development/compilers/sbcl/src-info-for-default.nix b/pkgs/development/compilers/sbcl/src-info-for-default.nix
index 4bc8516d4b96..597aded17921 100644
--- a/pkgs/development/compilers/sbcl/src-info-for-default.nix
+++ b/pkgs/development/compilers/sbcl/src-info-for-default.nix
@@ -1,8 +1,7 @@
 {
   baseName = "sbcl";
-  downloadPage = "http://sourceforge.net/projects/sbcl/files/";
-  choiceCommand = "head -n 2| tail -n 1 | sed -e 's@/download@@;'\"$skipRedirectSF\"";
-  sourceRegexp = "source[.-].*tar";
+  downloadPage = "http://sourceforge.net/projects/sbcl/files/sbcl/";
+  choiceCommand = "head -n 1 | sed -re 's%.*/([0-9.]+)/%http://downloads.sourceforge.net/project/sbcl/sbcl/\\1/sbcl-\\1-source.tar.bz2%'";
+  sourceRegexp = "[/][0-9.]+/\$";
   versionExtractorSedScript = "s/.*-([0-9.rc]+)-.*/\\1/";
-  blacklistRegexp = "1[.]0[.]3[012]|1[.]0[.]29[.]54[.]rc1";
 }
diff --git a/pkgs/development/compilers/strategoxt/0.18.nix b/pkgs/development/compilers/strategoxt/0.18.nix
index 898923b48ac4..edb3c2691c6f 100644
--- a/pkgs/development/compilers/strategoxt/0.18.nix
+++ b/pkgs/development/compilers/strategoxt/0.18.nix
@@ -41,11 +41,11 @@ rec {
 
   
   strategoxt = stdenv.mkDerivation rec {
-    name = "strategoxt-1.8pre21839";
+    name = "strategoxt-1.8pre23644";
 
     src = fetchurl {
-      url = http://hydra.nixos.org/build/1030762/download/1/strategoxt-1.8pre21839.tar.gz;
-      sha256 = "b84012ac75dfd031e5356f07ea9202b9e660de48e07de0b8e1c93ac39c073b24";
+      url = http://hydra.nixos.org/build/1569309/download/1/strategoxt-1.8pre23644.tar.gz;
+      sha256 = "9c900d132e7a8790e914aa78598c376f8ed05947c62b9d05df617ba2eae29381";
     };
 
     buildInputs = [pkgconfig aterm sdf getopt];
diff --git a/pkgs/development/compilers/ehc/default.nix b/pkgs/development/compilers/uhc/default.nix
index 27a0c431f670..0baba9c603ed 100644
--- a/pkgs/development/compilers/ehc/default.nix
+++ b/pkgs/development/compilers/uhc/default.nix
@@ -3,28 +3,29 @@
 }:
 
 let
-  revision = "2293";
+  revision = "2375";
 in
 stdenv.mkDerivation {
-  name = "ehc-svn-${revision}";
+  name = "uhc-svn-${revision}";
 
   src = fetchsvn {
-     url = https://subversion.cs.uu.nl/repos/project.UHC.pub/trunk/EHC;
+     url = "https://subversion.cs.uu.nl/repos/project.UHC.pub/trunk/EHC";
      rev = revision;
-     sha256 = "f4c3d83734cffd64b11e31637598330271a2bb8d2573235d063b27b2ef5f76b6";
+     sha256 = "bde79664b7d04337ce668eab63291702687e6d572a302111425e5ff870c57619";
   };
 
   propagatedBuildInputs = [mtl network binary fgl syb];
   buildInputs = [coreutils m4 ghc libtool uulib uuagc];
 
+  # Can we rename this flag to "--with-cpp-uhc-options"?
   configureFlags = "--with-cpp-ehc-options=-I${glibc}/include";
 
-  # EHC builds packages during compilation; these are by default
+  # UHC builds packages during compilation; these are by default
   # installed in the user-specific package config file. We do not
   # want that, and hack the build process to use a temporary package
   # configuration file instead.
   preConfigure = ''
-    p=`pwd`/ehc-local-packages
+    p=`pwd`/uhc-local-packages
     echo '[]' > $p
     sed -i "s|--user|--package-db=$p|g" mk/shared.mk.in
     sed -i "s|-fglasgow-exts|-fglasgow-exts -package-conf=$p|g" mk/shared.mk.in
@@ -32,8 +33,8 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = "http://www.cs.uu.nl/wiki/Ehc/WebHome";
-    description = "Essential Haskell Compiler";
+    homepage = "http://www.cs.uu.nl/wiki/UHC";
+    description = "Utrecht Haskell Compiler";
     platforms = stdenv.lib.platforms.linux;
     maintainers = [
       stdenv.lib.maintainers.andres
diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix
index 44067e4207d2..2c197a1be573 100644
--- a/pkgs/development/compilers/urweb/default.nix
+++ b/pkgs/development/compilers/urweb/default.nix
@@ -2,23 +2,23 @@
 
 stdenv.mkDerivation rec {
   pname = "urweb";
-  version = "20110917";
+  version = "20111127";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.impredicative.com/ur/${name}.tgz";
-    sha256 = "1qgb25bwpdcs303q7yz1dm577xyy5pzzyvaqabhkvhbgxmlcpl73";
+    sha256 = "1mhicigbi434fdr4gim4dswnmff9dldszh93g2w2542nlxvn9lbj";
   };
 
   buildInputs = [ stdenv.gcc file openssl mlton mysql postgresql sqlite ];
 
   prePatch = ''
     sed -e 's@/usr/bin/file@${file}/bin/file@g' -i configure
-    sed -e 's@gcc @${stdenv.gcc}/bin/gcc @g' -i src/compiler.sml
     '';
 
   preConfigure =
     ''
+      export CC="${stdenv.gcc}/bin/gcc";
       export CCARGS="-I$out/include \
                       -L${mysql}/lib/mysql -L${postgresql}/lib -L${sqlite}/lib";
 
diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix
index 333496057368..bb64d35f8a47 100644
--- a/pkgs/development/interpreters/guile/default.nix
+++ b/pkgs/development/interpreters/guile/default.nix
@@ -14,11 +14,8 @@ rec {
     sha256 = "14rhlpxxa4v5y3gl992l7lnd5qnqawx0a84idnwq0w2qviwcvsyj";
   };
 
-  buildNativeInputs = [ xz ];
-  buildInputs =
-    [ makeWrapper gawk readline libtool libunistring
-      libffi pkgconfig
-    ];
+  buildNativeInputs = [ xz makeWrapper gawk pkgconfig ];
+  buildInputs = [ readline libtool libunistring libffi ];
   propagatedBuildInputs = [ gmp boehmgc ]
 
     # XXX: These ones aren't normally needed here, but since
@@ -27,9 +24,13 @@ rec {
     # see below.
     ++ [ libtool libunistring ];
 
-  patches =
-    stdenv.lib.optionals (coverageAnalysis != null)
-      [ ./gcov-file-name.patch ./disable-gc-sensitive-tests.patch ];
+  # A native Guile 2.0 is needed to cross-build Guile.
+  selfBuildNativeInput = true;
+
+  enableParallelBuilding = true;
+
+  patches = [ ./disable-gc-sensitive-tests.patch ] ++
+    (stdenv.lib.optional (coverageAnalysis != null) ./gcov-file-name.patch);
 
   postInstall = ''
     wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin"
diff --git a/pkgs/development/interpreters/pure/default.nix b/pkgs/development/interpreters/pure/default.nix
index 69cb686bec27..dd1982e836db 100644
--- a/pkgs/development/interpreters/pure/default.nix
+++ b/pkgs/development/interpreters/pure/default.nix
@@ -12,11 +12,11 @@ let
   sourceInfo = rec {
     baseName="pure";
     project="pure-lang";
-    version="0.47";
+    version="0.49";
     name="${baseName}-${version}";
     extension="tar.gz";
     url="http://${project}.googlecode.com/files/${name}.${extension}";
-    hash="16j0k639kw2am4fc2h7q5sk7kx5z7nca896dakhphlb9zn9h0gbv";
+    hash="0kkrcmmqks82g3qlkvs3cd23v6b5948rw3xsdadd1jidh74jg33x";
   };
 in
 rec {
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 0b2eac45e3f7..81a8c8ec696f 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   pname = "racket";
-  version = "5.1.3";
+  version = "5.2";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://download.racket-lang.org/installers/${version}/${pname}/${name}-src-unix.tgz";
-    sha256 = "0dhcx6fzjc2cnhfr0j3pbq8lgxfgmhssidi62q0byiqpcm8wjd98";
+    sha256 = "1viz2hq1q1wyw9jmnssg5sbgglh05fwqkhyhfbak9lb6nfbhlg5w";
   };
 
   # Various racket executables do run-time searches for these.
diff --git a/pkgs/development/interpreters/ruby/generated.nix b/pkgs/development/interpreters/ruby/generated.nix
index 9615c30ff650..1c286aa2ce4f 100644
--- a/pkgs/development/interpreters/ruby/generated.nix
+++ b/pkgs/development/interpreters/ruby/generated.nix
@@ -3,106 +3,108 @@
 g: # Get dependencies from patched gems
 {
   aliases = {
-    actionmailer = g.actionmailer_3_1_1;
-    actionpack = g.actionpack_3_1_1;
-    activemodel = g.activemodel_3_1_1;
-    activerecord = g.activerecord_3_1_1;
-    activeresource = g.activeresource_3_1_1;
-    activesupport = g.activesupport_3_1_1;
+    actionmailer = g.actionmailer_3_1_3;
+    actionpack = g.actionpack_3_1_3;
+    activemodel = g.activemodel_3_1_3;
+    activerecord = g.activerecord_3_1_3;
+    activeresource = g.activeresource_3_1_3;
+    activesupport = g.activesupport_3_1_3;
     arel = g.arel_2_2_1;
     builder = g.builder_3_0_0;
     bundler = g.bundler_1_0_21;
     erubis = g.erubis_2_7_0;
     hike = g.hike_1_2_1;
     i18n = g.i18n_0_6_0;
-    json = g.json_1_6_1;
+    json = g.json_1_6_3;
     mail = g.mail_2_3_0;
-    mime_types = g.mime_types_1_16;
-    multi_json = g.multi_json_1_0_3;
+    mime_types = g.mime_types_1_17_2;
+    multi_json = g.multi_json_1_0_4;
     nix = g.nix_0_1_1;
-    polyglot = g.polyglot_0_3_2;
-    rack = g.rack_1_3_4;
+    polyglot = g.polyglot_0_3_3;
+    rack = g.rack_1_3_5;
     rack_cache = g.rack_cache_1_1;
     rack_mount = g.rack_mount_0_8_3;
     rack_ssl = g.rack_ssl_1_3_2;
     rack_test = g.rack_test_0_6_1;
-    rails = g.rails_3_1_1;
-    railties = g.railties_3_1_1;
-    rake = g.rake_0_9_2;
-    rdoc = g.rdoc_3_10;
-    sprockets = g.sprockets_2_0_2;
+    rails = g.rails_3_1_3;
+    railties = g.railties_3_1_3;
+    rake = g.rake_0_9_2_2;
+    rb_fsevent = g.rb_fsevent_0_4_3_1;
+    rdoc = g.rdoc_3_11;
+    sass = g.sass_3_1_11;
+    sprockets = g.sprockets_2_0_3;
     thor = g.thor_0_14_6;
     tilt = g.tilt_1_3_3;
     treetop = g.treetop_1_4_10;
-    tzinfo = g.tzinfo_0_3_30;
+    tzinfo = g.tzinfo_0_3_31;
   };
-  gem_nix_args = [ ''nix'' ''rails'' ''rake'' ];
+  gem_nix_args = [ ''nix'' ''rails'' ''rake'' ''rb-fsevent'' ''sass'' ];
   gems = {
-    actionmailer_3_1_1 = {
+    actionmailer_3_1_3 = {
       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.1.1'';
+      name = ''actionmailer-3.1.3'';
       requiredGems = [ g.mail_2_3_0 ];
-      sha256 = ''0aa5vpaw8kr7id21wgslxjyxy9bygl5mjkjyn9mqg8qg7182dp0d'';
+      sha256 = ''04qjgf8irg2srqa9j0ahxpydx42h9dymiabfiyzwy0h3wayg2qyj'';
     };
-    actionpack_3_1_1 = {
+    actionpack_3_1_3 = {
       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.1.1'';
-      requiredGems = [ g.activemodel_3_1_1 g.rack_cache_1_1 g.rack_test_0_6_1 g.rack_mount_0_8_3 g.sprockets_2_0_2 g.erubis_2_7_0 ];
-      sha256 = ''0hh4ndbi9kvkp1srad324vd9i7nhi8vqc0vhfh044jzwq1dvbqc6'';
+      name = ''actionpack-3.1.3'';
+      requiredGems = [ g.activemodel_3_1_3 g.rack_cache_1_1 g.rack_test_0_6_1 g.rack_mount_0_8_3 g.sprockets_2_0_3 g.erubis_2_7_0 ];
+      sha256 = ''1awhqxdfg2zcb0b34jwq3sm2favay94n4glqywqzrn85wkf47a2q'';
     };
-    activemodel_3_1_1 = {
+    activemodel_3_1_3 = {
       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.1.1'';
+      name = ''activemodel-3.1.3'';
       requiredGems = [ g.builder_3_0_0 g.i18n_0_6_0 ];
-      sha256 = ''0r7zlzswf1vdhk97lll6kv64l0nya2li9gai19vd4qclh4m2n9n1'';
+      sha256 = ''1kpkr1gwvjbxc8q3n1ps1j8zf7m1258swb9n5zm5igr6j0d803a3'';
     };
-    activerecord_3_1_1 = {
+    activerecord_3_1_3 = {
       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.1.1'';
-      requiredGems = [ g.arel_2_2_1 g.tzinfo_0_3_30 ];
-      sha256 = ''1zab48wj04nyl01kkmmj23l5lwjid5mkhd92hpr3qf1r82zcj983'';
+      name = ''activerecord-3.1.3'';
+      requiredGems = [ g.arel_2_2_1 g.tzinfo_0_3_31 ];
+      sha256 = ''0z2p51hm12alg6axih2mhxjsj8vmnvdqp3wwzcg9bbkp3fc368w0'';
     };
-    activeresource_3_1_1 = {
+    activeresource_3_1_3 = {
       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.1.1'';
+      name = ''activeresource-3.1.3'';
       requiredGems = [  ];
-      sha256 = ''04wk4s5a5iiyhd90m6bfs0vl92h3yf85vypfp79y3n0ybq7hd27w'';
+      sha256 = ''0hf3fi6zwk9zqzgk4rr95ax9mfzfkzpq28qw7fm2av6841wl54fg'';
     };
-    activesupport_3_1_1 = {
+    activesupport_3_1_3 = {
       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.1.1'';
-      requiredGems = [ g.multi_json_1_0_3 ];
-      sha256 = ''1d9c0iqsngp7sib5jjvs2zlq8xwzi2yfc0kp6s9a7y6rm9k5f9f2'';
+      name = ''activesupport-3.1.3'';
+      requiredGems = [ g.multi_json_1_0_4 ];
+      sha256 = ''19na7857adshdsswsgygky30r985ng100z3n78scd65481zcgb9z'';
     };
     arel_2_2_1 = {
       basename = ''arel'';
@@ -194,16 +196,16 @@ simple to do.  Currently the following builder objects are supported:
       requiredGems = [  ];
       sha256 = ''1pgmfhmh2wv409g7kla30mkp8jpslvp25vcmmim1figl87wpn3j0'';
     };
-    json_1_6_1 = {
+    json_1_6_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.6.1'';
+      name = ''json-1.6.3'';
       requiredGems = [  ];
-      sha256 = ''0xxqr491s2xrxy76551jby4fcwdqa222wwhfhxhgwj7prf35sqc4'';
+      sha256 = ''0bcl6r04b0r5c0n1y47c7d29r50rl2rzd2hsc23832kgfrc1488m'';
     };
     mail_2_3_0 = {
       basename = ''mail'';
@@ -213,30 +215,44 @@ simple to do.  Currently the following builder objects are supported:
         longDescription = ''A really Ruby Mail handler.'';
       };
       name = ''mail-2.3.0'';
-      requiredGems = [ g.mime_types_1_16 g.treetop_1_4_10 ];
+      requiredGems = [ g.mime_types_1_17_2 g.treetop_1_4_10 ];
       sha256 = ''1cnid9wn5wy0d2shx4ykvgd5jrvgq55yal8i51b47d4037n1yr53'';
     };
-    mime_types_1_16 = {
+    mime_types_1_17_2 = {
       basename = ''mime_types'';
       meta = {
-        description = ''Manages a MIME Content-Type database that will return the Content-Type for a given filename.'';
+        description = ''This library allows for the identification of a file's likely MIME content type'';
         homepage = ''http://mime-types.rubyforge.org/'';
-        longDescription = ''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 format for the MIME::Type list has changed and the synchronization will no longer happen.'';
+        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.
+
+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
+format for the MIME::Type list has changed and the synchronization will no
+longer happen.
+
+Homepage::  http://mime-types.rubyforge.org/
+GitHub::    http://github.com/halostatue/mime-types/
+Copyright:: 2002 - 2011, Austin Ziegler
+            Based in part on prior work copyright Mark Overmeer
+
+:include: License.rdoc'';
       };
-      name = ''mime-types-1.16'';
+      name = ''mime-types-1.17.2'';
       requiredGems = [  ];
-      sha256 = ''1slp7g2xv9ygcapqv13qgh3g6ipx5k5c3imb5sdyh0b9ip5s34y3'';
+      sha256 = ''0i4pmx86xbnlrhbbm9znnyfglmb21vwjvh262c6qw3m19w6ifs6p'';
     };
-    multi_json_1_0_3 = {
+    multi_json_1_0_4 = {
       basename = ''multi_json'';
       meta = {
         description = ''A gem to provide swappable JSON backends.'';
         homepage = ''http://github.com/intridea/multi_json'';
         longDescription = ''A gem to provide swappable JSON backends utilizing Yajl::Ruby, the JSON gem, JSON pure, or a vendored version of okjson.'';
       };
-      name = ''multi_json-1.0.3'';
+      name = ''multi_json-1.0.4'';
       requiredGems = [  ];
-      sha256 = ''12c7h38x1cmgl265n4397zx3ag8szkrq1q4lw7pp6fkqd532n9xb'';
+      sha256 = ''0f2yrlxcdhdskkm4q11p2didwl26wikxycysb7i49ndp94rklvcr'';
     };
     nix_0_1_1 = {
       basename = ''nix'';
@@ -249,7 +265,7 @@ simple to do.  Currently the following builder objects are supported:
       requiredGems = [  ];
       sha256 = ''0kwrbkkg0gxibhsz9dpd5zabcf2wqsicg28yiazyb3dc9dslk26k'';
     };
-    polyglot_0_3_2 = {
+    polyglot_0_3_3 = {
       basename = ''polyglot'';
       meta = {
         description = ''Augment 'require' to load non-Ruby file types'';
@@ -259,11 +275,11 @@ The Polyglot library allows a Ruby module to register a loader
 for the file type associated with a filename extension, and it
 augments 'require' to find and load matching files.'';
       };
-      name = ''polyglot-0.3.2'';
+      name = ''polyglot-0.3.3'';
       requiredGems = [  ];
-      sha256 = ''0m2ni5bcwfmhjwndhy115zgcvq0wdf3hk0hal1sfidfz9vbd0hyz'';
+      sha256 = ''082zmail2h3cxd9z1wnibhk6aj4sb1f3zzwra6kg9bp51kx2c00v'';
     };
-    rack_1_3_4 = {
+    rack_1_3_5 = {
       basename = ''rack'';
       meta = {
         description = ''a modular Ruby webserver interface'';
@@ -277,9 +293,9 @@ middleware) into a single method call.
 Also see http://rack.rubyforge.org.
 '';
       };
-      name = ''rack-1.3.4'';
+      name = ''rack-1.3.5'';
       requiredGems = [  ];
-      sha256 = ''17wil1sf8pinmbzlf05sfw48ry6x1hmgxq1im8fagjrf3p2rnzrl'';
+      sha256 = ''1qg5nqd3a8v52hfcr9885vyfc9sscykp72by1xb1c090l5pc68hp'';
     };
     rack_cache_1_1 = {
       basename = ''rack_cache'';
@@ -289,7 +305,7 @@ Also see http://rack.rubyforge.org.
         longDescription = ''HTTP Caching for Rack'';
       };
       name = ''rack-cache-1.1'';
-      requiredGems = [ g.rack_1_3_4 ];
+      requiredGems = [ g.rack_1_3_5 ];
       sha256 = ''08jlym48qwfj7wddv0vpjj3vlc03q8wvbya24zbrjj8grgfgrvrl'';
     };
     rack_mount_0_8_3 = {
@@ -330,42 +346,51 @@ request helpers feature.'';
       requiredGems = [  ];
       sha256 = ''0hq5q8fjhbb7szzrj7k0l21z025c4qsxqzd5qmgivikhymw10ws0'';
     };
-    rails_3_1_1 = {
+    rails_3_1_3 = {
       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.1.1'';
-      requiredGems = [ g.activesupport_3_1_1 g.actionpack_3_1_1 g.activerecord_3_1_1 g.activeresource_3_1_1 g.actionmailer_3_1_1 g.railties_3_1_1 g.bundler_1_0_21 ];
-      sha256 = ''0w8ab71f4b78mq8q7kbb5bfwsbzy4mnp82jckzwndkhxf9141js2'';
+      name = ''rails-3.1.3'';
+      requiredGems = [ g.activesupport_3_1_3 g.actionpack_3_1_3 g.activerecord_3_1_3 g.activeresource_3_1_3 g.actionmailer_3_1_3 g.railties_3_1_3 g.bundler_1_0_21 ];
+      sha256 = ''07p8agfarj5nz8v1nlg1rfqy1cnqxhpakxhadfhk4sqrzlp2a5z8'';
     };
-    railties_3_1_1 = {
+    railties_3_1_3 = {
       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.1.1'';
-      requiredGems = [ g.rake_0_9_2 g.thor_0_14_6 g.rack_ssl_1_3_2 g.rdoc_3_10 ];
-      sha256 = ''0xvspkv63xvm47daw13dn7p1nzhmlk0zmyw4mznazp44zvzkli63'';
+      name = ''railties-3.1.3'';
+      requiredGems = [ g.rake_0_9_2_2 g.thor_0_14_6 g.rack_ssl_1_3_2 g.rdoc_3_11 ];
+      sha256 = ''07kgr9nzvgwpjqwssiknlqds1a9mj74g1hqpwsj6720x4pk9r13h'';
     };
-    rake_0_9_2 = {
+    rake_0_9_2_2 = {
       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.
-'';
+        longDescription = ''Rake is a Make-like program implemented in Ruby. Tasks and dependencies arespecified in standard Ruby syntax.'';
       };
-      name = ''rake-0.9.2'';
+      name = ''rake-0.9.2.2'';
       requiredGems = [  ];
-      sha256 = ''1348lm18j0rki4zjgb4rgplai32j0izkvbbi66lk7n0z89dm4ny5'';
+      sha256 = ''19n4qp5gzbcqy9ajh56kgwqv9p9w2hnczhyvaqz0nlvk9diyng6q'';
     };
-    rdoc_3_10 = {
+    rb_fsevent_0_4_3_1 = {
+      basename = ''rb_fsevent'';
+      meta = {
+        description = ''Very simple &amp; usable FSEvents API'';
+        homepage = ''http://rubygems.org/gems/rb-fsevent'';
+        longDescription = ''FSEvents API with Signals catching (without RubyCocoa)'';
+      };
+      name = ''rb-fsevent-0.4.3.1'';
+      requiredGems = [  ];
+      sha256 = ''043w4695j7f9n0hawy9y0yci36linivsbp23v52v2qg64ji7hsiw'';
+    };
+    rdoc_3_11 = {
       basename = ''rdoc'';
       meta = {
         description = ''RDoc produces HTML and command-line documentation for Ruby projects'';
@@ -376,20 +401,35 @@ documentation.
 
 See RDoc for a description of RDoc's markup and basic use.'';
       };
-      name = ''rdoc-3.10'';
-      requiredGems = [ g.json_1_6_1 ];
-      sha256 = ''16cx357w9s9ijyl8pzd947dr6n7wnmm6cd0yxm4cy0hbjqafpn1k'';
+      name = ''rdoc-3.11'';
+      requiredGems = [ g.json_1_6_3 ];
+      sha256 = ''0wq8525v21pxcnwgn5ypblcsb0xasnicjnqqd7mrrfqm2g3k2frm'';
+    };
+    sass_3_1_11 = {
+      basename = ''sass'';
+      meta = {
+        description = ''A powerful but elegant CSS compiler that makes CSS fun again.'';
+        homepage = ''http://sass-lang.com/'';
+        longDescription = ''      Sass makes CSS fun again. Sass is an extension of CSS3, adding
+      nested rules, variables, mixins, selector inheritance, and more.
+      It's translated to well-formatted, standard CSS using the
+      command line tool or a web-framework plugin.
+'';
+      };
+      name = ''sass-3.1.11'';
+      requiredGems = [  ];
+      sha256 = ''0ksbvvc210yd3fjk7gzsj25qzcd5ahw5rsh3bx94w53ylq60af2g'';
     };
-    sprockets_2_0_2 = {
+    sprockets_2_0_3 = {
       basename = ''sprockets'';
       meta = {
         description = ''Rack-based asset packaging system'';
         homepage = ''http://getsprockets.org/'';
         longDescription = ''Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.'';
       };
-      name = ''sprockets-2.0.2'';
+      name = ''sprockets-2.0.3'';
       requiredGems = [ g.hike_1_2_1 g.tilt_1_3_3 ];
-      sha256 = ''1wwpixlql2p9jq497g97iv0iw2fni7sldcxvfzz65df07pi54624'';
+      sha256 = ''1az22a7vjfhfglbn02np8lci6ww1lzgzs0i9qlfwx87ybp2227bi'';
     };
     thor_0_14_6 = {
       basename = ''thor'';
@@ -420,19 +460,19 @@ See RDoc for a description of RDoc's markup and basic use.'';
         homepage = ''http://functionalform.blogspot.com'';
       };
       name = ''treetop-1.4.10'';
-      requiredGems = [ g.polyglot_0_3_2 ];
+      requiredGems = [ g.polyglot_0_3_3 ];
       sha256 = ''01f4w7fm6phhdbkx7bp0b58hrk3x4b0a63p2vvjbxm5gi2gv9ap2'';
     };
-    tzinfo_0_3_30 = {
+    tzinfo_0_3_31 = {
       basename = ''tzinfo'';
       meta = {
         description = ''Daylight-savings aware timezone library'';
         homepage = ''http://tzinfo.rubyforge.org/'';
         longDescription = ''TZInfo is a Ruby library that uses the standard tz (Olson) database to provide daylight savings aware transformations between times in different time zones.'';
       };
-      name = ''tzinfo-0.3.30'';
+      name = ''tzinfo-0.3.31'';
       requiredGems = [  ];
-      sha256 = ''13zzcbbwkz5h9v7ik1xmwlp1bwnn5qpm37b3h2p2csa2j2n7nbaj'';
+      sha256 = ''1kwc25c1x8cvryjhpp8sx20vrd8h9g9gsl7p5393a88544qy41hb'';
     };
   };
 }
diff --git a/pkgs/development/interpreters/ruby/ruby-19.nix b/pkgs/development/interpreters/ruby/ruby-19.nix
index d11c88d5e754..5e406509a8cf 100644
--- a/pkgs/development/interpreters/ruby/ruby-19.nix
+++ b/pkgs/development/interpreters/ruby/ruby-19.nix
@@ -4,6 +4,7 @@
 , gdbm, gdbmSupport ? true
 , ncurses, readline, cursesSupport ? false
 , groff, docSupport ? false
+, libyaml, yamlSupport ? false
 }:
 
 let
@@ -28,7 +29,8 @@ stdenv.mkDerivation rec {
     ++ (op docSupport groff )
     ++ (op zlibSupport zlib)
     ++ (op opensslSupport openssl)
-    ++ (op gdbmSupport gdbm);
+    ++ (op gdbmSupport gdbm)
+    ++ (op yamlSupport libyaml);
     
   configureFlags = ["--enable-shared" "--enable-pthread"];
 
@@ -40,6 +42,7 @@ stdenv.mkDerivation rec {
     license = "Ruby";
     homepage = "http://www.ruby-lang.org/en/";
     description = "The Ruby language";
+    platforms = stdenv.lib.platforms.all;
   };
 
   passthru = rec {
diff --git a/pkgs/development/libraries/boost/1.48.nix b/pkgs/development/libraries/boost/1.48.nix
new file mode 100644
index 000000000000..2adc0191cc0c
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.48.nix
@@ -0,0 +1,91 @@
+{ stdenv, fetchurl, icu, expat, zlib, bzip2, python
+, enableRelease ? true
+, enableDebug ? false
+, enableSingleThreaded ? false
+, enableMultiThreaded ? true
+, enableShared ? true
+, enableStatic ? false
+, enablePIC ? false
+, enableExceptions ? false
+}:
+
+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 && enableExceptions) then
+             "cflags=-fPIC -fexceptions cxxflags=-fPIC linkflags=-fPIC"
+           else if (enablePIC) then
+             "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC"
+           else if (enableExceptions) then
+             "cflags=-fexceptions"
+           else
+             "";
+in
+
+stdenv.mkDerivation {
+  name = "boost-1.48.0";
+
+  meta = {
+    homepage = "http://boost.org/";
+    description = "Boost C++ Library Collection";
+    license = "boost-license";
+
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/boost_1_48_0.tar.bz2";
+    sha256 = "1njsircy5xfj5rws10w8vq2s0603z2i31p9wgbawr4wkssr59whv";
+  };
+
+  # See <http://svn.boost.org/trac/boost/ticket/4688>.
+  patches = [ ./boost_filesystem.patch ];
+
+  enableParallelBuilding = true;
+
+  buildInputs = [icu expat zlib bzip2 python];
+
+  configureScript = "./bootstrap.sh";
+  configureFlags = "--with-icu=${icu} --with-python=${python}/bin/python";
+
+  buildPhase = "./b2 -j$NIX_BUILD_CORES -sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=${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
+      ./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
+    '';
+  };
+}
diff --git a/pkgs/development/libraries/ccrtp/default.nix b/pkgs/development/libraries/ccrtp/default.nix
index 8b16af379328..5610588ea41a 100644
--- a/pkgs/development/libraries/ccrtp/default.nix
+++ b/pkgs/development/libraries/ccrtp/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl, pkgconfig, libgcrypt, ucommon }:
 
 stdenv.mkDerivation {
-  name = "ccrtp-2.0.1";
+  name = "ccrtp-2.0.2";
 
   src = fetchurl {
-    url = mirror://gnu/ccrtp/ccrtp-2.0.1.tar.gz;
-    sha256 = "0wksiq55zq8yvjgzkaxyg15w9kfr4sni8a0yqk11qdqpl8x0al9x";
+    url = mirror://gnu/ccrtp/ccrtp-2.0.2.tar.gz;
+    sha256 = "1n42nscqwryz9f0jpg8lnv22x9m8mzr6rqir9cvbgm1r2skwjh4f";
   };
 
   buildInputs = [ openssl pkgconfig libgcrypt ucommon ];
diff --git a/pkgs/development/libraries/cloog/default.nix b/pkgs/development/libraries/cloog/default.nix
index 93af6d18b144..7bd0d68c3ec2 100644
--- a/pkgs/development/libraries/cloog/default.nix
+++ b/pkgs/development/libraries/cloog/default.nix
@@ -1,31 +1,23 @@
 { fetchurl, stdenv, gmp, isl, static ? false }:
 
-let
-  staticFlags =
-    assert static -> isl.dontDisableStatic == true;
-    if static then "--enable-static --disable-shared" else "";
-
-in
+assert static -> isl.dontDisableStatic;
 
 stdenv.mkDerivation rec {
-  name = "cloog-0.16.2";
+  name = "cloog-0.16.3";
 
   src = fetchurl {
     url = "http://www.bastoul.net/cloog/pages/download/count.php3?url=./${name}.tar.gz";
-    sha256 = "1w9n9lsq18k65fywwbbvhkgl917053w1kvqw0xhlwcma0v59m6mx";
+    sha256 = "0lzbsszfzsr0jfwkccfbsvx913d2yc45dqwa472plmxkhbwykmc9";
   };
 
   buildInputs = [ gmp ];
 
   propagatedBuildInputs = [ isl ];
 
-  configureFlags = "--with-isl=system --with-isl-prefix=${isl}" + staticFlags;
-    
-  dontDisableStatic = if static then true else false;
+  configureFlags = [ "--with-isl=system" ]
+    ++ (stdenv.lib.optionals static [ "--enable-static" "--disable-shared" ]);
 
-  crossAttrs = {
-    configureFlags = "--with-isl=system --with-isl-prefix=${isl.hostDrv}" + staticFlags;
-  };
+  dontDisableStatic = static;
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/db4/db4-4.8.nix b/pkgs/development/libraries/db4/db4-4.8.nix
index 5b99f068769a..86424fac567c 100644
--- a/pkgs/development/libraries/db4/db4-4.8.nix
+++ b/pkgs/development/libraries/db4/db4-4.8.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
   builder = ./builder.sh;
   
   src = fetchurl {
-    url = http://download-east.oracle.com/berkeley-db/db-4.8.26.tar.gz;
+    url = http://download.oracle.com/berkeley-db/db-4.8.26.tar.gz;
     sha256 = "0hcxh0kb6m0wk3apjhs57p7b171zzn63rg4l3nkcavygg5gx2mgp";
   };
   
diff --git a/pkgs/development/libraries/fcgi/default.nix b/pkgs/development/libraries/fcgi/default.nix
index 6bea14f38375..26ff5dd245e7 100644
--- a/pkgs/development/libraries/fcgi/default.nix
+++ b/pkgs/development/libraries/fcgi/default.nix
@@ -10,7 +10,9 @@ stdenv.mkDerivation rec {
 
   patches = [ ./gcc-4.4.diff ];
 
-  meta = { 
+  postInstall = "ln -s . $out/include/fastcgi";
+
+  meta = {
     description = "FastCGI  is a language independent, scalable, open extension to CG";
     homepage = http://www.fastcgi.com/;
     license = "FastCGI see LICENSE.TERMS";
diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix
new file mode 100644
index 000000000000..87a7f879be8d
--- /dev/null
+++ b/pkgs/development/libraries/freetds/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "freetds-0.91";
+
+  src = fetchurl {
+    url = ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz;
+    sha256 = "0r946axzxs0czsmr7283w7vmk5jx3jnxxc32d2ncxsrsh2yli0ba";
+  };
+
+  meta = {
+    description =
+      "Libraries to natively talk to Microsoft SQL Server and Sybase databases";
+    homepage = "http://www.freetds.org";
+    license = "lgpl";
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
+
diff --git a/pkgs/development/libraries/gdbm/default.nix b/pkgs/development/libraries/gdbm/default.nix
index 807e6a6a2a82..3b982582b54e 100644
--- a/pkgs/development/libraries/gdbm/default.nix
+++ b/pkgs/development/libraries/gdbm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "gdbm-1.9.1";
+  name = "gdbm-1.10";
 
   src = fetchurl {
     url = "mirror://gnu/gdbm/${name}.tar.gz";
-    sha256 = "1vcs39nhvwyicjfx4qc17k54n22azla5yjr9yachcavp6wk8a9b0";
+    sha256 = "0h9lfzdjc2yl849y0byg51h6xfjg0y7vg9jnsw3gpfwlbd617y13";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix
index 888a119bb360..3cd8e7180212 100644
--- a/pkgs/development/libraries/gnutls/default.nix
+++ b/pkgs/development/libraries/gnutls/default.nix
@@ -5,11 +5,11 @@ assert guileBindings -> guile != null;
 
 stdenv.mkDerivation rec {
 
-  name = "gnutls-3.0.4";
+  name = "gnutls-3.0.8";
 
   src = fetchurl {
     url = "mirror://gnu/gnutls/${name}.tar.xz";
-    sha256 = "16mhr52c07xlkv5m5bxgr51ppjz0gqjw6rgv52ql4iyi569ffrx3";
+    sha256 = "0qcp7jm8c2fyk5kdb4fgyrv9hb745mcf066vwmlb8dchx15ijkms";
   };
 
   configurePhase = ''
diff --git a/pkgs/development/libraries/gss/default.nix b/pkgs/development/libraries/gss/default.nix
index ded3fccca7bf..4959a70ca631 100644
--- a/pkgs/development/libraries/gss/default.nix
+++ b/pkgs/development/libraries/gss/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, shishi }:
 
 stdenv.mkDerivation rec {
-  name = "gss-1.0.1";
+  name = "gss-1.0.2";
 
   src = fetchurl {
     url = "mirror://gnu/gss/${name}.tar.gz";
-    sha256 = "05g9p45gmd0332ly19g13rbi0wdx447imw42f22482rdr8vpy9m0";
+    sha256 = "1qa8lbkzi6ilfggx7mchfzjnchvhwi68rck3jf9j4425ncz7zsd9";
   };
 
   buildInputs = [ shishi ];
diff --git a/pkgs/development/libraries/haskell/Agda/default.nix b/pkgs/development/libraries/haskell/Agda/default.nix
index eb40a854e32e..724dabbab1b2 100644
--- a/pkgs/development/libraries/haskell/Agda/default.nix
+++ b/pkgs/development/libraries/haskell/Agda/default.nix
@@ -1,15 +1,16 @@
-{ cabal, alex, binary, happy, haskeline, haskellSrcExts, mtl
-, QuickCheck, syb, xhtml, zlib
+{ cabal, alex, binary, happy, hashable, hashtables, haskeline
+, haskellSrcExts, mtl, QuickCheck, syb, xhtml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "Agda";
-  version = "2.2.10";
-  sha256 = "1bh96g5c6b6jzaf3m9gm0vr64avgi86kb45p8i1vg1jbfjdbdlsw";
+  version = "2.3.0";
+  sha256 = "1p0cwf3d146z73gp49cm8fmk33hcbjsvyijbakm1871ssc5i73k0";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    binary haskeline haskellSrcExts mtl QuickCheck syb xhtml zlib
+    binary hashable hashtables haskeline haskellSrcExts mtl QuickCheck
+    syb xhtml zlib
   ];
   buildTools = [ alex happy ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/HTTP/3001.1.5.nix b/pkgs/development/libraries/haskell/HTTP/3001.1.5.nix
deleted file mode 100644
index d16db78d8f4f..000000000000
--- a/pkgs/development/libraries/haskell/HTTP/3001.1.5.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ cabal, network, parsec }:
-
-cabal.mkDerivation (self: {
-  pname = "HTTP";
-  version = "3001.1.5";
-  sha256 = "e34d9f979bafbbf2e45bf90a9ee9bfd291f3c67c291a250cc0a6378431578aeb";
-  buildDepends = [ network parsec ];
-  meta = {
-    homepage = "http://www.haskell.org/http/";
-    description = "A library for client-side HTTP";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.1.2.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.1.nix
index 5dcb4cbe618c..a707189ed5e6 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.1.2.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.1.nix
@@ -2,11 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "HTTP";
-  version = "4000.1.2";
-  sha256 = "19vcy8xinrvn01caly6sg1p1yvbbf7nwq10kxmnwqssnl4h5cwn8";
+  version = "4000.2.1";
+  sha256 = "01076rk7ly5228pszn54x4nqc6rqq1xw11ij9ajvhzf419islh0a";
   buildDepends = [ mtl network parsec ];
   meta = {
-    homepage = "http://projects.haskell.org/http/";
+    homepage = "https://github.com/haskell/HTTP";
     description = "A library for client-side HTTP";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/HaskellForMaths/default.nix b/pkgs/development/libraries/haskell/HaskellForMaths/default.nix
index d4e1532b1011..e55619fb3abd 100644
--- a/pkgs/development/libraries/haskell/HaskellForMaths/default.nix
+++ b/pkgs/development/libraries/haskell/HaskellForMaths/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "HaskellForMaths";
-  version = "0.4.0";
-  sha256 = "1x6kac1im07cpb1014ci8v222q66w2g3gr1wdcv2yvdi5g24ymbp";
+  version = "0.4.1";
+  sha256 = "0jwdxz5wqayx196giv7nj5j0k9zw50x555ig6xj00cladvplvh9h";
   buildDepends = [ random ];
   meta = {
     homepage = "http://haskellformaths.blogspot.com/";
diff --git a/pkgs/development/libraries/haskell/Hipmunk/default.nix b/pkgs/development/libraries/haskell/Hipmunk/default.nix
index 593831e2f294..6877e07524d1 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.5";
-  sha256 = "0zmc1bddpvjg11r5931hfx6va73jk1f3nb8nb1qfh86a4addp9id";
+  version = "5.2.0.6";
+  sha256 = "16yh7v6v05nksspcfz8h054piyhmrfbpaada36562rjxcywyfnfj";
   buildDepends = [ StateVar transformers ];
   noHaddock = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/X11/default.nix b/pkgs/development/libraries/haskell/X11/default.nix
index 9d01b2fdd863..6b0047085bc4 100644
--- a/pkgs/development/libraries/haskell/X11/default.nix
+++ b/pkgs/development/libraries/haskell/X11/default.nix
@@ -2,12 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "X11";
-  version = "1.5.0.0";
-  sha256 = "653ff8aa4053574a36dbb1729459df6e5a1a87a223bc3eeced8e40c6e3a5406f";
+  version = "1.5.0.1";
+  sha256 = "0s8k3lhvlks6i1mwfnm5fimfd2f0sjw9k2p67is3x564kih7mh19";
   buildDepends = [ syb ];
   extraLibraries = [ libX11 libXext libXinerama ];
   meta = {
-    homepage = "http://code.haskell.org/X11";
+    homepage = "https://github.com/haskell-pkg-janitors/X11";
     description = "A binding to the X11 graphics library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/aeson/default.nix b/pkgs/development/libraries/haskell/aeson/default.nix
index 030f973e35e7..0bd68b6b92e0 100644
--- a/pkgs/development/libraries/haskell/aeson/default.nix
+++ b/pkgs/development/libraries/haskell/aeson/default.nix
@@ -1,17 +1,17 @@
-{ cabal, attoparsec, blazeBuilder, blazeTextual, deepseq, hashable
-, mtl, syb, text, time, unorderedContainers, vector
+{ cabal, attoparsec, blazeBuilder, blazeTextual, deepseq, dlist
+, hashable, mtl, syb, text, time, unorderedContainers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "aeson";
-  version = "0.3.2.12";
-  sha256 = "12dq79bd8kvl4hc493c7ff9k9xdpibnnnfgpvpxh4ljnqcqr4hcy";
+  version = "0.4.0.0";
+  sha256 = "1j0m7hh82ab7lg757wq75k28llfd1igawmg4g2qdia5gimm652pa";
   buildDepends = [
-    attoparsec blazeBuilder blazeTextual deepseq hashable mtl syb text
-    time unorderedContainers vector
+    attoparsec blazeBuilder blazeTextual deepseq dlist hashable mtl syb
+    text time unorderedContainers vector
   ];
   meta = {
-    homepage = "http://github.com/mailrank/aeson";
+    homepage = "https://github.com/bos/aeson";
     description = "Fast JSON parsing and encoding";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/asn1-data/default.nix b/pkgs/development/libraries/haskell/asn1-data/default.nix
index 6337ab40890f..7ba67e5ce79a 100644
--- a/pkgs/development/libraries/haskell/asn1-data/default.nix
+++ b/pkgs/development/libraries/haskell/asn1-data/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "asn1-data";
-  version = "0.6.1";
-  sha256 = "1kj1h1z4ix8kdxq5838xk70sgz9rq0vdii5nli1rcycx3y2ipi84";
+  version = "0.6.1.1";
+  sha256 = "13l7gcrgngr2bdr7hxh1wbsh21q7nc5bdknz0gpzjf65297g44an";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/attoparsec-text-enumerator/default.nix b/pkgs/development/libraries/haskell/attoparsec-text-enumerator/default.nix
deleted file mode 100644
index bcc9e8b1a6f1..000000000000
--- a/pkgs/development/libraries/haskell/attoparsec-text-enumerator/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ cabal, attoparsecText, enumerator, text }:
-
-cabal.mkDerivation (self: {
-  pname = "attoparsec-text-enumerator";
-  version = "0.2.0.0";
-  sha256 = "149ipf5qh7wzjrnv98h6j94djr0ndzg8s4rs8h7kzbii21ynmzz5";
-  buildDepends = [ attoparsecText enumerator text ];
-  meta = {
-    description = "Convert an attoparsec-text parser into an iteratee";
-    license = self.stdenv.lib.licenses.mit;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/attoparsec-text/default.nix b/pkgs/development/libraries/haskell/attoparsec-text/default.nix
deleted file mode 100644
index 5ff16e30c18b..000000000000
--- a/pkgs/development/libraries/haskell/attoparsec-text/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ cabal, attoparsec, text }:
-
-cabal.mkDerivation (self: {
-  pname = "attoparsec-text";
-  version = "0.8.5.1";
-  sha256 = "1in0ziqjf2hvlv6yay2b5xkm35j1szzwdfapn5mpflv64qi33i0z";
-  buildDepends = [ attoparsec text ];
-  meta = {
-    homepage = "http://patch-tag.com/r/felipe/attoparsec-text/home";
-    description = "Fast combinator parsing for texts";
-    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/attoparsec/default.nix b/pkgs/development/libraries/haskell/attoparsec/default.nix
index b76545143d6a..501f4170a939 100644
--- a/pkgs/development/libraries/haskell/attoparsec/default.nix
+++ b/pkgs/development/libraries/haskell/attoparsec/default.nix
@@ -1,12 +1,12 @@
-{ cabal, deepseq }:
+{ cabal, deepseq, text }:
 
 cabal.mkDerivation (self: {
   pname = "attoparsec";
-  version = "0.9.1.2";
-  sha256 = "0h9j4gn376k6j3v9l6pk7a4vxabkwk80043x6xlyxsh8p77jgj3v";
-  buildDepends = [ deepseq ];
+  version = "0.10.0.3";
+  sha256 = "0qlmjv8fhbx0xk8vkhlm01qmqlbk7xl98vfhcnlcjjrc5wkj0pjc";
+  buildDepends = [ deepseq text ];
   meta = {
-    homepage = "https://bitbucket.org/bos/attoparsec";
+    homepage = "https://github.com/bos/attoparsec";
     description = "Fast combinator parsing for bytestrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/attoparsec/enumerator.nix b/pkgs/development/libraries/haskell/attoparsec/enumerator.nix
index 7c990332a37f..ad73d41f5878 100644
--- a/pkgs/development/libraries/haskell/attoparsec/enumerator.nix
+++ b/pkgs/development/libraries/haskell/attoparsec/enumerator.nix
@@ -1,13 +1,13 @@
-{ cabal, attoparsec, enumerator }:
+{ cabal, attoparsec, enumerator, text }:
 
 cabal.mkDerivation (self: {
   pname = "attoparsec-enumerator";
-  version = "0.2.0.4";
-  sha256 = "14v53vppcf4k3m4kid10pg5r3zsn894f36w1y2pzlc72w81fv3gd";
-  buildDepends = [ attoparsec enumerator ];
+  version = "0.3";
+  sha256 = "1sfqcr1mvny9gf0zzggwvs2b20knxrbb208rzaa86ay0b5b5jw5v";
+  buildDepends = [ attoparsec enumerator text ];
   meta = {
-    homepage = "http://john-millikin.com/software/attoparsec-enumerator/";
-    description = "Convert an Attoparsec parser into an iteratee";
+    homepage = "https://john-millikin.com/software/attoparsec-enumerator/";
+    description = "Pass input from an enumerator to an Attoparsec parser";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
     maintainers = [
diff --git a/pkgs/development/libraries/haskell/authenticate/default.nix b/pkgs/development/libraries/haskell/authenticate/default.nix
index ca178c3fa36d..3a55192b76ae 100644
--- a/pkgs/development/libraries/haskell/authenticate/default.nix
+++ b/pkgs/development/libraries/haskell/authenticate/default.nix
@@ -1,17 +1,18 @@
-{ cabal, aesonNative, attoparsec, base64Bytestring, blazeBuilder
+{ cabal, aeson, attoparsec, base64Bytestring, blazeBuilder
 , caseInsensitive, enumerator, failure, httpEnumerator, httpTypes
 , network, random, RSA, SHA, tagsoup, text, time, tls, transformers
-, xmlEnumerator
+, unorderedContainers, xmlEnumerator
 }:
 
 cabal.mkDerivation (self: {
   pname = "authenticate";
-  version = "0.10.2.2";
-  sha256 = "10w13wcd8cwaf4ifxllsiijwza2ys4a5zyhjcbl4938609p60hi8";
+  version = "0.10.3.1";
+  sha256 = "01xqqnvy2xjcgnp5qq5xiqm1whxywa31cgd79mm290i2r4baiq8s";
   buildDepends = [
-    aesonNative attoparsec base64Bytestring blazeBuilder
-    caseInsensitive enumerator failure httpEnumerator httpTypes network
-    random RSA SHA tagsoup text time tls transformers xmlEnumerator
+    aeson attoparsec base64Bytestring blazeBuilder caseInsensitive
+    enumerator failure httpEnumerator httpTypes network random RSA SHA
+    tagsoup text time tls transformers unorderedContainers
+    xmlEnumerator
   ];
   meta = {
     homepage = "http://github.com/snoyberg/authenticate/tree/master";
diff --git a/pkgs/development/libraries/haskell/base16-bytestring/default.nix b/pkgs/development/libraries/haskell/base16-bytestring/default.nix
index 33b7d437b339..b95052d02d9d 100644
--- a/pkgs/development/libraries/haskell/base16-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/base16-bytestring/default.nix
@@ -2,11 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "base16-bytestring";
-  version = "0.1.1.2";
-  sha256 = "1isxyl52vh0lg195wq9nkr3hlmbw3d3c9aymxlz8hynz0hh1q1z0";
+  version = "0.1.1.3";
+  sha256 = "0v08fnkykvd6y6in6f9a808vk2gfd9pf0wd7rr28z6wwxm5d2x6l";
   meta = {
-    homepage = "http://github.com/mailrank/base16-bytestring";
-    description = "Fast base16 (hex) encoding and deconding for ByteStrings";
+    homepage = "http://github.com/bos/base16-bytestring";
+    description = "Fast base16 (hex) encoding and decoding for ByteStrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
diff --git a/pkgs/development/libraries/haskell/blaze-builder/default.nix b/pkgs/development/libraries/haskell/blaze-builder/default.nix
index 3a20e5d0cb1b..a21d9b7c96f4 100644
--- a/pkgs/development/libraries/haskell/blaze-builder/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "blaze-builder";
-  version = "0.3.0.1";
-  sha256 = "1p3xlifcr7v987zx8l2sppn9yydph332mn1xxk0yfi78a6386nfb";
+  version = "0.3.0.2";
+  sha256 = "009njfm9g0fs7kg6q9c7qqfl69msw9q3d07xh3xg7layh09khsdb";
   buildDepends = [ text ];
   meta = {
     homepage = "http://github.com/meiersi/blaze-builder";
diff --git a/pkgs/development/libraries/haskell/blaze-html/default.nix b/pkgs/development/libraries/haskell/blaze-html/default.nix
index d9143635c6b3..2e8a5868d120 100644
--- a/pkgs/development/libraries/haskell/blaze-html/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-html/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "blaze-html";
-  version = "0.4.2.1";
-  sha256 = "0hm2jnz9n68njdrrq73a558qxl2jwcvxmy62mvf2v9q96wyp07yj";
+  version = "0.4.2.2";
+  sha256 = "1fg0qgqml7ar3m0as9sk9zc260j2jvdsf5cdfrsify5l62ip060f";
   buildDepends = [ blazeBuilder text ];
   meta = {
     homepage = "http://jaspervdj.be/blaze";
diff --git a/pkgs/development/libraries/haskell/blaze-textual/default.nix b/pkgs/development/libraries/haskell/blaze-textual/default.nix
index deb1e3caa783..b5924d7c73b8 100644
--- a/pkgs/development/libraries/haskell/blaze-textual/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-textual/default.nix
@@ -1,12 +1,12 @@
-{ cabal, blazeBuilder, doubleConversion, text, time, vector }:
+{ cabal, blazeBuilder, text, time, vector }:
 
 cabal.mkDerivation (self: {
   pname = "blaze-textual";
-  version = "0.2.0.4";
-  sha256 = "0bifxyzm35xvlqry06iv6pqgx1d33jnrvpmn4wnydkyg1r7q3k9v";
-  buildDepends = [ blazeBuilder doubleConversion text time vector ];
+  version = "0.2.0.5";
+  sha256 = "0rl41idjmrw227yi2x6nk2rlm93rgzz2y7jvz2yvmya2ihrppzjf";
+  buildDepends = [ blazeBuilder text time vector ];
   meta = {
-    homepage = "http://github.com/mailrank/blaze-textual";
+    homepage = "http://github.com/bos/blaze-textual";
     description = "Fast rendering of common datatypes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/bytestring-lexing/default.nix b/pkgs/development/libraries/haskell/bytestring-lexing/default.nix
new file mode 100644
index 000000000000..446a628dd050
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bytestring-lexing/default.nix
@@ -0,0 +1,18 @@
+{ cabal, alex }:
+
+cabal.mkDerivation (self: {
+  pname = "bytestring-lexing";
+  version = "0.2.1";
+  sha256 = "0pibn4phfp346i6i8zwic5zlbq9lqa6ifyx6bdl3p5c8jy3v23r9";
+  buildTools = [ alex ];
+  meta = {
+    homepage = "http://code.haskell.org/~dons/code/bytestring-lexing";
+    description = "Parse literals efficiently from bytestrings";
+    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/cairo/default.nix b/pkgs/development/libraries/haskell/cairo/default.nix
index aa7fae51544f..32d62dad8d0e 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.1";
-  sha256 = "0krclr32cn3vq3cmwhmxz7wzams92iliq44p6s4nj9jg4928cgfk";
+  version = "0.12.2";
+  sha256 = "1sa0xfx14y4imq3bd9l0rqrmxls3l9yga249a31zfhcinnr1j9db";
   buildDepends = [ mtl ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ cairo libc pkgconfig zlib ];
diff --git a/pkgs/development/libraries/haskell/case-insensitive/default.nix b/pkgs/development/libraries/haskell/case-insensitive/default.nix
index 8dff7eda2847..88a6d7f6a214 100644
--- a/pkgs/development/libraries/haskell/case-insensitive/default.nix
+++ b/pkgs/development/libraries/haskell/case-insensitive/default.nix
@@ -2,10 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "case-insensitive";
-  version = "0.3.0.1";
-  sha256 = "0aaj7avg3rd2bvjjcny7wjdif60ikk7q49896g12jnczi5ba97ml";
+  version = "0.4";
+  sha256 = "0la9gzf563x03xy120n8h5f6kmn425c5chbm42ksx1g7ag1ppmd6";
   buildDepends = [ hashable text ];
   meta = {
+    homepage = "https://github.com/basvandijk/case-insensitive";
     description = "Case insensitive string comparison";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/cereal/default.nix b/pkgs/development/libraries/haskell/cereal/default.nix
index f3d1fbbf9beb..eedf4936833f 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.4.0";
-  sha256 = "019fc094w2ica9ims83jacy2digbygaww5wb73xyrj3vgjw774xq";
+  version = "0.3.5.0";
+  sha256 = "0bqkb9al8mr0dzik17bcrjdsk414x78wfc919jb17ihcg7gnvrg8";
   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 1e8fca8ca295..33b36578bc82 100644
--- a/pkgs/development/libraries/haskell/certificate/default.nix
+++ b/pkgs/development/libraries/haskell/certificate/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "certificate";
-  version = "1.0.0";
-  sha256 = "1i4s1yvl765cfj7ya5rsvzqnijf307zh4i4pzcgncmr37mlkfjz2";
+  version = "1.0.1";
+  sha256 = "0rv9gs316ng86zv5njcfj96zplbrn317vypnyv7sz28v4k4vha10";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/clientsession/default.nix b/pkgs/development/libraries/haskell/clientsession/default.nix
index d4f89de04660..32e88cbf2cf4 100644
--- a/pkgs/development/libraries/haskell/clientsession/default.nix
+++ b/pkgs/development/libraries/haskell/clientsession/default.nix
@@ -1,12 +1,14 @@
-{ cabal, base64Bytestring, cereal, cryptoApi, cryptocipher, skein
+{ cabal, base64Bytestring, cereal, cprngAes, cryptoApi
+, cryptocipher, entropy, skein, tagged
 }:
 
 cabal.mkDerivation (self: {
   pname = "clientsession";
-  version = "0.7.3.3";
-  sha256 = "0cfj225hzn8fsffwnq5zq55dh9m5av1i58b4njhna7miiz6b4jsq";
+  version = "0.7.3.6";
+  sha256 = "04cvws7h2pm3rk8p2yj1pqkf9vjqq65hxg9sjldg7zhxdjgq1hgc";
   buildDepends = [
-    base64Bytestring cereal cryptoApi cryptocipher skein
+    base64Bytestring cereal cprngAes cryptoApi cryptocipher entropy
+    skein tagged
   ];
   meta = {
     homepage = "http://github.com/snoyberg/clientsession/tree/master";
diff --git a/pkgs/development/libraries/haskell/cmdlib/default.nix b/pkgs/development/libraries/haskell/cmdlib/default.nix
index e49042a4a1f8..7b29ba580046 100644
--- a/pkgs/development/libraries/haskell/cmdlib/default.nix
+++ b/pkgs/development/libraries/haskell/cmdlib/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cmdlib";
-  version = "0.3.4";
-  sha256 = "1f8vb681xd2v7hv0s84x032yf8x2jlxc0j302irv20fkc1w1vbrr";
+  version = "0.3.5";
+  sha256 = "0218f4rl64wvvka95m969hg5y9vc29dqaawfcnk7d1qsv3hx9ydl";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ mtl split syb transformers ];
diff --git a/pkgs/development/libraries/haskell/convertible-text/default.nix b/pkgs/development/libraries/haskell/convertible-text/default.nix
index 305d589dfb58..b987c9e21e55 100644
--- a/pkgs/development/libraries/haskell/convertible-text/default.nix
+++ b/pkgs/development/libraries/haskell/convertible-text/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "convertible-text";
-  version = "0.3.0.10";
-  sha256 = "1hi7rqijay37b5msyzqqgvkvrsdpj9p96ajxmyk4vm7nnk5dfhbp";
+  version = "0.4.0.1";
+  sha256 = "0m252ml2zgw0jxfs678m1wp9ivy6gvi9w50qw7zi9ycxnzj9j6r2";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ attempt text time ];
diff --git a/pkgs/development/libraries/haskell/cookie/default.nix b/pkgs/development/libraries/haskell/cookie/default.nix
index dce5b245a78c..698c643d3395 100644
--- a/pkgs/development/libraries/haskell/cookie/default.nix
+++ b/pkgs/development/libraries/haskell/cookie/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cookie";
-  version = "0.3.0.1";
-  sha256 = "1gqz2q09fnbk8scd164mg02jsdh0sg5g06grr627qsjy583i2ad7";
+  version = "0.3.0.2";
+  sha256 = "123ylraxcavj82qcvrbfpb172k8zl5qgzh2byv84did1f1dz0ris";
   buildDepends = [ blazeBuilder text time ];
   meta = {
     homepage = "http://github.com/snoyberg/cookie";
diff --git a/pkgs/development/libraries/haskell/criterion/default.nix b/pkgs/development/libraries/haskell/criterion/default.nix
index f567569a6f63..e8d1c4f901b7 100644
--- a/pkgs/development/libraries/haskell/criterion/default.nix
+++ b/pkgs/development/libraries/haskell/criterion/default.nix
@@ -1,17 +1,17 @@
-{ cabal, aeson, deepseq, mtl, mwcRandom, parsec, statistics, time
-, vector, vectorAlgorithms
+{ cabal, aeson, deepseq, hastache, mtl, mwcRandom, parsec
+, statistics, time, transformers, vector, vectorAlgorithms
 }:
 
 cabal.mkDerivation (self: {
   pname = "criterion";
-  version = "0.5.1.0";
-  sha256 = "0v43dm1d84zvn32q89dq0nh4dvqr4r6fjdzwcjac0mjics3iy29d";
+  version = "0.6.0.0";
+  sha256 = "0yi6gx9zrmljhhdfqpaylri8x71q2yzyhwwn1c377xngrskpydr9";
   buildDepends = [
-    aeson deepseq mtl mwcRandom parsec statistics time vector
-    vectorAlgorithms
+    aeson deepseq hastache mtl mwcRandom parsec statistics time
+    transformers vector vectorAlgorithms
   ];
   meta = {
-    homepage = "http://bitbucket.org/bos/criterion";
+    homepage = "https://github.com/bos/criterion";
     description = "Robust, reliable performance measurement and analysis";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/css-text/default.nix b/pkgs/development/libraries/haskell/css-text/default.nix
index efd0f6419200..609eb593ebba 100644
--- a/pkgs/development/libraries/haskell/css-text/default.nix
+++ b/pkgs/development/libraries/haskell/css-text/default.nix
@@ -1,10 +1,10 @@
-{ cabal, attoparsecText, text }:
+{ cabal, attoparsec, text }:
 
 cabal.mkDerivation (self: {
   pname = "css-text";
-  version = "0.1.0.1";
-  sha256 = "004ky2s6jmiliw8faja5kzp99i36qf56cixvn43n3pnq8gg26kfi";
-  buildDepends = [ attoparsecText text ];
+  version = "0.1.1";
+  sha256 = "10vb08rnfq987w7wrirw8ib1kzafxaaancswm4xpw46ha3rq1m0y";
+  buildDepends = [ attoparsec text ];
   meta = {
     homepage = "http://www.yesodweb.com/";
     description = "CSS parser and renderer";
diff --git a/pkgs/development/libraries/haskell/data-object-yaml/default.nix b/pkgs/development/libraries/haskell/data-object-yaml/default.nix
index 9622c2af6b9c..a29ba40b823e 100644
--- a/pkgs/development/libraries/haskell/data-object-yaml/default.nix
+++ b/pkgs/development/libraries/haskell/data-object-yaml/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "data-object-yaml";
-  version = "0.3.3.5";
-  sha256 = "0ag0rac9j4ipfg9haa63s73sn7zckrpwybcfk2nbg84ix56nv36w";
+  version = "0.3.3.6";
+  sha256 = "0hha52nrxb539bvdz6ksn9sxmksfwmjhh7h8mp223s340vxrlpk3";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/data-object/default.nix b/pkgs/development/libraries/haskell/data-object/default.nix
index 2c774c8c79f5..fb2c013da8d1 100644
--- a/pkgs/development/libraries/haskell/data-object/default.nix
+++ b/pkgs/development/libraries/haskell/data-object/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "data-object";
-  version = "0.3.1.7";
-  sha256 = "0b4jai09nx3h2vfj5f2q1wp0wldvkjygyzkgrrc6hnsfx2qv8qf7";
+  version = "0.3.1.8";
+  sha256 = "0v7kn6rv71fhf2l7ll7plzr90irm2fyp25lskv2zwazp4swhw52x";
   buildDepends = [ failure text time ];
   meta = {
     homepage = "http://github.com/snoyberg/data-object/tree/master";
diff --git a/pkgs/development/libraries/haskell/double-conversion/default.nix b/pkgs/development/libraries/haskell/double-conversion/default.nix
index 4f1bf34dc291..ee84665ad636 100644
--- a/pkgs/development/libraries/haskell/double-conversion/default.nix
+++ b/pkgs/development/libraries/haskell/double-conversion/default.nix
@@ -2,11 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "double-conversion";
-  version = "0.2.0.1";
-  sha256 = "146ijcv55k0lqlw8y4nz7p5kjpwry2jzbqmkan904pnlcfv4a60a";
+  version = "0.2.0.3";
+  sha256 = "17ny1gvd622rnqjvlrmcpgw3wlabrsc6d046d4ii6xv299z97qw9";
   buildDepends = [ text ];
   meta = {
-    homepage = "https://github.com/mailrank/double-conversion";
+    homepage = "https://github.com/bos/double-conversion";
     description = "Fast conversion between double precision floating point and text";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/enumerator/default.nix b/pkgs/development/libraries/haskell/enumerator/default.nix
index d42470637d47..12e801516a6f 100644
--- a/pkgs/development/libraries/haskell/enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/enumerator/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "enumerator";
-  version = "0.4.15";
-  sha256 = "06yzf2xaadmdhgidzyp7qywd8d401f4n1qlfyx0q72nafgnlvr6v";
+  version = "0.4.16";
+  sha256 = "16556x3km4si7gvprf7xmsiqw1ygjwavhbgh32fmzf7709bpqnhs";
   buildDepends = [ text transformers ];
   meta = {
     homepage = "https://john-millikin.com/software/enumerator/";
diff --git a/pkgs/development/libraries/haskell/flexible-defaults/default.nix b/pkgs/development/libraries/haskell/flexible-defaults/default.nix
index b552ab51e2e7..3c7e45ce0d50 100755
--- a/pkgs/development/libraries/haskell/flexible-defaults/default.nix
+++ b/pkgs/development/libraries/haskell/flexible-defaults/default.nix
@@ -1,10 +1,10 @@
-{ cabal, transformers }:
+{ cabal, thExtras, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "flexible-defaults";
-  version = "0.0.0.2";
-  sha256 = "0hr3x4hlah6pd88xvr9lgvz1v4pyxpyv6q9zms96jkm5wc4mkbwx";
-  buildDepends = [ transformers ];
+  version = "0.0.0.3";
+  sha256 = "1s0dz61bqzzbxqvn9i8zwaccsha15als45zzjs2yc11r3m151dla";
+  buildDepends = [ thExtras transformers ];
   meta = {
     homepage = "https://github.com/mokus0/flexible-defaults";
     description = "Generate default function implementations for complex type classes";
diff --git a/pkgs/development/libraries/haskell/glib/default.nix b/pkgs/development/libraries/haskell/glib/default.nix
index 445f7122809a..c60c776e60f4 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.1";
-  sha256 = "0lsgpbd08w64npc0xsnxg8n4vj2hdnjvs55h4lhgc61p05q9gv52";
+  version = "0.12.2";
+  sha256 = "0p1d6j23yf30824q5gn7pw7s47hs4rnaqs69d2hn2pnzpc1ml3c6";
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
   pkgconfigDepends = [ glib ];
diff --git a/pkgs/development/libraries/haskell/gloss/default.nix b/pkgs/development/libraries/haskell/gloss/default.nix
index 495ecee2d7a8..1b9fbb03da48 100644
--- a/pkgs/development/libraries/haskell/gloss/default.nix
+++ b/pkgs/development/libraries/haskell/gloss/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gloss";
-  version = "1.5.0.2";
-  sha256 = "01fd5yl5wdw09xqslmx8h563k2v8dglc60902kia8b5h62xjr1w6";
+  version = "1.5.2.1";
+  sha256 = "1mwk9gnkbjr76f9g79ixxlwzpsvmhflp5c8a0584fyypjg2r33n3";
   buildDepends = [ bmp GLUT OpenGL ];
   meta = {
     homepage = "http://gloss.ouroborus.net";
diff --git a/pkgs/development/libraries/haskell/graphviz/default.nix b/pkgs/development/libraries/haskell/graphviz/default.nix
index 9e1ab17a940a..006e0c3266fb 100644
--- a/pkgs/development/libraries/haskell/graphviz/default.nix
+++ b/pkgs/development/libraries/haskell/graphviz/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "graphviz";
-  version = "2999.12.0.3";
-  sha256 = "0qvkmklf2wxac6j01fnh8r352b52xzhr8wryk1b9119wvcbli8md";
+  version = "2999.12.0.4";
+  sha256 = "02yg5c02k3sdrcq5srzpdvlzs6cnrns67576qzr8n7ynhpvard73";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/gtk/default.nix b/pkgs/development/libraries/haskell/gtk/default.nix
index e3fac24865b8..346caa1b72ef 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.1";
-  sha256 = "007wxxff2ibfi3848yjxg7hqgpiqpn0zpyivjvjv0zphk1d2j9sv";
+  version = "0.12.2";
+  sha256 = "0qjhy2adbqv03qbmh6ydga4axvj263n5srwpfrw4v5gk34fvyj9w";
   buildDepends = [ cairo glib mtl pango ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index 310e872b528a..9035c606ed89 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -1,14 +1,15 @@
-{ cabal, binary, blazeHtml, cryptohash, hamlet, mtl, pandoc, parsec
-, regexBase, regexPcre, snapCore, snapServer, tagsoup, time
+{ cabal, binary, blazeHtml, citeprocHs, cryptohash, hamlet, mtl
+, pandoc, parsec, regexBase, regexPcre, snapCore, snapServer
+, tagsoup, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "hakyll";
-  version = "3.2.0.10";
-  sha256 = "1hdivw1smfkxza5jl8gm84gnzb5a9sgc2lcas3hikv968p9c1yry";
+  version = "3.2.3.2";
+  sha256 = "0410gg8sdnw0iyhqrw1wfv9abbrv7r6awgvlhqds17vnrdxxk2w8";
   buildDepends = [
-    binary blazeHtml cryptohash hamlet mtl pandoc parsec regexBase
-    regexPcre snapCore snapServer tagsoup time
+    binary blazeHtml citeprocHs cryptohash hamlet mtl pandoc parsec
+    regexBase regexPcre snapCore snapServer tagsoup 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 4499d3388854..15d219830a47 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 = "0.10.4";
-  sha256 = "10ik9rbj9srb1f7vavs5siidyybzbr4fpy3akv90qldd2xyifhxa";
+  version = "0.10.5";
+  sha256 = "0kizy0qij6zbayrbb3gr4iqys1551ax5c8w5lvh6chg3ypl1i1m3";
   buildDepends = [
     blazeBuilder blazeHtml failure parsec shakespeare text
   ];
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix b/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix
index 3eccba4eb381..2826d84fa90b 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "happstack-hamlet";
-  version = "6.2.0";
-  sha256 = "1y3nc6z9y96fci25dc6w66l0qlnkz29kr29dpd2sjnhpqm0kvzsc";
+  version = "6.2.2";
+  sha256 = "02kpfv7axrmgzyyqsfkdixcm7badh0sgy7am2kryvyb49zzk1vjr";
   buildDepends = [ hamlet happstackServer text ];
   meta = {
     homepage = "http://www.happstack.com/";
diff --git a/pkgs/development/libraries/haskell/hashtables/default.nix b/pkgs/development/libraries/haskell/hashtables/default.nix
new file mode 100644
index 000000000000..b66a7a992642
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hashtables/default.nix
@@ -0,0 +1,18 @@
+{ cabal, hashable, primitive, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "hashtables";
+  version = "1.0.1.1";
+  sha256 = "1s5p2gsi7wv6xmf6ax3s9mqmbvcispn2y9miksay3p4acc6b3lpa";
+  buildDepends = [ hashable primitive vector ];
+  meta = {
+    homepage = "http://github.com/gregorycollins/hashtables";
+    description = "Mutable hash tables in the ST monad";
+    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-src-exts/1.9.6.nix b/pkgs/development/libraries/haskell/haskell-src-exts/1.9.6.nix
deleted file mode 100644
index 42b69258397e..000000000000
--- a/pkgs/development/libraries/haskell/haskell-src-exts/1.9.6.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ cabal, cpphs, happy }:
-
-cabal.mkDerivation (self: {
-  pname = "haskell-src-exts";
-  version = "1.9.6";
-  sha256 = "1bdbjwhzms962ncwiszp82a8m6jkgz6d9cns5585kipy9n224d3h";
-  buildDepends = [ cpphs ];
-  buildTools = [ happy ];
-  meta = {
-    homepage = "http://code.haskell.org/haskell-src-exts";
-    description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
-    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-src-exts/1.11.1.nix b/pkgs/development/libraries/haskell/haskell-src-exts/default.nix
index 649bf29f58f7..649bf29f58f7 100644
--- a/pkgs/development/libraries/haskell/haskell-src-exts/1.11.1.nix
+++ b/pkgs/development/libraries/haskell/haskell-src-exts/default.nix
diff --git a/pkgs/development/libraries/haskell/haskell-src/1.0.1.5.nix b/pkgs/development/libraries/haskell/haskell-src/1.0.1.5.nix
new file mode 100644
index 000000000000..dd62d57a02ab
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-src/1.0.1.5.nix
@@ -0,0 +1,18 @@
+{ cabal, happy, syb }:
+
+cabal.mkDerivation (self: {
+  pname = "haskell-src";
+  version = "1.0.1.5";
+  sha256 = "1ay3i2sbrp0pzg6fagg8gqrwq5lcnm5jb5sr11frbk274a82cdwz";
+  buildDepends = [ syb ];
+  buildTools = [ happy ];
+  meta = {
+    description = "Support for manipulating Haskell source code";
+    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/hastache/default.nix b/pkgs/development/libraries/haskell/hastache/default.nix
new file mode 100644
index 000000000000..ac9515348db2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hastache/default.nix
@@ -0,0 +1,18 @@
+{ cabal, blazeBuilder, mtl, syb, text, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "hastache";
+  version = "0.2.4";
+  sha256 = "0881sh3vp5v8kk3rnz9dg2bnis6qy4gx5sr0sqj6xl162sbhf3yv";
+  buildDepends = [ blazeBuilder mtl syb text utf8String ];
+  meta = {
+    homepage = "http://github.com/lymar/hastache";
+    description = "Haskell implementation of Mustache templates";
+    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/hmatrix/default.nix b/pkgs/development/libraries/haskell/hmatrix/default.nix
index 5f45d99c75c3..84866e026fd3 100644
--- a/pkgs/development/libraries/haskell/hmatrix/default.nix
+++ b/pkgs/development/libraries/haskell/hmatrix/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hmatrix";
-  version = "0.12.0.1";
-  sha256 = "1lnq1892vzx094d84jfs2477m3w47xgmqvnvzignwgfi470d9lw5";
+  version = "0.12.0.2";
+  sha256 = "08i3vi0vs6wpyvjsjpqrxp8lw0f89cgzwv1j27y7i2yfp4xmrw8d";
   buildDepends = [
     binary HUnit QuickCheck random storableComplex vector
   ];
diff --git a/pkgs/development/libraries/haskell/http-enumerator/default.nix b/pkgs/development/libraries/haskell/http-enumerator/default.nix
index 55e5ff9dc41a..14109cd1c113 100644
--- a/pkgs/development/libraries/haskell/http-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/http-enumerator/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-enumerator";
-  version = "0.7.1.4";
-  sha256 = "1dp3hw10wpf8izmp48jai90x7mxws05gbjqx9s24gl7y2m24q2xg";
+  version = "0.7.2";
+  sha256 = "096rwnfm8bqn0pq9cs4i2kr1ljmawk2l17afw301zqfg79q97crc";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/http-types/default.nix b/pkgs/development/libraries/haskell/http-types/default.nix
index 6e179063c8d5..1006d2fd2c34 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.6";
-  sha256 = "1x1jgfh399a88dc3ms6va12lvq9iih1shxmqm08xzz4fly6v4k7r";
+  version = "0.6.7";
+  sha256 = "04bmw5k9gvlh7x4ggmwz7pdc1ik3va0v4icg7nv47ab2w2pn88pb";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ blazeBuilder caseInsensitive text ];
diff --git a/pkgs/development/libraries/haskell/hxt/default.nix b/pkgs/development/libraries/haskell/hxt/default.nix
index 88112a1f0891..979fa3c11e9e 100644
--- a/pkgs/development/libraries/haskell/hxt/default.nix
+++ b/pkgs/development/libraries/haskell/hxt/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hxt";
-  version = "9.1.4";
-  sha256 = "1dqnxb1dikw74l02sb6q193ipk9qfwqlgvcd362705mdqzai124c";
+  version = "9.1.5";
+  sha256 = "0w0l86y8q2391dvqn112f2s0infm1zzqnlp9hhwcx8jg2slsxbcm";
   buildDepends = [
     binary deepseq HUnit hxtCharproperties hxtRegexXmlschema hxtUnicode
     network parsec
diff --git a/pkgs/development/libraries/haskell/iteratee/default.nix b/pkgs/development/libraries/haskell/iteratee/default.nix
new file mode 100644
index 000000000000..e7e690654e0c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/iteratee/default.nix
@@ -0,0 +1,23 @@
+{ cabal, ListLike, MonadCatchIOTransformers, parallel, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "iteratee";
+  version = "0.8.7.4";
+  sha256 = "08smgb4xad8zpjzjrpjpv3vindhwgbcsf4rgipnrpyvz6mrg4w9i";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    ListLike MonadCatchIOTransformers parallel transformers
+  ];
+  meta = {
+    homepage = "http://www.tiresiaspress.us/haskell/iteratee";
+    description = "Iteratee-based I/O";
+    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/libmpd/default.nix b/pkgs/development/libraries/haskell/libmpd/default.nix
new file mode 100644
index 000000000000..758a068453da
--- /dev/null
+++ b/pkgs/development/libraries/haskell/libmpd/default.nix
@@ -0,0 +1,20 @@
+{ cabal, mtl, network, time, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "libmpd";
+  version = "0.7.0";
+  sha256 = "03bp3bpf1zr8srbzxjhppj7pba0h1if9lga7x5nvhlgc6p7799nw";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ mtl network time utf8String ];
+  meta = {
+    homepage = "http://github.com/joachifm/libmpd-haskell";
+    description = "An MPD client library";
+    license = "LGPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/mime-mail/default.nix b/pkgs/development/libraries/haskell/mime-mail/default.nix
index 7651d36aca8f..db2734c87396 100644
--- a/pkgs/development/libraries/haskell/mime-mail/default.nix
+++ b/pkgs/development/libraries/haskell/mime-mail/default.nix
@@ -1,10 +1,10 @@
-{ cabal, blazeBuilder, dataenc, random, text }:
+{ cabal, base64Bytestring, blazeBuilder, random, text }:
 
 cabal.mkDerivation (self: {
   pname = "mime-mail";
-  version = "0.3.0.3";
-  sha256 = "0aag2mj1jchgwgnlh6hmv9qz78qjxffn1b52nwl6257sk0qv6va6";
-  buildDepends = [ blazeBuilder dataenc random text ];
+  version = "0.4.1.0";
+  sha256 = "1czjxxpv2w8zvwm6nkv0rr47rdl84s5f5xvf3r4kjaw44a6jfgg0";
+  buildDepends = [ base64Bytestring blazeBuilder random text ];
   meta = {
     homepage = "http://github.com/snoyberg/mime-mail";
     description = "Compose MIME email messages";
diff --git a/pkgs/development/libraries/haskell/monad-control/0.2.0.3.nix b/pkgs/development/libraries/haskell/monad-control/0.2.0.3.nix
new file mode 100644
index 000000000000..b3d9208bd256
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monad-control/0.2.0.3.nix
@@ -0,0 +1,18 @@
+{ cabal, baseUnicodeSymbols, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "monad-control";
+  version = "0.2.0.3";
+  sha256 = "0z7wjilrx6phqs2gxwv65dy1n3mc0j8hj3adshkwy6z8ggj283nh";
+  buildDepends = [ baseUnicodeSymbols transformers ];
+  meta = {
+    homepage = "https://github.com/basvandijk/monad-control/";
+    description = "Lift control operations, like exception catching, through monad transformers";
+    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/monad-control/default.nix b/pkgs/development/libraries/haskell/monad-control/default.nix
index b3d9208bd256..52e3d001f48e 100644
--- a/pkgs/development/libraries/haskell/monad-control/default.nix
+++ b/pkgs/development/libraries/haskell/monad-control/default.nix
@@ -1,12 +1,14 @@
-{ cabal, baseUnicodeSymbols, transformers }:
+{ cabal, baseUnicodeSymbols, transformers, transformersBase }:
 
 cabal.mkDerivation (self: {
   pname = "monad-control";
-  version = "0.2.0.3";
-  sha256 = "0z7wjilrx6phqs2gxwv65dy1n3mc0j8hj3adshkwy6z8ggj283nh";
-  buildDepends = [ baseUnicodeSymbols transformers ];
+  version = "0.3.0.1";
+  sha256 = "0aa73cw82yssias0a9y237h9r4v4abvs0lv2lmhxaa4a4mdrj3ms";
+  buildDepends = [
+    baseUnicodeSymbols transformers transformersBase
+  ];
   meta = {
-    homepage = "https://github.com/basvandijk/monad-control/";
+    homepage = "https://github.com/basvandijk/monad-control";
     description = "Lift control operations, like exception catching, through monad transformers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/pango/default.nix b/pkgs/development/libraries/haskell/pango/default.nix
index 2bf090ab746a..99e4d04f774e 100644
--- a/pkgs/development/libraries/haskell/pango/default.nix
+++ b/pkgs/development/libraries/haskell/pango/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pango";
-  version = "0.12.1";
-  sha256 = "0bfwgz2wx0hw9lrf9fdc0pic7xjkiqnv1wr1lfp55gm2qhakz83w";
+  version = "0.12.2";
+  sha256 = "0kf9sw2ajqlvv9n685fbif7c8x1qnz4w3y3xqql3a1rv6s3kmqba";
   buildDepends = [ cairo glib mtl ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
diff --git a/pkgs/development/libraries/haskell/persistent-template/default.nix b/pkgs/development/libraries/haskell/persistent-template/default.nix
index 67d8e10a3ef9..7a32591b97c5 100644
--- a/pkgs/development/libraries/haskell/persistent-template/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-template/default.nix
@@ -1,10 +1,10 @@
-{ cabal, monadControl, persistent, text }:
+{ cabal, monadControl, persistent, text, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "persistent-template";
-  version = "0.6.3";
-  sha256 = "1vcjvfjxmv9c0wg7pbx0lw73128f5y0r4sfdsyq3jrkkiq1bgsxa";
-  buildDepends = [ monadControl persistent text ];
+  version = "0.6.3.1";
+  sha256 = "0hppxd80q7bnxz9vm08i278d9k95w6z139y73dy53ncqkp72ahrg";
+  buildDepends = [ monadControl persistent text transformers ];
   meta = {
     homepage = "http://www.yesodweb.com/book/persistent";
     description = "Type-safe, non-relational, multi-backend persistence";
diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix
index 70677d0f336d..527bbf9f2ae7 100644
--- a/pkgs/development/libraries/haskell/persistent/default.nix
+++ b/pkgs/development/libraries/haskell/persistent/default.nix
@@ -1,14 +1,15 @@
 { cabal, blazeHtml, dataObject, enumerator, monadControl, mtl
 , pathPieces, pool, sqlite, text, time, transformers
+, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "persistent";
-  version = "0.6.4";
-  sha256 = "149dk6i6w36rq3z6zzrcmpr0kxpp6hk0qpc43vwj0dm68nrffaqk";
+  version = "0.6.4.3";
+  sha256 = "0j4agwm8hcphrmzmc7d7al57cwp3i5iy7d8yhqw9m8pcx61sqkg4";
   buildDepends = [
     blazeHtml dataObject enumerator monadControl mtl pathPieces pool
-    text time transformers
+    text time transformers transformersBase
   ];
   extraLibraries = [ sqlite ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/pool/default.nix b/pkgs/development/libraries/haskell/pool/default.nix
index 51befe00ce47..09c871692ec9 100644
--- a/pkgs/development/libraries/haskell/pool/default.nix
+++ b/pkgs/development/libraries/haskell/pool/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pool";
-  version = "0.1.1";
-  sha256 = "0h498pi7048m4cida10s28dp9f8c2ig3m4s9chwrfw3yiyai926l";
+  version = "0.1.2";
+  sha256 = "05lrinyk9gxdf67vwdav93ral2y8qsb33i9y5k91vlcjfp7w516q";
   buildDepends = [ monadControl transformers ];
   meta = {
     homepage = "http://www.yesodweb.com/book/persistent";
diff --git a/pkgs/development/libraries/haskell/random-source/default.nix b/pkgs/development/libraries/haskell/random-source/default.nix
index 7bf8a2259561..caa4b65814ca 100755
--- a/pkgs/development/libraries/haskell/random-source/default.nix
+++ b/pkgs/development/libraries/haskell/random-source/default.nix
@@ -1,14 +1,14 @@
 { cabal, flexibleDefaults, mersenneRandomPure64, mtl, mwcRandom
-, random, stateref, syb
+, random, stateref, syb, thExtras
 }:
 
 cabal.mkDerivation (self: {
   pname = "random-source";
-  version = "0.3";
-  sha256 = "08nj7mq8gjj9rv1zmkr2m30z295k5b352103wb1ag1ryw5wyzg1n";
+  version = "0.3.0.2";
+  sha256 = "0sp39bj7rqg4w4rc4d4zgj0f77c23z4xc47p55chy12znc4frlp2";
   buildDepends = [
     flexibleDefaults mersenneRandomPure64 mtl mwcRandom random stateref
-    syb
+    syb thExtras
   ];
   meta = {
     homepage = "https://github.com/mokus0/random-fu";
diff --git a/pkgs/development/libraries/haskell/random/1.0.0.2.nix b/pkgs/development/libraries/haskell/random/1.0.0.2.nix
deleted file mode 100644
index e9101a114070..000000000000
--- a/pkgs/development/libraries/haskell/random/1.0.0.2.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ cabal, time }:
-
-cabal.mkDerivation (self: {
-  pname = "random";
-  version = "1.0.0.2";
-  sha256 = "5433aebb4bbfb999f1d02410c8ca3769c63cd8b02109d2771a37c12918f92dd5";
-  buildDepends = [ time ];
-  meta = {
-    description = "random number library";
-    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/random/1.0.1.0.nix b/pkgs/development/libraries/haskell/random/1.0.1.1.nix
index 275a1a097361..a4feee31d023 100644
--- a/pkgs/development/libraries/haskell/random/1.0.1.0.nix
+++ b/pkgs/development/libraries/haskell/random/1.0.1.1.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "random";
-  version = "1.0.1.0";
-  sha256 = "1ghdmjzcn6n02x4gffa4g7wag4g7azrgxk3nsc5fqn9iny6rwp2i";
+  version = "1.0.1.1";
+  sha256 = "0n8m2744gg233s357vqzq3mfhhnbhynqvp4gxsi2gb70bm03nz6z";
   buildDepends = [ time ];
   meta = {
     description = "random number library";
diff --git a/pkgs/development/libraries/haskell/safe/default.nix b/pkgs/development/libraries/haskell/safe/default.nix
index 20044e6905b0..067b7c4cf67d 100644
--- a/pkgs/development/libraries/haskell/safe/default.nix
+++ b/pkgs/development/libraries/haskell/safe/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "safe";
-  version = "0.3";
-  sha256 = "174jm7nlqsgvc6namjpfknlix6yy2sf9pxnb3ifznjvx18kgc7m0";
+  version = "0.3.3";
+  sha256 = "0ig9laq1p4iic24smjb304mvlsvdyn90lvxh64c4p75c8g459489";
   meta = {
     homepage = "http://community.haskell.org/~ndm/safe/";
     description = "Library for safe (pattern match free) functions";
diff --git a/pkgs/development/libraries/haskell/shakespeare-css/default.nix b/pkgs/development/libraries/haskell/shakespeare-css/default.nix
index 65f2debed9cf..1cef979c01e6 100644
--- a/pkgs/development/libraries/haskell/shakespeare-css/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-css/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shakespeare-css";
-  version = "0.10.2";
-  sha256 = "181bknfws2s7jygy527w93v07i04xf1pwyfmylva59p0z45adlb4";
+  version = "0.10.4";
+  sha256 = "006ndbhzxkr2zw6gs13bm5pfq7i301bbg6nhagm3h9nnzp155snz";
   buildDepends = [ parsec shakespeare text ];
   meta = {
     homepage = "http://www.yesodweb.com/book/templates";
diff --git a/pkgs/development/libraries/haskell/shakespeare-js/default.nix b/pkgs/development/libraries/haskell/shakespeare-js/default.nix
index 5a402840d715..a4a20c98b197 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 = "0.10.2";
-  sha256 = "1yyqfp2lj8vq7x2a74wrgm7kx6zp1djp67bls9ip74kxi24dbznv";
+  version = "0.10.3";
+  sha256 = "1xz4jf91dfz60dji31d3hyy1k01hk0v41pb8qmi598jylk9iz1r2";
   buildDepends = [ shakespeare text ];
   meta = {
     homepage = "http://www.yesodweb.com/book/templates";
diff --git a/pkgs/development/libraries/haskell/shakespeare-text/default.nix b/pkgs/development/libraries/haskell/shakespeare-text/default.nix
index 58ffa1404fc5..26ce04559ec6 100644
--- a/pkgs/development/libraries/haskell/shakespeare-text/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-text/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shakespeare-text";
-  version = "0.10.2";
-  sha256 = "04n1aflg4b5byfsg494d4dskx25nyy0a654wl4cxz8920sl7qpha";
+  version = "0.10.3";
+  sha256 = "0w3qf0zykdi5ixjcp0l9zdgwhbnnljn6ib88xkai05xkm6wzh06s";
   buildDepends = [ shakespeare text ];
   meta = {
     homepage = "http://www.yesodweb.com/book/templates";
diff --git a/pkgs/development/libraries/haskell/smallcheck/default.nix b/pkgs/development/libraries/haskell/smallcheck/default.nix
index a4106ea80027..d8a9bf24f55a 100644
--- a/pkgs/development/libraries/haskell/smallcheck/default.nix
+++ b/pkgs/development/libraries/haskell/smallcheck/default.nix
@@ -1,11 +1,13 @@
-{ cabal }:
+{ cabal, dlist }:
 
 cabal.mkDerivation (self: {
   pname = "smallcheck";
-  version = "0.4";
-  sha256 = "0nq13jm3akrmgk6n2clisip16v0jf1xkm0hm678v63s87hxqb1ma";
+  version = "0.6";
+  sha256 = "19b2dyjbryx2a5bq70pn2mbzlcvjjwhii78fwwx6q57r13zljb9v";
+  buildDepends = [ dlist ];
   meta = {
-    description = "Another lightweight testing library in Haskell";
+    homepage = "https://github.com/feuerbach/smallcheck";
+    description = "A property-based testing library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
diff --git a/pkgs/development/libraries/haskell/snap/core.nix b/pkgs/development/libraries/haskell/snap/core.nix
index ffdc99d2edf5..c0639515bf51 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.6.0.1";
-  sha256 = "1vcpi56a5cia8z7n3zskhl2b7v9vkqkr87hy8n3hz5lz1lc82kkz";
+  version = "0.7";
+  sha256 = "1rplv1pg531jfmvxlhl7lz9hdhbxllk59daik013i172wglggivp";
   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 bdfb541c3d3a..da786f8a7c66 100644
--- a/pkgs/development/libraries/haskell/snap/server.nix
+++ b/pkgs/development/libraries/haskell/snap/server.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap-server";
-  version = "0.6.0.1";
-  sha256 = "0df6db841vwakdxmmy375g89pjsgiv0a6nas37b68gaanfcrkch3";
+  version = "0.7";
+  sha256 = "1zvijghk7597xbmxv2x3qk92jlckwpz73c57cmfl63as5x6psxhr";
   buildDepends = [
     attoparsec attoparsecEnumerator binary blazeBuilder
     blazeBuilderEnumerator bytestringNums caseInsensitive directoryTree
diff --git a/pkgs/development/libraries/haskell/statistics/default.nix b/pkgs/development/libraries/haskell/statistics/default.nix
index 18347fc374e0..ad18f9cbd981 100644
--- a/pkgs/development/libraries/haskell/statistics/default.nix
+++ b/pkgs/development/libraries/haskell/statistics/default.nix
@@ -1,17 +1,16 @@
-{ cabal, aeson, deepseq, erf, monadPar, mwcRandom, primitive, time
-, vector, vectorAlgorithms
+{ cabal, deepseq, erf, monadPar, mwcRandom, primitive, vector
+, vectorAlgorithms
 }:
 
 cabal.mkDerivation (self: {
   pname = "statistics";
-  version = "0.9.0.0";
-  sha256 = "1rwp9gkjs011lxzhkajiljs6x2a4xc8cg558kpfy9xj4q1lk43x7";
+  version = "0.10.0.1";
+  sha256 = "0bn131yzq3qk4dpr78i3ndsxyn7hars9jw9krfsxmin9pqr114sw";
   buildDepends = [
-    aeson deepseq erf monadPar mwcRandom primitive time vector
-    vectorAlgorithms
+    deepseq erf monadPar mwcRandom primitive vector vectorAlgorithms
   ];
   meta = {
-    homepage = "http://bitbucket.org/bos/statistics";
+    homepage = "https://github.com/bos/statistics";
     description = "A library of statistical types, data, and functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/random/1.0.0.3.nix b/pkgs/development/libraries/haskell/syb/0.3.5.nix
index f89cad32f9e9..f15911c08bdc 100644
--- a/pkgs/development/libraries/haskell/random/1.0.0.3.nix
+++ b/pkgs/development/libraries/haskell/syb/0.3.5.nix
@@ -1,12 +1,12 @@
-{ cabal, time }:
+{ cabal }:
 
 cabal.mkDerivation (self: {
-  pname = "random";
-  version = "1.0.0.3";
-  sha256 = "0k2735vrx0id2dxzk7lkm22w07p7gy86zffygk60jxgh9rvignf6";
-  buildDepends = [ time ];
+  pname = "syb";
+  version = "0.3.5";
+  sha256 = "17gwhn0rqjf9zkx1dsmsaj41qdjlk4mq5lzpqkgy3slq30nwwwbr";
   meta = {
-    description = "random number library";
+    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 = [
diff --git a/pkgs/development/libraries/haskell/tagsoup/default.nix b/pkgs/development/libraries/haskell/tagsoup/default.nix
index d7efd13ea388..a6fcea3c1c2b 100644
--- a/pkgs/development/libraries/haskell/tagsoup/default.nix
+++ b/pkgs/development/libraries/haskell/tagsoup/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tagsoup";
-  version = "0.12.4";
-  sha256 = "0szm80sgjj173vdax7gv87mfp9xrq1w34i4v83nbvnfwrx8nis4w";
+  version = "0.12.6";
+  sha256 = "1q1dzsaj131fcvibka72i7si1i0gxkz5d9zl0akd8mbapy5mmlv5";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ text ];
diff --git a/pkgs/development/libraries/haskell/terminfo/default.nix b/pkgs/development/libraries/haskell/terminfo/default.nix
index 240b72d7a8f2..66212bbe3858 100644
--- a/pkgs/development/libraries/haskell/terminfo/default.nix
+++ b/pkgs/development/libraries/haskell/terminfo/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "terminfo";
-  version = "0.3.2.2";
-  sha256 = "1370vxvv32aarmk64yvwb8rav523xk7fg5h65cgxvn4ppjqv0f51";
+  version = "0.3.2.3";
+  sha256 = "06y2vx7d4hl55p3p1c7yj2lx8yaw14c5h2qclj8m5xg2wkifnf5f";
   buildDepends = [ extensibleExceptions ];
   extraLibraries = [ ncurses ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/test-framework/default.nix b/pkgs/development/libraries/haskell/test-framework/default.nix
index 21ea2ebe9549..64a45206b6e2 100644
--- a/pkgs/development/libraries/haskell/test-framework/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "test-framework";
-  version = "0.4.1.1";
-  sha256 = "1ig4v2y8xba2rg6pc8yjf0j20cwa3czknnfqn1sgpqhmip2961pc";
+  version = "0.4.2.0";
+  sha256 = "0a74ajlmwsajrj06k22zqwnyxqfrpbd9xplf4b1swafp7y952ind";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/texmath/default.nix b/pkgs/development/libraries/haskell/texmath/default.nix
index 2bfc62b9bff7..d25c80a18103 100644
--- a/pkgs/development/libraries/haskell/texmath/default.nix
+++ b/pkgs/development/libraries/haskell/texmath/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "texmath";
-  version = "0.5.0.2";
-  sha256 = "1ysg28q1l33hi6ias5pw0qps46kbys5piczipacrp58b0cm6pvrg";
+  version = "0.5.0.3";
+  sha256 = "0pw3b5qvsngy0wdny8y3widkaphvjksg7mnpa8yzqfsw0rl36s0p";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ parsec syb xml ];
diff --git a/pkgs/development/libraries/haskell/th-extras/default.nix b/pkgs/development/libraries/haskell/th-extras/default.nix
new file mode 100644
index 000000000000..9a5f4a32cdaa
--- /dev/null
+++ b/pkgs/development/libraries/haskell/th-extras/default.nix
@@ -0,0 +1,18 @@
+{ cabal, syb }:
+
+cabal.mkDerivation (self: {
+  pname = "th-extras";
+  version = "0.0.0.1";
+  sha256 = "13d9fs48z87inma3kg9b7lfjp3h8j85fav6awd1zj3i2nl214hff";
+  buildDepends = [ syb ];
+  meta = {
+    homepage = "https://github.com/mokus0/th-extras";
+    description = "A grab bag of useful functions for use with Template Haskell";
+    license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tls/default.nix b/pkgs/development/libraries/haskell/tls/default.nix
index b4d6dc5e83b6..ef0f1bb4dd00 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.8.2";
-  sha256 = "0306f7im6dclr2h50wvb7rw9r1zc5492hgqm3m33y1nlci319qx8";
+  version = "0.8.3.2";
+  sha256 = "1g30viz94qhwv3v16d9njrwyqmv0p1hs0r11xmzx0adp806w54z9";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/transformers-base/default.nix b/pkgs/development/libraries/haskell/transformers-base/default.nix
new file mode 100644
index 000000000000..6571b0822811
--- /dev/null
+++ b/pkgs/development/libraries/haskell/transformers-base/default.nix
@@ -0,0 +1,18 @@
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "transformers-base";
+  version = "0.4.0.1";
+  sha256 = "0avnnxbxh59xgxzb8vldysrbw37sim9iaiiscgjhdlscxy6yasbb";
+  buildDepends = [ transformers ];
+  meta = {
+    homepage = "https://github.com/mvv/transformers-base";
+    description = "Lift computations from the bottom of a transformer stack";
+    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/utility-ht/default.nix b/pkgs/development/libraries/haskell/utility-ht/default.nix
index 6c67d98c3bb1..6b79e4cdda84 100644
--- a/pkgs/development/libraries/haskell/utility-ht/default.nix
+++ b/pkgs/development/libraries/haskell/utility-ht/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "utility-ht";
-  version = "0.0.7";
-  sha256 = "83ffd750088a0eef5485b5dfadd13158ab7883655a3773bcc8d22485ba8d3a20";
+  version = "0.0.7.1";
+  sha256 = "0k097kyv6rxjvg1drnphv2mg882xx2lk098hs557fcsr16w658ma";
   meta = {
     description = "Various small helper functions for Lists, Maybes, Tuples, Functions";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
index e589c4b7d386..82a4d71bdfa8 100644
--- a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
+++ b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "uu-parsinglib";
-  version = "2.7.2.2";
-  sha256 = "0na5c2l6q6mzscqha59ma8v5d0j2vh3y5vl51gb7rzwqz4a6hg95";
+  version = "2.7.3";
+  sha256 = "18387pq6mqg6mns1cd16d22h98mx1xnz584q8w3rmn4cndrk3883";
   buildDepends = [ ListLike time ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/bin/view/HUT/ParserCombinators";
diff --git a/pkgs/development/libraries/haskell/vector-space/default.nix b/pkgs/development/libraries/haskell/vector-space/default.nix
index 3cc44a018f0e..b9ba9bae525a 100644
--- a/pkgs/development/libraries/haskell/vector-space/default.nix
+++ b/pkgs/development/libraries/haskell/vector-space/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "vector-space";
-  version = "0.7.8";
-  sha256 = "195g9zsb73w4a0fcfz0kank6gyqajww0qiqivr4fy0bik2nsr6ry";
+  version = "0.8.0";
+  sha256 = "1wd8psw2s98m8yfr8mam5abz2bhvxz1r78w703hgca8rr6hiaz0g";
   buildDepends = [ Boolean MemoTrie NumInstances ];
   meta = {
     homepage = "http://haskell.org/haskellwiki/vector-space";
diff --git a/pkgs/development/libraries/haskell/wai-app-static/default.nix b/pkgs/development/libraries/haskell/wai-app-static/default.nix
index 2ef32922346d..2cb4ae16ce7b 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 = "0.3.4";
-  sha256 = "0jxlm0qfv59c3q6ngvr94rzrn01byfn3wak208ws18xhk14cv058";
+  version = "0.3.5.1";
+  sha256 = "0pk7biyfg8za2i85vawgf3mxglbhk7bfl9xmiswqk6ppwwq2q4xb";
   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 120e1a96a26b..a0a736deeef3 100644
--- a/pkgs/development/libraries/haskell/wai-extra/default.nix
+++ b/pkgs/development/libraries/haskell/wai-extra/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-extra";
-  version = "0.4.4";
-  sha256 = "04mzpqa6q3ggk5r0shzc11q5qmmri566nzbsafpv2sbmiwm5s7nd";
+  version = "0.4.5.2";
+  sha256 = "05gq22il1jnvw5rcqr6gassxj29f8l4536zm6bpgk1kff8cxa3g1";
   buildDepends = [
     blazeBuilder blazeBuilderEnumerator caseInsensitive dataDefault
     enumerator httpTypes network text time transformers wai
diff --git a/pkgs/development/libraries/haskell/wai/default.nix b/pkgs/development/libraries/haskell/wai/default.nix
index d85d3629caed..b118d794563a 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 = "0.4.2";
-  sha256 = "18w4wzryyqcqqihwckbz92smkqhhxh3lmi0kgxkcgivyzvhd2jqy";
+  version = "0.4.3";
+  sha256 = "08dmsl90ibs6a4sadsd2dhf5mssf5jswk6n2jv19q5sg3dra4m84";
   buildDepends = [
     blazeBuilder enumerator httpTypes network text transformers
   ];
diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix
index b461e36d33fe..5ff960513071 100644
--- a/pkgs/development/libraries/haskell/warp/default.nix
+++ b/pkgs/development/libraries/haskell/warp/default.nix
@@ -5,14 +5,14 @@
 
 cabal.mkDerivation (self: {
   pname = "warp";
-  version = "0.4.5";
-  sha256 = "0ql9a7qa6ivsvgr66hgj6bs8c3y8rr320kk1cxq9qbpi00gy5j8b";
+  version = "0.4.6.2";
+  sha256 = "1ja9w3440j69w7638wrjd6067svqcsaqdl1zklr6jx20zyadww94";
   buildDepends = [
     blazeBuilder blazeBuilderEnumerator caseInsensitive enumerator
     httpTypes network simpleSendfile transformers unixCompat wai
   ];
   meta = {
-    homepage = "http://github.com/snoyberg/warp";
+    homepage = "http://github.com/yesodweb/wai";
     description = "A fast, light-weight web server for WAI applications";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/xml-enumerator/default.nix b/pkgs/development/libraries/haskell/xml-enumerator/default.nix
index 529cf7ff8ac6..698279be5c63 100644
--- a/pkgs/development/libraries/haskell/xml-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/xml-enumerator/default.nix
@@ -1,16 +1,15 @@
-{ cabal, attoparsecText, attoparsecTextEnumerator, blazeBuilder
+{ cabal, attoparsec, attoparsecEnumerator, blazeBuilder
 , blazeBuilderEnumerator, dataDefault, enumerator, failure, text
 , transformers, xmlTypes
 }:
 
 cabal.mkDerivation (self: {
   pname = "xml-enumerator";
-  version = "0.4.3.1";
-  sha256 = "1j9950vqaanjig6wv2pk582x1znzb141p5apg05z9i0sk1w5hczh";
+  version = "0.4.4";
+  sha256 = "1xz37gzk3kk9sqkcbyspcdyz7rk3afkv33g7q45ih5fbd7zkd5gm";
   buildDepends = [
-    attoparsecText attoparsecTextEnumerator blazeBuilder
-    blazeBuilderEnumerator dataDefault enumerator failure text
-    transformers xmlTypes
+    attoparsec attoparsecEnumerator blazeBuilder blazeBuilderEnumerator
+    dataDefault enumerator failure text transformers xmlTypes
   ];
   meta = {
     homepage = "http://github.com/snoyberg/xml";
diff --git a/pkgs/development/libraries/haskell/xss-sanitize/default.nix b/pkgs/development/libraries/haskell/xss-sanitize/default.nix
index e13e0e50c90b..745480ecf0c6 100644
--- a/pkgs/development/libraries/haskell/xss-sanitize/default.nix
+++ b/pkgs/development/libraries/haskell/xss-sanitize/default.nix
@@ -1,13 +1,11 @@
-{ cabal, attoparsecText, cssText, network, tagsoup, text
-, utf8String
-}:
+{ cabal, attoparsec, cssText, network, tagsoup, text, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "xss-sanitize";
-  version = "0.3.0.1";
-  sha256 = "1rycdjl7b7bk100vgdwy6iighdqsbsyvrklp0zqbl1x45abph9pc";
+  version = "0.3.1";
+  sha256 = "0s8nqqx5f5b07xxlda4gh0w6vmlkhbqbz36cf6glhbhhyw27jkx5";
   buildDepends = [
-    attoparsecText cssText network tagsoup text utf8String
+    attoparsec cssText network tagsoup text utf8String
   ];
   meta = {
     homepage = "http://github.com/gregwebs/haskell-xss-sanitize";
diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix
index fce7026c0ca5..76010bb4f868 100644
--- a/pkgs/development/libraries/haskell/yaml/default.nix
+++ b/pkgs/development/libraries/haskell/yaml/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yaml";
-  version = "0.4.1.1";
-  sha256 = "0qm7kfvi99m80m2lsmn98ssr2sfsw1rbbmzyjlg7bmvbaxsyw0b9";
+  version = "0.4.1.2";
+  sha256 = "1c7ffs5gkwk0l0vg7amsflra1j8ifd9cvvbqx9jzkqsay8hbr4vb";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ enumerator transformers ];
diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix
index c5bcd1888dd5..96a951f961d7 100644
--- a/pkgs/development/libraries/haskell/yesod-auth/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix
@@ -1,19 +1,20 @@
-{ cabal, aesonNative, authenticate, blazeHtml, controlMonadAttempt
+{ cabal, aeson, authenticate, blazeHtml, controlMonadAttempt
 , hamlet, httpEnumerator, mimeMail, persistent, persistentTemplate
 , pureMD5, pwstoreFast, random, SHA, shakespeareCss, text
-, transformers, wai, yesodCore, yesodForm, yesodJson
-, yesodPersistent
+, transformers, unorderedContainers, wai, yesodCore, yesodForm
+, yesodJson, yesodPersistent
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-auth";
-  version = "0.7.5";
-  sha256 = "1njs3z01as6mamdflx2686s4qq4qwpkl0xnfdlrhswzgfpn8qqb6";
+  version = "0.7.7.1";
+  sha256 = "12gzcrh8siziqd3jgimlgl7rgch8f6jl0fb96krnqpsa682003kc";
   buildDepends = [
-    aesonNative authenticate blazeHtml controlMonadAttempt hamlet
+    aeson authenticate blazeHtml controlMonadAttempt hamlet
     httpEnumerator mimeMail persistent persistentTemplate pureMD5
-    pwstoreFast random SHA shakespeareCss text transformers wai
-    yesodCore yesodForm yesodJson yesodPersistent
+    pwstoreFast random SHA shakespeareCss text transformers
+    unorderedContainers wai yesodCore yesodForm yesodJson
+    yesodPersistent
   ];
   meta = {
     homepage = "http://www.yesodweb.com/";
diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix
index 20b344eb2f01..c894a5138e69 100644
--- a/pkgs/development/libraries/haskell/yesod-core/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-core/default.nix
@@ -1,21 +1,21 @@
-{ cabal, aesonNative, blazeBuilder, blazeHtml, caseInsensitive
-, cereal, clientsession, cookie, dataObject, dataObjectYaml
-, enumerator, failure, hamlet, httpTypes, monadControl, parsec
-, pathPieces, random, shakespeare, shakespeareCss, shakespeareJs
-, strictConcurrency, text, time, transformers, vector, wai
-, waiExtra
+{ cabal, aeson, blazeBuilder, blazeHtml, caseInsensitive, cereal
+, clientsession, cookie, dataObject, dataObjectYaml, enumerator
+, failure, hamlet, httpTypes, monadControl, parsec, pathPieces
+, random, shakespeare, shakespeareCss, shakespeareJs
+, strictConcurrency, text, time, transformers, transformersBase
+, vector, wai, waiExtra
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-core";
-  version = "0.9.3.3";
-  sha256 = "0qy926x009mci17fhlrcn758vc9lxybzfg16pb69ydzbdr9lqa77";
+  version = "0.9.3.6";
+  sha256 = "00h1ylrr5wrid9vn3jhspibprx0175j9rcwdb1hd7ya5gwmzlhjs";
   buildDepends = [
-    aesonNative blazeBuilder blazeHtml caseInsensitive cereal
-    clientsession cookie dataObject dataObjectYaml enumerator failure
-    hamlet httpTypes monadControl parsec pathPieces random shakespeare
+    aeson blazeBuilder blazeHtml caseInsensitive cereal clientsession
+    cookie dataObject dataObjectYaml enumerator failure hamlet
+    httpTypes monadControl parsec pathPieces random shakespeare
     shakespeareCss shakespeareJs strictConcurrency text time
-    transformers vector wai waiExtra
+    transformers transformersBase vector wai waiExtra
   ];
   meta = {
     homepage = "http://www.yesodweb.com/";
diff --git a/pkgs/development/libraries/haskell/yesod-form/default.nix b/pkgs/development/libraries/haskell/yesod-form/default.nix
index 133d45c6c190..7ed924fb07b7 100644
--- a/pkgs/development/libraries/haskell/yesod-form/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-form/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-form";
-  version = "0.3.3";
-  sha256 = "1lym9h7xr26i36n62cvbdyzjxna1p0alyhx9qhi5zhg0xz4nd3xq";
+  version = "0.3.4";
+  sha256 = "05hvffzhwb6x6cmpvpf60hbzm4lvn7gp47rvspm5k6y6d999az3l";
   buildDepends = [
     blazeBuilder blazeHtml dataDefault emailValidate hamlet network
     persistent shakespeareCss shakespeareJs text time transformers wai
diff --git a/pkgs/development/libraries/haskell/yesod-json/default.nix b/pkgs/development/libraries/haskell/yesod-json/default.nix
index 2e5df42d9dad..167ead39dd5e 100644
--- a/pkgs/development/libraries/haskell/yesod-json/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-json/default.nix
@@ -1,10 +1,14 @@
-{ cabal, aesonNative, shakespeareJs, text, vector, yesodCore }:
+{ cabal, aeson, shakespeareJs, text, unorderedContainers, vector
+, yesodCore
+}:
 
 cabal.mkDerivation (self: {
   pname = "yesod-json";
-  version = "0.2.1";
-  sha256 = "1d710pqrdafyz8s0spd19vwvx5v9kwy44wb0byz3445jhi3kwn88";
-  buildDepends = [ aesonNative shakespeareJs text vector yesodCore ];
+  version = "0.2.2.1";
+  sha256 = "16l5ygj9xsg2lzw3mkn1kmq543n9w5z1g6lyl8nw5bblp66lfxq3";
+  buildDepends = [
+    aeson shakespeareJs text unorderedContainers vector yesodCore
+  ];
   meta = {
     homepage = "http://www.yesodweb.com/";
     description = "Generate content for Yesod using the aeson package";
diff --git a/pkgs/development/libraries/haskell/yesod-persistent/default.nix b/pkgs/development/libraries/haskell/yesod-persistent/default.nix
index 187780f9ebbb..00b5fb317fdb 100644
--- a/pkgs/development/libraries/haskell/yesod-persistent/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-persistent/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-persistent";
-  version = "0.2.1";
-  sha256 = "1ka8jsxr7i5rcjxnv82ykq34yqxqzxdvk4b3ck7pbvx2a4g7bxw9";
+  version = "0.2.2";
+  sha256 = "0pgvckyn3l9ggw77hmdpxfx5iwdk36fcfx464rqfzdy28agax47c";
   buildDepends = [
     failure persistent persistentTemplate transformers yesodCore
   ];
diff --git a/pkgs/development/libraries/haskell/yesod-static/default.nix b/pkgs/development/libraries/haskell/yesod-static/default.nix
index 0f700667f34a..65cb54931817 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 = "0.3.1.2";
-  sha256 = "0r72xspxq7122k9vird4yqqzrn6p4xgzvxid7ig62zdxjlw1p36j";
+  version = "0.3.2";
+  sha256 = "0m0fws0bwhf1cyw1a3cg85mhdjr9pv35a39671jsqkkvmmxiixlf";
   buildDepends = [
     base64Bytestring cereal enumerator fileEmbed httpTypes pureMD5 text
     transformers unixCompat wai waiAppStatic yesodCore
diff --git a/pkgs/development/libraries/haskell/yesod/default.nix b/pkgs/development/libraries/haskell/yesod/default.nix
index 8e924bc2e9f9..ecd7dc012aa4 100644
--- a/pkgs/development/libraries/haskell/yesod/default.nix
+++ b/pkgs/development/libraries/haskell/yesod/default.nix
@@ -1,4 +1,4 @@
-{ cabal, attoparsecText, blazeBuilder, blazeHtml, hamlet, httpTypes
+{ cabal, attoparsec, blazeBuilder, blazeHtml, hamlet, httpTypes
 , monadControl, parsec, shakespeareCss, shakespeareJs
 , shakespeareText, text, time, transformers, unixCompat, wai
 , waiExtra, warp, yesodAuth, yesodCore, yesodForm, yesodJson
@@ -7,12 +7,12 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod";
-  version = "0.9.3.1";
-  sha256 = "0af4nyfrpvkyr070fkg1qf4pn783n5443j8hi3wqn4i371vqsmp0";
+  version = "0.9.3.4";
+  sha256 = "1iw6qf1dywss8w4ig3dr04cyi01jq9frvmkbqgj5jq8v11y55x6v";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    attoparsecText blazeBuilder blazeHtml hamlet httpTypes monadControl
+    attoparsec blazeBuilder blazeHtml hamlet httpTypes monadControl
     parsec shakespeareCss shakespeareJs shakespeareText text time
     transformers unixCompat wai waiExtra warp yesodAuth yesodCore
     yesodForm yesodJson yesodPersistent
diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix
index 9bb7562cc210..303f2750d82a 100644
--- a/pkgs/development/libraries/hwloc/default.nix
+++ b/pkgs/development/libraries/hwloc/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, cairo, expat, ncurses }:
+{ stdenv, fetchurl, pkgconfig, cairo, expat, ncurses, libX11 }:
 
 stdenv.mkDerivation rec {
-  name = "hwloc-1.2";
+  name = "hwloc-1.3";
 
   src = fetchurl {
-    url = "http://www.open-mpi.org/software/hwloc/v1.2/downloads/${name}.tar.bz2";
-    sha256 = "04mrlmcp596imzbhlflb53ddld705k9617rzpprnhp3643krn0dw";
+    url = "http://www.open-mpi.org/software/hwloc/v1.3/downloads/${name}.tar.bz2";
+    sha256 = "10zlz0hng7scjx1xn8jflx3gbga5djbhxhj94k5kszrivc8zh8xy";
   };
 
-  buildInputs = [ pkgconfig cairo expat ncurses ];
+  # XXX: libX11 is not directly needed, but needed as a propagated dep of Cairo.
+  buildInputs = [ pkgconfig cairo expat ncurses libX11 ];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/isl/default.nix b/pkgs/development/libraries/isl/default.nix
index 8a59c3387119..2261baba0309 100644
--- a/pkgs/development/libraries/isl/default.nix
+++ b/pkgs/development/libraries/isl/default.nix
@@ -1,31 +1,24 @@
 {stdenv, fetchurl, gmp, static ? false}:
 
-let 
-  version = "0.06";
-  staticFlags = if static then " --enable-static --disable-shared" else "";
-in
-
 stdenv.mkDerivation rec {
-  name = "isl-${version}";
-  
+  name = "isl-0.07";             # CLooG 0.16.3 fails to build with ISL 0.08.
+
   src = fetchurl {
-    url = "http://www.kotnet.org/~skimo/isl/isl-${version}.tar.bz2";
-    sha256 = "0w1i1m94w0jkmm0bzlp08c4r97j7yp0d7crxf28524b9mgbg0mwk";
+    url = "http://www.kotnet.org/~skimo/isl/${name}.tar.bz2";
+    sha256 = "0kpxmvhrwwdygqqafqzjf9xiksq7paac2x24g9jhr3f9ajj3zkyx";
   };
 
   buildInputs = [ gmp ];
 
-  dontDisableStatic = if static then true else false;
-  configureFlags = "--with-gmp-prefix=${gmp}" + staticFlags;
-  crossAttrs = {
-    configureFlags = configureFlags + " --with-gmp-prefix=${gmp.hostDrv} ";
-  };
+  dontDisableStatic = static;
+  configureFlags =
+    stdenv.lib.optionals static [ " --enable-static" "--disable-shared" ];
 
   meta = {
     homepage = http://www.kotnet.org/~skimo/isl/;
     license = "LGPLv2.1";
     description = "A library for manipulating sets and relations of integer points bounded by linear constraints.";
     maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms = stdenv.lib.platforms.all;
   };
 }
-
diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix
index 63bee27da78c..c9b02d1cef2a 100644
--- a/pkgs/development/libraries/libassuan/default.nix
+++ b/pkgs/development/libraries/libassuan/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, pth, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  name = "libassuan-2.0.0";
+  name = "libassuan-2.0.2";
 
   src = fetchurl {
     url = "mirror://gnupg/libassuan/${name}.tar.bz2";
-    sha256 = "13vzs4jxscnlskwzd3wpqwnfb5f0hwqc75rbi8j9f42bs6q08apx";
+    sha256 = "1n5lfpafq9sjb3r06lw7vrrjmbs3p035zfakx7ff5bfb7niwpq31";
   };
 
   propagatedBuildInputs = [ pth libgpgerror ];
diff --git a/pkgs/development/libraries/libchop/default.nix b/pkgs/development/libraries/libchop/default.nix
new file mode 100644
index 000000000000..a736aec1600f
--- /dev/null
+++ b/pkgs/development/libraries/libchop/default.nix
@@ -0,0 +1,47 @@
+{ fetchurl, stdenv, zlib, bzip2, libgcrypt, gdbm, gperf, tdb, gnutls, db4
+, libuuid, lzo, pkgconfig, guile }:
+
+stdenv.mkDerivation rec {
+  name = "libchop-0.5.1";
+
+  src = fetchurl {
+    url = "mirror://savannah/libchop/${name}.tar.gz";
+    sha256 = "1sfq4ibzc9fjmq7ga96k05lr77cyizxnipa3bzm5d22jwal1x3ib";
+  };
+
+  buildNativeInputs = [ pkgconfig gperf ];
+  buildInputs =
+    [ zlib bzip2 lzo
+      libgcrypt
+      gdbm db4 tdb
+      gnutls libuuid
+      guile
+    ];
+
+  doCheck = true;
+
+  meta = {
+    description = "libchop, tools & library for data backup and distributed storage";
+
+    longDescription =
+      '' Libchop is a set of utilities and library for data backup and
+         distributed storage.  Its main application is chop-backup, an
+         encrypted backup program that supports data integrity checks,
+         versioning at little cost, distribution among several sites,
+         selective sharing of stored data, adaptive compression, and more.
+         The library itself, which chop-backup builds upon, implements
+         storage techniques such as content-based addressing, content hash
+         keys, Merkle trees, similarity detection, and lossless compression.
+         It makes it easy to combine them in different ways.  The
+         ‘chop-archiver’ and ‘chop-block-server’ tools, illustrated in the
+         manual, provide direct access to these facilities from the command
+         line.  It is written in C and has Guile (Scheme) bindings.
+      '';
+
+    homepage = http://nongnu.org/libchop/;
+    license = "GPLv3+";
+
+    maintainers = with stdenv.lib.maintainers; [ ludo viric ];
+    platforms = stdenv.lib.platforms.gnu;
+  };
+}
diff --git a/pkgs/development/libraries/libdvbpsi/default.nix b/pkgs/development/libraries/libdvbpsi/default.nix
new file mode 100644
index 000000000000..d3ce7082621d
--- /dev/null
+++ b/pkgs/development/libraries/libdvbpsi/default.nix
@@ -0,0 +1,19 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+
+  name = "libdvbpsi-0.2.2";
+
+  src = fetchurl {
+    url = http://download.videolan.org/pub/libdvbpsi/0.2.2/libdvbpsi-0.2.2.tar.bz2;
+    sha256 = "1lry2swxqm8mhq0a4rjnc819ngsf2pxnfjajb57lml7yr12j79ls";
+  };
+
+  meta = {
+    description = "A simple library designed for decoding and generation of MPEG TS and DVB PSI tables according to standards ISO/IEC 13818 and ITU-T H.222.0";
+    homepage = http://www.videolan.org/developers/libdvbpsi.html ;
+    platforms = stdenv.lib.platforms.linux;
+    license = "LGPLv2.1";
+  };
+
+}
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index f167ecbc2ad9..255057b5134a 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "libgpg-error-1.8";
+  name = "libgpg-error-1.10";
 
   src = fetchurl {
     url = "mirror://gnupg/libgpg-error/${name}.tar.bz2";
-    sha256 = "1i88jl2jm8ckjzyzk7iw2dydk7sxcd27zqyl4qnrs8s7f5kz5yxx";
+    sha256 = "0cal3jdnzdailr13qcy74grfbplbghkgr3qwk6qjjp4bass2j1jj";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix
index 7510c6be8997..3c72382dea4f 100644
--- a/pkgs/development/libraries/libidn/default.nix
+++ b/pkgs/development/libraries/libidn/default.nix
@@ -1,14 +1,14 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "libidn-1.22";
+  name = "libidn-1.23";
 
   src = fetchurl {
     url = "mirror://gnu/libidn/${name}.tar.gz";
-    sha256 = "1vc8yni7sg5iq1ijg9l558pa4v6c1v5l57zc024lgxcmhy35wxig";
+    sha256 = "0sjy1k35x3r5vfkd5j21gy0xdlzg9svm74wn3hpfbfhyhmsjvd15";
   };
 
-  doCheck = true;
+  doCheck = ! stdenv.isDarwin;
 
   meta = {
     homepage = http://www.gnu.org/software/libidn/;
diff --git a/pkgs/development/libraries/libofx/default.nix b/pkgs/development/libraries/libofx/default.nix
index acacd89f02be..ba031cd927c4 100644
--- a/pkgs/development/libraries/libofx/default.nix
+++ b/pkgs/development/libraries/libofx/default.nix
@@ -1,15 +1,13 @@
 { stdenv, fetchurl, opensp, pkgconfig, libxml2, curl }:
         
 stdenv.mkDerivation rec {
-  name = "libofx-0.9.1";
+  name = "libofx-0.9.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/libofx/${name}.tar.gz";
-    sha256 = "0gyana7v3pcqdpncjr5vg5z2r2z3rvg0fiml59mazi9n62zk86rj";
+    sha256 = "1byvc1ar7s0nivi5cmycwlwh1y4xiad7ipfkgx57lbk7slgn8c4v";
   };
 
-  patches = [ ./libofx-0.9.0-gcc43.patch ];
-
   configureFlags = [ "--with-opensp-includes=${opensp}/include/OpenSP" ];
   buildInputs = [ opensp pkgconfig libxml2 curl ];
 
diff --git a/pkgs/development/libraries/libofx/libofx-0.9.0-gcc43.patch b/pkgs/development/libraries/libofx/libofx-0.9.0-gcc43.patch
deleted file mode 100644
index 63ced2d5f81c..000000000000
--- a/pkgs/development/libraries/libofx/libofx-0.9.0-gcc43.patch
+++ /dev/null
@@ -1,375 +0,0 @@
-http://bugs.gentoo.org/218782
-diff -NrU5 libofx-0.9.0.orig/lib/ofx_container_transaction.cpp libofx-0.9.0/lib/ofx_container_transaction.cpp
---- libofx-0.9.0.orig/lib/ofx_container_transaction.cpp	2007-11-10 00:10:49.000000000 +0100
-+++ libofx-0.9.0/lib/ofx_container_transaction.cpp	2008-04-21 22:26:24.000000000 +0200
-@@ -19,10 +19,11 @@
- 
- #ifdef HAVE_CONFIG_H
- #include <config.h>
- #endif
- 
-+#include <cstdlib>
- #include <string>
- #include "messages.hh"
- #include "libofx.h"
- #include "ofx_containers.hh"
- #include "ofx_utilities.hh"
-diff -NrU5 libofx-0.9.0.orig/lib/ofx_request_accountinfo.cpp libofx-0.9.0/lib/ofx_request_accountinfo.cpp
---- libofx-0.9.0.orig/lib/ofx_request_accountinfo.cpp	2007-10-28 03:33:43.000000000 +0100
-+++ libofx-0.9.0/lib/ofx_request_accountinfo.cpp	2008-04-21 22:26:24.000000000 +0200
-@@ -19,10 +19,11 @@
- 
- #ifdef HAVE_CONFIG_H
- #include <config.h>
- #endif
- 
-+#include <cstdlib>
- #include <string>
- #include "libofx.h"
- #include "ofx_request_accountinfo.hh"
- 
- using namespace std;
-diff -NrU5 libofx-0.9.0.orig/lib/ofx_request.cpp libofx-0.9.0/lib/ofx_request.cpp
---- libofx-0.9.0.orig/lib/ofx_request.cpp	2007-10-28 03:37:52.000000000 +0100
-+++ libofx-0.9.0/lib/ofx_request.cpp	2008-04-21 22:26:24.000000000 +0200
-@@ -19,10 +19,11 @@
- 
- #ifdef HAVE_CONFIG_H
- #include <config.h>
- #endif
- 
-+#include <cstring>
- #include <string>
- #include "messages.hh"
- #include "libofx.h"
- #include "ofx_request.hh"
- 
-diff -NrU5 libofx-0.9.0.orig/lib/ofx_request_statement.cpp libofx-0.9.0/lib/ofx_request_statement.cpp
---- libofx-0.9.0.orig/lib/ofx_request_statement.cpp	2007-10-28 13:57:18.000000000 +0100
-+++ libofx-0.9.0/lib/ofx_request_statement.cpp	2008-04-21 22:26:24.000000000 +0200
-@@ -19,10 +19,11 @@
- 
- #ifdef HAVE_CONFIG_H
- #include <config.h>
- #endif
- 
-+#include <cstdlib>
- #include <string>
- #include "libofx.h"
- #include "ofx_utilities.hh"
- #include "ofx_request_statement.hh"
- 
-diff -NrU5 libofx-0.9.0.orig/lib/ofx_utilities.cpp libofx-0.9.0/lib/ofx_utilities.cpp
---- libofx-0.9.0.orig/lib/ofx_utilities.cpp	2007-10-27 14:12:49.000000000 +0200
-+++ libofx-0.9.0/lib/ofx_utilities.cpp	2008-04-21 22:26:24.000000000 +0200
-@@ -19,11 +19,12 @@
- #include <iostream>
- #include <assert.h>
- 
- #include "ParserEventGeneratorKit.h"
- #include "SGMLApplication.h"
--#include <time.h>
-+#include <ctime>
-+#include <cstdlib>
- #include <string>
- #include <locale.h>
- #include "messages.hh"
- #include "ofx_utilities.hh"
- 
-diff -NrU5 libofx-0.9.0.orig/lib/ofx_utilities.cpp.orig libofx-0.9.0/lib/ofx_utilities.cpp.orig
---- libofx-0.9.0.orig/lib/ofx_utilities.cpp.orig	1970-01-01 01:00:00.000000000 +0100
-+++ libofx-0.9.0/lib/ofx_utilities.cpp.orig	2007-10-27 14:12:49.000000000 +0200
-@@ -0,0 +1,245 @@
-+/***************************************************************************
-+                          ofx_util.cpp
-+                             -------------------
-+    copyright            : (C) 2002 by Benoit Grégoire
-+    email                : bock@step.polymtl.ca
-+ ***************************************************************************/
-+/**@file
-+ * \brief Various simple functions for type conversion & al
-+ */
-+/***************************************************************************
-+ *                                                                         *
-+ *   This program is free software; you can redistribute it and/or modify  *
-+ *   it under the terms of the GNU General Public License as published by  *
-+ *   the Free Software Foundation; either version 2 of the License, or     *
-+ *   (at your option) any later version.                                   *
-+ *                                                                         *
-+ ***************************************************************************/
-+#include <config.h>
-+#include <iostream>
-+#include <assert.h>
-+
-+#include "ParserEventGeneratorKit.h"
-+#include "SGMLApplication.h"
-+#include <time.h>
-+#include <string>
-+#include <locale.h>
-+#include "messages.hh"
-+#include "ofx_utilities.hh"
-+
-+#ifdef OS_WIN32
-+# define DIRSEP "\\"
-+#else
-+# define DIRSEP "/"
-+#endif
-+
-+
-+using namespace std;
-+/**
-+   Convert an OpenSP CharString directly to a C++ stream, to enable the use of cout directly for debugging.
-+*/ 
-+/*ostream &operator<<(ostream &os, SGMLApplication::CharString s)
-+  {
-+  for (size_t i = 0; i < s.len; i++)
-+  {
-+  os << ((char *)(s.ptr))[i*sizeof(SGMLApplication::Char)];
-+  }
-+  return os;
-+  }*/
-+
-+/*wostream &operator<<(wostream &os, SGMLApplication::CharString s)
-+  {
-+  for (size_t i = 0; i < s.len; i++)
-+  {//cout<<i;
-+  os << wchar_t(s.ptr[i*MULTIPLY4]);  
-+  }
-+  return os;
-+  }            */
-+
-+/*wchar_t* CharStringtowchar_t(SGMLApplication::CharString source, wchar_t *dest)
-+  {
-+  size_t i;
-+  for (i = 0; i < source.len; i++)
-+  {
-+  dest[i]+=wchar_t(source.ptr[i*sizeof(SGMLApplication::Char)*(sizeof(char)/sizeof(wchar_t))]);
-+  }
-+  return dest;
-+  }*/
-+
-+string CharStringtostring(const SGMLApplication::CharString source, string &dest)
-+{
-+  size_t i;
-+  dest.assign("");//Empty the provided string
-+  //  cout<<"Length: "<<source.len<<"sizeof(Char)"<<sizeof(SGMLApplication::Char)<<endl;
-+  for (i = 0; i < source.len; i++){
-+    dest+=(char)(((source.ptr)[i]));  
-+    //    cout<<i<<" "<<(char)(((source.ptr)[i]))<<endl; 
-+  }
-+  return dest;
-+}
-+
-+string AppendCharStringtostring(const SGMLApplication::CharString source, string &dest)
-+{
-+  size_t i;
-+  for (i = 0; i < source.len; i++)
-+    {
-+      dest+=(char)(((source.ptr)[i]));
-+    }
-+  return dest;
-+}
-+
-+/** 
-+ * Converts a date from the YYYYMMDDHHMMSS.XXX[gmt offset:tz name] OFX format (see OFX 2.01 spec p.66) to a C time_t.
-+ * @param ofxdate date from the YYYYMMDDHHMMSS.XXX[gmt offset:tz name] OFX format
-+ * @return C time_t in the local time zone
-+ * @note
-+ * @li The library always returns the time in the systems local time
-+ * @li OFX defines the date up to the millisecond.  The library ignores those milliseconds, since ANSI C does not handle such precision cleanly.  The date provided by LibOFX is precise to the second, assuming that information this precise was provided in the ofx file.  So you wont know the millisecond you were ruined...
-+ 
-+ * @note DEVIATION FROM THE SPECS : The OFX specifications (both version 1.6 and 2.02) state that a client should assume that if the server returns a date without à specific time, we assume it means 0h00 GMT.  As such, when we apply the local timezone and for example you are in the EST timezone, we will remove 5h, and the transaction will have occurred on the prior day!  This is probably not what the bank intended (and will lead to systematic errors), but the spec is quite explicit in this respect (Ref:  OFX 2.01 spec pp. 66-68)<BR><BR>
-+ * To solve this problem (since usually a time error is relatively unimportant, but date error is), and to avoid problems in Australia caused by the behaviour in libofx up to 0.6.4, it was decided starting with 0.6.5 to use the following behavior:<BR><BR>
-+ * -No specific time is given in the file (date only):  Considering that most banks seem to be sending dates in this format represented as local time (not compliant with the specs), the transaction is assumed to have occurred 11h59 (just before noon) LOCAL TIME.  This way, we should never change the date, since you'd have to travel in a timezone at least 11 hours backwards or 13 hours forward from your own to introduce mistakes.  However, if you are in timezone +13 or +14, and your bank meant the data to be interpreted by the spec, you will get the wrong date.  We hope that banks in those timezone will either represent in local time like most, or specify the timezone properly.<BR><BR>
-+ * -No timezone is specified, but exact time is, the same behavior is mostly used, as many banks just append zeros instead of using the short notation.  However, the time specified is used, even if 0 (midnight).<BR><BR>
-+ * -When a timezone is specified, it is always used to properly convert in local time, following the spec.
-+ *
-+ */
-+time_t ofxdate_to_time_t(const string ofxdate)
-+{
-+  struct tm time;
-+  double local_offset; /* in seconds */
-+  float ofx_gmt_offset; /* in fractionnal hours */
-+  char timezone[4]; /* Original timezone: the library does not expose this value*/
-+  char exact_time_specified = false;
-+  char time_zone_specified = false;
-+
-+  time_t temptime;
-+  std::time(&temptime);
-+  local_offset = difftime(mktime(localtime(&temptime)), mktime(gmtime(&temptime)));
-+  
-+  if(ofxdate.size()!=0){
-+    time.tm_year=atoi(ofxdate.substr(0,4).c_str())-1900;
-+    time.tm_mon=atoi(ofxdate.substr(4,2).c_str())-1;
-+    time.tm_mday=atoi(ofxdate.substr(6,2).c_str());
-+    if(ofxdate.size()>8) {
-+    /* if exact time is specified */
-+exact_time_specified = true;
-+      time.tm_hour=atoi(ofxdate.substr(8,2).c_str());
-+      time.tm_min=atoi(ofxdate.substr(10,2).c_str());
-+      time.tm_sec=atoi(ofxdate.substr(12,2).c_str());
-+    }
-+    
-+    /* Check if the timezone has been specified */
-+    string::size_type startidx = ofxdate.find("[");
-+    string::size_type endidx;
-+    if(startidx!=string::npos){
-+      /* Time zone was specified */
-+      time_zone_specified = true;
-+      startidx++;
-+      endidx = ofxdate.find(":", startidx)-1;
-+      ofx_gmt_offset=atof(ofxdate.substr(startidx,(endidx-startidx)+1).c_str());
-+      startidx = endidx+2;
-+      strncpy(timezone,ofxdate.substr(startidx,3).c_str(),4);
-+    }
-+    else{
-+      /* Time zone was not specified, assume GMT (provisionnaly) in case exact time is specified */
-+      ofx_gmt_offset=0;
-+      strcpy(timezone, "GMT");
-+    }
-+
-+    if(time_zone_specified == true)
-+      {
-+	/* If the timezone is specified always correct the timezone */
-+	/* If the timezone is not specified, but the exact time is, correct the timezone, assuming GMT following the spec */
-+	/* Correct the time for the timezone */
-+	time.tm_sec = time.tm_sec + (int)(local_offset - (ofx_gmt_offset*60*60));//Convert from fractionnal hours to seconds
-+      }
-+    else if (exact_time_specified == false)
-+      {
-+	/*Time zone data missing and exact time not specified, diverge from the OFX spec ans assume 11h59 local time */
-+       time.tm_hour=11;
-+       time.tm_min=59;
-+       time.tm_sec=0;
-+      }
-+  }
-+  else{
-+    message_out(ERROR, "ofxdate_to_time_t():  Unable to convert time, string is 0 length!");
-+  }
-+  return mktime(&time);
-+}
-+
-+/**
-+ * Convert a C++ string containing an amount of money as specified by the OFX standard and convert it to a double float.
-+ *\note The ofx number format is the following:  "." or "," as decimal separator, NO thousands separator.
-+ */ 
-+double ofxamount_to_double(const string ofxamount)
-+{
-+  //Replace commas and decimal points for atof()
-+  string::size_type idx;
-+  string tmp = ofxamount;
-+
-+  idx = tmp.find(',');
-+  if(idx==string::npos){
-+    idx = tmp.find('.');
-+  }
-+  
-+  if(idx!=string::npos){
-+    tmp.replace(idx,1,1,((localeconv())->decimal_point)[0]);
-+  }
-+
-+  return atof(tmp.c_str());
-+}
-+
-+/**
-+Many weird caracters can be present inside a SGML element, as a result on the transfer protocol, or for any reason.  This function greatly enhances the reliability of the library by zapping those gremlins (backspace,formfeed,newline,carriage return, horizontal and vertical tabs) as well as removing whitespace at the begining and end of the string.  Otherwise, many problems will occur during stringmatching.
-+*/
-+string strip_whitespace(const string para_string)
-+{
-+  size_t index;
-+  size_t i;
-+  string temp_string = para_string;
-+  const char *whitespace = " \b\f\n\r\t\v";
-+  const char *abnormal_whitespace = "\b\f\n\r\t\v";//backspace,formfeed,newline,cariage return, horizontal and vertical tabs
-+  message_out(DEBUG4,"strip_whitespace() Before: |"+temp_string+"|");
-+  for(i=0;i<=temp_string.size()&&temp_string.find_first_of(whitespace, i)==i&&temp_string.find_first_of(whitespace, i)!=string::npos;i++);
-+  temp_string.erase(0,i);//Strip leading whitespace
-+  for(i=temp_string.size()-1;(i>=0)&&(temp_string.find_last_of(whitespace, i)==i)&&(temp_string.find_last_of(whitespace, i)!=string::npos);i--);
-+  temp_string.erase(i+1,temp_string.size()-(i+1));//Strip trailing whitespace
-+  
-+while ((index = temp_string.find_first_of(abnormal_whitespace))!=string::npos)
-+  {
-+    temp_string.erase(index,1);//Strip leading whitespace
-+  };
-+ 
-+ message_out(DEBUG4,"strip_whitespace() After:  |"+temp_string+"|");
-+ 
-+ return temp_string;
-+}
-+
-+
-+int mkTempFileName(const char *tmpl, char *buffer, unsigned int size) {
-+  const char *tmp_dir;
-+
-+  tmp_dir = getenv ("TMPDIR");
-+  if (!tmp_dir)
-+    tmp_dir = getenv ("TMP");
-+  if (!tmp_dir)
-+    tmp_dir = getenv ("TEMP");
-+
-+  if (!tmp_dir)
-+    {
-+#ifdef OS_WIN32
-+      tmp_dir = "C:\\";
-+#else  
-+      tmp_dir = "/tmp";
-+#endif	/* !OS_WIN32 */
-+    }
-+
-+  strncpy(buffer, tmp_dir, size);
-+  assert((strlen(buffer)+strlen(tmpl)+2)<size);
-+  strcat(buffer, DIRSEP);
-+  strcat(buffer, tmpl);
-+  return 0;
-+}
-+
-+
-+
-diff -NrU5 libofx-0.9.0.orig/ofxconnect/ofxconnect.cpp libofx-0.9.0/ofxconnect/ofxconnect.cpp
---- libofx-0.9.0.orig/ofxconnect/ofxconnect.cpp	2007-10-26 20:24:10.000000000 +0200
-+++ libofx-0.9.0/ofxconnect/ofxconnect.cpp	2008-04-21 22:31:18.000000000 +0200
-@@ -34,10 +34,11 @@
- #include "libofx.h"
- #include <config.h>		/* Include config constants, e.g., VERSION TF */
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-+#include <cstring>
- 
- #ifdef HAVE_LIBCURL
- #include <curl/curl.h>
- #endif
- 
-diff -NrU5 libofx-0.9.0.orig/ofxconnect/ofxpartner.cpp libofx-0.9.0/ofxconnect/ofxpartner.cpp
---- libofx-0.9.0.orig/ofxconnect/ofxpartner.cpp	2006-03-26 06:49:54.000000000 +0200
-+++ libofx-0.9.0/ofxconnect/ofxpartner.cpp	2008-04-21 22:28:26.000000000 +0200
-@@ -33,10 +33,13 @@
- #include <sys/stat.h>
- 
- #include <iostream>
- #include <string>
- #include <vector>
-+#include <algorithm>
-+#include <cstring>
-+
- 
- using std::string;
- using std::vector;
- using std::cout;
- using std::endl;
-diff -NrU5 libofx-0.9.0.orig/ofxdump/ofxdump.cpp libofx-0.9.0/ofxdump/ofxdump.cpp
---- libofx-0.9.0.orig/ofxdump/ofxdump.cpp	2006-08-02 06:19:22.000000000 +0200
-+++ libofx-0.9.0/ofxdump/ofxdump.cpp	2008-04-21 22:26:24.000000000 +0200
-@@ -27,10 +27,12 @@
-  *   (at your option) any later version.                                   *
-  *                                                                         *
-  ***************************************************************************/
- #include <iostream>
- #include <iomanip>
-+#include <cstdlib>
-+#include <cstring>
- #include <string>
- #include "libofx.h"
- #include <stdio.h>		/* for printf() */
- #include <config.h>		/* Include config constants, e.g., VERSION TF */
- #include <errno.h>
diff --git a/pkgs/development/libraries/librsync/default.nix b/pkgs/development/libraries/librsync/default.nix
index 84f34eeebe1d..a70a61042e00 100644
--- a/pkgs/development/libraries/librsync/default.nix
+++ b/pkgs/development/libraries/librsync/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "1mj1pj99mgf1a59q9f2mxjli2fzxpnf55233pc1klxk2arhf8cv6";
   };
 
-  configureFlags = "--enable-shared";
+  configureFlags = if stdenv.isCygwin then "--enable-static" else "--enable-shared";
 
   meta = {
     homepage = http://librsync.sourceforge.net/;
diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix
index 660b02d0a930..edaae75a66b5 100644
--- a/pkgs/development/libraries/libtasn1/default.nix
+++ b/pkgs/development/libraries/libtasn1/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libtasn1-2.10";
+  name = "libtasn1-2.11";
 
   src = fetchurl {
     url = "mirror://gnu/libtasn1/${name}.tar.gz";
-    sha256 = "1l0622ysv68k1xazg3000m47h8dd7pbnxhik6v0kf17029ic1r0p";
+    sha256 = "1yws0xfys6fm7ywb3pr8ncl3gr37iky7454if8dbzsicq5vkrm7l";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
index 90b643c11c1e..8916e926771c 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libtorrent-rasterbar-${version}";
-  version = "0.15.4";
+  version = "0.15.8";
   
   src = fetchurl {
     url = "http://libtorrent.googlecode.com/files/${name}.tar.gz";
-    sha256 = "1pjdn0as4h71bhm0fbjqsh1y10fbifn2hfrkhkgdsdqhz7vdbfwy";
+    sha256 = "0767i20igrfadscw3vdyadd4qidybwx9h898rkaq95zlwhaygpzm";
   };
 
   buildInputs = [ boost pkgconfig openssl zlib ];
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 451c2f28a8fc..bf4d858f023f 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -3,14 +3,14 @@
 , libtasn1, ebtables, libgcrypt
 }:
 
-let version = "0.9.2"; in
+let version = "0.9.7"; in
 
 stdenv.mkDerivation {
   name = "libvirt-${version}";
 
   src = fetchurl {
     url = "http://libvirt.org/sources/libvirt-${version}.tar.gz";
-    sha256 = "0f4z85whrjfjjfd9rmpn57sib42sh599g0cjvq2bdbrbafx1z1cs";
+    sha256 = "08xg0pfjqfia37xby9187ycsxkrxaz99w9rcq206cz8pwnzhbzr9";
   };
 
   buildInputs =
diff --git a/pkgs/development/libraries/log4cplus/default.nix b/pkgs/development/libraries/log4cplus/default.nix
new file mode 100644
index 000000000000..0856832c1886
--- /dev/null
+++ b/pkgs/development/libraries/log4cplus/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+let
+  name = "log4cplus-1.0.4";
+in
+stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchurl {
+    url = "mirror://sourceforge/log4cplus/${name}.tar.bz2";
+    sha256 = "c2bb01b5f4bff5fa768700e98ead4a79dfd556096c9f3f0401849da7ab80fbef";
+  };
+
+  meta = {
+    homepage = "http://log4cplus.sourceforge.net/";
+    description = "a port the log4j library from Java to C++";
+    license = stdenv.lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index d3b230e31219..93126d511356 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -8,7 +8,7 @@ let
      <http://mail.python.org/pipermail/python-bugs-list/2006-September/035362.html>,
      but this is left as an exercise to the reader.
      So disable them for now.  */
-  cxx = stdenv.system != "i386-sunos";
+  cxx = stdenv.system != "i686-solaris";
 in
 stdenv.mkDerivation (rec {
   name = "ncurses-5.9";
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 01f9eca15bb9..52fd0cc6b05e 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -6,6 +6,11 @@ let
   opensslCrossSystem = stdenv.lib.attrByPath [ "openssl" "system" ]
     (throw "openssl needs its platform name cross building" null)
     stdenv.cross;
+
+  hurdGNUSourcePatch = fetchurl {
+    url = http://patch-tracker.debian.org/patch/series/dl/openssl/1.0.0e-2.1/gnu_source.patch;
+    sha256 = "0zp4x8bql92fbqywnigqfsfj2vvabb66wv6g6zgzh0y6js1ic4pn";
+  };
 in
 
 stdenv.mkDerivation {
@@ -26,7 +31,8 @@ stdenv.mkDerivation {
       # environment variable is ignored for setuid binaries.
       ./cert-file.patch
     ]
-    ++ stdenv.lib.optional stdenv.isDarwin ./darwin-arch.patch;
+    ++ stdenv.lib.optional stdenv.isDarwin ./darwin-arch.patch
+    ++ stdenv.lib.optional (stdenv.system == "x86_64-freebsd") ./freebsd-x86_64-asm.patch;
 
   buildNativeInputs = [ perl ];
 
@@ -54,6 +60,17 @@ stdenv.mkDerivation {
       export configureFlags="--libdir=lib --cross-compile-prefix=${stdenv.cross.config}- shared ${opensslCrossSystem}"
     '';
 
+    patches = stdenv.lib.optionals (opensslCrossSystem == "hurd-x86") [
+      # OpenSSL only defines _GNU_SOURCE on Linux, but we need it on GNU
+      hurdGNUSourcePatch
+
+      # Use the target settings from Debian's "debian-hurd-i386" target.
+      # see http://patch-tracker.debian.org/patch/series/view/openssl/1.0.0e-2.1/debian-targets.patch
+      # In particular, this sets the shared library extension properly so that
+      # make install succeeds
+      ./hurd-target.patch
+    ];
+
     postInstall = ''
       # Openssl installs readonly files, which otherwise we can't strip.
       # This could at some stdenv hash change be put out of crossAttrs, too
diff --git a/pkgs/development/libraries/openssl/freebsd-x86_64-asm.patch b/pkgs/development/libraries/openssl/freebsd-x86_64-asm.patch
new file mode 100644
index 000000000000..f52e4dac25f5
--- /dev/null
+++ b/pkgs/development/libraries/openssl/freebsd-x86_64-asm.patch
@@ -0,0 +1,16 @@
+Patch for <http://rt.openssl.org/Ticket/Display.html?id=2435&user=guest&pass=guest>.
+Fixes compilation on FreeBSD 8.2 with GNU Make 3.81.
+
+diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl
+index e47116b..dc500ae 100755
+--- a/crypto/perlasm/x86_64-xlate.pl
++++ b/crypto/perlasm/x86_64-xlate.pl
+@@ -66,7 +66,7 @@ if ($flavour =~ /\./) { $output = $flavour; undef $flavour; }
+   my ($outdev,$outino,@junk)=stat($output);
+ 
+     open STDOUT,">$output" || die "can't open $output: $!"
+-	if ($stddev!=$outdev || $stdino!=$outino);
++	if (!defined($outdev) || $stddev!=$outdev || $stdino!=$outino);
+ }
+ 
+ my $gas=1;	$gas=0 if ($output =~ /\.asm$/);
diff --git a/pkgs/development/libraries/openssl/hurd-target.patch b/pkgs/development/libraries/openssl/hurd-target.patch
new file mode 100644
index 000000000000..399a37a69ed9
--- /dev/null
+++ b/pkgs/development/libraries/openssl/hurd-target.patch
@@ -0,0 +1,12 @@
+diff -Naur openssl-1.0.0d-orig/Configure openssl-1.0.0d/Configure
+--- openssl-1.0.0d-orig/Configure	2010-11-30 17:19:26.000000000 -0500
++++ openssl-1.0.0d/Configure	2011-11-16 13:52:57.614416683 -0500
+@@ -563,7 +563,7 @@
+ "newsos4-gcc","gcc:-O -DB_ENDIAN::(unknown):NEWS4:-lmld -liberty:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::",
+ 
+ ##### GNU Hurd
+-"hurd-x86",  "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC",
++"hurd-x86","gcc:-DL_ENDIAN -DTERMIOS -O3 -Wa,--noexecstack -g -mtune=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ 
+ ##### OS/2 EMX
+ "OS2-EMX", "gcc::::::::",
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 626e3b1297ea..5d256bc70241 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -14,8 +14,8 @@ stdenv.mkDerivation {
   
   configureFlags = "--enable-threadsafe";
 
-  NIX_CFLAGS_COMPILE = "-DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1";
-  NIX_CFLAGS_LINK = if readline != null then "-lncurses" else "";
+  CFLAGS = "-DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1";
+  LDFLAGS = if readline != null then "-lncurses" else "";
 
   meta = {
     homepage = http://www.sqlite.org/;
diff --git a/pkgs/development/libraries/tokyo-tyrant/default.nix b/pkgs/development/libraries/tokyo-tyrant/default.nix
new file mode 100644
index 000000000000..633192133122
--- /dev/null
+++ b/pkgs/development/libraries/tokyo-tyrant/default.nix
@@ -0,0 +1,41 @@
+{ fetchurl, stdenv, tokyocabinet, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "tokyotyrant-1.1.41";
+
+  src = fetchurl {
+    url = "http://fallabs.com/tokyotyrant/${name}.tar.gz";
+    sha256 = "13xqcinhydqmh7231qlir6pymacjwcf98drybkhd9597kzxp1bs2";
+  };
+
+  buildNativeInputs = [ pkgconfig ];
+  buildInputs = [ tokyocabinet ];
+
+  doCheck = false;                                # FIXME
+
+  meta = {
+    description = "Network interface of the Tokyo Cabinet DBM";
+
+    longDescription =
+      '' Tokyo Tyrant is a package of network interface to the DBM called
+         Tokyo Cabinet.  Though the DBM has high performance, you might
+         bother in case that multiple processes share the same database, or
+         remote processes access the database.  Thus, Tokyo Tyrant is
+         provided for concurrent and remote connections to Tokyo Cabinet.  It
+         is composed of the server process managing a database and its access
+         library for client applications.
+
+         Tokyo Tyrant is written in the C language, and provided as API of C,
+         Perl, and Ruby.  Tokyo Tyrant is available on platforms which have
+         API conforming to C99 and POSIX.  Tokyo Tyrant is a free software
+         licensed under the GNU Lesser General Public License.
+       '';
+
+    homepage = http://fallabs.com/tokyotyrant/;
+
+    license = "LGPLv2.1+";
+
+    platforms = stdenv.lib.platforms.gnu;         # arbitrary choice
+    maintainers = [ stdenv.lib.maintainers.ludo ];
+  };
+}
diff --git a/pkgs/development/libraries/ucommon/default.nix b/pkgs/development/libraries/ucommon/default.nix
index 4c91dee514ea..cca5c5aaa9f4 100644
--- a/pkgs/development/libraries/ucommon/default.nix
+++ b/pkgs/development/libraries/ucommon/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, gnutls, pkgconfig, zlib, libgcrypt }:
 
 stdenv.mkDerivation rec {
-  name = "ucommon-5.0.6";
+  name = "ucommon-5.0.7";
 
   src = fetchurl {
-    url = mirror://gnu/commoncpp/ucommon-5.0.6.tar.gz;
-    sha256 = "102djhfzs5jp10r3ajm25p1phs9cxn2dx8vycf0i8vjhmd20yp5c";
+    url = mirror://gnu/commoncpp/ucommon-5.0.7.tar.gz;
+    sha256 = "0zr4zjwb62dpq7aa88vclhv2y8j7glkq693kwmb8agfx0fv8nkny";
   };
 
   buildInputs = [ pkgconfig gnutls zlib ];
diff --git a/pkgs/development/libraries/xapian/bindings/default.nix b/pkgs/development/libraries/xapian/bindings/default.nix
index 7dee0da9eedc..bb7643330a08 100644
--- a/pkgs/development/libraries/xapian/bindings/default.nix
+++ b/pkgs/development/libraries/xapian/bindings/default.nix
@@ -5,11 +5,11 @@ let inherit (composableDerivation) wwf; in
 
 composableDerivation.composableDerivation {} rec {
 
-  name = "xapian-bindings-1.2.5";
+  name = "xapian-bindings-1.2.7";
 
   src = fetchurl {
-    url = "http://oligarchy.co.uk/xapian/1.2.5/${name}.tar.gz";
-    sha256 = "0d723af62b8d633cd49fdf92058a4985061659454b390c0c08db05fa4f7fb09c";
+    url = "http://oligarchy.co.uk/xapian/1.2.7/${name}.tar.gz";
+    sha256 = "c9f63ad7a032c260f0617e029327d7b05dd986d91af401032268a9f7b2eabde8";
   };
 
   buildInputs = [ xapian pkgconfig zlib ];
@@ -68,7 +68,7 @@ composableDerivation.composableDerivation {} rec {
   meta = { 
     description = "Bindings for the Xapian library";
     homepage = xapian.meta.homepage;
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.chaoflow ];
   };
 }
diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix
index ac86c24af6cc..ac27962b8c59 100644
--- a/pkgs/development/libraries/xapian/default.nix
+++ b/pkgs/development/libraries/xapian/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libuuid, zlib }:
 
 stdenv.mkDerivation {
-  name = "xapian-1.2.5";
+  name = "xapian-1.2.7";
 
   src = fetchurl {
-    url = http://oligarchy.co.uk/xapian/1.2.5/xapian-core-1.2.5.tar.gz;
-    sha256 = "392ccfccb4372725be24509e5ee95a7422f07c3d47d0cbdbb8545e789cc936f7";
+    url = http://oligarchy.co.uk/xapian/1.2.7/xapian-core-1.2.7.tar.gz;
+    sha256 = "6ce8cb3502f35245ec0cb0dcf579ce4f65c015a2f2e8d1b4c388c95f58278c89";
   };
 
   buildInputs = [ libuuid zlib ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   meta = { 
     description = "Xapian Probabilistic Information Retrieval library";
     homepage = "http://xapian.org";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.chaoflow ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/cryptokit/META b/pkgs/development/ocaml-modules/cryptokit/META
deleted file mode 100644
index 661170835fdf..000000000000
--- a/pkgs/development/ocaml-modules/cryptokit/META
+++ /dev/null
@@ -1,8 +0,0 @@
-# Specifications for the "cryptokit" library:
-requires = ""
-description = "A library of cryptographic primitives for OCaml"
-version = "1.3"
-directory = "^"
-
-archive(byte) = "cryptokit.cma"
-archive(native) = "cryptokit.cmxa"
diff --git a/pkgs/development/ocaml-modules/cryptokit/default.nix b/pkgs/development/ocaml-modules/cryptokit/default.nix
index f4ba9a8d7d7f..8aa3f2ba77e7 100644
--- a/pkgs/development/ocaml-modules/cryptokit/default.nix
+++ b/pkgs/development/ocaml-modules/cryptokit/default.nix
@@ -1,40 +1,24 @@
-{stdenv, fetchurl, zlib, ocaml}:
+{stdenv, fetchurl, zlib, ocaml, findlib, ncurses}:
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  version = "1.3";
+  version = "1.5";
 in
 
 stdenv.mkDerivation {
   name = "cryptokit-${version}";
 
   src = fetchurl {
-    url = "http://forge.ocamlcore.org/frs/download.php/326/" +
+    url = "http://forge.ocamlcore.org/frs/download.php/639/" +
           "cryptokit-${version}.tar.gz";
-    sha256 = "0kqrlxkpzrj2qpniy6mhn7gx3n29s86vk4q0im2hqpxi9knkkwwy";
+    sha256 = "1r5kbsbsicrbpdrdim7h8xg2b1a8qg8sxig9q6cywzm57r33lj72";
   };
 
-  buildInputs = [zlib ocaml];
+  buildInputs = [zlib ocaml findlib ncurses];
 
-  patches = [ ./makefile.patch ];
+  buildFlags = "setup.data build";
 
-  configurePhase = ''
-    export INSTALLDIR="$out/lib/ocaml/${ocaml_version}/site-lib/cryptokit"
-    substituteInPlace Makefile \
-      --subst-var-by ZLIB_LIBDIR "${zlib}/lib" \
-      --subst-var-by ZLIB_INCLUDE "${zlib}/include" \
-      --subst-var INSTALLDIR 
-  '';
-
-  buildFlags = "all allopt";
-
-  doCheck = true;
-  
-  checkTarget = "test";
-
-  preInstall = "ensureDir $INSTALLDIR";
-
-  postInstall = "cp -a ${./META} $INSTALLDIR/META";
+  preBuild = "ensureDir $out/lib/ocaml/${ocaml_version}/site-lib/cryptokit";
 
   meta = {
     homepage = "http://pauillac.inria.fr/~xleroy/software.html";
diff --git a/pkgs/development/ocaml-modules/cryptokit/makefile.patch b/pkgs/development/ocaml-modules/cryptokit/makefile.patch
deleted file mode 100644
index b4a82c7d677f..000000000000
--- a/pkgs/development/ocaml-modules/cryptokit/makefile.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Nuar cryptokit-1.3/Makefile cryptokit-1.3.nixos/Makefile
---- cryptokit-1.3/Makefile	2005-04-20 15:19:54.000000000 +0200
-+++ cryptokit-1.3.nixos/Makefile	2010-08-17 15:22:07.000000000 +0200
-@@ -9,14 +9,13 @@
- 
- # The directory containing the Zlib library (libz.a or libz.so)
- # Leave blank if you don't have Zlib.
--ZLIB_LIBDIR=/usr/lib
--#ZLIB_LIBDIR=/usr/lib64    # for x86-64 Linux
-+ZLIB_LIBDIR=@ZLIB_LIBDIR@
- 
- # The directory containing the Zlib header file (zlib.h)
--ZLIB_INCLUDE=/usr/include
-+ZLIB_INCLUDE=@ZLIB_INCLUDE@
- 
- # Where to install the library. By default: OCaml's standard library directory.
--INSTALLDIR=`$(OCAMLC) -where`
-+INSTALLDIR=@INSTALLDIR@
- 
- # Flags for the C compiler.
- CFLAGS=-O -I$(ZLIB_INCLUDE) $(ZLIB)
diff --git a/pkgs/development/ocaml-modules/ocamlgraph/default.nix b/pkgs/development/ocaml-modules/ocamlgraph/default.nix
new file mode 100644
index 000000000000..92a465731174
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocamlgraph/default.nix
@@ -0,0 +1,40 @@
+{stdenv, fetchurl, ocaml, findlib }:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+  version = "1.8.1";
+in
+
+stdenv.mkDerivation {
+  name = "ocamlgraph-${version}";
+
+  src = fetchurl {
+    url = "http://ocamlgraph.lri.fr/download/ocamlgraph-${version}.tar.gz";
+    sha256 = "0hrba69wvw9b42irkvjf6q7zzw12v5nyyc33yaq3jlf1qbzqhqxs";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  patches = ./destdir.patch;
+
+  postPatch = ''
+    sed -i 's@$(DESTDIR)$(OCAMLLIB)/ocamlgraph@$(DESTDIR)/lib/ocaml/${ocaml_version}/site-lib/ocamlgraph@' Makefile.in
+  '';
+
+  createFindlibDestdir = true;
+
+  buildPhase = ''
+    make all
+    make install-findlib
+  '';
+
+  meta = {
+    homepage = http://ocamlgraph.lri.fr/;
+    description = "ocamlgraph is a graph library for Objective Caml.";
+    license = "GNU Library General Public License version 2, with the special exception on linking described in file LICENSE";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.kkallio
+    ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ocamlgraph/destdir.patch b/pkgs/development/ocaml-modules/ocamlgraph/destdir.patch
new file mode 100644
index 000000000000..38fca1c491fa
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocamlgraph/destdir.patch
@@ -0,0 +1,13 @@
+diff -Naur -x '*~' ocamlgraph-1.8.1/Makefile.in ocamlgraph-1.8.1-new//Makefile.in
+--- ocamlgraph-1.8.1/Makefile.in	2011-10-17 09:57:03.000000000 -0430
++++ ocamlgraph-1.8.1-new//Makefile.in	2011-11-24 13:01:22.626004819 -0430
+@@ -16,8 +16,8 @@
+ ##########################################################################
+ 
+ # Where to install the binaries
+-DESTDIR	=
+ prefix	=@prefix@
++DESTDIR=$(prefix)
+ exec_prefix=@exec_prefix@
+ datarootdir=@datarootdir@
+ BINDIR	=$(DESTDIR)@bindir@
diff --git a/pkgs/development/ocaml-modules/ulex/0.8/default.nix b/pkgs/development/ocaml-modules/ulex/0.8/default.nix
index 169f3bfad8c2..e996b6223b1e 100644
--- a/pkgs/development/ocaml-modules/ulex/0.8/default.nix
+++ b/pkgs/development/ocaml-modules/ulex/0.8/default.nix
@@ -21,6 +21,8 @@ stdenv.mkDerivation {
 
   patches = [ ./meta_version.patch ./camlp5.patch ];
 
+  propagatedBuildInputs = [ camlp5 ];
+
   buildFlags = "all all.opt";
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/ulex/default.nix b/pkgs/development/ocaml-modules/ulex/default.nix
index aee65a6e2ee8..19beeec1ec54 100644
--- a/pkgs/development/ocaml-modules/ulex/default.nix
+++ b/pkgs/development/ocaml-modules/ulex/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation {
     sha256 = "0fjlkwps14adfgxdrbb4yg65fhyimplvjjs1xqj5np197cig67x0";
   };
 
+  createFindlibDestdir = true;
+
   buildInputs = [ocaml findlib];
 
   buildFlags = "all all.opt";
diff --git a/pkgs/development/perl-modules/starman-dont-change-name.patch b/pkgs/development/perl-modules/starman-dont-change-name.patch
new file mode 100644
index 000000000000..82454cfdd165
--- /dev/null
+++ b/pkgs/development/perl-modules/starman-dont-change-name.patch
@@ -0,0 +1,23 @@
+Changing the process name breaks applying libcgroup rules, so don't do it.
+
+diff -ru -x '*~' Starman-0.2014-orig/lib/Starman/Server.pm Starman-0.2014/lib/Starman/Server.pm
+--- Starman-0.2014-orig/lib/Starman/Server.pm	2011-08-27 01:19:43.000000000 +0200
++++ Starman-0.2014/lib/Starman/Server.pm	2011-11-25 13:30:24.570434653 +0100
+@@ -100,7 +100,7 @@
+ 
+ sub run_parent {
+     my $self = shift;
+-    $0 = "starman master " . join(" ", @{$self->{options}{argv} || []});
++    #$0 = "starman master " . join(" ", @{$self->{options}{argv} || []});
+     $self->SUPER::run_parent(@_);
+ }
+ 
+@@ -113,7 +113,7 @@
+         DEBUG && warn "[$$] Initializing the PSGI app\n";
+         $self->{app} = $self->{options}->{psgi_app_builder}->();
+     }
+-    $0 = "starman worker " . join(" ", @{$self->{options}{argv} || []});
++    #$0 = "starman worker " . join(" ", @{$self->{options}{argv} || []});
+ }
+ 
+ sub post_accept_hook {
diff --git a/pkgs/development/tools/analysis/lcov/default.nix b/pkgs/development/tools/analysis/lcov/default.nix
index 73c3e66f074e..c768669bda98 100644
--- a/pkgs/development/tools/analysis/lcov/default.nix
+++ b/pkgs/development/tools/analysis/lcov/default.nix
@@ -42,5 +42,6 @@ stdenv.mkDerivation rec {
     license = "GPLv2+";
 
     maintainers = [ stdenv.lib.maintainers.ludo ];
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index a9774a846389..d0c5e624d394 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, gdb }:
 
 stdenv.mkDerivation (rec {
-  name = "valgrind-3.6.1";
+  name = "valgrind-3.7.0";
 
   src = fetchurl {
     url = "http://valgrind.org/downloads/${name}.tar.bz2";
-    sha256 = "03kaf8q49r347diryc2p1q5hxsd6hyhxikqdbydh8q7hpi7wrga9";
+    sha256 = "1xnb4jiimscwriw3jd1lkk0m9x4glqpijj9jb4ngx08l1wrw0qjx";
   };
 
   # Perl is needed for `cg_annotate'.
diff --git a/pkgs/development/tools/haskell/SourceGraph/default.nix b/pkgs/development/tools/haskell/SourceGraph/default.nix
new file mode 100644
index 000000000000..0987989051f1
--- /dev/null
+++ b/pkgs/development/tools/haskell/SourceGraph/default.nix
@@ -0,0 +1,24 @@
+{ cabal, extensibleExceptions, fgl, Graphalyze, graphviz
+, haskellSrcExts, mtl, multiset, random
+}:
+
+cabal.mkDerivation (self: {
+  pname = "SourceGraph";
+  version = "0.7.0.1";
+  sha256 = "0f6h240a72cxa65cwjrp34cx80c6frzhgl9dpv3krc8xzhxssk78";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    extensibleExceptions fgl Graphalyze graphviz haskellSrcExts mtl
+    multiset random
+  ];
+  meta = {
+    description = "Static code analysis using graph-theoretic techniques";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix
index 983555bec437..c8753ea367be 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.18";
-  sha256 = "1bx9gv5nxz68p8rimai6gy05l84f7n3rajacvg6dak9nsrnbl95i";
+  version = "1.21";
+  sha256 = "00gsayb7axxm8z9jrngckb7c666x1kibvln67g2rpchi6djg6wn7";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ hackageDb HTTP mtl nixosTypes regexPosix ];
diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix
index 5c2e268b5f64..1e4b04db04ae 100644
--- a/pkgs/development/tools/haskell/hlint/default.nix
+++ b/pkgs/development/tools/haskell/hlint/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hlint";
-  version = "1.8.18";
-  sha256 = "1dn5ca8z6cvmz8nlyb87glk2sk2pma8pjrg8yamn4vr54zq1bf7a";
+  version = "1.8.20";
+  sha256 = "0nkvlvax2yv8lqq7axnghdw38fj6r44y78ss23yxqqav7q046vyh";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/uuagc/cabal.nix b/pkgs/development/tools/haskell/uuagc/cabal.nix
index 6e7eb904ea10..70c0a8e99317 100644
--- a/pkgs/development/tools/haskell/uuagc/cabal.nix
+++ b/pkgs/development/tools/haskell/uuagc/cabal.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "uuagc-cabal";
-  version = "1.0.0.9";
-  sha256 = "1iifzy58w50162bwj20xmldsyq0xaq0g849zgwxai26881a1jlfg";
+  version = "1.0.0.10";
+  sha256 = "0dqj5nqq8qpylbxyv8cpy3rrnna9yqb4dnxxk7sgyhw6yvz48l56";
   buildDepends = [ mtl uulib ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome";
diff --git a/pkgs/development/tools/misc/autoconf/default.nix b/pkgs/development/tools/misc/autoconf/default.nix
index 82f8b1100541..ce18fd1a377a 100644
--- a/pkgs/development/tools/misc/autoconf/default.nix
+++ b/pkgs/development/tools/misc/autoconf/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   # details.
   # There are many test failures on `i386-pc-solaris2.11'.
   doCheck = (stdenv.system != "i686-cygwin"
-             && stdenv.system != "i386-sunos");
+             && stdenv.system != "i686-solaris");
 
   # Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the
   # "fixed" path in generated files!
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index 7da5ac31e2a9..cd2eb6cc02da 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -4,16 +4,28 @@
 # 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.3.1";
+  basename =
+    if bleedingEdgeVersion
+    then "gdb-7.3.20110726"
+    else "gdb-7.3.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
+  # `buildDrv'.
+  isGNU =
+      stdenv.system == "i686-gnu"
+      || (stdenv ? cross && stdenv.cross.config == "i586-pc-gnu");
 in
 
+assert isGNU -> mig != null && hurd != null;
+
 stdenv.mkDerivation rec {
   name = basename + stdenv.lib.optionalString (target != null)
       ("-" + target.config);
@@ -34,9 +46,11 @@ stdenv.mkDerivation rec {
   # 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.optionals bleedingEdgeVersion [ flex bison ];
+    ++ stdenv.lib.optional isGNU mig
+    ++ stdenv.lib.optionals bleedingEdgeVersion [ flex bison ];
 
   buildInputs = [ ncurses readline gmp mpfr expat ]
+    ++ stdenv.lib.optional isGNU hurd
     ++ stdenv.lib.optional doCheck dejagnu;
 
   configureFlags = with stdenv.lib;
diff --git a/pkgs/development/tools/ocaml/camlp5/5.15.nix b/pkgs/development/tools/ocaml/camlp5/5.15.nix
new file mode 100644
index 000000000000..7247041cb1d4
--- /dev/null
+++ b/pkgs/development/tools/ocaml/camlp5/5.15.nix
@@ -0,0 +1,44 @@
+{stdenv, fetchurl, ocaml, transitional ? false}:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+  pname = "camlp5";
+  version = "5.15";
+  webpage = http://pauillac.inria.fr/~ddr/camlp5/;
+  metafile = ./META;
+in
+
+stdenv.mkDerivation {
+
+  name = "${pname}${if transitional then "_transitional" else ""}-${version}";
+
+  src = fetchurl {
+    url = "${webpage}/distrib/src/${pname}-${version}.tgz";
+    sha256 = "1sx5wlfpydqskm97gp7887p3avbl3vanlmrwj35wx5mbzj6kn9nq";
+  };
+
+  buildInputs = [ ocaml ];
+
+  prefixKey = "-prefix ";
+
+  preConfigure = "configureFlagsArray=(" +  (if transitional then "--transitional" else "--strict") +
+                  " --libdir $out/lib/ocaml/${ocaml_version}/site-lib)";
+
+  buildFlags = "world.opt";
+
+  postInstall = "cp ${metafile} $out/lib/ocaml/${ocaml_version}/site-lib/camlp5/META";
+
+  meta = {
+    description = "Preprocessor-pretty-printer for OCaml";
+    longDescription = ''
+      Camlp5 is a preprocessor and pretty-printer for OCaml programs.
+      It also provides parsing and printing tools.
+    '';
+    homepage = "${webpage}";
+    license = "BSD";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+    ];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/camlp5/default.nix b/pkgs/development/tools/ocaml/camlp5/default.nix
index 7247041cb1d4..315bca38f361 100644
--- a/pkgs/development/tools/ocaml/camlp5/default.nix
+++ b/pkgs/development/tools/ocaml/camlp5/default.nix
@@ -3,7 +3,7 @@
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
   pname = "camlp5";
-  version = "5.15";
+  version = "6.02.3";
   webpage = http://pauillac.inria.fr/~ddr/camlp5/;
   metafile = ./META;
 in
@@ -14,9 +14,16 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "${webpage}/distrib/src/${pname}-${version}.tgz";
-    sha256 = "1sx5wlfpydqskm97gp7887p3avbl3vanlmrwj35wx5mbzj6kn9nq";
+    sha256 = "1z9bwh267117br0vlhirv9yy2niqp2n25zfnl14wg6kgg9bqx7rj";
   };
 
+  patches = fetchurl {
+    url = "${webpage}/distrib/src/patch-${version}-1";
+    sha256 = "159qpvr07mnn72yqwx24c6mw7hs6bl77capsii7apg9dcxar8w7v";
+  };
+
+  patchFlags = "-p 0";
+
   buildInputs = [ ocaml ];
 
   prefixKey = "-prefix ";
diff --git a/pkgs/development/tools/parsing/happy/1.18.8.nix b/pkgs/development/tools/parsing/happy/1.18.8.nix
new file mode 100644
index 000000000000..b1ba0b165dd7
--- /dev/null
+++ b/pkgs/development/tools/parsing/happy/1.18.8.nix
@@ -0,0 +1,21 @@
+{ cabal, mtl, perl }:
+
+cabal.mkDerivation (self: {
+  pname = "happy";
+  version = "1.18.8";
+  sha256 = "1mqdawxszmdk71fbl8ljxz7jyhai00sflaw0gahp039n44mrspam";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ mtl ];
+  buildTools = [ perl ];
+  meta = {
+    homepage = "http://www.haskell.org/happy/";
+    description = "Happy is a parser generator for Haskell";
+    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/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix
index 909f0d39fbdb..75776416cfc5 100644
--- a/pkgs/development/web/nodejs/default.nix
+++ b/pkgs/development/web/nodejs/default.nix
@@ -1,19 +1,24 @@
-{ stdenv, fetchurl, openssl, python }:
+{ stdenv, fetchurl, openssl, python, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.5.4";
+  version = "0.6.5";
   name = "nodejs-${version}";
 
   src = fetchurl {
     url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz";
-    sha256 = "d32d3af4e3286b383640df857d76c2fcca1a2e2cb85abb484483a0a49d09ae71";
+    sha256 = "72364d240fb61e678897c099df6f2913857c5931aa9b1f44e73e432d4629ca2f";
   };
 
+  configureFlags = [
+    "--openssl-includes=${openssl}/include"
+    "--openssl-libpath=${openssl}/lib"
+  ];
+
   patchPhase = ''
     sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i tools/{*.py,waf-light,node-waf}
   '';
 
-  buildInputs = [ python openssl ];
+  buildInputs = [ python openssl zlib];
 
   meta = with stdenv.lib; {
     description = "Event-driven I/O framework for the V8 JavaScript engine";
diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix
index 1308d93c6723..2991f3de92ee 100644
--- a/pkgs/games/spring/default.nix
+++ b/pkgs/games/spring/default.nix
@@ -6,11 +6,11 @@
 stdenv.mkDerivation rec {
 
   name = "spring-${version}";
-  version = "0.82.6.1";
+  version = "0.83.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/springrts/spring_${version}_src.tar.lzma";
-    sha256 = "1bi64jgc390sqc514scz80a0pdgc5n9kx45sppky2152y725900n";
+    url = "mirror://sourceforge/springrts/spring_83.0_src.tar.lzma";
+    sha256 = "073x1mlzil588r8xgzc323293xmi0xbw6w0k6psxl5cs0gqrvfqa";
   };
 
   buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL
@@ -20,10 +20,10 @@ stdenv.mkDerivation rec {
 
   prePatch = ''
     substituteInPlace cont/base/make_gamedata_arch.sh --replace "#!/bin/sh" "#!${stdenv.shell}/bin/sh" \
-      --replace "which" "type -p"    
+      --replace "which" "type -p"
   '';
 
-  patches = [ ./gcc44.patch];
+  #patches = [ ./gcc44.patch];
 
   enableParallelBuilding = true;
 
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     description = "A powerful real-time strategy(RTS) game engine";
     license = licenses.gpl2;
     maintainers = [ maintainers.phreedom ];
+    platforms = platforms.unix;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix
index 0d6557364674..7468ccdd2b85 100644
--- a/pkgs/games/warzone2100/default.nix
+++ b/pkgs/games/warzone2100/default.nix
@@ -3,11 +3,11 @@
 }:
 stdenv.mkDerivation rec {
   pname = "warzone2100";
-  version = "2.3.7";
+  version = "2.3.9";
   name = "${pname}-${version}";
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${name}.tar.gz";
-    sha256 = "157v3jqaj0l910y8bcr9zpl0inx8g2942nm8zdnnn16gklf9mb26";
+    sha256 = "1nvs4slnl75b64pf9gwcpbra56jzcbxyv83fis5pki69aavkp14y";
   };
   buildInputs = [ bison flex gettext pkgconfig SDL libpng libtheora openal
                   popt physfs mesa quesoglc zip unzip
diff --git a/pkgs/lib/maintainers.nix b/pkgs/lib/maintainers.nix
index 9652a32bb2e5..d377dd2e1c58 100644
--- a/pkgs/lib/maintainers.nix
+++ b/pkgs/lib/maintainers.nix
@@ -15,6 +15,7 @@
   kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
   ludo = "Ludovic Courtès <ludo@gnu.org>";
   marcweber = "Marc Weber <marco-oweber@gmx.de>";
+  mornfall = "Petr RoÄkai <me@mornfall.net>";
   neznalek = "VladimĂ­r ÄŒunĂ¡t <vcunat@gmail.com>";
   phreedom = "Evgeny Egorochkin <phreedom.stdin@gmail.com>";
   pierron = "Nicolas B. Pierron <nixos@nbp.name>";
diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix
index 17755a17b7ba..2a6409a8fdd1 100644
--- a/pkgs/misc/emulators/wine/default.nix
+++ b/pkgs/misc/emulators/wine/default.nix
@@ -7,11 +7,11 @@ assert stdenv.isLinux;
 assert stdenv.gcc.gcc != null;
 
 stdenv.mkDerivation rec {
-  name = "wine-1.3.29";
+  name = "wine-1.3.32";
 
   src = fetchurl {
     url = "mirror://sourceforge/wine/${name}.tar.bz2";
-    sha256 = "1mi4xzbpqmian9q5bs6df8b1mfgnnd4mlh0kb2ynbpk7kmx0zyj1";
+    sha256 = "fe1691ef8e9c5c4afeb345ad0f0b364d055cfe67a7e64b0a4a44da4d85cfa8b6";
   };
 
   gecko = fetchurl {
diff --git a/pkgs/misc/sane-backends/default.nix b/pkgs/misc/sane-backends/default.nix
index 65e748b68fcf..458985c61f73 100644
--- a/pkgs/misc/sane-backends/default.nix
+++ b/pkgs/misc/sane-backends/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, hotplugSupport ? false, libusb ? null
+{ stdenv, fetchurl, hotplugSupport ? true, libusb ? null
 , gt68xxFirmware ? null }:
 let
   firmware = gt68xxFirmware {inherit fetchurl;};
 in
-assert hotplugSupport -> stdenv.system == "i686-linux";
+assert hotplugSupport -> (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux");
 
 stdenv.mkDerivation {
   name = "sane-backends-1.0.21";
@@ -20,6 +20,7 @@ stdenv.mkDerivation {
   postInstall = ''
     if test "$udevSupport" = "1"; then
       ensureDir $out/etc/udev/rules.d/
+      ./tools/sane-desc -m udev > $out/etc/udev/rules.d/60-libsane.rules || \
       cp tools/udev/libsane.rules $out/etc/udev/rules.d/60-libsane.rules
     fi
   '';
diff --git a/pkgs/misc/sane-backends/snapshot.nix b/pkgs/misc/sane-backends/snapshot.nix
new file mode 100644
index 000000000000..8725206ddce3
--- /dev/null
+++ b/pkgs/misc/sane-backends/snapshot.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, hotplugSupport ? true, libusb ? null
+, gt68xxFirmware ? null }:
+let
+  firmware = gt68xxFirmware {inherit fetchurl;};
+in
+assert hotplugSupport -> stdenv.system == "i686-linux";
+
+stdenv.mkDerivation {
+  name = "sane-backends-1.0.22.git201111204";
+  
+  src = fetchurl {
+    url = http://www.sane-project.org/snapshots/sane-backends-git20111204.tar.gz;
+    sha256 = "00b3fi8zjrq3in0wndz1xcz228mgfhwhh2knmyjsikr88hal0m47";
+  };
+  
+  udevSupport = hotplugSupport;
+
+  buildInputs = if libusb != null then [libusb] else [];
+
+  postInstall = ''
+    if test "$udevSupport" = "1"; then
+      ensureDir $out/etc/udev/rules.d/
+      ./tools/sane-desc -m udev > $out/etc/udev/rules.d/60-libsane.rules || \
+      cp tools/udev/libsane.rules $out/etc/udev/rules.d/60-libsane.rules
+    fi
+  '';
+
+  preInstall =
+    if gt68xxFirmware != null then 
+      "mkdir -p \${out}/share/sane/gt68xx ; ln -s " + firmware.fw +
+      " \${out}/share/sane/gt68xx/" + firmware.name
+    else "";
+}
diff --git a/pkgs/misc/tex/dblatex/default.nix b/pkgs/misc/tex/dblatex/default.nix
index 911c461bfbaa..05f4bd7a9fa1 100644
--- a/pkgs/misc/tex/dblatex/default.nix
+++ b/pkgs/misc/tex/dblatex/default.nix
@@ -1,20 +1,18 @@
-{stdenv, fetchurl, python, libxslt, tetex}:
+{ stdenv, fetchurl, python, libxslt, tetex }:
 
 stdenv.mkDerivation rec {
-  name = "dblatex-0.2.12";
+  name = "dblatex-0.3.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/dblatex/${name}.tar.bz2";
-    sha256 = "1wjghrlcn7hkr70nnyzzag1z57l5b1ck8i3r8zl7bw2rsrvqmyz2";
+    sha256 = "0jg2acv2lyrbw06l8rr0id75lj1pws7xbsmryq58r3n13xzb1p7b";
   };
 
   buildPhase = "true";
   
-  installPhase = "
-    python ./setup.py install --prefix=$out
-  ";
+  installPhase = "python ./setup.py install --prefix=$out";
 
-  buildInputs = [python libxslt tetex];
+  buildInputs = [ python libxslt tetex ];
 
   meta = {
     description = "A program to convert DocBook to DVI, PostScript or PDF via LaTeX or ConTeXt";
diff --git a/pkgs/os-specific/gnu/hurd/default.nix b/pkgs/os-specific/gnu/hurd/default.nix
index bc5e79e8ef39..ca1c71053e5d 100644
--- a/pkgs/os-specific/gnu/hurd/default.nix
+++ b/pkgs/os-specific/gnu/hurd/default.nix
@@ -10,8 +10,8 @@ assert (hurdPartedCross != null) -> (libuuid != null);
 let
   # Unfortunately we can't use `master@{DATE}', see
   # <http://www.bramschoenmakers.nl/en/node/645>.
-  date   = "20110516";
-  rev    = "ffd73488f9eecdb9da40e15f5fdcebf392cb88f8";
+  date   = "20111115";
+  rev    = "969fbb646ffd89a482302e303eaded79781c3331";
   suffix = if headersOnly
            then "-headers"
            else (if buildTarget != "all"
@@ -23,7 +23,7 @@ stdenv.mkDerivation ({
 
   src = fetchgit {
     url = "git://git.sv.gnu.org/hurd/hurd.git";
-    sha256 = "6527e85347fe387bd3119fbf2ea07590a35ecad9eec14bb00cd6a443507111a9";
+    sha256 = "b7f57ec2c6dcaf35ec03fb7979eb5506180ce4c6e2edf60a587f12ac5b11f004";
     inherit rev;
   };
 
diff --git a/pkgs/os-specific/linux/aufs2.1-util/default.nix b/pkgs/os-specific/linux/aufs-util/2.1.nix
index a12a0900ca40..87541def9ad9 100644
--- a/pkgs/os-specific/linux/aufs2.1-util/default.nix
+++ b/pkgs/os-specific/linux/aufs-util/2.1.nix
@@ -1,9 +1,11 @@
-{ stdenv, fetchgit, kernel, aufs2_1 }:
+{ stdenv, fetchgit, kernel, aufs }:
+
+assert aufs != null;
 
 let version = "20110217"; in
 
 stdenv.mkDerivation {
-  name = "aufs2.1-util-${version}";
+  name = "aufs2.1-util-${version}-${kernel.version}";
 
   src = fetchgit {
     url = "git://git.c3sl.ufpr.br/aufs/aufs2-util.git";
@@ -11,7 +13,7 @@ stdenv.mkDerivation {
     sha256 = "0fce5601b67efe8b5652a813ae612348bf4503aa71056cd31a5ed0406632e364";
   };
 
-  buildInputs = [ aufs2_1 ];
+  buildInputs = [ aufs ];
 
   makeFlags =
     [ "KDIR=${kernel}/lib/modules/${kernel.version}/build"
@@ -34,8 +36,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Utilities for AUFS2.1";
     homepage = http://aufs.sourceforge.net/;
-    maintainers = [ stdenv.lib.maintainers.eelco 
-                    stdenv.lib.maintainers.shlevy ];
+    maintainers = [ stdenv.lib.maintainers.eelco  ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/aufs2-util/default.nix b/pkgs/os-specific/linux/aufs-util/2.nix
index 50031b7351cf..501dcbf4b94b 100644
--- a/pkgs/os-specific/linux/aufs2-util/default.nix
+++ b/pkgs/os-specific/linux/aufs-util/2.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchurl, kernel, aufs2 }:
+{ stdenv, fetchurl, kernel, aufs }:
+
+assert aufs != null;
 
 let version = "20100506"; in
 
 stdenv.mkDerivation {
-  name = "aufs2-util-${version}";
+  name = "aufs2-util-${version}-${kernel.version}";
 
   src = fetchurl {
     url = "http://nixos.org/tarballs/aufs2-util-git-${version}.tar.bz2";
     sha256 = "0ly0c3p8fjxqbk8k5rmm1a91wg8wcrvhi1lv4aawalkkk8rqbnwk";
   };
 
-  buildInputs = [ aufs2 ];
+  buildInputs = [ aufs ];
 
   makeFlags =
     [ "KDIR=${kernel}/lib/modules/${kernel.version}/build"
diff --git a/pkgs/os-specific/linux/aufs3-util/default.nix b/pkgs/os-specific/linux/aufs-util/3.nix
index 00c3e99c4577..8eefc1b0f4ae 100644
--- a/pkgs/os-specific/linux/aufs3-util/default.nix
+++ b/pkgs/os-specific/linux/aufs-util/3.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchgit, kernel, aufs3 }:
+{ stdenv, fetchgit, kernel, aufs }:
+
+assert aufs != null;
 
 stdenv.mkDerivation {
-  name = "aufs3-util-${aufs3.patch.version}";
+  name = "aufs3-util-${aufs.patch.version}-${kernel.version}";
 
   src = fetchgit {
     url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs-util.git;
-    rev = aufs3.patch.utilRev;
-    sha256 = aufs3.patch.utilHash;
+    rev = aufs.patch.utilRev;
+    sha256 = aufs.patch.utilHash;
   };
 
-  buildInputs = [ aufs3 ];
+  buildInputs = [ aufs ];
 
   makeFlags =
     [ "KDIR=${kernel}/lib/modules/${kernel.modDirVersion}/build"
diff --git a/pkgs/os-specific/linux/aufs2.1/default.nix b/pkgs/os-specific/linux/aufs/2.1.nix
index d118f1f74871..f6a3a6dffc26 100644
--- a/pkgs/os-specific/linux/aufs2.1/default.nix
+++ b/pkgs/os-specific/linux/aufs/2.1.nix
@@ -8,7 +8,7 @@ let version =
   else "20110408"; in
 
 stdenv.mkDerivation {
-  name = "aufs2.1-${version}";
+  name = "aufs2.1-${version}-${kernel.version}";
 
   src =
   if (builtins.lessThan (builtins.compareVersions kernel.version "2.6.38") 0) 
@@ -42,8 +42,7 @@ stdenv.mkDerivation {
     description = "Another Unionfs implementation for Linux (second generation)";
     homepage = http://aufs.sourceforge.net/;
     maintainers = [ stdenv.lib.maintainers.eelco
-                    stdenv.lib.maintainers.raskin
-                    stdenv.lib.maintainers.shlevy ];
+                    stdenv.lib.maintainers.raskin ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/aufs2/default.nix b/pkgs/os-specific/linux/aufs/2.nix
index c755b993ec89..696ed57b8603 100644
--- a/pkgs/os-specific/linux/aufs2/default.nix
+++ b/pkgs/os-specific/linux/aufs/2.nix
@@ -5,7 +5,7 @@ assert kernel.features ? aufsBase;
 let version = "20100522"; in
 
 stdenv.mkDerivation {
-  name = "aufs2-${version}";
+  name = "aufs2-${version}-${kernel.version}";
 
   src = 
   if (builtins.lessThan (builtins.compareVersions kernel.version "2.6.35") 0) then
diff --git a/pkgs/os-specific/linux/aufs3/default.nix b/pkgs/os-specific/linux/aufs/3.nix
index bf73e6510f7f..ec3c5aec85ba 100644
--- a/pkgs/os-specific/linux/aufs3/default.nix
+++ b/pkgs/os-specific/linux/aufs/3.nix
@@ -12,7 +12,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "aufs3-${patch.version}";
+  name = "aufs3-${patch.version}-${kernel.version}";
 
   src = patch.patch.src;
 
diff --git a/pkgs/os-specific/linux/aufs/debian-2.6.29.diff b/pkgs/os-specific/linux/aufs/debian-2.6.29.diff
deleted file mode 100644
index 88660bc4011c..000000000000
--- a/pkgs/os-specific/linux/aufs/debian-2.6.29.diff
+++ /dev/null
@@ -1,133 +0,0 @@
-Debian patch for aufs on 2.6.29
-
----
-
-Add support for Kernel 2.6.29.
-
-Changes we are affected by:
- 1. dentry_open() receives a new argument for passing the cred
- 2. current->fsuid is now current_fsuid()
- 3. disable security_inode_* calls, as they are not exported normally. Enable
-    them only if CONFIG_AUFS_SEC_PERM_PATCH is defined
---- a/fs/aufs25/export.c
-+++ b/fs/aufs25/export.c
-@@ -384,7 +384,11 @@ static struct dentry *au_lkup_by_ino(str
- 	if (nsi_lock)
- 		si_read_unlock(parent->d_sb);
- 	path_get(path);
-+	#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
- 	file = dentry_open(parent, path->mnt, au_dir_roflags);
-+	#else
-+	file = dentry_open(parent, path->mnt, au_dir_roflags, current_cred());
-+	#endif
- 	dentry = (void *)file;
- 	if (IS_ERR(file))
- 		goto out;
---- a/fs/aufs25/file.c
-+++ b/fs/aufs25/file.c
-@@ -98,8 +98,13 @@ struct file *au_h_open(struct dentry *de
- 	h_file = NULL;
- 	if (file && au_test_nfs(h_dentry->d_sb))
- 		h_file = au_h_intent(dentry, bindex, file);
--	if (!h_file)
-+	if (!h_file) {
-+		#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
- 		h_file = dentry_open(dget(h_dentry), mntget(br->br_mnt), flags);
-+		#else
-+		h_file = dentry_open(dget(h_dentry), mntget(br->br_mnt), flags, current_cred());
-+		#endif
-+	}
-
- 	/*
- 	 * a dirty trick for handling FMODE_EXEC and deny_write_access().
---- a/fs/aufs25/inode.c
-+++ b/fs/aufs25/inode.c
-@@ -405,7 +405,11 @@ int au_test_ro(struct super_block *sb, a
-
- int au_test_h_perm(struct inode *h_inode, int mask, int dlgt)
- {
-+	#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
- 	if (!current->fsuid)
-+	#else
-+	if (!current_fsuid())
-+	#endif
- 		return 0;
- 	/* todo: fake nameidata? */
- 	return vfsub_permission(h_inode, mask, NULL, dlgt);
---- a/fs/aufs25/whout.c
-+++ b/fs/aufs25/whout.c
-@@ -274,9 +274,15 @@ static int do_unlink_wh(struct au_hinode
- 	 * forces superio when the dir has a sticky bit.
- 	 * this may be a violation of unix fs semantics.
- 	 */
-+	#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
- 	vfsub_args_init(&vargs, &ign, dlgt,
- 			(h_dir->i_mode & S_ISVTX)
- 			&& wh_dentry->d_inode->i_uid != current->fsuid);
-+	#else
-+	vfsub_args_init(&vargs, &ign, dlgt,
-+			(h_dir->i_mode & S_ISVTX)
-+			&& wh_dentry->d_inode->i_uid != current_fsuid());
-+	#endif
- 	vfsub_ign_hinode(&vargs, IN_DELETE, hdir);
- 	err = vfsub_unlink(h_dir, wh_dentry, &vargs);
- 	AuTraceErr(err);
-@@ -625,7 +631,11 @@ static void reinit_br_wh(void *arg)
- 	struct vfsub_args vargs;
-
- 	AuTraceEnter();
-+	#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
- 	AuDebugOn(current->fsuid);
-+	#else
-+	AuDebugOn(current_fsuid());
-+	#endif
-
- 	err = 0;
- 	wbr = a->br->br_wbr;
---- a/fs/aufs25/xino.c
-+++ b/fs/aufs25/xino.c
-@@ -620,8 +620,13 @@ struct file *au_xino_create2(struct supe
- 		AuErr("%.*s create err %d\n", AuLNPair(name), err);
- 		goto out_dput;
- 	}
-+	#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
- 	file = dentry_open(dget(dentry), mntget(base_file->f_vfsmnt),
- 			   O_RDWR | O_CREAT | O_EXCL | O_LARGEFILE);
-+	#else
-+	file = dentry_open(dget(dentry), mntget(base_file->f_vfsmnt),
-+			   O_RDWR | O_CREAT | O_EXCL | O_LARGEFILE, current_cred());
-+	#endif
- 	if (IS_ERR(file)) {
- 		AuErr("%.*s open err %ld\n", AuLNPair(name), PTR_ERR(file));
- 		goto out_dput;
---- a/fs/aufs25/i_op.c
-+++ b/fs/aufs25/i_op.c
-@@ -61,7 +61,7 @@ static int h_permission(struct inode *h_
- 		AuTraceErr(err);
- 	}
- 
--#if 1 /* todo: export? */
-+#ifdef CONFIG_AUFS_SEC_PERM_PATCH
- 	if (!err)
- 		err = au_security_inode_permission(h_inode, mask, NULL,
- 						   dlgt);
-@@ -221,7 +221,7 @@ static int h_permission(struct inode *h_
- 		AuTraceErr(err);
- 	}
- 
--#if 1 /* todo: export? */
-+#ifdef CONFIG_AUFS_SEC_PERM_PATCH
- 	if (!err)
- 		err = au_security_inode_permission(h_inode, mask, fake_nd,
- 						   dlgt);
---- a/fs/aufs25/inode.h
-+++ b/fs/aufs25/inode.h
-@@ -148,7 +148,7 @@ int aufs_rename(struct inode *src_dir, s
- /* dlgt.c */
- int au_security_inode_permission(struct inode *h_inode, int mask,
- 				 struct nameidata *fake_nd, int dlgt);
--#else
-+#elif defined(CONFIG_AUFS_SEC_PERM_PATCH)
- static inline
- int au_security_inode_permission(struct inode *h_inode, int mask,
- 				 struct nameidata *fake_nd, int dlgt)
diff --git a/pkgs/os-specific/linux/aufs/default.nix b/pkgs/os-specific/linux/aufs/default.nix
deleted file mode 100644
index 5321bfa3d6b1..000000000000
--- a/pkgs/os-specific/linux/aufs/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, kernel }:
-
-stdenv.mkDerivation {
-  name = "aufs-20090414-${kernel.version}";
-
-  src = fetchurl {
-    url = http://nixos.org/tarballs/aufs-20090414.tar.bz2;
-    sha256 = "1jhf3kccx0m84frlgx2d0ysn1c4272dgci59dsk7vsfrf7yik526";
-  };
-
-  buildPhase = ''
-    kernelVersion=$(cd ${kernel}/lib/modules && ls)
-    kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/source)
-    tar xvfj ${kernel.src}
-    kernelSource=$(echo $(pwd)/linux-*)
-    cp -prd $kernelBuild/* $kernelSource
-
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$PWD/include"
-  
-    make KDIR=$kernelSource -f local.mk
-  '';
-
-  installPhase = ''
-    ensureDir $out/bin
-    cp util/aulchown $out/bin
-
-    ensureDir $out/share/man/man5
-    cp util/aufs.5 $out/share/man/man5
-
-    ensureDir $out/lib/modules/$kernelVersion/misc
-    cp aufs.ko $out/lib/modules/$kernelVersion/misc
-  '';
-
-  patches = [
-    # Debian patch to build AUFS on 2.6.29+
-    ./debian-2.6.29.diff
-  ];
-
-  meta = {
-    description = "Another Unionfs implementation for Linux";
-    homepage = http://aufs.sourceforge.net/;
-  };
-}
diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix
index 598ee26124fb..81d15a0aa0ca 100644
--- a/pkgs/os-specific/linux/bluez/default.nix
+++ b/pkgs/os-specific/linux/bluez/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     depending on Python etc. */
   postInstall = ''
     pushd test
-    for a in simple-agent test-adapter test-device; do
+    for a in simple-agent test-adapter test-device test-input; do
       cp $a $out/bin/bluez-$a
       wrapProgram $out/bin/bluez-$a --prefix PYTHONPATH : ${pythonpath}
     done
diff --git a/pkgs/os-specific/linux/bridge-utils/default.nix b/pkgs/os-specific/linux/bridge-utils/default.nix
index cadc49195e39..029f7ed6e29c 100644
--- a/pkgs/os-specific/linux/bridge-utils/default.nix
+++ b/pkgs/os-specific/linux/bridge-utils/default.nix
@@ -1,18 +1,21 @@
 { stdenv, fetchurl, autoconf, automake }:
 
-stdenv.mkDerivation rec {
-  name = "bridge-utils-1.4";
+let
+  name = "bridge-utils-1.5";
+in
+stdenv.mkDerivation {
+  inherit name;
 
   src = fetchurl {
     url = "mirror://sourceforge/bridge/${name}.tar.gz";
-    sha256 = "0csrvpjx1n5fzscdrc0xky3rnaxi90rylqciha5sl0n3pklpasc7";
+    sha256 = "42f9e5fb8f6c52e63a98a43b81bd281c227c529f194913e1c51ec48a393b6688";
   };
 
   buildInputs = [ autoconf automake ];
 
   preConfigure = "autoreconf";
 
-  meta = { 
+  meta = {
     description = "http://sourceforge.net/projects/bridge/";
     homepage = [ "http://www.linux-foundation.org/en/Net:Bridge/" "http://sourceforge.net/projects/bridge/" ];
     license = "GPL";
diff --git a/pkgs/os-specific/linux/cryptsetup/default.nix b/pkgs/os-specific/linux/cryptsetup/default.nix
index 765a49c64465..962de55a1568 100644
--- a/pkgs/os-specific/linux/cryptsetup/default.nix
+++ b/pkgs/os-specific/linux/cryptsetup/default.nix
@@ -1,19 +1,13 @@
-{stdenv, fetchurl, libuuid, popt, devicemapper, udev }:
+{stdenv, fetchurl, libuuid, popt, devicemapper, libgcrypt }:
 
 stdenv.mkDerivation {
-  name = "cryptsetup-1.0.6";
+  name = "cryptsetup-1.4.1";
   src = fetchurl {
-    url = http://cryptsetup.googlecode.com/files/cryptsetup-1.0.6.tar.bz2;
-    sha256 = "df7fda80cfa01f063caf39140287a47d018dfe056fc71a3ba605e690ff0183fd";
+    url = http://cryptsetup.googlecode.com/files/cryptsetup-1.4.1.tar.bz2;
+    sha256 = "82b143328c2b427ef2b89fb76c701d311c95b54093c21bbf22342f7b393bddcb";
   };
 
-  configureFlags = [ "--enable-libdevmapper" ];
-
-  patchPhase = ''
-    sed -i -e 's@/sbin/udevsettle@${udev}/sbin/udevadm settle@' lib/libdevmapper.c
-  '';
-
-  buildInputs = [ libuuid popt devicemapper ];
+  buildInputs = [ libuuid popt devicemapper libgcrypt ];
 
   meta = {
     homepage = http://code.google.com/p/cryptsetup/;
diff --git a/pkgs/os-specific/linux/firmware/rtl8192c/default.nix b/pkgs/os-specific/linux/firmware/rtl8192c/default.nix
index 0ab7436ebfff..877784d4b583 100644
--- a/pkgs/os-specific/linux/firmware/rtl8192c/default.nix
+++ b/pkgs/os-specific/linux/firmware/rtl8192c/default.nix
@@ -3,8 +3,8 @@
 stdenv.mkDerivation rec {
   name = "rtl8192c-fw";
   src = fetchurl {
-    url = "ftp://WebUser:n8W9ErCy@208.70.202.219/cn/wlan/92ce_se_de_linux_mac80211_0003.0401.2011.tar.gz";
-    sha256 = "002kj6f1xaali2iwrxvirqq0hbiyb2cpf93y2xycp3qd69cp8lik";
+    url = "ftp://WebUser:AxPL9s3k@202.134.71.21/cn/wlan/92ce_se_de_linux_mac80211_0004.0816.2011.tar.gz";
+    sha256 = "1kg63h5rj4kja2csmqsrxjipb1wpznfbrvn9cla9d9byksy5fn64";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
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 7234c61e59b3..a6d03db9b861 100644
--- a/pkgs/os-specific/linux/kernel/linux-2.6.35.nix
+++ b/pkgs/os-specific/linux/kernel/linux-2.6.35.nix
@@ -18,6 +18,11 @@ 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
+
       # Disable some expensive (?) features.
       FTRACE n
       KPROBES n
@@ -184,6 +189,11 @@ let
       # Allow up to 128 GiB of RAM in Xen domains.
       XEN_MAX_DOMAIN_MEMORY 128
 
+      # 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
+
       ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
       ${extraConfig}
     '';
diff --git a/pkgs/os-specific/linux/kernel/linux-3.0.nix b/pkgs/os-specific/linux/kernel/linux-3.0.nix
index f5ee6711f938..557223e62604 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.0.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.0.nix
@@ -20,6 +20,11 @@ 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
+
       # Disable some expensive (?) features.
       FTRACE n
       KPROBES n
@@ -197,6 +202,11 @@ let
       # 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
+
       ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
       ${extraConfig}
     '';
@@ -205,7 +215,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.0.8";
+    version = "3.0.9";
   
     preConfigure = ''
       substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' ""
@@ -213,7 +223,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.bz2";
-      sha256 = "1p9sacxz430rmq5zj8pch2i0dczi5jna5g8xf4gni3w436invlaf";
+      sha256 = "1dcn371za577fxw64vk9ry69bihf16l1hk6rs380qnhr6msxr478";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.1.nix b/pkgs/os-specific/linux/kernel/linux-3.1.nix
index d37887ec14aa..fbbcf5aaf528 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.1.nix
@@ -20,6 +20,11 @@ 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
+
       # Disable some expensive (?) features.
       FTRACE n
       KPROBES n
@@ -197,6 +202,11 @@ let
       # 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
+
       ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
       ${extraConfig}
     '';
@@ -205,9 +215,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.1";
-
-    modDirVersion = "3.1.0";
+    version = "3.1.4";
 
     preConfigure = ''
       substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' ""
@@ -215,7 +223,7 @@ import ./generic.nix (
   
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.bz2";
-      sha256 = "0nck9cx66crqhw17y4vc3rfqrcz5269nwn2p5dh0qjvmihvx4wr5";
+      sha256 = "0wd43q1m11d4s5ab2kwnga4jvi5racqwlg4pmcp4fqim0q8jl9g6";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.2.nix b/pkgs/os-specific/linux/kernel/linux-3.2.nix
new file mode 100644
index 000000000000..0e3ace5c384f
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-3.2.nix
@@ -0,0 +1,237 @@
+args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
+, perl, mktemp, module_init_tools
+, ... }:
+
+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
+      BLK_CGROUP y # required by CFQ
+
+      # 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
+      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
+      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
+
+      # 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
+      # Enable KMS for devices whose X.org driver supports it.
+      DRM_I915_KMS y
+      DRM_RADEON_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_L2CAP y
+      BT_SCO y # audio support
+      BT_RFCOMM m
+      BT_RFCOMM_TTY y # RFCOMM TTY support
+      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
+      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
+
+      # 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
+
+      ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
+      ${extraConfig}
+    '';
+in
+
+import ./generic.nix (
+
+  rec {
+    version = "3.2-rc1";
+
+    modDirVersion = "3.2.0-rc1";
+
+    preConfigure = ''
+      substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' ""
+    '';
+  
+    src = fetchurl {
+      url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.bz2";
+      sha256 = "0pp79njklvjzzr4wpyymqhkiq0xgz1sgil5sjms2xj583jg8c4wm";
+    };
+
+    config = configWithPlatform stdenv.platform;
+    configCross = configWithPlatform stdenv.cross.platform;
+
+    features.iwlwifi = true;
+  }
+
+  // removeAttrs args ["extraConfig"]
+)
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 672464e89655..9fb597be72c5 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -36,23 +36,23 @@ let
       };
     };
 
-    makeAufs3StandalonePatch =  {version, rev, sha256}:
+  makeAufs3StandalonePatch = {version, rev, sha256}:
 
-      stdenv.mkDerivation {
-        name = "aufs3-standalone-${version}.patch";
+    stdenv.mkDerivation {
+      name = "aufs3-standalone-${version}.patch";
 
-        src = fetchgit {
-          url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git;
-          inherit sha256 rev;
-        };
+      src = fetchgit {
+        url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git;
+        inherit sha256 rev;
+      };
 
-        phases = [ "unpackPhase" "installPhase" ];
+      phases = [ "unpackPhase" "installPhase" ];
 
-        #Instructions from http://aufs.git.sourceforge.net/git/gitweb.cgi?p=aufs/aufs3-standalone.git;a=blob;f=Documentation/filesystems/aufs/README;h=b8cf077635b323d1b454266366f05f476bbd09cb;hb=1067b9d8d64d23c70d905c9cd3c90a669e39c4d4
-        installPhase = ''
-          cat aufs3-base.patch aufs3-proc_map.patch aufs3-standalone.patch > $out
-        '';
-      };
+      # Instructions from http://aufs.git.sourceforge.net/git/gitweb.cgi?p=aufs/aufs3-standalone.git;a=blob;f=Documentation/filesystems/aufs/README;h=b8cf077635b323d1b454266366f05f476bbd09cb;hb=1067b9d8d64d23c70d905c9cd3c90a669e39c4d4
+      installPhase = ''
+        cat aufs3-base.patch aufs3-proc_map.patch aufs3-standalone.patch > $out
+      '';
+    };
 
 in
 
@@ -297,12 +297,26 @@ rec {
   aufs3_0 = rec {
     name = "aufs3.0";
     version = "3.0";
-    utilRev = "a08d17d433567c7c2586c5fc2625a714b20fe155";
-    utilHash = "4772c1c6a36da7bbd448057c227a9cd1856ccf72748765cf85421ab0c4e34535";
+    utilRev = "cabe3601001ab3838215116c32715c9de9412e62";
+    utilHash = "7fc6cfe1e69a0b2438eaee056e15d42a2d6be396a637fcfb1b89858fcecc832f";
     patch = makeAufs3StandalonePatch {
       inherit version;
-      rev = "1067b9d8d64d23c70d905c9cd3c90a669e39c4d4";
-      sha256 = "b508cab5987a623f057ae5fdc006c909a6bae6151af6e12fe672bf97b1a7549d";
+      rev = "517b27621cdfb793959acac849dae9888338526a";
+      sha256 = "8085200ac78d0c1e082d4c721a09f4a4c1d96ae86e307075836d09c3e7d502df";
+    };
+    features.aufsBase = true;
+    features.aufs3 = true;
+  };
+
+  aufs3_1 = rec {
+    name = "aufs3.1";
+    version = "3.1";
+    utilRev = "cabe3601001ab3838215116c32715c9de9412e62";
+    utilHash = "7fc6cfe1e69a0b2438eaee056e15d42a2d6be396a637fcfb1b89858fcecc832f";
+    patch = makeAufs3StandalonePatch {
+      inherit version;
+      rev = "7386b57432ec5e73632a5375804239b02b6c00f0";
+      sha256 = "af4e9ad890e1b72d14170c97d8ead53291f09e275db600932724e6181530be2d";
     };
     features.aufsBase = true;
     features.aufs3 = true;
@@ -383,31 +397,6 @@ rec {
       patch = ./guruplug-mach-type.patch;
     };
 
-  tuxonice_2_6_34 = makeTuxonicePatch {
-    version = "3.2-rc2";
-    kernelVersion = "2.6.34";
-    sha256 = "0bagqinmky1kmvg3vw8cdysqklxrsfjm7gqrpxviq9jq8vyycviz";
-  };
-
-  tuxonice_2_6_35 = makeTuxonicePatch {
-    version = "3.2-rc2";
-    kernelVersion = "2.6.35";
-    sha256 = "00jbrqq6p1lyvli835wczc0vqsn0z73jpb2aak3ak0vgnvsxw37q";
-  };
-
-  tuxonice_2_6_36 = makeTuxonicePatch {
-    version = "3.2-rc2";
-    kernelVersion = "2.6.36";
-    sha256 = "1vcw3gpjdghnkli46j37pc6rp8mqk8dh688jv8rppzsry0ll7b7k";
-  };
-
-  tuxonice_2_6_37 = makeTuxonicePatch {
-    version = "3.2-rc2";
-    kernelVersion = "2.6.37";
-    url = "http://tuxonice.net/files/current-tuxonice-for-2.6.37.patch_0.bz2";
-    sha256 = "0acllabvbm9pmjnh0zx9mgnp47xbrl9ih6i037c85h0ymnjsxdhk";
-  };
-
   glibc_getline =
     {
       # Patch to work around conflicting types for the `getline' function
diff --git a/pkgs/os-specific/linux/libcg/default.nix b/pkgs/os-specific/linux/libcgroup/default.nix
index 14f96eb15aef..aa73867122f1 100644
--- a/pkgs/os-specific/linux/libcg/default.nix
+++ b/pkgs/os-specific/linux/libcgroup/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pam, yacc, flex}:
+{ stdenv, fetchurl, pam, yacc, flex }:
 
 stdenv.mkDerivation rec {
   name = "libcgroup-0.37.1";
@@ -11,9 +11,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ pam ];
 
   buildNativeInputs = [ yacc flex ];
+  
   meta = {
-    description = "library that abstracts the control group file system in Linux";
-    homepage = "http://libcg.sourceforge.net";
+    description = "Library and tools to manage Linux's cgroup resource management system";
+    homepage = http://libcg.sourceforge.net/;
     license = "LGPL";
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 1fc65eb35edf..5b829db09cd0 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -7,7 +7,7 @@
 
 with stdenv.lib;
 
-let versionNumber = "285.05.09"; in
+let versionNumber = "290.10"; in
 
 stdenv.mkDerivation {
   name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
@@ -18,12 +18,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 = "15kgsfpv0jigm1v3vnhcagni694lqm55kqysslmvb090nsczl0yf";
+        sha256 = "1amdqmgi8rf8mafc5d8jnw6rk1bxrmxc5jm4wm2p8xqzm99qzglr";
       }
     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 = "1zkgsjkhbx6dfmhhbflghbysr3icwfb5p6210xnhfss5dp2cvbwl";
+        sha256 = "01d4cci1ipnamrxisdvsxjr6d4qbj257b46y0glm6grnw11i3x2g";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix
index e4722f26d2b6..f14b249d5144 100644
--- a/pkgs/os-specific/linux/shadow/default.nix
+++ b/pkgs/os-specific/linux/shadow/default.nix
@@ -1,22 +1,31 @@
-{ stdenv, fetchurl, pam, glibc }:
-   
+{ stdenv, fetchurl, pam ? null, glibcCross ? null }:
+
+let
+  glibc = if stdenv ? cross
+          then glibcCross
+          else assert stdenv ? glibc; stdenv.glibc;
+in
 stdenv.mkDerivation rec {
   name = "shadow-4.1.4.2";
-   
+
   src = fetchurl {
     url = "http://pkg-shadow.alioth.debian.org/releases/${name}.tar.bz2";
     sha256 = "1449ny7pdnwkavg92wvibapnkgdq5pas38nvl1m5xa37g5m7z64p";
   };
 
-  buildInputs = [ pam ];
+  buildInputs = stdenv.lib.optional (pam != null && stdenv.isLinux) pam;
 
   patches = [ ./no-sanitize-env.patch ./su-name.patch ./keep-path.patch ];
 
-  preBuild =
+  # Assume System V `setpgrp (void)', which is the default on GNU variants
+  # (`AC_FUNC_SETPGRP' is not cross-compilation capable.)
+  preConfigure = "export ac_cv_func_setpgrp_void=yes";
+
+  preBuild = assert glibc != null;
     ''
       substituteInPlace lib/nscd.c --replace /usr/sbin/nscd ${glibc}/sbin/nscd
     '';
-  
+
   meta = {
     homepage = http://pkg-shadow.alioth.debian.org/;
     description = "Suite containing authentication-related tools such as passwd and su";
diff --git a/pkgs/os-specific/linux/udev/173.nix b/pkgs/os-specific/linux/udev/173.nix
index f5076a9ed15f..41b17777edcb 100644
--- a/pkgs/os-specific/linux/udev/173.nix
+++ b/pkgs/os-specific/linux/udev/173.nix
@@ -45,6 +45,10 @@ stdenv.mkDerivation rec {
     '';
 
   patches = [ ./custom-rules.patch ] ++
+    [(fetchurl {
+      url = https://bugs.archlinux.org/task/25356?getfile=7281;
+      sha256 = "01xib1pfdbwacgx8dqxgrf67a0mwkpm4kxy9f9v3df93v0m4pmbm";
+    })] ++
     stdenv.lib.optional (stdenv.system == "armv5tel-linux") ./pre-accept4-kernel.patch;
 
   meta = {
diff --git a/pkgs/servers/identd/oidentd/default.nix b/pkgs/servers/identd/oidentd/default.nix
new file mode 100644
index 000000000000..04ad25b3fd39
--- /dev/null
+++ b/pkgs/servers/identd/oidentd/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "oidentd-2.0.8";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/ojnk/${name}.tar.gz";
+    sha256 = "0vzv2086rrxcaavrm3js7aqvyc0grgaqy78x61d8s7r8hz8vwk55";
+  };
+
+  meta = {
+    homepage = http://ojnk.sourceforge.net/;
+    description = "An implementation of the IDENT protocol";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/servers/mpd/clientlib.nix b/pkgs/servers/mpd/clientlib.nix
new file mode 100644
index 000000000000..4f689bae6580
--- /dev/null
+++ b/pkgs/servers/mpd/clientlib.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libmpdclient-2.6";
+  src = fetchurl {
+    url = "mirror://sourceforge/musicpd/${name}.tar.bz2";
+    sha256 = "1j8kn0fawdsvczrkhf6xm2yp0h6w49b326i3c08zwvhskd3phljw";
+  };
+
+  meta = {
+    description = "Client library for MPD (music player daemon)";
+    homepage = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki;
+    license = "GPLv2";
+    platforms = with stdenv.lib.platforms; linux;
+    maintainers = [ stdenv.lib.maintainers.mornfall ];
+  };
+}
diff --git a/pkgs/servers/prayer/default.nix b/pkgs/servers/prayer/default.nix
new file mode 100644
index 000000000000..c67d2c8a010a
--- /dev/null
+++ b/pkgs/servers/prayer/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, perl, openssl, db4, zlib, uwimap, htmlTidy, pam}:
+
+let
+  ssl = stdenv.lib.optionals uwimap.withSSL
+    "-e 's/CCLIENT_SSL_ENABLE.*= false/CCLIENT_SSL_ENABLE=true/'";
+in
+stdenv.mkDerivation rec {
+  name = "prayer-1.3.4";
+  
+  src = fetchurl {
+    url = "ftp://ftp.csx.cam.ac.uk/pub/software/email/prayer/${name}.tar.gz";
+    sha256 = "0a2nmrlwdq4n5019j3mw2xbbc61s7sssjih5ql6r5rvyrrr48szc";
+  };
+
+  buildInputs = [ openssl db4 zlib uwimap htmlTidy pam ];
+  buildNativeInputs = [ perl ];
+
+  NIX_LDFLAGS = "-lpam";
+
+  patches = [ ./install.patch ];
+  postPatch = ''
+    sed -i -e s/gmake/make/ -e 's/LDAP_ENABLE.*= true/LDAP_ENABLE=false/' \
+      ${ssl} \
+      -e 's/CCLIENT_LIBS=.*/CCLIENT_LIBS=-lc-client/' \
+      -e 's,^PREFIX .*,PREFIX='$out, \
+      Config
+    sed -i -e s,/usr/bin/perl,${perl}/bin/perl, \
+      templates/src/*.pl
+  '';
+
+  meta = {
+    homepage = http://www-uxsup.csx.cam.ac.uk/~dpc22/prayer/;
+    description = "Yet another Webmail interface for IMAP servers on Unix systems written in C";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/servers/prayer/install.patch b/pkgs/servers/prayer/install.patch
new file mode 100644
index 000000000000..439202dd9555
--- /dev/null
+++ b/pkgs/servers/prayer/install.patch
@@ -0,0 +1,170 @@
+diff --git a/accountd/Makefile b/accountd/Makefile
+index c3e8107..7946776 100644
+--- a/accountd/Makefile
++++ b/accountd/Makefile
+@@ -75,6 +75,6 @@ clean:
+ 	-rm -f prayer-accountd test core *.o *~ \#*\# 
+ 
+ install:
+-	$(INSTALL) -m 755 -o ${RO_USER} -g ${RW_GROUP} \
++	$(INSTALL) -m 755 \
+ 	prayer-accountd ${BROOT}${BIN_DIR}
+ 
+diff --git a/files/Makefile b/files/Makefile
+index 743d0ed..7eff064 100644
+--- a/files/Makefile
++++ b/files/Makefile
+@@ -52,20 +52,20 @@ distclean:
+ 
+ install-cert:
+ 	if [ -f certs/prayer.pem ]; then \
+-	$(INSTALL) -o $(RO_USER) -g $(RO_GROUP) \
++	$(INSTALL) \
+ 	-m $(PRIVATE_FILE) certs/prayer.pem ${BROOT}${PREFIX}/certs; \
+ 	fi
+ 
+ install-config: etc/prayer.cf
+-	$(INSTALL) -D -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \
++	$(INSTALL) -D -m $(PUBLIC_FILE) \
+ 	etc/prayer.cf ${BROOT}${PRAYER_CONFIG_FILE}
+ 
+ install-aconfig:
+-	$(INSTALL) -D -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \
++	$(INSTALL) -D -m $(PUBLIC_FILE) \
+ 	etc/prayer-accountd.cf ${BROOT}${ACCOUNTD_CONFIG_FILE}
+ 
+ install-motd:
+-	$(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_FILE) \
++	$(INSTALL) -m $(PUBLIC_FILE) \
+ 	etc/motd.html ${BROOT}${PREFIX}/etc
+ 
+ install:
+@@ -83,6 +83,6 @@ install:
+ 	if [ ! -f $(BROOT)$(PREFIX)/etc/motd.html ]; then $(MAKE) install-motd; fi
+ 
+ redhat-install-init.d:
+-	install -D -o root -g root -m 755 \
++	install -D -m 755 \
+ 		./init.d/prayer $(BROOT)/etc/rc.d/init.d/prayer
+ 	#chkconfig prayer --level 2345 on
+diff --git a/files/install.sh b/files/install.sh
+index 8d1d1f4..0804a08 100755
+--- a/files/install.sh
++++ b/files/install.sh
+@@ -2,8 +2,6 @@
+ #
+ # $Cambridge: hermes/src/prayer/files/install.sh,v 1.7 2008/09/16 09:59:56 dpc22 Exp $
+ 
+-PATH=/bin:/sbin/:/usr/bin:/usr/sbin
+-
+ error=0
+ 
+ if [ "x$PREFIX" = "x" ]; then
+@@ -55,24 +53,20 @@ if [ $error != 0 ]; then
+     exit 1
+ fi
+ 
+-if [ ! -d ${VAR_PREFIX} -a `whoami` = "root" ]; then
+-    ${INSTALL} -d -o ${RW_USER} -g ${RW_GROUP} -m ${PRIVATE_DIR} ${VAR_PREFIX}
+-fi
+-
+ if [ ! -d ${PREFIX} ]; then
+-    ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${PREFIX}
++    ${INSTALL} -d -m ${PUBLIC_DIR} ${PREFIX}
+ fi
+ 
+ if [ ! -d ${PREFIX}/etc ]; then
+-    ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${PREFIX}/etc
++    ${INSTALL} -d -m ${PUBLIC_DIR} ${PREFIX}/etc
+ fi
+ 
+ if [ ! -d ${PREFIX}/certs ]; then
+-    ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PRIVATE_DIR} ${PREFIX}/certs
++    ${INSTALL} -d -m ${PRIVATE_DIR} ${PREFIX}/certs
+ fi
+ 
+ if [ ! -d ${BIN_DIR} ]; then
+-    ${INSTALL} -d -o ${RO_USER} -g ${RO_GROUP} -m ${PUBLIC_DIR} ${BIN_DIR}
++    ${INSTALL} -d -m ${PUBLIC_DIR} ${BIN_DIR}
+ fi
+ 
+ for i in icons static
+@@ -83,5 +77,4 @@ do
+     fi
+     echo Copying ${i}
+     (tar cf - ${i}) | (cd ${PREFIX} ; tar xf -)
+-    (cd ${PREFIX}; chown -R ${RO_USER}:${RO_GROUP} ${i})
+ done
+diff --git a/servers/Makefile b/servers/Makefile
+index 021aed5..5ccbd08 100644
+--- a/servers/Makefile
++++ b/servers/Makefile
+@@ -107,13 +107,13 @@ clean:
+ 	-rm -f $(BIN) core *.o *.flc *~ \#*\#
+ 
+ install: all
+-	$(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \
++	$(INSTALL) -m $(PUBLIC_DIR) -d \
+ 	  $(BROOT)$(BIN_DIR)
+-	$(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \
++	$(INSTALL) -m $(PUBLIC_EXEC) \
+ 	  prayer           $(BROOT)$(BIN_DIR)
+-	$(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \
++	$(INSTALL) -m $(PUBLIC_EXEC) \
+ 	  prayer-chroot           $(BROOT)$(BIN_DIR)
+-	$(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \
++	$(INSTALL) -m $(PUBLIC_EXEC) \
+ 	  prayer-session   $(BROOT)$(BIN_DIR)
+ 
+ prayer: $(PRAYER_OBJS) prayer_main.o
+diff --git a/templates/cam/Makefile b/templates/cam/Makefile
+index 9f4122a..396b628 100644
+--- a/templates/cam/Makefile
++++ b/templates/cam/Makefile
+@@ -124,7 +124,7 @@ _template_index.c:
+ 	$(COMPILE) $(TYPE) $@ $*
+ 
+ install:
+-	$(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \
++	$(INSTALL) -m $(PUBLIC_DIR) -d \
+ 	  $(BROOT)$(PREFIX)/templates/$(TYPE)
+ 	cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE)
+ 	cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE)
+diff --git a/templates/old/Makefile b/templates/old/Makefile
+index 31016cf..288a64c 100644
+--- a/templates/old/Makefile
++++ b/templates/old/Makefile
+@@ -123,7 +123,7 @@ _template_index.c:
+ 	$(COMPILE) $(TYPE) $@ $*
+ 
+ install:
+-	$(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \
++	$(INSTALL) -m $(PUBLIC_DIR) -d \
+ 	  $(BROOT)$(PREFIX)/templates/$(TYPE)
+ 	cp *.t $(BROOT)$(PREFIX)/templates/$(TYPE)
+ 	cp *.vars $(BROOT)$(PREFIX)/templates/$(TYPE)
+diff --git a/utils/Makefile b/utils/Makefile
+index 9c79916..ef82481 100644
+--- a/utils/Makefile
++++ b/utils/Makefile
+@@ -72,15 +72,15 @@ clean:
+ 	-rm -f $(BIN) core *.o *.flc *~ \#*\#
+ 
+ install: all
+-	$(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_DIR) -d \
++	$(INSTALL) -m $(PUBLIC_DIR) -d \
+ 	  $(BROOT)$(BIN_DIR)
+-	$(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \
++	$(INSTALL) -m $(PUBLIC_EXEC) \
+ 	  prayer-ssl-prune $(BROOT)$(BIN_DIR)
+-	$(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \
++	$(INSTALL) -m $(PUBLIC_EXEC) \
+ 	  prayer-sem-prune $(BROOT)$(BIN_DIR)
+-	$(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \
++	$(INSTALL) -m $(PUBLIC_EXEC) \
+ 	  prayer-db-prune $(BROOT)$(BIN_DIR)
+-	$(INSTALL) -o $(RO_USER) -g $(RO_GROUP) -m $(PUBLIC_EXEC) \
++	$(INSTALL) -m $(PUBLIC_EXEC) \
+ 	  prayer-cyclog    $(BROOT)$(BIN_DIR)
+ 
+ prayer-ssl-prune: $(PRUNE_OBJS)
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index 881d9811a408..13d0af8987ce 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
       #gtk gconf 
     ]
     ++ stdenv.lib.optional jackaudioSupport jackaudio
-    ++ stdenv.lib.optional x11Support xlibs.xlibs;
+    ++ stdenv.lib.optionals x11Support [ xlibs.xlibs xlibs.libXtst xlibs.libXi ];
 
   preConfigure = ''
     # Change the `padsp' script so that it contains the full path to
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
     ${if jackaudioSupport then "--enable-jack" else ""}
   '';
 
-  installFlags = "pulseconfdir=$(out)/etc dbuspolicydir=$out/etc/dbus-1/system.d xdgautostartdir=$out/etc/xdg/autostart";
+  installFlags = "sysconfdir=$(out)/etc pulseconfdir=$(out)/etc/pulse";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/servers/samba/default.nix b/pkgs/servers/samba/default.nix
index a6ade7400e86..42d577c55fa8 100644
--- a/pkgs/servers/samba/default.nix
+++ b/pkgs/servers/samba/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, readline, pam, openldap, popt, iniparser, libunwind, fam
-, acl, cups
+{ stdenv, fetchurl, readline, pam ? null, openldap ? null
+, popt, iniparser, libunwind
+, fam ? null , acl ? null, cups ? null
 , useKerberos ? false, kerberos ? null, winbind ? true
 
 # Eg. smbclient and smbspool require a smb.conf file.
@@ -14,11 +15,7 @@
 
 }:
 
-let
-
- useWith = flag: option: if flag then "--with-"+option else "";
- 
-in
+assert useKerberos -> kerberos != null;
 
 stdenv.mkDerivation rec {
   name = "samba-3.6.1";
@@ -38,19 +35,29 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  preConfigure = "cd source3";
+  postPatch =
+    # XXX: Awful hack to allow cross-compilation.
+    '' sed -i source3/configure \
+           -e 's/^as_fn_error \("cannot run test program while cross compiling\)/$as_echo \1/g'
+    '';
+
+  preConfigure =
+    '' cd source3
+       export samba_cv_CC_NEGATIVE_ENUM_VALUES=yes
+       export libreplace_cv_HAVE_GETADDRINFO=yes
+       export ac_cv_file__proc_sys_kernel_core_pattern=no # XXX: true on Linux, false elsewhere
+    '';
 
-  configureFlags = ''
-    --with-pam
-    --with-aio-support
-    --with-pam_smbpass
-    --disable-swat
-    --with-configdir=${configDir}
-    --with-fhs
-    --localstatedir=/var
-    ${useWith winbind "winbind"}
-    ${if stdenv.gcc.libc != null then "--with-libiconv=${stdenv.gcc.libc}" else ""}
-  '';
+  configureFlags =
+    stdenv.lib.optionals (pam != null) [ "--with-pam" "--with-pam_smbpass" ]
+    ++ [ "--with-aio-support"
+         "--disable-swat"
+         "--with-configdir=${configDir}"
+         "--with-fhs"
+         "--localstatedir=/var"
+       ]
+    ++ (stdenv.lib.optional winbind "--with-winbind")
+    ++ (stdenv.lib.optional (stdenv.gcc.libc != null) "--with-libiconv=${stdenv.gcc.libc}");
 
   # Need to use a DESTDIR because `make install' tries to write in /var and /etc.
   installFlags = "DESTDIR=$(TMPDIR)/inst";
diff --git a/pkgs/servers/sip/sipwitch/default.nix b/pkgs/servers/sip/sipwitch/default.nix
index cb8c9aec3fc4..57b4a5ca17cc 100644
--- a/pkgs/servers/sip/sipwitch/default.nix
+++ b/pkgs/servers/sip/sipwitch/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, pkgconfig, ucommon, libosip, libexosip, gnutls, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "sipwitch-1.1.2";
+  name = "sipwitch-1.1.3";
 
   src = fetchurl {
     url = "mirror://gnu/sipwitch/${name}.tar.gz";
-    sha256 = "1ixbzrpndhx7i0cxx02rlnhv9948pbsbbs5gdsgp6asq42vfz3f2";
+    sha256 = "0g1vx8xsmna0c7sqck8pv44312r4qrk82ky3j99p82ckbqj1sqjv";
   };
 
   buildInputs = [ pkgconfig ucommon libosip libexosip gnutls zlib ];
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 311d967c0a34..a1e8aafd7bc6 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -302,7 +302,7 @@ rec {
               else
                 null;
           in
-            builtins.trace "@:drv:${toString drvPath}:${builtins.exprToString license}:@"
+            builtins.trace "@:drv:${toString drvPath}:${builtins.toString license}:@"
               val;
         in pkg // {
           outPath = printDrvPath pkg.outPath;
@@ -330,20 +330,24 @@ rec {
     { mkDerivation = args:
         let
           pkg = stdenv.mkDerivation args;
+          drv = builtins.unsafeDiscardStringContext pkg.drvPath;
           license =
             if pkg ? meta && pkg.meta ? license then
               pkg.meta.license
+            else if pkg ? outputHash then
+              # Fixed-output derivations such as source tarballs usually
+              # don't have licensing information, but that's OK.
+              null
             else
-              null;
+              builtins.trace
+                "warning: ${drv} lacks licensing information" null;
 
           validate = arg:
             if licensePred license then arg
-            else abort "
-              Error while building ${builtins.unsafeDiscardStringContext pkg.drvPath}:
-              The license predicate is not verified.
-
-              bad license: ${builtins.exprToString license}
-            ";
+            else abort ''
+              while building ${drv}:
+              license `${builtins.toString license}' does not pass the predicate.
+            '';
 
         in pkg // {
           outPath = validate pkg.outPath;
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index c01f0da93ee1..eca128bcd754 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -98,7 +98,8 @@ let
                || result.system == "powerpc-linux"
                || result.system == "armv5tel-linux"
                || result.system == "mips64-linux";
-        isSunOS = result.system == "i386-sunos";
+        isSunOS = result.system == "i686-solaris"
+               || result.system == "x86_64-solaris";
         isCygwin = result.system == "i686-cygwin";
         isFreeBSD = result.system == "i686-freebsd"
                || result.system == "x86_64-freebsd";
diff --git a/pkgs/stdenv/native/default.nix b/pkgs/stdenv/native/default.nix
index 6cb45909019d..1f3fa69d51b0 100644
--- a/pkgs/stdenv/native/default.nix
+++ b/pkgs/stdenv/native/default.nix
@@ -1,10 +1,13 @@
-{system, allPackages ? import ../../..}:
+{ system, allPackages ? import ../../.. }:
 
 rec {
 
-  shell = "/bin/bash";
+  shell = 
+    if system == "i686-freebsd" || system == "x86_64-freebsd" then "/usr/local/bin/bash"
+    else "/bin/bash";
 
-  path = (if system == "i386-sunos" then [ "/usr/gnu" ] else []) ++
+  path = 
+    (if system == "i686-solaris" then [ "/usr/gnu" ] else []) ++
     (if system == "i686-netbsd" then [ "/usr/pkg" ] else []) ++
     ["/" "/usr" "/usr/local"];
 
@@ -87,6 +90,7 @@ rec {
       preHook =
         if system == "i686-darwin" || system == "powerpc-darwin" || system == "x86_64-darwin" then prehookDarwin else
         if system == "i686-freebsd" then prehookFreeBSD else
+        if system == "x86_64-freebsd" then prehookFreeBSD else
         if system == "i686-openbsd" then prehookOpenBSD else
 	if system == "i686-netbsd" then prehookNetBSD else
         prehookBase;
@@ -109,7 +113,7 @@ rec {
     name = "gcc-native";
     nativeTools = true;
     nativeLibc = true;
-    nativePrefix = if system == "i386-sunos" then "/usr/gnu" else "/usr";
+    nativePrefix = if system == "i686-solaris" then "/usr/gnu" else "/usr";
     stdenv = stdenvBoot0;
   };
 
diff --git a/pkgs/tools/X11/x11vnc/default.nix b/pkgs/tools/X11/x11vnc/default.nix
index ceb3798f6de1..71c7046b0b7a 100644
--- a/pkgs/tools/X11/x11vnc/default.nix
+++ b/pkgs/tools/X11/x11vnc/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, openssl, zlib, libjpeg, xorg }:
+{ stdenv, fetchurl, openssl, zlib, libjpeg, xorg, coreutils }:
 
 stdenv.mkDerivation rec {
-  name = "x11vnc-0.9.12";
+  name = "x11vnc-0.9.13";
 
   src = fetchurl {
     url = "mirror://sourceforge/libvncserver/${name}.tar.gz";
-    sha256 = "60a7cceee2c9a5f1c854340b2bae13f975ac55906237042f81f795b28a154a79";
+    sha256 = "0fzib5xb1vbs8kdprr4z94v0fshj2c5hhaz69llaarwnc8p9z0pn";
   };
 
   buildInputs =
@@ -18,6 +18,13 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     configureFlags="--mandir=$out/share/man"
+
+    substituteInPlace x11vnc/unixpw.c \
+        --replace '"/bin/su"' '"/var/setuid-wrappers/su"' \
+        --replace '"/bin/true"' '"${coreutils}/bin/true"'
+        
+    substituteInPlace x11vnc/ssltools.h \
+        --replace xdpyinfo ${xorg.xdpyinfo}/bin/xdpyinfo
   '';
 
   meta = {
diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix
index dd76bdd26e8d..36aae0684385 100644
--- a/pkgs/tools/admin/tigervnc/default.nix
+++ b/pkgs/tools/admin/tigervnc/default.nix
@@ -1,29 +1,31 @@
-{stdenv, fetchsvn, libX11, libXext, gettext, libICE, libXtst, libXi, libSM, xorgserver,
-autoconf, automake, cvs, libtool, nasm, utilmacros, pixman, xkbcomp, xkeyboard_config,
-fontDirectories, fontutil }:
+{ stdenv, fetchurl, libX11, libXext, gettext, libICE, libXtst, libXi, libSM, xorgserver
+, autoconf, automake, cvs, libtool, nasm, utilmacros, pixman, xkbcomp, xkeyboard_config
+, fontDirectories, fontutil, libgcrypt, gnutls, pam, flex, bison
+, fixesproto, damageproto, xcmiscproto, bigreqsproto, randrproto, renderproto
+, fontsproto, videoproto, compositeproto, scrnsaverproto, resourceproto
+, libxkbfile, libXfont, libpciaccess
+}:
+
+
 
 with stdenv.lib;
 
-stdenv.mkDerivation {
-  name = "tigervnc-svn-4232";
-  src = fetchsvn {
-    url = https://tigervnc.svn.sourceforge.net/svnroot/tigervnc/trunk;
-    rev = 4232;
-    sha256 = "070lsddgx6qj7bpw4p65w54fr7z46vp8wyshv9p0fh3k5izrfnxj";
+stdenv.mkDerivation rec {
+  name = "tigervnc-1.1.0";
+  
+  src = fetchurl {
+    url = "mirror://sourceforge/tigervnc/${name}.tar.gz";
+    sha256 = "1x30s12fwv9rk0fnwwn631qq0d8rpjjx53bvzlx8c91cba170jsr";
   };
 
-  preConfigure = ''
-    autoreconf -vfi
-  '';
-
   configureFlags = "--enable-nls";
 
   inherit fontDirectories;
 
   patchPhase = ''
-    sed -i -e 's,$(includedir)/pixman-1,${pixman}/include/pixman-1,' unix/xserver/hw/vnc/Makefile.am
-    sed -i -e '/^$pidFile/a$ENV{XKB_BINDIR}="${xkbcomp}/bin";' unix/vncserver 
-    sed -i -e '/^\$cmd \.= " -pn";/a$cmd .= " -xkbdir ${xkeyboard_config}/etc/X11/xkb";' unix/vncserver 
+    sed -i -e 's,$(includedir)/pixman-1,${if stdenv ? cross then pixman.hostDrv else pixman}/include/pixman-1,' unix/xserver/hw/vnc/Makefile.am
+    sed -i -e '/^$pidFile/a$ENV{XKB_BINDIR}="${if stdenv ? cross then xkbcomp.hostDrv else xkbcomp}/bin";' unix/vncserver 
+    sed -i -e '/^\$cmd \.= " -pn";/a$cmd .= " -xkbdir ${if stdenv ? cross then xkeyboard_config.hostDrv else xkeyboard_config}/etc/X11/xkb";' unix/vncserver 
 
     fontPath=
     for i in $fontDirectories; do
@@ -50,7 +52,7 @@ stdenv.mkDerivation {
     done
     patch -p1 < ../xserver18.patch
     autoreconf -vfi
-    ./configure --prefix=$out --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg --disable-dmx --disable-dri --disable-dri2 --disable-glx
+    ./configure $configureFlags --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg --disable-dmx --disable-dri --disable-dri2 --disable-glx
     make TIGERVNC_SRCDIR=`pwd`/../..
     popd
   '';
@@ -66,10 +68,24 @@ stdenv.mkDerivation {
     make TIGERVNC_SRCDIR=`pwd`/../.. install
   '';
 
-  buildInputs = [ libX11 libXext gettext libICE libXtst libXi libSM autoconf automake cvs
-    libtool nasm utilmacros fontutil ] ++ xorgserver.buildNativeInputs;
+  crossAttrs = {
+    buildInputs = (map (x : x.hostDrv) (buildInputs ++ [
+      fixesproto damageproto xcmiscproto bigreqsproto randrproto renderproto
+      fontsproto videoproto compositeproto scrnsaverproto resourceproto
+      libxkbfile libXfont libpciaccess
+    ]));
+  };
+
+  buildInputs =
+    [ libX11 libXext gettext libICE libXtst libXi libSM
+      nasm libgcrypt gnutls pam pixman
+    ];
+  
+  buildNativeInputs = 
+    [ autoconf automake cvs utilmacros fontutil libtool flex bison ] 
+      ++ xorgserver.buildNativeInputs;
 
-  propagatedBuildInputs = xorgserver.propagatedBuildNativeInputs;
+  propagatedBuildNativeInputs = xorgserver.propagatedBuildNativeInputs;
 
   meta = {
     homepage = http://www.tigervnc.org/;
diff --git a/pkgs/tools/archivers/dar/default.nix b/pkgs/tools/archivers/dar/default.nix
index 49c56d075d30..f4e962f546c7 100644
--- a/pkgs/tools/archivers/dar/default.nix
+++ b/pkgs/tools/archivers/dar/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, zlib, bzip2, openssl, attr }:
+{ stdenv, fetchurl, zlib, bzip2, openssl, attr, lzo, libgcrypt, e2fsprogs }:
 
 stdenv.mkDerivation rec {
-  name = "dar-2.3.10";
+  name = "dar-2.4.2";
   
   src = fetchurl {
     url = "mirror://sourceforge/dar/${name}.tar.gz";
-    sha256 = "04qzdcz97bzz414khfj82hn8s1i1ry7qxaikq8lj1069gvhc6qjn";
+    sha256 = "0cvcy9xccg4wmvbpxyacwppapbq03m3pwjk8b3xmdn2h8lr1pziq";
   };
 
-  buildInputs = [ zlib bzip2 openssl attr ];
+  buildInputs = [ zlib bzip2 openssl attr lzo libgcrypt e2fsprogs ];
 
   configureFlags = "--disable-dar-static";
 
diff --git a/pkgs/tools/backup/btar/default.nix b/pkgs/tools/backup/btar/default.nix
new file mode 100644
index 000000000000..2ec82ff4a68a
--- /dev/null
+++ b/pkgs/tools/backup/btar/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, librsync }:
+
+stdenv.mkDerivation rec {
+  name = "btar-0.9.1";
+  src = fetchurl {
+    url = "http://vicerveza.homeunix.net/~viric/soft/btar/${name}.tar.gz";
+    sha256 = "1fmaq5z81zvs3gjrkwnqz8nb4a6dqij5cmw99jhcaxlnwl45y3vj";
+  };
+
+  buildInputs = [ librsync ];
+
+  installPhase = "make install PREFIX=$out";
+
+  meta = {
+    description = "Tar-compatible block-based archiver";
+    license = "GPLv3+";
+    homepage = http://viric.name/cgi-bin/btar;
+    platforms = with stdenv.lib.platforms; all;
+    maintainers = with stdenv.lib.maintainers; [viric];
+  };
+}
diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix
index 98d4c1d8c30b..c4cc84ba34fa 100644
--- a/pkgs/tools/backup/duplicity/default.nix
+++ b/pkgs/tools/backup/duplicity/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python, librsync, gnupg, boto, makeWrapper }:
 
 stdenv.mkDerivation {
-  name = "duplicity-0.6.14";
+  name = "duplicity-0.6.16";
 
   src = fetchurl {
-    url = http://code.launchpad.net/duplicity/0.6-series/0.6.14/+download/duplicity-0.6.14.tar.gz;
-    sha256 = "1h0gxi7hdz22fvah9mcavimfgahf31pixy1mx2mivncl14b45wf7";
+    url = http://code.launchpad.net/duplicity/0.6-series/0.6.16/+download/duplicity-0.6.16.tar.gz;
+    sha256 = "0n63857swqnq7i697p615dp37bsd5bj0gvlj5ng41584zzjmv328";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/cd-dvd/xorriso/default.nix b/pkgs/tools/cd-dvd/xorriso/default.nix
index e8a58a1fa96d..4936bca1ba10 100644
--- a/pkgs/tools/cd-dvd/xorriso/default.nix
+++ b/pkgs/tools/cd-dvd/xorriso/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libcdio, zlib, bzip2, readline, acl }:
 
 stdenv.mkDerivation rec {
-  name = "xorriso-1.1.6";
+  name = "xorriso-1.1.8";
 
   src = fetchurl {
     url = "mirror://gnu/xorriso/${name}.tar.gz";
-    sha256 = "0dlavcdx1lblqy9pjlxv4krczvb23650f2zd1phy2hdxhiq6c966";
+    sha256 = "1pnmjk2nvxg54zrm4mha6vvgi6sl5xzznqcfzrlrvgsdy5liwb4x";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/misc/dtach/default.nix b/pkgs/tools/misc/dtach/default.nix
new file mode 100644
index 000000000000..d203419cd69a
--- /dev/null
+++ b/pkgs/tools/misc/dtach/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "dtach-0.8";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/dtach/dtach/0.8/dtach-0.8.tar.gz";
+    sha256 = "16614ebddf8ab2811d3dc0e7f329c7de88929ac6a9632d4cb4aef7fe11b8f2a9";
+  };
+
+  installPhase = ''
+    ensureDir $out/bin
+    cp dtach $out/bin/dtach
+  '';
+
+  meta = {
+    homepage = http://dtach.sourceforge.net/;
+    description = "A program that emulates the detach feature of screen";
+
+    longDescription = ''dtach is a tiny program that emulates the
+      detach feature of screen, allowing you to run a program in an
+      environment that is protected from the controlling terminal and
+      attach to it later. dtach does not keep track of the contents of
+      the screen, and thus works best with programs that know how to
+      redraw themselves.'';
+
+    license = stdenv.lib.licenses.gpl2Plus;
+
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.chaoflow ];
+  };
+}
diff --git a/pkgs/tools/misc/gource/default.nix b/pkgs/tools/misc/gource/default.nix
index 30e5a73685e6..9ec8961f2687 100644
--- a/pkgs/tools/misc/gource/default.nix
+++ b/pkgs/tools/misc/gource/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, SDL, ftgl, pkgconfig, libpng, libjpeg, pcre, SDL_image, glew, mesa}:
  
 stdenv.mkDerivation {
-  name = "gource-0.28";
+  name = "gource-0.37";
   
   src = fetchurl {
-    url = http://gource.googlecode.com/files/gource-0.28.tar.gz;
-    sha256 = "09538vcf9n21qx4cmcjrki6ilayvm4x6s0zdf00mrd1h0bklhxn3";
+    url = http://gource.googlecode.com/files/gource-0.37.tar.gz;
+    sha256 = "03kd9nn65cl1p2jgn6pvpxmvnfscz3c8jqds90fsc0z37ij2iiyn";
   };
   
   buildInputs = [glew SDL ftgl pkgconfig libpng libjpeg pcre SDL_image mesa];
diff --git a/pkgs/tools/misc/mc/default.nix b/pkgs/tools/misc/mc/default.nix
index d3ea7a38a74b..cc8fbacca6fc 100644
--- a/pkgs/tools/misc/mc/default.nix
+++ b/pkgs/tools/misc/mc/default.nix
@@ -2,11 +2,11 @@
 , libX11, libICE, perl, zip, unzip, gettext, slang}:
 
 stdenv.mkDerivation rec {
-  name = "mc-4.7.5.3";
+  name = "mc-4.8.0";
   
   src = fetchurl {
-    url = http://www.midnight-commander.org/downloads/mc-4.7.5.3.tar.bz2;
-    sha256 = "1di8fsdg6y98iq3846j145qjk4bf5rgjj2hxnxdbcwfp8p3v8x88";
+    url = http://www.midnight-commander.org/downloads/mc-4.8.0.tar.bz2;
+    sha256 = "dbf077b318c13fc6d465dc67bd43958f067b9ff7e21041975bd14927dfa31b52";
   };
   
   buildInputs = [ pkgconfig perl glib gpm slang zip unzip file gettext libX11 libICE e2fsprogs ];
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index c104bf752fe1..621bc79a2779 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20111022";
+  name = "parallel-20111122";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "0l9g7lg7avshjm0783abcrcmlmrqkwhzic23lk0jna0nckkd9jhk";
+    sha256 = "1czcflprhbhyj3mj7dc986gll0kfc6n8qiqazclph172rbq3acpd";
   };
 
   patchPhase =
diff --git a/pkgs/tools/misc/recutils/default.nix b/pkgs/tools/misc/recutils/default.nix
index 307c60bd6111..95ced6784ae2 100644
--- a/pkgs/tools/misc/recutils/default.nix
+++ b/pkgs/tools/misc/recutils/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, gettext, emacs, curl, check, bc }:
 
 stdenv.mkDerivation rec {
-  name = "recutils-1.3";
+  name = "recutils-1.4";
 
   src = fetchurl {
     url = "mirror://gnu/recutils/${name}.tar.gz";
-    sha256 = "0ywf939vw4zbpq6dmvw656fhkx8izma99pr1akzh8hs2rc9sp2pr";
+    sha256 = "1kakmzmkdkgqmvqfzrpkwjjkg492rk3k7xfgnwcjacap9l79z9pv";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index 10793753ab59..da54c1854102 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -12,6 +12,12 @@ stdenv.mkDerivation rec {
 
   makeFlags = "PREFIX=\${out}";
 
+  crossAttrs = {
+    preBuild = ''
+      makeFlags=" $makeFlags CC=${stdenv.cross.config}-gcc "
+    '';
+  };
+
   buildInputs = [ ncurses libevent ];
 
   meta = {
diff --git a/pkgs/tools/networking/imapproxy/default.nix b/pkgs/tools/networking/imapproxy/default.nix
new file mode 100644
index 000000000000..7af7f73aad92
--- /dev/null
+++ b/pkgs/tools/networking/imapproxy/default.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, openssl, ncurses}:
+
+stdenv.mkDerivation rec {
+  name = "imapproxy-1.2.7";
+  src = fetchurl {
+    url = mirror://sourceforge/squirrelmail/squirrelmail-imap_proxy-1.2.7.tar.bz2;
+    sha256 = "0j5fq755sxiz338ia93jrkiy64crv30g37pir5pxfys57q7d92nx";
+  };
+
+  buildInputs = [ openssl ncurses ];
+
+  patchPhase = ''
+    sed -i -e 's/-o \(root\|bin\) -g \(sys\|bin\)//' Makefile.in
+  '';
+
+  meta = {
+    homepage = http://imapproxy.org/;
+    description = "It proxies IMAP transactions caching server connections";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/tools/networking/miniupnpc/default.nix b/pkgs/tools/networking/miniupnpc/default.nix
index 19ef811713a5..1039cadb3ee5 100644
--- a/pkgs/tools/networking/miniupnpc/default.nix
+++ b/pkgs/tools/networking/miniupnpc/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "miniupnpc-1.5";
+  name = "miniupnpc-1.6";
 
   src = fetchurl {
     url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
-    sha256 = "0mx950lfxcjpsfny8qcjx6phb74v4zw1rlj99xicd4icx5j0w3s4";
+    sha256 = "151rh46axl44y7bbflb43pnj52gvlfnkxfgrn2jvai5gwrbbgmmv";
   };
 
   installFlags = "PREFIX=$(out) INSTALLPREFIX=$(out)";
diff --git a/pkgs/tools/networking/openvpn/default.nix b/pkgs/tools/networking/openvpn/default.nix
index b9285a8c2195..bfcc1c16dab4 100644
--- a/pkgs/tools/networking/openvpn/default.nix
+++ b/pkgs/tools/networking/openvpn/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ iproute lzo openssl ];
 
   configureFlags = ''
+    --enable-password-save
     --with-ifconfig-path=${nettools}/sbin/ifconfig
     --with-iproute-path=${iproute}/sbin/ip
     --with-route-path=${nettools}/sbin/route
diff --git a/pkgs/tools/networking/p2p/rtorrent/default.nix b/pkgs/tools/networking/p2p/rtorrent/default.nix
index 848f2284fd33..4056c6429b06 100644
--- a/pkgs/tools/networking/p2p/rtorrent/default.nix
+++ b/pkgs/tools/networking/p2p/rtorrent/default.nix
@@ -14,7 +14,10 @@ stdenv.mkDerivation {
 
   buildInputs = [ libtorrent ncurses pkgconfig libsigcxx curl zlib openssl ];
 
-  postInstall = "install -D -m 444 doc/rtorrent.1 $out/share/man/man1/rtorrent.1";
+  postInstall = ''
+    ensureDir $out/share/man/man1
+    mv doc/rtorrent.1 $out/share/man/man1/rtorrent.1
+  '';
 
   meta = {
     homepage = "http://libtorrent.rakshasa.no/";
diff --git a/pkgs/tools/networking/p2p/seeks/default.nix b/pkgs/tools/networking/p2p/seeks/default.nix
index 1c6c59acd9fe..bce4b0687bac 100644
--- a/pkgs/tools/networking/p2p/seeks/default.nix
+++ b/pkgs/tools/networking/p2p/seeks/default.nix
@@ -1,18 +1,19 @@
 { fetchurl, stdenv, zlib, docbook2x, pcre, curl, libxml2, libevent, perl
-, pkgconfig, protobuf, tokyocabinet, opencv }:
+, pkgconfig, protobuf, tokyocabinet, tokyotyrant, opencv
+}:
 
-let version = "0.3.3"; in
+let version = "0.4.0"; in
 stdenv.mkDerivation {
   name = "seeks-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/seeks/solo/seeks-${version}.tar.gz";
-    sha256 = "1zsl6ixmkvjhy9r2cs22g4q31gg5fkhayvws5jra7jfgmzbrll5c";
+    url = "mirror://sourceforge/seeks/hippy/seeks-${version}.tar.gz";
+    sha256 = "1y91dmd0b0yj5036x8kk92iy88dsnzdwhhz23ba9lp96vpafd2ky";
   };
 
   buildInputs =
     [ zlib docbook2x pcre curl libxml2 libevent perl pkgconfig
-      protobuf tokyocabinet opencv
+      protobuf tokyocabinet tokyotyrant opencv
     ];
 
   configureFlags =
diff --git a/pkgs/tools/networking/uwimap/default.nix b/pkgs/tools/networking/uwimap/default.nix
new file mode 100644
index 000000000000..7d72016cfe27
--- /dev/null
+++ b/pkgs/tools/networking/uwimap/default.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl, pam, openssl}:
+
+stdenv.mkDerivation {
+  name = "uw-imap-2007";
+
+  src = fetchurl {
+    url = "ftp://ftp.cac.washington.edu/imap/imap-2007f.tar.gz";
+    sha256 = "0a2a00hbakh0640r2wdpnwr8789z59wnk7rfsihh3j0vbhmmmqak";
+  };
+
+  makeFlags = "lnp"; # Linux with PAM modules
+
+  buildInputs = [ pam openssl ];
+
+  patchPhase = ''
+    sed -i -e s,/usr/local/ssl,${openssl}, \
+      src/osdep/unix/Makefile
+  '';
+
+  installPhase = ''
+    ensureDir $out/bin $out/lib $out/include
+    cp c-client/*.h c-client/linkage.c $out/include
+    cp c-client/c-client.a $out/lib/libc-client.a
+    cp mailutil/mailutil imapd/imapd dmail/dmail mlock/mlock mtest/mtest tmail/tmail \
+      tools/{an,ua} $out/bin
+  '';
+
+  meta = {
+    homepage = http://www.washington.edu/imap/;
+    description = "UW IMAP toolkit - IMAP-supporting software developed by the UW";
+    license = "Apache2";
+    platforms = with stdenv.lib.platforms; linux;
+  };
+
+  passthru = {
+    withSSL = true;
+  };
+}
diff --git a/pkgs/tools/networking/vde2/default.nix b/pkgs/tools/networking/vde2/default.nix
index 3bf2b05dd56c..72a31262e26f 100644
--- a/pkgs/tools/networking/vde2/default.nix
+++ b/pkgs/tools/networking/vde2/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, openssl, libpcap }:
+{ stdenv, fetchurl, openssl, libpcap, python }:
 
 stdenv.mkDerivation rec {
-  name = "vde2-2.3.1";
+  name = "vde2-2.3.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/vde/vde2/2.3.1/${name}.tar.gz";
-    sha256 = "1vbrds8k1cn1fgvpkg2ck2227l5yy2f0qxk44sg3vymq0aiw8y37";
+    sha256 = "14xga0ib6p1wrv3hkl4sa89yzjxv7f1vfqaxsch87j6scdm59pr2";
   };
 
-  buildInputs = [ openssl libpcap ];
+  buildInputs = [ openssl libpcap python ];
 
   meta = {
     homepage = http://vde.sourceforge.net/;
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index afd741f27354..799c5e9dd85d 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1kadjg63x1mm741dxdidwsn1rz0f7dkzbq59v0iww87jr45p3ir4";
   };
 
-  preConfigure =
+  preConfigure = stdenv.lib.optionalString doCheck
     '' for i in "doc/texi2pod.pl" "tests/run-px" "util/rmold.pl"
        do
          sed -i "$i" -e 's|/usr/bin.*perl|${perl}/bin/perl|g'
@@ -21,16 +21,17 @@ stdenv.mkDerivation rec {
        done
     '';
 
-  buildInputs = [ gettext perl ]
-    ++ stdenv.lib.optional doCheck LWP
+  buildNativeInputs = [ gettext ];
+  buildInputs =
+    stdenv.lib.optionals doCheck [ perl LWP ]
     ++ stdenv.lib.optional (gnutls != null) gnutls;
 
   configureFlags =
     if gnutls != null
     then "--with-ssl=gnutls"
-    else "";
+    else "--without-ssl";
 
-  doCheck = true;
+  doCheck = (perl != null);
 
   meta = {
     description = "GNU Wget, a tool for retrieving files using HTTP, HTTPS, and FTP";
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index 1483120e4096..304870556693 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.0pre30070";
+  name = "nix-1.0pre30706";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/1480955/download/4/${name}.tar.bz2";
-    sha256 = "71335de404ec6745418b524622527b470485fb968bf7cf10a0cb67926ee1286a";
+    url = "http://hydra.nixos.org/build/1580753/download/4/${name}.tar.bz2";
+    sha256 = "2658a4fea95799d8719685a808ab354f0b5a3ce38af92117e1a15c394c261c5b";
   };
 
   buildNativeInputs = [ perl pkgconfig ];
@@ -31,9 +31,14 @@ stdenv.mkDerivation rec {
       ''
         --with-store-dir=${storeDir} --localstatedir=${stateDir}
         --with-bzip2=${bzip2.hostDrv} --with-sqlite=${sqlite.hostDrv}
+        --enable-gc
+        --with-dbi=${perlPackages.DBI}/lib/perl5/site_perl
+        --with-dbd-sqlite=${perlPackages.DBDSQLite}/lib/perl5/site_perl
         --disable-init-state
         CFLAGS=-O3 CXXFLAGS=-O3
-      '';
+      '' + stdenv.lib.optionalString (
+          stdenv.cross ? nix && stdenv.cross.nix ? system
+      ) ''--with-system=${stdenv.cross.nix.system}'';
     doCheck = false;
   };
 
diff --git a/pkgs/tools/system/fakeroot/default.nix b/pkgs/tools/system/fakeroot/default.nix
index e9c4f4165097..d80b35e1a111 100644
--- a/pkgs/tools/system/fakeroot/default.nix
+++ b/pkgs/tools/system/fakeroot/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "fakeroot-1.14.5";
+  name = "fakeroot-1.18.1";
 
   src = fetchurl {
-    url = http://ftp.de.debian.org/debian/pool/main/f/fakeroot/fakeroot_1.14.5.orig.tar.bz2;
-    sha256 = "0s5f785qsh057z05l9i5k1h9cbj9x26ki37l4wh4iyabjhschddh";
+    url = http://ftp.de.debian.org/debian/pool/main/f/fakeroot/fakeroot_1.18.1.orig.tar.bz2;
+    sha256 = "0h5jsw715a9hv32cb1m1bajy26l7xxrbgrk6qk1b6m91lxh6rnw9";
   };
 
   meta = {
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
index e50cdfc97482..2330de1d11e4 100644
--- a/pkgs/tools/system/freeipmi/default.nix
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libgcrypt, readline }:
 
 stdenv.mkDerivation rec {
-  name = "freeipmi-1.0.8";
+  name = "freeipmi-1.0.9";
 
   src = fetchurl {
     url = "mirror://gnu/freeipmi/${name}.tar.gz";
-    sha256 = "1niasikbm599bs6r7grskypzw1jccg8i3n1i4r0id9zqcjxff6gp";
+    sha256 = "00ix8cigf6nl5kg95hla43kf27jkb3lljhcihbfriwq0wrghcfx4";
   };
 
   buildInputs = [ libgcrypt readline ];
diff --git a/pkgs/tools/system/ts/default.nix b/pkgs/tools/system/ts/default.nix
index ef3fa7ec706c..abc04e96c322 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.1";
+  name = "ts-0.7.2";
 
   installPhase=''make install "PREFIX=$out"'';
 
@@ -11,8 +11,8 @@ stdenv.mkDerivation {
   };
 
   src = fetchurl {
-    url = http://vicerveza.homeunix.net/~viric/soft/ts/ts-0.7.1.tar.gz;
-    sha256 = "0s1hrgw99jn6ar01lcvhdgqsw0jzfnbpdayp0pydr6ikx1zwz70v";
+    url = http://vicerveza.homeunix.net/~viric/soft/ts/ts-0.7.2.tar.gz;
+    sha256 = "08f9ipg98d6ygzb4fzdm1z157llzh4akipmq14ycfd7l023vidik";
   };
 
   meta = {
diff --git a/pkgs/tools/text/wdiff/default.nix b/pkgs/tools/text/wdiff/default.nix
index 5f1fe24bc83b..0d0576ee4a76 100644
--- a/pkgs/tools/text/wdiff/default.nix
+++ b/pkgs/tools/text/wdiff/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, which, screen }:
 
 let
-  name = "wdiff-1.0.1";
+  name = "wdiff-1.1.0";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://gnu/wdiff/${name}.tar.gz";
-    sha256 = "1jyg8vmdlazpcwii8a1ddbc0sxcklp9cvj5y0x9zqaybvwzg9r4l";
+    sha256 = "1lg5lz78xij4jjifv8fj68ixr9mha1c5vp8xzyg6rdx6ynkvnm5i";
   };
 
   # Required for the compile-time for the test suite.
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 61e4597762a0..ae9b3022d2ab 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -464,6 +464,8 @@ let
 
   bsdiff = callPackage ../tools/compression/bsdiff { };
 
+  btar = callPackage ../tools/backup/btar { };
+
   bup = callPackage ../tools/backup/bup { };
 
   bzip2 = callPackage ../tools/compression/bzip2 { };
@@ -603,6 +605,8 @@ let
     zlib = zlibStatic;
   };
 
+  dtach = callPackage ../tools/misc/dtach { };
+
   duplicity = callPackage ../tools/backup/duplicity {
     inherit (pythonPackages) boto;
     gnupg = gnupg1;
@@ -676,6 +680,8 @@ let
     guile = guile_1_8;
   };
 
+  freetds = callPackage ../development/libraries/freetds { };
+
   ftgl = callPackage ../development/libraries/ftgl { };
 
   fuppes = callPackage ../tools/networking/fuppes {
@@ -837,9 +843,12 @@ let
 
   httpfs2 = callPackage ../tools/filesystems/httpfs { };
 
-  hydra = callPackage ../development/tools/misc/hydra {
-    nix = nixUnstable;
-  };
+  # FIXME: This Hydra snapshot is outdated and depends on the `nixPerl',
+  # which no longer exists.
+  #
+  # hydra = callPackage ../development/tools/misc/hydra {
+  #   nix = nixUnstable;
+  # };
 
   iasl = callPackage ../development/compilers/iasl { };
 
@@ -847,6 +856,8 @@ let
 
   iftop = callPackage ../tools/networking/iftop { };
 
+  imapproxy = callPackage ../tools/networking/imapproxy { };
+
   imapsync = callPackage ../tools/networking/imapsync {
     inherit (perlPackages) MailIMAPClient;
   };
@@ -1664,10 +1675,6 @@ let
   #Use this instead of stdenv to build with clang
   clangStdenv = stdenvAdapters.overrideGCC stdenv clang;
 
-  clangSVN = llvmSVN.override {
-    buildClang = true;
-  };
-
   clean = callPackage ../development/compilers/clean { };
 
   cmucl_binary = callPackage ../development/compilers/cmucl/binary.nix { };
@@ -1839,6 +1846,16 @@ let
     # bootstrapping a profiled compiler does not work in the sheevaplug:
     # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944
     profiledCompiler = if stdenv.system == "armv5tel-linux" then false else true;
+
+    # When building `gcc.hostDrv' (a "Canadian cross", with host == target
+    # and host != build), `cross' must be null but the cross-libc must still
+    # be passed.
+    cross = null;
+    libcCross = if crossSystem != null then libcCross else null;
+    libpthreadCross =
+      if crossSystem != null && crossSystem.config == "i586-pc-gnu"
+      then gnu.libpthreadCross
+      else null;
   }));
 
   # A non-stripped version of GCC.
@@ -2217,6 +2234,12 @@ let
         (if stdenv.isDarwin then ghc704Binary else ghc6121Binary)
         (x : x.ghc721Prefs) false false lowPrio);
 
+  haskellPackages_ghc722 =
+    recurseIntoAttrs
+      (haskellPackagesFun ../development/compilers/ghc/7.2.2.nix
+        (if stdenv.isDarwin then ghc704Binary else ghc6121Binary)
+        (x : x.ghc722Prefs) false false lowPrio);
+
   # Reasonably current HEAD snapshot. Should *always* be lowPrio.
   haskellPackages_ghcHEAD =
     haskellPackagesFun ../development/compilers/ghc/head.nix
@@ -2296,9 +2319,6 @@ let
 
   llvm = callPackage ../development/compilers/llvm { };
 
-  # Works partially
-  llvmSVN = callPackage ../development/compilers/llvm/svn-head.nix { };
-
   mitscheme = callPackage ../development/compilers/mit-scheme { };
 
   mlton = callPackage ../development/compilers/mlton { };
@@ -2313,6 +2333,8 @@ let
 
   nasm = callPackage ../development/compilers/nasm { };
 
+  nvidia_cg_toolkit = callPackage ../development/compilers/nvidia-cg-toolkit { };
+
   ocaml = ocaml_3_11_1;
 
   ocaml_3_08_0 = callPackage ../development/compilers/ocaml/3.08.0.nix { };
@@ -2328,12 +2350,22 @@ let
 
     camlidl = callPackage ../development/tools/ocaml/camlidl { };
 
-    camlp5_strict = callPackage ../development/tools/ocaml/camlp5 { };
+    camlp5_5_strict = callPackage ../development/tools/ocaml/camlp5/5.15.nix { };
 
-    camlp5_transitional = callPackage ../development/tools/ocaml/camlp5 {
+    camlp5_5_transitional = callPackage ../development/tools/ocaml/camlp5/5.15.nix {
       transitional = true;
     };
 
+    camlp5_6_strict = callPackage ../development/tools/ocaml/camlp5 { };
+
+    camlp5_6_transitional = callPackage ../development/tools/ocaml/camlp5 {
+      transitional = true;
+    };
+
+    camlp5_strict = camlp5_6_strict;
+
+    camlp5_transitional = camlp5_6_transitional;
+
     camlzip = callPackage ../development/ocaml-modules/camlzip { };
 
     camomile_0_8_2 = callPackage ../development/ocaml-modules/camomile/0.8.2.nix { };
@@ -2363,6 +2395,8 @@ let
 
     ocaml_expat = callPackage ../development/ocaml-modules/expat { };
 
+    ocamlgraph = callPackage ../development/ocaml-modules/ocamlgraph { };
+
     ocaml_http = callPackage ../development/ocaml-modules/http { };
 
     ocaml_lwt = callPackage ../development/ocaml-modules/lwt { };
@@ -2383,8 +2417,10 @@ let
 
     ounit = callPackage ../development/ocaml-modules/ounit { };
 
+    ulex = callPackage ../development/ocaml-modules/ulex { };
+
     ulex08 = callPackage ../development/ocaml-modules/ulex/0.8 {
-      camlp5 = camlp5_transitional;
+      camlp5 = camlp5_5_transitional;
     };
   };
 
@@ -2393,6 +2429,8 @@ let
   ocamlPackages_3_11_1 = mkOcamlPackages ocaml_3_11_1 pkgs.ocamlPackages_3_11_1;
   ocamlPackages_3_12_0 = mkOcamlPackages ocaml_3_12_0 pkgs.ocamlPackages_3_12_0;
 
+  opa = let callPackage = newScope pkgs.ocamlPackages_3_12_0; in callPackage ../development/compilers/opa { }; 
+
   opencxx = callPackage ../development/compilers/opencxx {
     gcc = gcc33;
   };
@@ -2775,7 +2813,7 @@ let
   automake111x = callPackage ../development/tools/misc/automake/automake-1.11.x.nix {
     doCheck = !stdenv.isArm && !stdenv.isCygwin
       # Some of the parallel tests seem to hang on `i386-pc-solaris2.11'.
-      && stdenv.system != "i386-sunos";
+      && stdenv.system != "i686-solaris";
   };
 
   automoc4 = callPackage ../development/tools/misc/automoc4 { };
@@ -3030,6 +3068,8 @@ let
 
   gdb = callPackage ../development/tools/misc/gdb {
     readline = readline5;
+    hurd = gnu.hurdCross;
+    inherit (gnu) mig;
   };
 
   gdbCross = callPackage ../development/tools/misc/gdb {
@@ -3114,9 +3154,8 @@ let
   boost144 = callPackage ../development/libraries/boost/1.44.nix { };
   boost146 = callPackage ../development/libraries/boost/1.46.nix { };
   boost147 = callPackage ../development/libraries/boost/1.47.nix { };
-  # 1.47.0 doesn't compile on Darwin. The issue is probably trivial to
-  # fix, but no-one has done it yet.
-  boost = if stdenv.isDarwin then boost146 else boost147;
+  boost148 = callPackage ../development/libraries/boost/1.48.nix { };
+  boost = boost148;
 
   # A Boost build with all library variants enabled.  Very large (about 250 MB).
   boostFull = appendToName "full" (boost.override {
@@ -3699,7 +3738,9 @@ let
 
   hunspell = callPackage ../development/libraries/hunspell { };
 
-  hwloc = callPackage ../development/libraries/hwloc { };
+  hwloc = callPackage ../development/libraries/hwloc {
+    inherit (xlibs) libX11;
+  };
 
   hydraAntLogger = callPackage ../development/libraries/java/hydra-ant-logger { };
 
@@ -3815,6 +3856,8 @@ let
     inherit (gnome) gtk glib libsoup;
   };
 
+  libchop = callPackage ../development/libraries/libchop { };
+
   libcm = callPackage ../development/libraries/libcm { };
 
   libctemplate = callPackage ../development/libraries/libctemplate { };
@@ -3851,6 +3894,8 @@ let
 
   libdv = callPackage ../development/libraries/libdv { };
 
+  libdvbpsi = callPackage ../development/libraries/libdvbpsi { };
+
   libdwg = callPackage ../development/libraries/libdwg { };
 
   libdvdcss = callPackage ../development/libraries/libdvdcss { };
@@ -4189,6 +4234,8 @@ let
 
   log4cxx = callPackage ../development/libraries/log4cxx { };
 
+  log4cplus = callPackage ../development/libraries/log4cplus { };
+
   loudmouth = callPackage ../development/libraries/loudmouth { };
 
   lzo = callPackage ../development/libraries/lzo { };
@@ -4581,6 +4628,7 @@ let
   tnt = callPackage ../development/libraries/tnt { };
 
   tokyocabinet = callPackage ../development/libraries/tokyo-cabinet { };
+  tokyotyrant = callPackage ../development/libraries/tokyo-tyrant { };
 
   tremor = callPackage ../development/libraries/tremor { };
 
@@ -4958,6 +5006,7 @@ let
   mod_wsgi = callPackage ../servers/http/apache-modules/mod_wsgi { };
 
   mpd = callPackage ../servers/mpd { };
+  mpd_clientlib = callPackage ../servers/mpd/clientlib.nix { };
 
   miniHttpd = callPackage ../servers/http/mini-httpd {};
 
@@ -5011,6 +5060,8 @@ let
 
   nagiosPluginsOfficial = callPackage ../servers/monitoring/nagios/plugins/official { };
 
+  oidentd = callPackage ../servers/identd/oidentd { };
+
   openfire = callPackage ../servers/xmpp/openfire { };
 
   postgresql = postgresql83;
@@ -5039,7 +5090,19 @@ let
 
   samba = callPackage ../servers/samba { };
 
-  shishi = callPackage ../servers/shishi { };
+  # A lightweight Samba, useful for non-Linux-based OSes.
+  samba_light = callPackage ../servers/samba {
+    pam = null;
+    fam = null;
+    cups = null;
+    acl = null;
+    openldap = null;
+  };
+
+  shishi = callPackage ../servers/shishi {
+    # GNU Shishi 1.0.0 fails to build with GnuTLS 3.x.
+    gnutls = gnutls2;
+  };
 
   sipwitch = callPackage ../servers/sip/sipwitch { };
 
@@ -5161,7 +5224,7 @@ let
   };
 
   drbd = callPackage ../os-specific/linux/drbd { };
-  
+
   libuuid =
     if crossSystem != null && crossSystem.config == "i586-pc-gnu"
     then (utillinuxng // {
@@ -5259,7 +5322,7 @@ let
 
   libatasmart = callPackage ../os-specific/linux/libatasmart { };
 
-  libcgroup = callPackage ../os-specific/linux/libcg { };
+  libcgroup = callPackage ../os-specific/linux/libcgroup { };
 
   libnl = callPackage ../os-specific/linux/libnl { };
 
@@ -5469,12 +5532,6 @@ let
       ];
   };
 
-  linux_2_6_34_tuxonice = linux_2_6_34.override (attrs: {
-    kernelPatches = attrs.kernelPatches ++ [
-      kernelPatches.tuxonice_2_6_34
-    ];
-  });
-
   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 =
@@ -5486,12 +5543,6 @@ let
         kernelPatches.sheevaplug_modules_2_6_35;
   };
 
-  linux_2_6_35_tuxonice = linux_2_6_35.override (attrs: {
-    kernelPatches = attrs.kernelPatches ++ [
-      kernelPatches.tuxonice_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;
@@ -5543,12 +5594,6 @@ let
       ];
   };
 
-  linux_2_6_36_tuxonice = linux_2_6_36.override (attrs: {
-    kernelPatches = attrs.kernelPatches ++ [
-      kernelPatches.tuxonice_2_6_36
-    ];
-  });
-
   linux_2_6_37 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.37.nix) {
     inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
     kernelPatches =
@@ -5560,12 +5605,6 @@ let
       ];
   };
 
-  linux_2_6_37_tuxonice = linux_2_6_37.override (attrs: {
-    kernelPatches = attrs.kernelPatches ++ [
-      kernelPatches.tuxonice_2_6_37
-    ];
-  });
-
   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 =
@@ -5641,7 +5680,7 @@ let
     kernelPatches =
       [ #kernelPatches.fbcondecor_2_6_38
         kernelPatches.sec_perm_2_6_24
-        #kernelPatches.aufs2_1_2_6_38
+        kernelPatches.aufs3_1
         #kernelPatches.mips_restart_2_6_36
       ];
   };
@@ -5664,6 +5703,15 @@ let
     '';
   };
 
+  linux_3_2 = makeOverridable (import ../os-specific/linux/kernel/linux-3.2.nix) {
+    inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
+    kernelPatches =
+      [ #kernelPatches.fbcondecor_2_6_38
+        kernelPatches.sec_perm_2_6_24
+        #kernelPatches.aufs3_1
+        #kernelPatches.mips_restart_2_6_36
+      ];
+  };
   /* 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
@@ -5678,30 +5726,22 @@ let
 
     ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { };
 
-    aufs = callPackage ../os-specific/linux/aufs { };
-
-    aufs2 = if kernel.features ? aufs2 then
-      callPackage ../os-specific/linux/aufs2 { }
-      else null;
-
-    aufs2_1 = if kernel.features ? aufs2_1 then
-      callPackage ../os-specific/linux/aufs2.1 { }
-      else null;
-
-    aufs3 = if kernel.features ? aufs3 then
-      callPackage ../os-specific/linux/aufs3 { }
-      else null;
-
-    aufs2_util = if kernel.features ? aufs2 then
-      callPackage ../os-specific/linux/aufs2-util { }
+    aufs =
+      if kernel.features ? aufs2 then
+        callPackage ../os-specific/linux/aufs/2.nix { }
+      else if kernel.features ? aufs2_1 then
+        callPackage ../os-specific/linux/aufs/2.1.nix { }
+      else if kernel.features ? aufs3 then
+        callPackage ../os-specific/linux/aufs/3.nix { }
       else null;
 
-    aufs2_1_util = if kernel.features ? aufs2_1 then
-      callPackage ../os-specific/linux/aufs2.1-util { }
-      else null;
-
-    aufs3_util = if kernel.features ? aufs3 then
-      callPackage ../os-specific/linux/aufs3-util { }
+    aufs_util =
+      if kernel.features ? aufs2 then
+        callPackage ../os-specific/linux/aufs-util/2.nix { }
+      else if kernel.features ? aufs2_1 then
+        callPackage ../os-specific/linux/aufs-util/2.1.nix { }
+      else if kernel.features ? aufs3 then
+        callPackage ../os-specific/linux/aufs-util/3.nix { }
       else null;
 
     blcr = callPackage ../os-specific/linux/blcr {
@@ -5806,13 +5846,9 @@ let
     recurseIntoAttrs (linuxPackagesFor linux_2_6_32_xen pkgs.linuxPackages_2_6_32_xen);
   linuxPackages_2_6_33 = recurseIntoAttrs (linuxPackagesFor linux_2_6_33 pkgs.linuxPackages_2_6_33);
   linuxPackages_2_6_34 = recurseIntoAttrs (linuxPackagesFor linux_2_6_34 pkgs.linuxPackages_2_6_34);
-  linuxPackages_2_6_34_tuxonice = recurseIntoAttrs (linuxPackagesFor linux_2_6_34_tuxonice pkgs.linuxPackages_2_6_34_tuxonice);
   linuxPackages_2_6_35 = recurseIntoAttrs (linuxPackagesFor linux_2_6_35 pkgs.linuxPackages_2_6_35);
-  linuxPackages_2_6_35_tuxonice = recurseIntoAttrs (linuxPackagesFor linux_2_6_35_tuxonice pkgs.linuxPackages_2_6_35_tuxonice);
   linuxPackages_2_6_36 = recurseIntoAttrs (linuxPackagesFor linux_2_6_36 pkgs.linuxPackages_2_6_36);
-  linuxPackages_2_6_36_tuxonice = recurseIntoAttrs (linuxPackagesFor linux_2_6_36_tuxonice pkgs.linuxPackages_2_6_36_tuxonice);
   linuxPackages_2_6_37 = recurseIntoAttrs (linuxPackagesFor linux_2_6_37 pkgs.linuxPackages_2_6_37);
-  linuxPackages_2_6_37_tuxonice = recurseIntoAttrs (linuxPackagesFor linux_2_6_37_tuxonice pkgs.linuxPackages_2_6_37_tuxonice);
   linuxPackages_2_6_38 = recurseIntoAttrs (linuxPackagesFor linux_2_6_38 pkgs.linuxPackages_2_6_38);
   linuxPackages_2_6_38_ati = recurseIntoAttrs (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);
@@ -5824,6 +5860,7 @@ let
   linuxPackages_nanonote_jz_2_6_34 = recurseIntoAttrs (linuxPackagesFor linux_nanonote_jz_2_6_34 pkgs.linuxPackages_nanonote_jz_2_6_34);
   linuxPackages_nanonote_jz_2_6_35 = recurseIntoAttrs (linuxPackagesFor linux_nanonote_jz_2_6_35 pkgs.linuxPackages_nanonote_jz_2_6_35);
   linuxPackages_nanonote_jz_2_6_36 = recurseIntoAttrs (linuxPackagesFor linux_nanonote_jz_2_6_36 pkgs.linuxPackages_nanonote_jz_2_6_36);
+  linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor linux_3_2 pkgs.linuxPackages_3_2);
 
   # The current default kernel / kernel modules.
   linux = linuxPackages.kernel;
@@ -5949,6 +5986,8 @@ let
 
   powertop = callPackage ../os-specific/linux/powertop { };
 
+  prayer = callPackage ../servers/prayer { };
+
   procps = callPackage ../os-specific/linux/procps { };
 
   pwdutils = callPackage ../os-specific/linux/pwdutils { };
@@ -6119,6 +6158,7 @@ let
   wesnoth = callPackage ../games/wesnoth {
     inherit (gtkLibs) pango;
     lua = lua5;
+    boost = boost147;
   };
 
   wirelesstools = callPackage ../os-specific/linux/wireless-tools { };
@@ -6287,9 +6327,7 @@ let
 
   adobeReader = callPackage_i686 ../applications/misc/adobe-reader { };
 
-  amsn = callPackage ../applications/networking/instant-messengers/amsn {
-    libstdcpp = gcc33.gcc;
-  };
+  amsn = callPackage ../applications/networking/instant-messengers/amsn { };
 
   antiword = callPackage ../applications/office/antiword {};
 
@@ -6346,9 +6384,7 @@ let
 
   bitcoin = callPackage ../applications/misc/bitcoin {
     boost = boost144;
-    wxGTK = wxGTK290;
-    db4 = db47;
-    inherit (xlibs) libSM;
+    db4 = db48;
   };
 
   bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee {
@@ -6472,6 +6508,8 @@ let
     inherit (xlibs) libX11;
   };
 
+  dvb_apps  = callPackage ../applications/video/dvb-apps { };
+
   dvdauthor = callPackage ../applications/video/dvdauthor { };
 
   dwm = callPackage ../applications/window-managers/dwm {
@@ -6651,7 +6689,7 @@ let
 
   firefoxWrapper = wrapFirefox { browser = pkgs.firefox; };
 
-  firefoxPkgs = pkgs.firefox70Pkgs;
+  firefoxPkgs = pkgs.firefox80Pkgs;
 
   firefox36Pkgs = callPackage ../applications/networking/browsers/firefox/3.6.nix {
     inherit (gtkLibs) gtk pango;
@@ -6667,28 +6705,28 @@ let
 
   firefox50Wrapper = wrapFirefox { browser = firefox50Pkgs.firefox; };
 
-  firefox60Pkgs = callPackage ../applications/networking/browsers/firefox/6.0.nix {
+  firefox70Pkgs = callPackage ../applications/networking/browsers/firefox/7.0.nix {
     inherit (gtkLibs) gtk pango;
     inherit (gnome) libIDL;
   };
 
-  firefox60Wrapper = wrapFirefox { browser = firefox60Pkgs.firefox; };
+  firefox70Wrapper = wrapFirefox { browser = firefox70Pkgs.firefox; };
 
-  firefox70Pkgs = callPackage ../applications/networking/browsers/firefox/7.0.nix {
+  firefox80Pkgs = callPackage ../applications/networking/browsers/firefox/8.0.nix {
     inherit (gtkLibs) gtk pango;
     inherit (gnome) libIDL;
   };
 
-  firefox70Wrapper = wrapFirefox { browser = firefox70Pkgs.firefox; };
+  firefox80Wrapper = wrapFirefox { browser = firefox80Pkgs.firefox; };
 
-  firefox80bPkgs = callPackage ../applications/networking/browsers/firefox/8.0.nix {
+  firefox90bPkgs = callPackage ../applications/networking/browsers/firefox/9.0.nix {
     inherit (gtkLibs) gtk pango;
     inherit (gnome) libIDL;
   };
 
   flac = callPackage ../applications/audio/flac { };
 
-  flashplayer = flashplayer10;
+  flashplayer = flashplayer11;
 
   flashplayer9 = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer-9 {
     inherit (gtkLibs) atk;
@@ -6699,6 +6737,11 @@ let
     debug = getConfig ["flashplayer" "debug"] false;
   };
 
+  flashplayer11 = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer-11 {
+    inherit (gtkLibs) atk gdk_pixbuf;
+    debug = getConfig ["flashplayer" "debug"] false;
+  };
+
   freecad = callPackage ../applications/graphics/freecad {
     boost = boost146;
   };
@@ -6754,6 +6797,12 @@ let
 
   qcad = callPackage ../applications/misc/qcad { };
 
+  libquvi = callPackage ../applications/video/quvi/library.nix { };
+
+  quvi = callPackage ../applications/video/quvi/tool.nix { };
+
+  quvi_scripts = callPackage ../applications/video/quvi/scripts.nix { };
+
   qjackctl = callPackage ../applications/audio/qjackctl { };
 
   gkrellm = callPackage ../applications/misc/gkrellm { };
@@ -6770,13 +6819,13 @@ let
     inherit (gnome) GConf;
   };
 
-  gnunet = callPackage ../applications/networking/p2p/gnunet {
+  gnunet08 = callPackage ../applications/networking/p2p/gnunet/0.8.nix {
     inherit (gnome) gtk libglade;
     guile = guile_1_8;
     gtkSupport = getConfig [ "gnunet" "gtkSupport" ] true;
   };
 
-  gnunet09 = lowPrio (callPackage ../applications/networking/p2p/gnunet/0.9.nix { });
+  gnunet = callPackage ../applications/networking/p2p/gnunet { };
 
   gocr = callPackage ../applications/graphics/gocr { };
 
@@ -6883,32 +6932,6 @@ let
 
   icecat3Wrapper = wrapFirefox { browser = icecat3Xul; browserName = "icecat"; desktopName = "IceCat"; };
 
-  icecat4 = lowPrio (import ../applications/networking/browsers/icecat-4 {
-    inherit fetchurl stdenv xz pkgconfig perl zip libjpeg libpng zlib cairo
-      python dbus dbus_glib freetype fontconfig bzip2 xlibs alsaLib libnotify
-      wirelesstools;
-    inherit (gnome) libIDL libgnomeui gnome_vfs gtk pango;
-    inherit (xlibs) pixman;
-    inherit (pythonPackages) ply;
-  });
-
-  icecatXulrunner4 = lowPrio (import ../applications/networking/browsers/icecat-4 {
-    application = "xulrunner";
-    inherit fetchurl stdenv xz pkgconfig perl zip libjpeg libpng zlib cairo
-      python dbus dbus_glib freetype fontconfig bzip2 xlibs alsaLib libnotify
-      wirelesstools;
-    inherit (gnome) libIDL libgnomeui gnome_vfs gtk pango;
-    inherit (xlibs) pixman;
-    inherit (pythonPackages) ply;
-  });
-
-  icecat4Xul =
-    (symlinkJoin "icecat-with-xulrunner-${icecat4.version}"
-       [ icecat4 icecatXulrunner4 ])
-    // { inherit (icecat4) gtk meta; };
-
-  icecat4Wrapper = wrapFirefox { browser = icecat4Xul; browserName = "icecat"; desktopName = "IceCat"; };
-
   icewm = callPackage ../applications/window-managers/icewm {
     inherit (gtkLibs) gtk;
   };
@@ -7100,6 +7123,8 @@ let
 
   mpg321 = callPackage ../applications/audio/mpg321 { };
 
+  ncmpcpp = callPackage ../applications/audio/ncmpcpp { };
+
   MPlayer = callPackage ../applications/video/MPlayer { };
 
   MPlayerPlugin = browser:
@@ -7310,7 +7335,9 @@ let
     qt = qt4;
   };
 
-  seeks = callPackage ../tools/networking/p2p/seeks { };
+  seeks = callPackage ../tools/networking/p2p/seeks {
+    opencv = opencv_2_1;
+  };
 
   seg3d = callPackage ../applications/graphics/seg3d {
     wxGTK = wxGTK28.override { unicode = false; };
@@ -7431,6 +7458,10 @@ let
 
   tla = callPackage ../applications/version-management/arch { };
 
+  torchat = callPackage ../applications/networking/instant-messengers/torchat {
+    wrapPython = pythonPackages.wrapPython;
+  };
+
   transmission = callPackage ../applications/networking/p2p/transmission { };
 
   trayer = callPackage ../applications/window-managers/trayer {
@@ -7455,6 +7486,8 @@ let
 
   uucp = callPackage ../tools/misc/uucp { };
 
+  uwimap = callPackage ../tools/networking/uwimap { };
+
   uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) {
     inherit pkgconfig webkit makeWrapper;
     inherit (gtkLibs) gtk glib;
@@ -8067,7 +8100,9 @@ let
         inherit (pkgs.gtkLibs) gdk_pixbuf;
       };
 
-      koffice = callPackage ../applications/office/koffice { };
+      koffice = callPackage ../applications/office/koffice {
+        boost = boost147;
+      };
 
       konq_plugins = callPackage ../applications/networking/browsers/konq-plugins { };
 
@@ -8206,7 +8241,7 @@ let
 
   coq = callPackage ../applications/science/logic/coq {
     inherit (ocamlPackages) findlib lablgtk;
-    camlp5 = ocamlPackages.camlp5_transitional;
+    camlp5 = ocamlPackages.camlp5_5_transitional;
   };
 
   cvc3 = callPackage ../applications/science/logic/cvc3 {};
@@ -8238,13 +8273,14 @@ let
   matita = callPackage ../applications/science/logic/matita {
     inherit (ocamlPackages) findlib lablgtk ocaml_expat gmetadom ocaml_http
             lablgtkmathview ocaml_mysql ocaml_sqlite3 ocamlnet ulex08 camlzip ocaml_pcre;
-    camlp5 = ocamlPackages.camlp5_transitional;
   };
 
   minisat = callPackage ../applications/science/logic/minisat {};
 
   opensmt = callPackage ../applications/science/logic/opensmt { };
 
+  picosat = callPackage ../applications/science/logic/picosat {};
+
   prover9 = callPackage ../applications/science/logic/prover9 { };
 
   satallax = callPackage ../applications/science/logic/satallax {};
@@ -8252,7 +8288,7 @@ let
   spass = callPackage ../applications/science/logic/spass {};
 
   ssreflect = callPackage ../applications/science/logic/ssreflect {
-    camlp5 = ocamlPackages.camlp5_transitional;
+    camlp5 = ocamlPackages.camlp5_5_transitional;
   };
 
   tptp = callPackage ../applications/science/logic/tptp {};
@@ -8499,6 +8535,11 @@ let
 
   saneBackends = callPackage ../misc/sane-backends {
     gt68xxFirmware = getConfig ["sane" "gt68xxFirmware"] null;
+    hotplugSupport = getConfig ["sane" "hotplugSupport"] true;
+  };
+
+  saneBackendsSnapshot = callPackage ../misc/sane-backends/snapshot.nix {
+    gt68xxFirmware = getConfig ["sane" "gt68xxFirmware"] null;
   };
 
   saneFrontends = callPackage ../misc/sane-front { };
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 69f3c28bc9dd..ea2e01f94589 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -89,6 +89,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   ghc703Prefs  = super : super // super.haskellPlatformDefaults_2011_2_0_1 super;
   ghc704Prefs  = super : super // super.haskellPlatformDefaults_2011_2_0_1 super; # link
   ghc721Prefs  = super : super // super.haskellPlatformDefaults_future super;
+  ghc722Prefs  = super : super // super.haskellPlatformDefaults_future super;
   ghcHEADPrefs = super : super // super.haskellPlatformDefaults_future super; # link
 
   # GHC and its wrapper
@@ -103,7 +104,17 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
                                # top of this file.
 
   ghc = callPackage ../development/compilers/ghc/wrapper.nix {
-    ghc = ghc;
+    ghc = ghc; # refers to ghcPlain
+  };
+
+  # An experimental wrapper around ghcPlain that does not automatically
+  # pick up packages from the profile, but instead has a fixed set of packages
+  # in its global database. The set of packages can be specified as an
+  # argument to this function.
+
+  ghcWithPackages = pkgs : callPackage ../development/compilers/ghc/with-packages.nix {
+    ghc = ghc; # refers to ghcPlain
+    packages = pkgs self;
   };
 
   # This is the Cabal builder, the function we use to build most Haskell
@@ -126,30 +137,30 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     cgi          = self.cgi_3001_1_7_4; # 7.2 ok, 7.3 ok
     fgl          = self.fgl_5_4_2_4; # 7.2 ok, 7.3 ok
     GLUT         = self.GLUT_2_1_2_1; # 7.2 ok, 7.3 ok
-    haskellSrc   = self.haskellSrc_1_0_1_4; # 7.2 fails, 7.3 fails
+    haskellSrc   = self.haskellSrc_1_0_1_5; # 7.2 fails, 7.3 fails
     html         = self.html_1_0_1_2; # 7.2 ok, 7.3 ok
     HUnit        = self.HUnit_1_2_2_3; # 7.2 ok, 7.3 ok
     network      = self.network_2_3_0_7; # 7.2 ok, 7.3 ok
     OpenGL       = self.OpenGL_2_2_3_0; # 7.2 ok, 7.3 ok
     parallel     = self.parallel_3_1_0_1; # 7.2 ok, 7.3 ok
-    parsec       = self.parsec_3_1_1; # 7.2 ok, 7.3 ok
+    parsec       = self.parsec_3_1_2; # 7.2 ok, 7.3 ok
     QuickCheck   = self.QuickCheck_2_4_0_1; # 7.2 ok, 7.3 ok
     regexBase    = self.regexBase_0_93_2; # 7.2 ok, 7.3 ok
     regexCompat  = self.regexCompat_0_93_1; # 7.2 ok, 7.3 ok
     regexPosix   = self.regexPosix_0_94_4; # 7.2 ok, 7.3 ok
     stm          = self.stm_2_2_0_1; # 7.2 ok, 7.3 ok
-    syb          = self.syb_0_3_3; # 7.2 ok, 7.3 ok
+    syb          = self.syb_0_3_5; # 7.2 ok, 7.3 ok
     xhtml        = self.xhtml_3000_2_0_1; # 7.2 ok, 7.3 ok
     zlib         = self.zlib_0_5_3_1; # 7.2 ok, 7.3 ok
-    HTTP         = self.HTTP_4000_1_2; # 7.2 ok, 7.3 ok
+    HTTP         = self.HTTP_4000_2_1; # 7.2 ok, 7.3 ok
     deepseq      = self.deepseq_1_1_0_2; # 7.2 ok, 7.3 ok
     text         = self.text_0_11_1_9; # 7.2 ok, 7.3 ok
     transformers = self.transformers_0_2_2_0; # 7.2 ok, 7.3 ok
     mtl          = self.mtl_2_0_1_0; # 7.2 ok, 7.3 ok
-    random       = self.random_1_0_0_3; # 7.2 ok, 7.3 ok
+    random       = self.random_1_0_1_1; # 7.2 ok, 7.3 ok
     cabalInstall = self.cabalInstall_0_10_2; # 7.2 fails, 7.3 fails
     alex         = self.alex_3_0_1; # 7.2 ok, 7.3 ok
-    happy        = self.happy_1_18_6; # 7.2 ok, 7.3 ok
+    happy        = self.happy_1_18_8; # 7.2 ok, 7.3 ok
     haddock      = self.haddock_2_9_2; # 7.2 fails, 7.3 fails
   };
 
@@ -349,6 +360,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     self : self.haskellPlatformArgs_2009_2_0_2 self // {
       haskellPlatform = self.haskellPlatform_2009_2_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
     };
 
@@ -359,10 +371,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   # Haskell libraries.
 
-  Agda = callPackage ../development/libraries/haskell/Agda {
-    syb = self.syb02;
-    haskellSrcExts = self.haskellSrcExts_1_9_6;
-  };
+  Agda = callPackage ../development/libraries/haskell/Agda {};
 
   ACVector = callPackage ../development/libraries/haskell/AC-Vector {};
 
@@ -386,10 +395,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   attoparsecEnumerator = callPackage ../development/libraries/haskell/attoparsec/enumerator.nix {};
 
-  attoparsecText = callPackage ../development/libraries/haskell/attoparsec-text {};
-
-  attoparsecTextEnumerator = callPackage ../development/libraries/haskell/attoparsec-text-enumerator {};
-
   authenticate = callPackage ../development/libraries/haskell/authenticate {};
 
   base16Bytestring = callPackage ../development/libraries/haskell/base16-bytestring {};
@@ -430,6 +435,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   bytestringNums = callPackage ../development/libraries/haskell/bytestring-nums {};
 
+  bytestringLexing = callPackage ../development/libraries/haskell/bytestring-lexing {};
+
   bytestringMmap = callPackage ../development/libraries/haskell/bytestring-mmap {};
 
   bytestringTrie = callPackage ../development/libraries/haskell/bytestring-trie {};
@@ -674,6 +681,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   hashedStorage = callPackage ../development/libraries/haskell/hashed-storage {};
 
+  hashtables = callPackage ../development/libraries/haskell/hashtables {};
+
   haskeline = callPackage ../development/libraries/haskell/haskeline {};
 
   haskelineClass = callPackage ../development/libraries/haskell/haskeline-class {};
@@ -682,21 +691,20 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   haskellSrc_1_0_1_3 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.3.nix {};
   haskellSrc_1_0_1_4 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.4.nix {};
-  haskellSrc = self.haskellSrc_1_0_1_3;
+  haskellSrc_1_0_1_5 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.5.nix {};
+  haskellSrc = self.haskellSrc_1_0_1_5;
 
-  # The old version is required for Agda.
-  haskellSrcExts_1_11_1 = callPackage ../development/libraries/haskell/haskell-src-exts/1.11.1.nix {};
-  haskellSrcExts_1_9_6 = callPackage ../development/libraries/haskell/haskell-src-exts/1.9.6.nix {};
-  haskellSrcExts = self.haskellSrcExts_1_11_1;
+  haskellSrcExts = callPackage ../development/libraries/haskell/haskell-src-exts/default.nix {};
 
   haskellSrcMeta = callPackage ../development/libraries/haskell/haskell-src-meta {};
 
-  HTTP_3001_1_5 = callPackage ../development/libraries/haskell/HTTP/3001.1.5.nix {};
+  hastache = callPackage ../development/libraries/haskell/hastache {};
+
   HTTP_4000_0_6 = callPackage ../development/libraries/haskell/HTTP/4000.0.6.nix {};
   HTTP_4000_0_9 = callPackage ../development/libraries/haskell/HTTP/4000.0.9.nix {};
   HTTP_4000_1_1 = callPackage ../development/libraries/haskell/HTTP/4000.1.1.nix {};
-  HTTP_4000_1_2 = callPackage ../development/libraries/haskell/HTTP/4000.1.2.nix {};
-  HTTP = self.HTTP_4000_0_6;
+  HTTP_4000_2_1 = callPackage ../development/libraries/haskell/HTTP/4000.2.1.nix {};
+  HTTP = self.HTTP_4000_2_1;
 
   hackageDb = callPackage ../development/libraries/haskell/hackage-db {};
 
@@ -802,6 +810,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     parsec = self.parsec2;
   };
 
+  iteratee = callPackage ../development/libraries/haskell/iteratee {};
+
   ivor = callPackage ../development/libraries/haskell/ivor {};
 
   jpeg = callPackage ../development/libraries/haskell/jpeg {};
@@ -827,6 +837,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   leksahServer = callPackage ../development/libraries/haskell/leksah/leksah-server.nix {};
 
+  libmpd = callPackage ../development/libraries/haskell/libmpd {};
+
   ListLike = callPackage ../development/libraries/haskell/ListLike {};
 
   ltk = callPackage ../development/libraries/haskell/ltk {};
@@ -851,6 +863,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   MonadCatchIOTransformers = callPackage ../development/libraries/haskell/MonadCatchIO-transformers {};
 
+  monadControl_OBSOLETE = callPackage ../development/libraries/haskell/monad-control/0.2.0.3.nix {};
   monadControl = callPackage ../development/libraries/haskell/monad-control {};
 
   monadLoops = callPackage ../development/libraries/haskell/monad-loops {};
@@ -944,7 +957,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   parsec_3_1_2   = callPackage ../development/libraries/haskell/parsec/3.1.2.nix {};
   parsec2 = self.parsec_2_1_0_1;
   parsec3 = self.parsec_3_1_2;
-  parsec  = self.parsec2;
+  parsec  = self.parsec3;
 
   parsimony = callPackage ../development/libraries/haskell/parsimony {};
 
@@ -996,13 +1009,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   RangedSets = callPackage ../development/libraries/haskell/Ranged-sets {};
 
-  random_1_0_0_2_newtime = callPackage ../development/libraries/haskell/random/1.0.0.2.nix {
-    time = self.time_1_2_0_3;
-  };
-  random_1_0_0_3 = callPackage ../development/libraries/haskell/random/1.0.0.3.nix {};
-  random_1_0_1_0 = callPackage ../development/libraries/haskell/random/1.0.1.0.nix {};
+  random_1_0_1_1 = callPackage ../development/libraries/haskell/random/1.0.1.1.nix {};
   random = null; # core package until ghc-7.2.1
-  random_newtime = self.random_1_0_0_2_newtime;
 
   randomFu = callPackage ../development/libraries/haskell/random-fu {};
 
@@ -1094,7 +1102,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   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_5 = callPackage ../development/libraries/haskell/syb/0.3.5.nix {};
   syb02     = self.syb_0_2_2;
   syb03     = self.syb_0_3;
   syb       = null; # by default, we assume that syb ships with GHC, which is
@@ -1190,6 +1198,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   thespian = callPackage ../development/libraries/haskell/thespian {};
 
+  thExtras = callPackage ../development/libraries/haskell/th-extras {};
+
   thLift = callPackage ../development/libraries/haskell/th-lift {};
 
   threadmanager = callPackage ../development/libraries/haskell/threadmanager {};
@@ -1210,6 +1220,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   transformers_0_2_2_0 = callPackage ../development/libraries/haskell/transformers/0.2.2.0.nix {};
   transformers = self.transformers_0_2_2_0;
 
+  transformersBase = callPackage ../development/libraries/haskell/transformers-base {};
+
   tuple = callPackage ../development/libraries/haskell/tuple {};
 
   typeEquality = callPackage ../development/libraries/haskell/type-equality {};
@@ -1364,7 +1376,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   AgdaExecutable = callPackage ../development/compilers/Agda-executable {};
 
-  ehc = callPackage ../development/compilers/ehc {};
+  uhc = callPackage ../development/compilers/uhc {};
 
   epic = callPackage ../development/compilers/epic {};
 
@@ -1399,12 +1411,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   haddock_2_7_2 = callPackage ../development/tools/documentation/haddock/2.7.2.nix {};
   haddock_2_9_2 = callPackage ../development/tools/documentation/haddock/2.9.2.nix {};
   haddock_2_9_4 = callPackage ../development/tools/documentation/haddock/2.9.4.nix {};
-  haddock = self.haddock_2_7_2;
+  haddock = self.haddock_2_9_4;
 
   happy_1_18_4 = callPackage ../development/tools/parsing/happy/1.18.4.nix {};
   happy_1_18_5 = callPackage ../development/tools/parsing/happy/1.18.5.nix {};
   happy_1_18_6 = callPackage ../development/tools/parsing/happy/1.18.6.nix {};
-  happy = self.happy_1_18_4;
+  happy_1_18_8 = callPackage ../development/tools/parsing/happy/1.18.8.nix {};
+  happy = self.happy_1_18_8;
 
   happyMeta = callPackage ../development/tools/haskell/happy-meta {};
 
@@ -1414,6 +1427,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   hslogger = callPackage ../development/tools/haskell/hslogger {};
 
+  SourceGraph = callPackage ../development/tools/haskell/SourceGraph {};
+
   tar = callPackage ../development/tools/haskell/tar {};
 
   threadscope = callPackage ../development/tools/haskell/threadscope {};
@@ -1428,7 +1443,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   leksah = callPackage ../applications/editors/leksah {};
 
-  xmobar = callPackage ../applications/misc/xmobar {};
+  xmobar = callPackage ../applications/misc/xmobar {
+    parsec = self.parsec3;
+  };
 
   xmonad = callPackage ../applications/window-managers/xmonad {};
 
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 08a06d3e221e..a73e8193817b 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -389,10 +389,10 @@ rec {
   };
 
   CatalystRuntime = buildPerlPackage rec{
-    name = "Catalyst-Runtime-5.90003";
+    name = "Catalyst-Runtime-5.90006";
     src = fetchurl {
       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz";
-      sha256 = "0i53d208gf9bg6zasa8ya0nk3wik1crfrkw9rmbxsba16i5nm101";
+      sha256 = "01afjgcc5lqaw6gmzwym8n09q8nksj4jdl2z25m64sfiv1gdyx2w";
     };
     buildInputs = [ TestException ];
     propagatedBuildInputs =
@@ -409,6 +409,15 @@ rec {
       ];
   };
 
+  CatalystPluginAccessLog = buildPerlPackage rec {
+    name = "Catalyst-Plugin-AccessLog-1.04";
+    src = fetchurl {
+      url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
+      sha256 = "1cbbg6fviyv398lyhmv14ya0v0h0xs04d29zz9r49vzsbw6shy33";
+    };
+    propagatedBuildInputs = [ CatalystRuntime DateTime ];
+  };
+
   CatalystPluginAuthentication = buildPerlPackage rec {
     name = "Catalyst-Plugin-Authentication-0.10018";
     src = fetchurl {
@@ -517,10 +526,10 @@ rec {
   };
 
   CatalystViewDownload = buildPerlPackage rec {
-    name = "Catalyst-View-Download-0.06";
+    name = "Catalyst-View-Download-0.07";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
-      sha256 = "0l9jvc4sqchhpmhn70lm46k2avdsdk19i9wgas1awhzyr445c0b3";
+      sha256 = "1c6k4x6az0fkany16zlyaqhlp7bcx922vl4qzd3z707vs6pc06rz";
     };
     buildInputs = [  TestWWWMechanizeCatalyst TestUseOk ];
     propagatedBuildInputs = [ CatalystRuntime TextCSV XMLSimple ];
@@ -554,7 +563,17 @@ rec {
       sha256 = "0a2mhfgv0kqmaxf2crs8mqk44lyhd9qcwlpzhrc0b0dh4z503mr4";
     };
     propagatedBuildInputs = 
-      [ CatalystRuntime MooseXTraitsPluggable NamespaceAutoclean ListMoreUtils  ];
+      [ CatalystRuntime MooseXTraitsPluggable NamespaceAutoclean ListMoreUtils ];
+  };
+
+  CatalystXScriptServerStarman = buildPerlPackage rec {
+    name = "CatalystX-Script-Server-Starman-0.01";
+    src = fetchurl {
+      url = "mirror://cpan/modules/by-module/CatalystX/${name}.tar.gz";
+      sha256 = "18hpp35bjyw65x564m1m82mr0nmff6836vfjqdwf2lwsb4n8s4xr";
+    };
+    buildInputs = [ TestWWWMechanizeCatalyst ];
+    propagatedBuildInputs = [ CatalystRuntime Starman ];
   };
 
   CGICookieXS = buildPerlPackage rec {
@@ -720,13 +739,23 @@ rec {
   };
 
   ClassLoad = buildPerlPackage rec {
-    name = "Class-Load-0.08";
+    name = "Class-Load-0.12";
+    src = fetchurl {
+      url = "mirror://cpan/modules/by-module/Class/${name}.tar.gz";
+      sha256 = "0siw8hyqnmn0flk1hbd6fnnfqlhkgfr1d5442rri1d8a0rs1a36r";
+    };
+    buildInputs = [ TestFatal ];
+    propagatedBuildInputs = [ DataOptList PackageStash ModuleRuntime ];
+  };
+
+  ClassLoadXS = buildModule rec {
+    name = "Class-Load-XS-0.03";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/Class/${name}.tar.gz";
-      sha256 = "0qyxa5dd75dxna7y995wx589p7smsybcqkg1rach2cg04yff0dh1";
+      sha256 = "1k3fffm4z6hvml5gqh27p7l78xs220s2d7ybd2a42akxrx8gk9r8";
     };
     buildInputs = [ TestFatal ];
-    propagatedBuildInputs = [ DataOptList ];
+    propagatedBuildInputs = [ ClassLoad ];
   };
 
   ClassUnload = buildPerlPackage rec {
@@ -1056,7 +1085,15 @@ rec {
 
   DBDSQLite = import ../development/perl-modules/DBD-SQLite {
     inherit fetchurl buildPerlPackage DBI;
-    inherit (pkgs) sqlite;
+
+    # sqlite-3.7.9 breaks DBDSQLite, overriding locally for now
+    sqlite = pkgs.lib.overrideDerivation pkgs.sqlite (args: {
+      name = "sqlite-3.7.7.1";
+      src = fetchurl {
+        url = http://www.sqlite.org/sqlite-autoconf-3070701.tar.gz;
+        sha256 = "1pvf72gb6yidc4zjml3k6kwhlvvhbgmbm8hfin9y5jvvbyr3dk3x";
+      };
+    });
   };
 
   DBDmysql = import ../development/perl-modules/DBD-mysql {
@@ -1083,17 +1120,17 @@ rec {
   };
 
   DBIxClass = buildPerlPackage rec {
-    name = "DBIx-Class-0.08195";
+    name = "DBIx-Class-0.08196";
     src = fetchurl {
-      url = "mirror://cpan/modules/by-module/DBIx/${name}.tar.gz";
-      sha256 = "197q2pkkk6dpq1r76jcnzamk5dqac5k9n3wgq8dd5ak8sw6cj7p6";
+      url = "mirror://cpan/authors/id/A/AR/ARODLAND/${name}.tar.gz";
+      sha256 = "15k1kgbrsnkwr0ib6cyr114zk904lisy4k09gfiynag9wjhv47lm";
     };
     buildInputs = [ DBDSQLite TestException TestWarn ];
     propagatedBuildInputs = 
       [ PackageStash ClassAccessorGrouped ClassC3Componentised
         ClassInspector ConfigAny ContextPreserve DBI DataCompare
         DataDumperConcise DataPage HashMerge MROCompat ModuleFind
-        PathClass SQLAbstract ScopeGuard SubName TryTiny VariableMagic
+        PathClass SQLAbstract ScopeGuard SubName TryTiny
         NamespaceClean
       ];
   };
@@ -1118,17 +1155,18 @@ rec {
   };
 
   DBIxClassSchemaLoader = buildPerlPackage rec {
-    name = "DBIx-Class-Schema-Loader-0.07010";
+    name = "DBIx-Class-Schema-Loader-0.07014";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/DBIx/${name}.tar.gz";
-      sha256 = "08yy5lsrb7h1xzp7d1bqsgnjpa2d8ik14qhsq2d7v7r3f5fk5q3g";
+      sha256 = "0qrsh6i8p4mpx5bapn40cpsbvnvzivli71gymbiqjd0mjflbsjf6";
     };
     buildInputs = [ TestException TestMore TestWarn DBDSQLite ];
     propagatedBuildInputs = 
-      [ DataDump LinguaENInflectNumber LinguaENInflectPhrase ClassAccessor
-        ClassAccessorGrouped ClassC3Componentised MROCompat CarpClan 
-        DBIxClass ClassLoad ClassUnload FileSlurp ListMoreUtils 
-        NamespaceClean ScopeGuard TryTiny 
+      [ DataDump LinguaENInflectNumber LinguaENInflectPhrase
+        ClassAccessor ClassAccessorGrouped ClassC3Componentised
+        MROCompat CarpClan DBIxClass ClassLoad ClassUnload
+        ListMoreUtils NamespaceClean ScopeGuard TryTiny TaskWeaken
+        StringCamelCase StringToIdentifierEN
       ];
   };
 
@@ -2036,10 +2074,10 @@ rec {
   };
 
   LinguaENInflectPhrase = buildPerlPackage rec {
-    name = "Lingua-EN-Inflect-Phrase-0.04";
+    name = "Lingua-EN-Inflect-Phrase-0.10";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/Lingua/${name}.tar.gz";
-      sha256 = "12a74zkc1rybsvxwg8fxdjs6frfq7naky2ks4idcwd48lya3nw90";
+      sha256 = "1l7sjnibnvgb7a73cjhysmrg4j2bfcn0x5yrqmh0v23laj9fsbbm";
     };
     buildInputs = [ TestMore ];
     propagatedBuildInputs = 
@@ -2221,17 +2259,48 @@ rec {
     propagatedBuildInputs = [ version ];
   };
 
+  ModulePluggable = buildPerlPackage rec {
+    name = "Module-Pluggable-3.9";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SI/SIMONW/${name}.tar.gz";
+      sha256 = "0psryh1dz828zly92db9zcv905n82in2awixzqngqhzg4y7fg4wc";
+    };
+    patches = [
+      # !!! merge this patch into Perl itself (which contains Module::Pluggable as well)
+      ../development/perl-modules/module-pluggable.patch
+    ];
+  };
+
+  ModulePluggableFast = buildPerlPackage {
+    name = "Module-Pluggable-Fast-0.18";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/S/SR/SRI/Module-Pluggable-Fast-0.18.tar.gz;
+      sha256 = "140c311x2darrc2p1drbkafv7qwhzdcff4ad300n6whsx4dfp6wr";
+    };
+    propagatedBuildInputs = [UNIVERSALrequire];
+  };
+
+  ModuleRuntime = buildPerlPackage rec {
+    name = "Module-Runtime-0.011";
+    src = fetchurl {
+      url = "mirror://cpan/modules/by-module/Module/${name}.tar.gz";
+      sha256 = "0hbpn2jd11gsni77aw189ss4q83jlcvcxr49x9j28bh36hjgif7s";
+    };
+    propagatedBuildInputs = [ ParamsClassify ];
+  };
+
   Moose = buildPerlPackage rec {
-    name = "Moose-2.0202";
+    name = "Moose-2.0401";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz";
-      sha256 = "1xp0052ig06f5axw9djrq5ws8r9mcs4g1qs55yzgynl2hjrkazi4";
+      sha256 = "07mx4xqfl0bk21kk49gs86ba3wcviarfx9yhxxw96pmaxd0l932i";
     };
     buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs =
       [ DataOptList DevelGlobalDestruction DistCheckConflicts EvalClosure
         ListMoreUtils MROCompat PackageDeprecationManager PackageStash
         PackageStashXS ParamsUtil SubExporter SubName TaskWeaken TryTiny
+        ClassLoad ClassLoadXS
       ];
   };
 
@@ -2322,14 +2391,13 @@ rec {
   };
 
   MooseXTraits = buildPerlPackage rec {
-    name = "MooseX-Traits-0.06";
+    name = "MooseX-Traits-0.11";
     src = fetchurl {
       url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz";
-      sha256 = "1iqp4xyyz8v8668v3v1nqf35pi30xvysyjq1d2hz9i7nh2zbvlwf";
+      sha256 = "0sqmpf2kw25847fwrrwpcfhrq694bgs8jbix7qxp9qyjm769np6n";
     };
-    propagatedBuildInputs = [
-      ClassMOP Moose TestException TestUseOk
-    ];
+    buildInputs = [ TestException TestUseOk ];
+    propagatedBuildInputs = [ ClassMOP Moose NamespaceAutoclean ];
   };
 
   MooseXTraitsPluggable = buildPerlPackage rec {
@@ -2344,10 +2412,10 @@ rec {
   };
 
   MooseXTypes = buildPerlPackage rec {
-    name = "MooseX-Types-0.28";
+    name = "MooseX-Types-0.30";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "0wjqdxd2qlzgrvi4z2rl82xns9kh7m4chf9yzkj5il9g9gprwl57";
+      sha256 = "1c9z30fbk2h11xkgq8v2idnpaqay3m7ig9bb8scnawgrm49v2f4l";
     };
     buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs =
@@ -2520,17 +2588,6 @@ rec {
     propagatedBuildInputs = [JSONAny Encode LWP CryptSSLeay];
   };
 
-  nixPerl = buildPerlPackage {
-    name = "Nix-1.0pre29083";
-    src = fetchsvn {
-      url = https://svn.nixos.org/repos/nix/nix-perl/trunk;
-      rev = 29083;
-      sha256 = "02wfy4l355s57w7lrynbwx97nlxvasx3xfsn72gla0i8mg6pdgaw";
-    };
-    NIX_PREFIX = pkgs.nixUnstable;
-    doCheck = false; # tests currently don't work
-  };
-
   NumberCompare = buildPerlPackage rec {
     name = "Number-Compare-0.01";
     src = fetchurl {
@@ -2566,24 +2623,33 @@ rec {
   };
 
   PackageStash = buildPerlPackage rec {
-    name = "Package-Stash-0.31";
+    name = "Package-Stash-0.33";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz";
-      sha256 = "0m5mibmy49gjhb5kvgyg2cfzs4d1ghav75f19x80s3bv6vr0ls6x";
+      sha256 = "0md52rqgcnvspg3l2hvwc31jilq4gkbdwgr5h32gy1hmslaxhpzn";
     };
     buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs = [ DistCheckConflicts PackageDeprecationManager PackageStashXS ];
   };
 
   PackageStashXS = buildPerlPackage rec {
-    name = "Package-Stash-XS-0.23";
+    name = "Package-Stash-XS-0.25";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz";
-      sha256 = "0dr86sbpb67dxbq64ix48f0n3dgac820ibci4xy4hbijja6lzwj6";
+      sha256 = "1i45mhd17sfq41j62r8kkx2d2f4mi0sp6vl86mmk8a4ssq85i73k";
     };
     buildInputs = [ TestFatal ];
   };
 
+  ParamsClassify = buildPerlPackage rec {
+    name = "Params-Classify-0.013";
+    src = fetchurl {
+      url = "mirror://cpan/modules/by-module/Params/${name}.tar.gz";
+      sha256 = "1d4ysd95flszrxrnjgy6s7b80jkagjsb939h42i2hix4q20sy0a1";
+    };
+    buildInputs = [ ExtUtilsParseXS ];
+  };
+
   ParamsUtil = buildPerlPackage rec {
     name = "Params-Util-1.01";
     src = fetchurl {
@@ -2708,10 +2774,10 @@ rec {
   };
 
   Plack = buildPerlPackage rec {
-    name = "Plack-0.9984";
+    name = "Plack-0.9985";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/${name}.tar.gz";
-      sha256 = "0xx200va9l6zimp2ybvbh1l3m80cdw03mfxqqf9k6v7cqvxir6pz";
+      sha256 = "0cik1iwpwky7aliwi59z93ykd13ysp4xg5dps1vd4dhqylkn4ns8";
     };
     buildInputs = [ TestRequires TestTCP HTTPRequestAsCGI ];
     propagatedBuildInputs =
@@ -2756,27 +2822,6 @@ rec {
     };
   };
 
-  ModulePluggable = buildPerlPackage rec {
-    name = "Module-Pluggable-3.9";
-    src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SI/SIMONW/${name}.tar.gz";
-      sha256 = "0psryh1dz828zly92db9zcv905n82in2awixzqngqhzg4y7fg4wc";
-    };
-    patches = [
-      # !!! merge this patch into Perl itself (which contains Module::Pluggable as well)
-      ../development/perl-modules/module-pluggable.patch
-    ];
-  };
-
-  ModulePluggableFast = buildPerlPackage {
-    name = "Module-Pluggable-Fast-0.18";
-    src = fetchurl {
-      url = mirror://cpan/authors/id/S/SR/SRI/Module-Pluggable-Fast-0.18.tar.gz;
-      sha256 = "140c311x2darrc2p1drbkafv7qwhzdcff4ad300n6whsx4dfp6wr";
-    };
-    propagatedBuildInputs = [UNIVERSALrequire];
-  };
-
   PadWalker = buildPerlPackage rec {
     name = "PadWalker-1.9";
     src = fetchurl {
@@ -2978,6 +3023,7 @@ rec {
       url = "mirror://cpan/modules/by-module/Plack/${name}.tar.gz";
       sha256 = "0hf3wpm2q4zcgjahjrpkkzy4fn74vkddg9yqs7p97xb290pvlbki";
     };
+    patches = [ ../development/perl-modules/starman-dont-change-name.patch ];
     buildInputs = [ TestRequires TestTCP ];
     propagatedBuildInputs = [ Plack DataDump HTTPParserXS NetServer ];
     doCheck = false; # binds to various TCP ports1
@@ -3008,6 +3054,14 @@ rec {
     propagatedBuildInputs = [ StatisticsDescriptive StatisticsDistributions ];
   };
 
+  StringCamelCase = buildPerlPackage rec {
+    name = "String-CamelCase-0.02";
+    src = fetchurl {
+      url = "mirror://cpan/modules/by-module/String/${name}.tar.gz";
+      sha256 = "17kh8nap2z5g5rqcvw0m7mvbai7wr7h0al39w8l827zhqad8ss42";
+    };
+  };
+
   StringFormat = buildPerlPackage rec {
     name = "String-Format-1.16";
     src = fetchurl {
@@ -3032,6 +3086,16 @@ rec {
     };
   };
 
+  StringToIdentifierEN = buildPerlPackage rec {
+    name = "String-ToIdentifier-EN-0.06";
+    src = fetchurl {
+      url = "mirror://cpan/modules/by-module/String/${name}.tar.gz";
+      sha256 = "1rmldr7jf4jvkhzlv8hgp48lrmybvinmhv8kcnrpa8las0ijm4vm";
+    };
+    propagatedBuildInputs = 
+      [ LinguaENInflectPhrase TextUnidecode NamespaceClean ];
+  };
+
   SubExporter = buildPerlPackage rec {
     name = "Sub-Exporter-0.982";
     src = fetchurl {
@@ -3533,6 +3597,14 @@ rec {
     propagatedBuildInputs = [TextAligner];
   };
 
+  TextUnidecode = buildPerlPackage rec {
+    name = "Text-Unidecode-0.04";
+    src = fetchurl {
+      url = "mirror://cpan/modules/by-module/Text/${name}.tar.gz";
+      sha256 = "01kbw5xshs906ikg0rgf51y9m6m26a4msv7ghcqwx7w2shgs0ga7";
+    };
+  };
+
   Throwable = buildPerlPackage rec {
     name = "Throwable-0.102080";
     src = fetchurl {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 3c1622847be0..d9cc483ef3ab 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -962,12 +962,12 @@ let pythonPackages = python.modules // rec {
     };
   });
 
-  nose = buildPythonPackage {
+  nose = buildPythonPackage rec {
     name = "nose-1.0.0";
 
     src = fetchurl {
-      url = http://somethingaboutorange.com/mrl/projects/nose/nose-1.0.0.tar.gz;
-      sha256 = "0qm6q232h5r071gwfkiszkmfqc60k7abl15bk495lcdkk62m91db";
+      url = "http://pypi.python.org/packages/source/n/nose/${name}.tar.gz";
+      md5 = "47a4784c817afa6ef11a505b574584ed";
     };
 
     # Fails with ‘This platform lacks a functioning sem_open
diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix
index de9532d712a2..37af65437216 100644
--- a/pkgs/top-level/release-cross.nix
+++ b/pkgs/top-level/release-cross.nix
@@ -179,8 +179,9 @@ let
   };
 in {
   crossGNU = mapTestOnCross crossSystem {
-    hurdCross = nativePlatforms;
-    mach.hostDrv = nativePlatforms;
+    gnu.hurdCross = nativePlatforms;
+    gnu.mach.hostDrv = nativePlatforms;
+    gnu.mig = nativePlatforms;
 
     coreutils.hostDrv = nativePlatforms;
     ed.hostDrv = nativePlatforms;
@@ -189,12 +190,14 @@ in {
     boehmgc.hostDrv = nativePlatforms;
     findutils.hostDrv = nativePlatforms;
     gcc.hostDrv = nativePlatforms;
+    gcc46.hostDrv = nativePlatforms;
     gdb.hostDrv = nativePlatforms;
     gmp.hostDrv = nativePlatforms;
     gnugrep.hostDrv = nativePlatforms;
     gnumake.hostDrv = nativePlatforms;
     gnused.hostDrv = nativePlatforms;
     guile_1_8.hostDrv = nativePlatforms;
+    guile.hostDrv = nativePlatforms;
     libffi.hostDrv = nativePlatforms;
     libtool.hostDrv = nativePlatforms;
     libunistring.hostDrv = nativePlatforms;
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index d4a50a323710..7381c23de7ef 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -383,8 +383,8 @@ with (import ./release-lib.nix);
 
   firefox36Pkgs.firefox = linux;
   firefox50Pkgs.firefox = linux;
-  firefox60Pkgs.firefox = linux;
   firefox70Pkgs.firefox = linux;
+  firefox80Pkgs.firefox = linux;
 
   gnome = {
     gnome_panel = linux;
@@ -435,29 +435,24 @@ with (import ./release-lib.nix);
   */
 
   linuxPackages_2_6_25 = {
-    aufs = linux;
     kernel = linux;
   };
 
   linuxPackages_2_6_27 = {
-    aufs = linux;
     kernel = linux;
     virtualbox = linux;
     virtualboxGuestAdditions = linux;
   };
 
   linuxPackages_2_6_28 = {
-    aufs = linux;
     kernel = linux;
   };
 
   linuxPackages_2_6_29 = {
-    aufs = linux;
     kernel = linux;
   };
 
   linuxPackages_2_6_31 = {
-    aufs = linux;
     kernel = linux;
   };