summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--doc/language-support.xml11
-rw-r--r--doc/quick-start.xml2
-rw-r--r--pkgs/applications/audio/abcde/abcde.patch30
-rw-r--r--pkgs/applications/audio/abcde/cd-paranoia.patch16
-rw-r--r--pkgs/applications/audio/abcde/default.nix31
-rw-r--r--pkgs/applications/audio/abcde/install.patch21
-rw-r--r--pkgs/applications/audio/abcde/which.patch16
-rw-r--r--pkgs/applications/audio/calf/default.nix15
-rw-r--r--pkgs/applications/audio/csound/default.nix34
-rw-r--r--pkgs/applications/audio/distrho/default.nix67
-rw-r--r--pkgs/applications/audio/ncmpcpp/default.nix4
-rw-r--r--pkgs/applications/audio/opus-tools/default.nix17
-rw-r--r--pkgs/applications/audio/swh-lv2/default.nix39
-rw-r--r--pkgs/applications/editors/aewan/default.nix19
-rw-r--r--pkgs/applications/editors/eclipse/default.nix11
-rw-r--r--pkgs/applications/editors/emacs-modes/graphviz-dot/default.nix25
-rw-r--r--pkgs/applications/editors/emacs-modes/magit/default.nix22
-rw-r--r--pkgs/applications/editors/geany/default.nix47
-rw-r--r--pkgs/applications/editors/gobby/default.nix4
-rw-r--r--pkgs/applications/editors/hexedit/default.nix19
-rw-r--r--pkgs/applications/editors/monodevelop/default.nix6
-rw-r--r--pkgs/applications/editors/monodoc/default.nix6
-rw-r--r--pkgs/applications/editors/netbeans/default.nix41
-rw-r--r--pkgs/applications/editors/sublime/default.nix39
-rw-r--r--pkgs/applications/editors/vim/configurable.nix14
-rw-r--r--pkgs/applications/graphics/darktable/default.nix8
-rw-r--r--pkgs/applications/graphics/dia/default.nix2
-rw-r--r--pkgs/applications/graphics/dia/glib-top-level-header.patch471
-rw-r--r--pkgs/applications/graphics/f-spot/default.nix4
-rw-r--r--pkgs/applications/graphics/geeqie/default.nix4
-rw-r--r--pkgs/applications/graphics/gimp/2.8.nix4
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix4
-rw-r--r--pkgs/applications/graphics/pqiv/default.nix6
-rw-r--r--pkgs/applications/misc/adobe-reader/builder.sh27
-rw-r--r--pkgs/applications/misc/adobe-reader/default.nix16
-rw-r--r--pkgs/applications/misc/blender/default.nix4
-rw-r--r--pkgs/applications/misc/calibre/default.nix2
-rw-r--r--pkgs/applications/misc/dmenu/default.nix13
-rw-r--r--pkgs/applications/misc/eaglemode/default.nix14
-rw-r--r--pkgs/applications/misc/epdfview/default.nix1
-rw-r--r--pkgs/applications/misc/epdfview/glib-top-level-header.patch12
-rw-r--r--pkgs/applications/misc/gmrun/default.nix39
-rw-r--r--pkgs/applications/misc/gmrun/gcc43.patch51
-rw-r--r--pkgs/applications/misc/gmrun/gmrun-0.9.2-xdg.patch58
-rw-r--r--pkgs/applications/misc/gphoto2/default.nix14
-rw-r--r--pkgs/applications/misc/grass/default.nix52
-rw-r--r--pkgs/applications/misc/jbidwatcher/default.nix4
-rw-r--r--pkgs/applications/misc/mupdf/default.nix7
-rw-r--r--pkgs/applications/misc/nut/default.nix5
-rw-r--r--pkgs/applications/misc/st/default.nix10
-rw-r--r--pkgs/applications/misc/synergy/default.nix40
-rw-r--r--pkgs/applications/misc/taskwarrior/default.nix29
-rw-r--r--pkgs/applications/misc/wmname/default.nix20
-rw-r--r--pkgs/applications/misc/xfe/default.nix33
-rw-r--r--pkgs/applications/misc/xterm/default.nix16
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix113
-rw-r--r--pkgs/applications/networking/browsers/chromium/enable_seccomp.patch20
-rw-r--r--pkgs/applications/networking/browsers/chromium/enable_seccomp22.patch20
-rw-r--r--pkgs/applications/networking/browsers/chromium/sources.nix18
-rwxr-xr-xpkgs/applications/networking/browsers/chromium/update.sh2
-rw-r--r--pkgs/applications/networking/browsers/firefox/15.0.nix44
-rw-r--r--pkgs/applications/networking/browsers/firefox/16.0.nix (renamed from pkgs/applications/networking/browsers/firefox/12.0.nix)94
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/builder.sh23
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/default.nix88
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix23
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-9/builder.sh14
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-9/default.nix47
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix36
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.upstream4
-rw-r--r--pkgs/applications/networking/browsers/opera/default.nix10
-rw-r--r--pkgs/applications/networking/browsers/uzbl/default.nix11
-rw-r--r--pkgs/applications/networking/cluster/hadoop/default.nix4
-rw-r--r--pkgs/applications/networking/esniper/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/baresip/default.nix45
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/default.nix16
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/psi/default.nix37
-rw-r--r--pkgs/applications/networking/instant-messengers/psi/glib-2.32.patch54
-rw-r--r--pkgs/applications/networking/instant-messengers/psi/psimedia.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix45
-rw-r--r--pkgs/applications/networking/instant-messengers/skype/default.nix38
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix4
-rw-r--r--pkgs/applications/networking/irc/xchat/default.nix2
-rw-r--r--pkgs/applications/networking/irc/xchat/glib-top-level-header.patch75
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix9
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/sylpheed/default.nix28
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix (renamed from pkgs/applications/networking/mailreaders/thunderbird/11.x.nix)47
-rw-r--r--pkgs/applications/networking/p2p/mldonkey/default.nix8
-rw-r--r--pkgs/applications/networking/remote/putty/default.nix16
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--pkgs/applications/networking/umurmur/default.nix20
-rw-r--r--pkgs/applications/office/gnucash/default.nix4
-rw-r--r--pkgs/applications/office/openoffice/libreoffice-srcs.nix4
-rw-r--r--pkgs/applications/office/openoffice/libreoffice.nix10
-rw-r--r--pkgs/applications/science/astronomy/gravit/default.nix22
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix14
-rw-r--r--pkgs/applications/science/electronics/kicad/default.nix2
-rw-r--r--pkgs/applications/science/electronics/ngspice/default.nix8
-rw-r--r--pkgs/applications/science/electronics/qfsm/default.nix24
-rw-r--r--pkgs/applications/science/electronics/qfsm/drop-hardcoded-prefix.patch20
-rw-r--r--pkgs/applications/science/electronics/tkgate/1.x.nix38
-rw-r--r--pkgs/applications/science/electronics/tkgate/2.x.nix33
-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/darcs/default.nix8
-rw-r--r--pkgs/applications/version-management/fossil/default.nix10
-rw-r--r--pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix79
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix13
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex/default.nix40
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/tig/default.nix13
-rw-r--r--pkgs/applications/video/MPlayer/default.nix169
-rw-r--r--pkgs/applications/video/RealPlayer/default.nix6
-rw-r--r--pkgs/applications/video/dvdauthor/build-against-libpng15.patch27
-rw-r--r--pkgs/applications/video/dvdauthor/default.nix18
-rw-r--r--pkgs/applications/video/key-mon/default.nix30
-rw-r--r--pkgs/applications/video/vlc/default.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix14
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix11
-rw-r--r--pkgs/applications/virtualization/virtualbox/remove_fa_ir.patch30
-rw-r--r--pkgs/applications/window-managers/awesome/default.nix1
-rw-r--r--pkgs/applications/window-managers/i3/default.nix10
-rw-r--r--pkgs/applications/window-managers/i3/status.nix4
-rw-r--r--pkgs/applications/window-managers/icewm/default.nix2
-rw-r--r--pkgs/applications/window-managers/icewm/deprecated.patch23
-rw-r--r--pkgs/applications/window-managers/xmonad/default.nix1
-rw-r--r--pkgs/applications/window-managers/xmonad/xmonad-extras.nix6
-rw-r--r--pkgs/build-support/fetchdarcs/builder.sh2
-rw-r--r--pkgs/build-support/setup-hooks/autoreconf.sh11
-rw-r--r--pkgs/build-support/setup-hooks/make-wrapper.sh (renamed from pkgs/build-support/make-wrapper/make-wrapper.sh)0
-rw-r--r--pkgs/build-support/source-from-head-fun.nix6
-rw-r--r--pkgs/build-support/upstream-updater/update-walker-service-specific.sh5
-rwxr-xr-xpkgs/build-support/upstream-updater/update-walker.sh196
-rw-r--r--pkgs/build-support/vm/default.nix92
-rw-r--r--pkgs/data/documentation/man-pages/default.nix6
-rw-r--r--pkgs/data/misc/tzdata/default.nix33
-rw-r--r--pkgs/data/misc/xkeyboard-config/default.nix6
-rw-r--r--pkgs/desktops/gnome-2/bindings/gnome-python/default.nix5
-rw-r--r--pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix29
-rw-r--r--pkgs/desktops/gnome-2/default.nix2
-rw-r--r--pkgs/desktops/gnome-2/desktop/gvfs/default.nix14
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnomecups/default.nix10
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnomecups/glib.patch38
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnomeprint/default.nix10
-rw-r--r--pkgs/desktops/kde-4.7/kdelibs.nix4
-rw-r--r--pkgs/desktops/xfce-4.6/applications/mousepad.nix18
-rw-r--r--pkgs/desktops/xfce-4.6/applications/ristretto.nix24
-rw-r--r--pkgs/desktops/xfce-4.6/applications/terminal.nix23
-rw-r--r--pkgs/desktops/xfce-4.6/applications/xfce4-mixer.nix38
-rw-r--r--pkgs/desktops/xfce-4.6/applications/xfce4-power-manager.nix24
-rw-r--r--pkgs/desktops/xfce-4.6/art/xfce4-icon-theme.nix17
-rw-r--r--pkgs/desktops/xfce-4.6/core/exo.nix21
-rw-r--r--pkgs/desktops/xfce-4.6/core/gtk-xfce-engine.nix19
-rw-r--r--pkgs/desktops/xfce-4.6/core/libxfce4menu.nix18
-rw-r--r--pkgs/desktops/xfce-4.6/core/libxfce4util.nix18
-rw-r--r--pkgs/desktops/xfce-4.6/core/libxfcegui4.nix29
-rw-r--r--pkgs/desktops/xfce-4.6/core/thunar.nix25
-rw-r--r--pkgs/desktops/xfce-4.6/core/xfce-utils.nix20
-rw-r--r--pkgs/desktops/xfce-4.6/core/xfce4-panel.nix24
-rw-r--r--pkgs/desktops/xfce-4.6/core/xfce4-session.nix22
-rw-r--r--pkgs/desktops/xfce-4.6/core/xfce4-settings.nix24
-rw-r--r--pkgs/desktops/xfce-4.6/core/xfconf.nix20
-rw-r--r--pkgs/desktops/xfce-4.6/core/xfdesktop.nix22
-rw-r--r--pkgs/desktops/xfce-4.6/core/xfwm4.nix23
-rw-r--r--pkgs/desktops/xfce-4.6/default.nix66
-rw-r--r--pkgs/desktops/xfce-4.8/applications/gigolo.nix22
-rw-r--r--pkgs/desktops/xfce-4.8/applications/xfce4-taskmanager.nix18
-rw-r--r--pkgs/desktops/xfce-4.8/core/xfce4-panel-datadir.patch24
-rw-r--r--pkgs/desktops/xfce-4.8/core/xfce4-panel.nix3
-rw-r--r--pkgs/desktops/xfce-4.8/default.nix9
-rw-r--r--pkgs/desktops/xfce-4.8/panel-plugins/xfce4-cpufreq-plugin.nix18
-rw-r--r--pkgs/desktops/xfce-4.8/panel-plugins/xfce4-systemload-plugin.nix18
-rw-r--r--pkgs/desktops/xfce-4.8/support/gvfs.nix16
-rw-r--r--pkgs/development/androidenv/addon.xml893
-rw-r--r--pkgs/development/androidenv/addons.nix186
-rw-r--r--pkgs/development/androidenv/androidsdk.nix176
-rw-r--r--pkgs/development/androidenv/build-app.nix41
-rw-r--r--pkgs/development/androidenv/default.nix62
-rw-r--r--pkgs/development/androidenv/emulate-app.nix87
-rwxr-xr-xpkgs/development/androidenv/generate-addons.sh3
-rw-r--r--pkgs/development/androidenv/generate-addons.xsl38
-rwxr-xr-xpkgs/development/androidenv/generate-platforms.sh4
-rw-r--r--pkgs/development/androidenv/generate-platforms.xsl38
-rwxr-xr-xpkgs/development/androidenv/generate-sysimages.sh3
-rw-r--r--pkgs/development/androidenv/generate-sysimages.xsl36
-rw-r--r--pkgs/development/androidenv/platform-tools.nix41
-rw-r--r--pkgs/development/androidenv/platforms-linux.nix198
-rw-r--r--pkgs/development/androidenv/platforms-macosx.nix198
-rw-r--r--pkgs/development/androidenv/repository-7.xml928
-rw-r--r--pkgs/development/androidenv/support.nix17
-rw-r--r--pkgs/development/androidenv/sysimages.nix42
-rw-r--r--pkgs/development/compilers/Agda-executable/default.nix1
-rw-r--r--pkgs/development/compilers/ccl/default.nix4
-rw-r--r--pkgs/development/compilers/ecl/default.nix13
-rw-r--r--pkgs/development/compilers/ecl/src-for-default.nix7
-rw-r--r--pkgs/development/compilers/ecl/src-info-for-default.nix6
-rw-r--r--pkgs/development/compilers/edk2/default.nix4
-rw-r--r--pkgs/development/compilers/fpc/lazarus.nix7
-rw-r--r--pkgs/development/compilers/gcc/4.3/default.nix3
-rw-r--r--pkgs/development/compilers/gcc/4.3/ghdl-runtime-o2.patch13
-rw-r--r--pkgs/development/compilers/gcc/4.7/default.nix10
-rw-r--r--pkgs/development/compilers/gcc/4.7/hurd-sigrtmin.patch14
-rw-r--r--pkgs/development/compilers/ghc/6.10.1-binary.nix8
-rw-r--r--pkgs/development/compilers/ghc/6.10.2-binary.nix8
-rw-r--r--pkgs/development/compilers/ghc/6.12.1-binary.nix8
-rw-r--r--pkgs/development/compilers/ghc/6.4.2-binary.nix8
-rw-r--r--pkgs/development/compilers/ghc/7.0.4-binary.nix8
-rw-r--r--pkgs/development/compilers/ghc/7.4.2-binary.nix91
-rw-r--r--pkgs/development/compilers/ghc/head.nix6
-rw-r--r--pkgs/development/compilers/ghc/with-packages.nix5
-rw-r--r--pkgs/development/compilers/ghc/wrapper.nix16
-rw-r--r--pkgs/development/compilers/go/default.nix6
-rw-r--r--pkgs/development/compilers/gprolog/default.nix15
-rw-r--r--pkgs/development/compilers/haxe/default.nix166
-rw-r--r--pkgs/development/compilers/idris/default.nix10
-rw-r--r--pkgs/development/compilers/jhc/default.nix29
-rw-r--r--pkgs/development/compilers/julia/default.nix16
-rw-r--r--pkgs/development/compilers/llvm/3.1.nix27
-rw-r--r--pkgs/development/compilers/llvm/clang-include-paths.patch54
-rw-r--r--pkgs/development/compilers/llvm/clang-ld-flags.patch75
-rw-r--r--pkgs/development/compilers/llvm/clang.nix21
-rw-r--r--pkgs/development/compilers/llvm/default.nix12
-rw-r--r--pkgs/development/compilers/neko/default.nix95
-rw-r--r--pkgs/development/compilers/neko/disable-modules.patch59
-rw-r--r--pkgs/development/compilers/ocaml/3.12.1.nix2
-rw-r--r--pkgs/development/compilers/ocaml/4.00.1.nix (renamed from pkgs/development/compilers/ocaml/4.00.0.nix)6
-rw-r--r--pkgs/development/compilers/openjdk-darwin/default.nix2
-rw-r--r--pkgs/development/compilers/openjdk/default.nix17
-rw-r--r--pkgs/development/compilers/openjdk/generate-cacerts.pl366
-rw-r--r--pkgs/development/compilers/openjdk/no-crypto-restrictions.patch12
-rw-r--r--pkgs/development/compilers/pakcs/default.nix2
-rw-r--r--pkgs/development/compilers/sbcl/default.nix11
-rw-r--r--pkgs/development/compilers/sbcl/default.upstream9
-rw-r--r--pkgs/development/compilers/sbcl/src-for-default.nix9
-rw-r--r--pkgs/development/compilers/sbcl/src-info-for-default.nix7
-rw-r--r--pkgs/development/compilers/uhc/default.nix1
-rw-r--r--pkgs/development/interpreters/clisp/default.nix1
-rw-r--r--pkgs/development/interpreters/erlang/R14B04.nix31
-rw-r--r--pkgs/development/interpreters/erlang/R15B02.nix45
-rw-r--r--pkgs/development/interpreters/erlang/default.nix28
-rw-r--r--pkgs/development/interpreters/lua-5/5.1.nix30
-rw-r--r--pkgs/development/interpreters/octave/hg.nix8
-rw-r--r--pkgs/development/interpreters/php/5.2.nix172
-rw-r--r--pkgs/development/interpreters/php/5.3.nix76
-rw-r--r--pkgs/development/interpreters/ruby/libs.nix4
-rw-r--r--pkgs/development/libraries/aacskeys/default.nix6
-rw-r--r--pkgs/development/libraries/atk/2.6.x.nix (renamed from pkgs/development/libraries/atk/2.2.x.nix)6
-rw-r--r--pkgs/development/libraries/audio/suil/default.nix8
-rw-r--r--pkgs/development/libraries/boehm-gc/default.nix20
-rw-r--r--pkgs/development/libraries/boost/1.51-headers.nix26
-rw-r--r--pkgs/development/libraries/boost/1.52-headers.nix (renamed from pkgs/development/libraries/boost/1.50-headers.nix)8
-rw-r--r--pkgs/development/libraries/boost/1.52.nix (renamed from pkgs/development/libraries/boost/1.50.nix)6
-rw-r--r--pkgs/development/libraries/cairo/default.nix29
-rw-r--r--pkgs/development/libraries/cyrus-sasl/default.nix5
-rw-r--r--pkgs/development/libraries/dbus/default.nix10
-rw-r--r--pkgs/development/libraries/expat/cve-2009-3560.patch18
-rw-r--r--pkgs/development/libraries/expat/default.nix14
-rw-r--r--pkgs/development/libraries/farstream/default.nix10
-rw-r--r--pkgs/development/libraries/ffmpeg/1.0.nix85
-rw-r--r--pkgs/development/libraries/fontconfig/default.nix21
-rw-r--r--pkgs/development/libraries/fox/default.nix34
-rw-r--r--pkgs/development/libraries/fox/fox-1.6.nix34
-rw-r--r--pkgs/development/libraries/freeimage/default.nix6
-rw-r--r--pkgs/development/libraries/freetype/default.nix32
-rw-r--r--pkgs/development/libraries/gamin/debian-patches.nix2
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/2.26.x.nix (renamed from pkgs/development/libraries/gdk-pixbuf/2.24.x.nix)11
-rw-r--r--pkgs/development/libraries/glib/2.34.x.nix (renamed from pkgs/development/libraries/glib/2.30.x.nix)27
-rw-r--r--pkgs/development/libraries/gnu-efi/default.nix6
-rw-r--r--pkgs/development/libraries/gnutls/default.nix18
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix11
-rw-r--r--pkgs/development/libraries/goffice/default.nix17
-rw-r--r--pkgs/development/libraries/gpgme/default.nix16
-rw-r--r--pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix9
-rw-r--r--pkgs/development/libraries/gstreamer/gstreamer/default.nix8
-rw-r--r--pkgs/development/libraries/gtk+/2.24.x.nix20
-rw-r--r--pkgs/development/libraries/gtk+/3.2.x.nix6
-rw-r--r--pkgs/development/libraries/gtk+/old-icons.patch270
-rw-r--r--pkgs/development/libraries/gupnp-igd/default.nix2
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/Agda/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/Boolean/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Cabal/1.16.0.3.nix15
-rw-r--r--pkgs/development/libraries/haskell/Crypto/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/DAV/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/DSH/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/GLFW/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/GLURaw/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.3.1.0.nix (renamed from pkgs/development/libraries/haskell/GLUT/2.3.0.0.nix)4
-rw-r--r--pkgs/development/libraries/haskell/HStringTemplate/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.5.nix (renamed from pkgs/development/libraries/haskell/HTTP/4000.2.4.nix)4
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.6.nix15
-rw-r--r--pkgs/development/libraries/haskell/JuicyPixels/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/List/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/ListLike/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ListZipper/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/MissingH/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix (renamed from pkgs/development/libraries/haskell/OpenGL/2.5.0.0.nix)4
-rw-r--r--pkgs/development/libraries/haskell/OpenGLRaw/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.5.1.1.nix (renamed from pkgs/development/libraries/haskell/QuickCheck/2.5.nix)8
-rw-r--r--pkgs/development/libraries/haskell/RSA/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ReadArgs/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/SDL/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/SHA/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/SafeSemaphore/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/Stream/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/X11/1.6.0.2.nix (renamed from pkgs/development/libraries/haskell/X11/1.6.0.1.nix)4
-rw-r--r--pkgs/development/libraries/haskell/accelerate-cuda/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/appar/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/async/2.0.1.3.nix (renamed from pkgs/development/libraries/haskell/async/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/async/2.0.1.4.nix15
-rw-r--r--pkgs/development/libraries/haskell/attoparsec-binary/attoparsec-binary-ghc7.6.1.patch20
-rw-r--r--pkgs/development/libraries/haskell/attoparsec-binary/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/attoparsec-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/authenticate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/basic-prelude/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/binary/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/blaze-markup/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/bmp/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/boomerang/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/c2hs/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cabal-file-th/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cairo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/certificate/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.8.3.nix (renamed from pkgs/development/libraries/haskell/cgi/3001.1.8.2.nix)4
-rw-r--r--pkgs/development/libraries/haskell/cipher-aes/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/citeproc-hs/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/classy-prelude/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/cmdargs/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/comonads-fd/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/criterion/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/cryptocipher/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cryptohash/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/curl/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix4
-rw-r--r--pkgs/development/libraries/haskell/data-accessor/data-accessor.nix4
-rw-r--r--pkgs/development/libraries/haskell/data-binary-ieee754/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/data-inttrie/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/data-lens-template/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/data-memocombinators/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/dataenc/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/dbus/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/deepseq-th/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/digest/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors-snap/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/directory-tree/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/distributed-process-simplelocalnet/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/distributed-process/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/distributed-static/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/dns/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/dstring/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/edit-distance/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/elerea/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/exception-mtl/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/exception-transformers/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/explicit-exception/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/file-embed/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/filestore/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/filesystem-conduit/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/fsnotify/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/generic-deriving/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/geniplate/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/ghc-core/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/ghc-events/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/ghc-mod/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/ghc-mtl/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ghc-syb-utils/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gio/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gitit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/glib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gloss/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/gnuidn/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/gnutls/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/graphviz/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/gsasl/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/gtk/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hackage-db/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hakyll/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hamlet/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix5
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-server.nix10
-rw-r--r--pkgs/development/libraries/haskell/hashed-storage/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hashtables/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix44
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.4.0.0.cabal113
-rw-r--r--pkgs/development/libraries/haskell/heist/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/hexpat/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/hfuse/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/highlighting-kate/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/hinotify/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/hint/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hjsmin/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hledger-lib/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hledger-web/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/hledger/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/hoogle/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/hopenssl/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hs-bibutils/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/hspec-expectations/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/hspec/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/html-conduit/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/http-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-date/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-reverse-proxy/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/hxt/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/instant-generics/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/iproute/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/json/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/lambdacube-engine/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/language-c-quote/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/language-haskell-extract/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/language-javascript/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/lens/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/liblastfm/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/libmpd/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/libxml-sax/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/lifted-base/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/lrucache/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/mainland-pretty/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/monad-logger/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/monad-peel/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/monadcryptorandom/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/monads-tf/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/mongoDB/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/multiarg/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/murmur-hash/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/network-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/network-info/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/network-multicast/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/network-protocol-xmpp/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/network-transport-tcp/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/network-transport/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/network/2.4.0.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/numbers/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/optparse-applicative/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/pandoc/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/pango/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/parallel-io/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/path-pieces/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/pathtype/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/persistent-template/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/persistent/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/primitive/0.4.1.nix (renamed from pkgs/development/libraries/haskell/primitive/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/primitive/0.5.0.1.nix14
-rw-r--r--pkgs/development/libraries/haskell/primitive/0.5.nix14
-rw-r--r--pkgs/development/libraries/haskell/process-extras/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/project-template/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/pwstore-fast/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/random-fu/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/rank1dynamic/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/reactive-banana-wx/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/reactive-banana/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/readline/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/regular/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/repa-algorithms/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/repa-examples/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/repa-io/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/repa/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/repr/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/resourcet/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/semigroupoids/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/sendfile/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/setenv/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-css/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-js/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-text/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shakespeare/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shelly/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/silently/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/simple-sendfile/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/snap/core.nix24
-rw-r--r--pkgs/development/libraries/haskell/snap/loader-dynamic.nix4
-rw-r--r--pkgs/development/libraries/haskell/snap/server.nix20
-rw-r--r--pkgs/development/libraries/haskell/snap/snap.nix13
-rw-r--r--pkgs/development/libraries/haskell/split/0.2.1.1.nix (renamed from pkgs/development/libraries/haskell/split/default.nix)4
-rw-r--r--pkgs/development/libraries/haskell/srcloc/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/stm/2.4.2.nix13
-rw-r--r--pkgs/development/libraries/haskell/string-combinators/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/stringsearch/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/strptime/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/stylish-haskell/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/symbol/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/system-fileio/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tagged/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tagsoup/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tagstream-conduit/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/temporary/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/test-framework-th-prime/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/test-framework-th/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/threads/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/tls-extra/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/tls/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/unix-compat/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/unlambda/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/urlencoded/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/uu-parsinglib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vacuum/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vcs-revision/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/vect/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/vector-algorithms/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vector-space-points/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vector-space/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/vector/0.10.0.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/vector/0.10.nix15
-rw-r--r--pkgs/development/libraries/haskell/vector/0.9.1.nix (renamed from pkgs/development/libraries/haskell/vector/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/void/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vty/default.nix6
-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-test/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/wai/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/warp/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/word8/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/xml-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/xml-hamlet/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/xmlhtml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yaml/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/yesod-auth/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-core/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-default/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/yesod-form/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/yesod-json/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-routes/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-static/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-test/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/yesod/default.nix33
-rw-r--r--pkgs/development/libraries/haskell/yst/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/zeromq3-haskell/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/zip-archive/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/zlib-bindings/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/zlib-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/zlib-enum/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.4.0.nix14
-rw-r--r--pkgs/development/libraries/json-glib/default.nix4
-rw-r--r--pkgs/development/libraries/libarchive/default.nix22
-rw-r--r--pkgs/development/libraries/libassuan/default.nix2
-rw-r--r--pkgs/development/libraries/libbluray/default.nix3
-rw-r--r--pkgs/development/libraries/libc++/default.nix28
-rw-r--r--pkgs/development/libraries/libdiscid/default.nix10
-rw-r--r--pkgs/development/libraries/libdrm/default.nix10
-rw-r--r--pkgs/development/libraries/libgphoto2/default.nix14
-rw-r--r--pkgs/development/libraries/libgsf/default.nix8
-rw-r--r--pkgs/development/libraries/libgsf/syscall-name-clash.patch120
-rw-r--r--pkgs/development/libraries/libicns/default.nix8
-rw-r--r--pkgs/development/libraries/libinfinity/default.nix8
-rw-r--r--pkgs/development/libraries/libmnl/default.nix25
-rw-r--r--pkgs/development/libraries/libnetfilter_conntrack/default.nix26
-rw-r--r--pkgs/development/libraries/libnfnetlink/default.nix27
-rw-r--r--pkgs/development/libraries/libopus/default.nix18
-rw-r--r--pkgs/development/libraries/libpng/12.nix4
-rw-r--r--pkgs/development/libraries/libpng/default.nix4
-rw-r--r--pkgs/development/libraries/libraw1394/default.nix4
-rw-r--r--pkgs/development/libraries/libre/default.nix23
-rw-r--r--pkgs/development/libraries/librem/default.nix24
-rw-r--r--pkgs/development/libraries/librsvg/default.nix17
-rw-r--r--pkgs/development/libraries/libsoup/default.nix6
-rw-r--r--pkgs/development/libraries/libtiff/default.nix18
-rw-r--r--pkgs/development/libraries/libusb1/default.nix4
-rw-r--r--pkgs/development/libraries/libvpx/default.nix6
-rw-r--r--pkgs/development/libraries/libxml2/default.nix35
-rw-r--r--pkgs/development/libraries/libxml2/pthread-once-init.patch35
-rw-r--r--pkgs/development/libraries/libxml2/setup-hook.sh6
-rw-r--r--pkgs/development/libraries/libxslt/default.nix16
-rw-r--r--pkgs/development/libraries/loudmouth/default.nix24
-rw-r--r--pkgs/development/libraries/loudmouth/glib-2.32.patch13
-rw-r--r--pkgs/development/libraries/mesa/default.nix14
-rw-r--r--pkgs/development/libraries/nettle/default.nix9
-rw-r--r--pkgs/development/libraries/npth/default.nix15
-rw-r--r--pkgs/development/libraries/nspr/default.nix6
-rw-r--r--pkgs/development/libraries/nss/default.nix17
-rw-r--r--pkgs/development/libraries/openjpeg/default.nix12
-rw-r--r--pkgs/development/libraries/openssl/default.nix8
-rw-r--r--pkgs/development/libraries/pango/1.30.x.nix (renamed from pkgs/development/libraries/pango/1.29.x.nix)8
-rw-r--r--pkgs/development/libraries/phat/default.nix21
-rw-r--r--pkgs/development/libraries/podofo/default.nix3
-rw-r--r--pkgs/development/libraries/protobufc/default.nix22
-rw-r--r--pkgs/development/libraries/pth/default.nix4
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix54
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff63
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/dlopen-gtkstyle.diff14
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/glib-2.32.patch12
-rw-r--r--pkgs/development/libraries/science/math/blas/default.nix12
-rw-r--r--pkgs/development/libraries/smpeg/default.nix4
-rw-r--r--pkgs/development/libraries/spandsp/default.nix18
-rw-r--r--pkgs/development/libraries/spice/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/default.nix8
-rw-r--r--pkgs/development/libraries/srtp/default.nix8
-rw-r--r--pkgs/development/libraries/v8/default.nix4
-rw-r--r--pkgs/development/libraries/vtk/default.nix26
-rw-r--r--pkgs/development/libraries/webkit/default.nix11
-rw-r--r--pkgs/development/libraries/webkit/gtk2.nix1
-rw-r--r--pkgs/development/libraries/webkit/src-for-default.nix11
-rw-r--r--pkgs/development/libraries/zeromq/2.x.nix (renamed from pkgs/development/libraries/zeromq/default.nix)0
-rw-r--r--pkgs/development/libraries/zeromq/3.x.nix17
-rw-r--r--pkgs/development/ocaml-modules/extlib/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/extlib/hashtable-ocaml4-compat.patch12
-rw-r--r--pkgs/development/ocaml-modules/ocamlnet/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/ounit/default.nix8
-rw-r--r--pkgs/development/perl-modules/DBD-SQLite/default.nix5
-rw-r--r--pkgs/development/python-modules/pyopenssl/default.nix6
-rw-r--r--pkgs/development/qtcreator/default.nix36
-rw-r--r--pkgs/development/tools/analysis/smatch/default.nix33
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix4
-rw-r--r--pkgs/development/tools/documentation/haddock/2.13.1.nix18
-rw-r--r--pkgs/development/tools/documentation/haddock/2.7.2.nix5
-rw-r--r--pkgs/development/tools/documentation/haddock/2.9.2.nix1
-rw-r--r--pkgs/development/tools/haskell/BNFC-meta/default.nix7
-rw-r--r--pkgs/development/tools/haskell/alex-meta/default.nix5
-rw-r--r--pkgs/development/tools/haskell/cabal-dev/default.nix21
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/default.nix4
-rw-r--r--pkgs/development/tools/haskell/happy-meta/default.nix4
-rw-r--r--pkgs/development/tools/haskell/hlint/default.nix6
-rw-r--r--pkgs/development/tools/haskell/hslogger/default.nix4
-rw-r--r--pkgs/development/tools/haskell/splot/default.nix21
-rw-r--r--pkgs/development/tools/haskell/tar/0.4.0.1.nix (renamed from pkgs/development/tools/haskell/tar/0.4.0.0.nix)8
-rw-r--r--pkgs/development/tools/haskell/threadscope/default.nix4
-rw-r--r--pkgs/development/tools/haskell/timeplot/default.nix23
-rw-r--r--pkgs/development/tools/haskell/uuagc/cabal.nix4
-rw-r--r--pkgs/development/tools/haskell/uuagc/default.nix12
-rw-r--r--pkgs/development/tools/misc/coccinelle/default.nix3
-rw-r--r--pkgs/development/tools/misc/sysbench/default.nix19
-rw-r--r--pkgs/development/tools/neoload/default.nix91
-rw-r--r--pkgs/development/tools/ocaml/camlp5/default.nix20
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.10.nix18
-rw-r--r--pkgs/development/web/nodejs/build-node-package.nix17
-rw-r--r--pkgs/development/web/nodejs/default.nix21
-rw-r--r--pkgs/games/fsg/default.nix2
-rw-r--r--pkgs/games/oilrush/default.nix7
-rw-r--r--pkgs/games/openttd/default.nix32
-rw-r--r--pkgs/games/rili/default.nix31
-rw-r--r--pkgs/games/rili/moderinze_cpp.patch391
-rw-r--r--pkgs/games/sgt-puzzles/default.nix5
-rw-r--r--pkgs/games/spring/default.nix6
-rw-r--r--pkgs/games/the-butterfly-effect/default.nix2
-rw-r--r--pkgs/games/uqm/default.nix78
-rw-r--r--pkgs/games/warsow/default.nix29
-rw-r--r--pkgs/games/widelands/boost_and_cmake_die_die_die.patch11
-rw-r--r--pkgs/games/widelands/default.nix18
-rw-r--r--pkgs/lib/attrsets.nix26
-rw-r--r--pkgs/lib/licenses.nix6
-rw-r--r--pkgs/lib/maintainers.nix2
-rw-r--r--pkgs/lib/strings.nix16
-rw-r--r--pkgs/misc/cups/default.nix11
-rw-r--r--pkgs/misc/drivers/foomatic-filters/default.nix8
-rw-r--r--pkgs/misc/emulators/wine/default.nix5
-rw-r--r--pkgs/misc/emulators/wine/default.upstream13
-rw-r--r--pkgs/misc/jackaudio/default.nix7
-rw-r--r--pkgs/misc/jackaudio/ffado_setbuffsize-jack2.patch140
-rw-r--r--pkgs/misc/sane-backends/default.nix18
-rw-r--r--pkgs/misc/screensavers/xscreensaver/default.nix6
-rw-r--r--pkgs/os-specific/linux/acpid/default.nix12
-rw-r--r--pkgs/os-specific/linux/alsa-lib/default.nix9
-rw-r--r--pkgs/os-specific/linux/alsa-utils/default.nix19
-rw-r--r--pkgs/os-specific/linux/ati-drivers/builder.sh23
-rw-r--r--pkgs/os-specific/linux/ati-drivers/default.nix13
-rw-r--r--pkgs/os-specific/linux/bluez/default.nix4
-rw-r--r--pkgs/os-specific/linux/consoletools/default.nix33
-rw-r--r--pkgs/os-specific/linux/cryptodev/default.nix29
-rw-r--r--pkgs/os-specific/linux/ffado/default.nix22
-rw-r--r--pkgs/os-specific/linux/ffado/enable-mixer-and-dbus.patch13
-rw-r--r--pkgs/os-specific/linux/firmware/amd-ucode/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix35
-rw-r--r--pkgs/os-specific/linux/firmware/iwlwifi-6000g2a-ucode/default.nix9
-rw-r--r--pkgs/os-specific/linux/hal/default.nix63
-rw-r--r--pkgs/os-specific/linux/hal/hal-evt.nix20
-rw-r--r--pkgs/os-specific/linux/hal/info.nix15
-rw-r--r--pkgs/os-specific/linux/hal/synaptics.nix19
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix29
-rw-r--r--pkgs/os-specific/linux/ipsec-tools/default.nix42
-rw-r--r--pkgs/os-specific/linux/ipsec-tools/dont-create-localstatedir-during-install.patch13
-rw-r--r--pkgs/os-specific/linux/iptables/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/builder.sh4
-rw-r--r--pkgs/os-specific/linux/kernel/cifs-timeout-3.5.7.patch13
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix13
-rw-r--r--pkgs/os-specific/linux/kernel/linux-2.6.32.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.0.nix10
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.1.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.2.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.3.nix3
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.4.nix7
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.5.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.6.nix270
-rw-r--r--pkgs/os-specific/linux/kernel/mips-ext3-n32.patch17
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix75
-rw-r--r--pkgs/os-specific/linux/lvm2/assume-uevent-generated.patch39
-rw-r--r--pkgs/os-specific/linux/lvm2/default.nix6
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix (renamed from pkgs/applications/virtualization/lxc/default.nix)10
-rw-r--r--pkgs/os-specific/linux/lxc/dont-run-ldconfig.patch (renamed from pkgs/applications/virtualization/lxc/dont-run-ldconfig.patch)0
-rw-r--r--pkgs/os-specific/linux/lxc/fix-documentation-build.patch (renamed from pkgs/applications/virtualization/lxc/fix-documentation-build.patch)0
-rw-r--r--pkgs/os-specific/linux/lxc/fix-sgml-documentation.patch (renamed from pkgs/applications/virtualization/lxc/fix-sgml-documentation.patch)257
-rw-r--r--pkgs/os-specific/linux/mountall/default.nix6
-rw-r--r--pkgs/os-specific/linux/nfs-utils/default.nix2
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix10
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/legacy173.nix6
-rw-r--r--pkgs/os-specific/linux/pmtools/default.nix25
-rw-r--r--pkgs/os-specific/linux/qemu-kvm/default.nix12
-rw-r--r--pkgs/os-specific/linux/qemu-kvm/qemu-img-fix-corrupt-vdi.patch27
-rw-r--r--pkgs/os-specific/linux/qemu-kvm/smb-tmpdir.patch33
-rw-r--r--pkgs/os-specific/linux/reptyr/default.nix17
-rw-r--r--pkgs/os-specific/linux/shadow/default.nix7
-rw-r--r--pkgs/os-specific/linux/spl/default.nix45
-rw-r--r--pkgs/os-specific/linux/spl/install_prefix.patch19
-rw-r--r--pkgs/os-specific/linux/spl/install_prefix_2.patch32
-rw-r--r--pkgs/os-specific/linux/spl/module_prefix.patch33
-rw-r--r--pkgs/os-specific/linux/sysfsutils/default.nix2
-rw-r--r--pkgs/os-specific/linux/systemd/crypt-devices-are-ready.patch22
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix31
-rw-r--r--pkgs/os-specific/linux/systemd/fail-after-reaching-respawn-limit.patch12
-rw-r--r--pkgs/os-specific/linux/systemd/ignore-duplicates.patch20
-rw-r--r--pkgs/os-specific/linux/systemd/listunitfiles-abort.patch20
-rw-r--r--pkgs/os-specific/linux/systemd/reexec.patch15
-rw-r--r--pkgs/os-specific/linux/uml-utilities/builder.sh17
-rw-r--r--pkgs/os-specific/linux/uml-utilities/default.nix13
-rw-r--r--pkgs/os-specific/linux/usbutils/default.nix20
-rw-r--r--pkgs/os-specific/linux/xf86-input-mtrack/default.nix11
-rw-r--r--pkgs/os-specific/linux/xf86-input-wacom/default.nix10
-rw-r--r--pkgs/os-specific/linux/xf86-video-nested/default.nix25
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix45
-rw-r--r--pkgs/os-specific/linux/zfs/kerneldir_path.patch85
-rw-r--r--pkgs/os-specific/linux/zfs/module_perm_prefix.patch70
-rw-r--r--pkgs/os-specific/linux/zfs/mount_zfs_prefix.patch24
-rw-r--r--pkgs/os-specific/linux/zfs/no_absolute_paths_to_coreutils.patch25
-rw-r--r--pkgs/servers/dns/bind/default.nix9
-rw-r--r--pkgs/servers/http/joseki/default.nix4
-rw-r--r--pkgs/servers/http/nginx/default.nix18
-rw-r--r--pkgs/servers/mail/dovecot/1.1.1.nix20
-rw-r--r--pkgs/servers/mail/dovecot/2.x.nix27
-rw-r--r--pkgs/servers/mail/dovecot/default.nix31
-rw-r--r--pkgs/servers/mail/popa3d/default.nix29
-rw-r--r--pkgs/servers/mail/popa3d/enable-standalone-mode.patch12
-rw-r--r--pkgs/servers/mail/popa3d/fix-mail-spool-path.patch12
-rw-r--r--pkgs/servers/mail/popa3d/use-glibc-crypt.patch12
-rw-r--r--pkgs/servers/mail/popa3d/use-openssl.patch21
-rw-r--r--pkgs/servers/mail/spamassassin/default.nix28
-rw-r--r--pkgs/servers/monitoring/zabbix/default.nix10
-rw-r--r--pkgs/servers/pulseaudio/default.nix14
-rw-r--r--pkgs/servers/restund/default.nix28
-rw-r--r--pkgs/servers/samba/default.nix8
-rw-r--r--pkgs/servers/sip/freeswitch/default.nix19
-rw-r--r--pkgs/servers/sql/mysql/jdbc/default.nix6
-rw-r--r--pkgs/servers/sql/mysql55/default.nix15
-rw-r--r--pkgs/servers/sql/postgresql/8.3.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/8.4.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/9.0.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/9.1.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/psqlodbc/default.nix20
-rw-r--r--pkgs/servers/squid/squids.nix8
-rw-r--r--pkgs/servers/x11/xorg/default.nix1226
-rw-r--r--pkgs/servers/x11/xorg/extra.list13
-rwxr-xr-xpkgs/servers/x11/xorg/generate-expr-from-tarballs.pl2
-rw-r--r--pkgs/servers/x11/xorg/old.list14
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix107
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.6.list199
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.7.list184
-rw-r--r--pkgs/servers/x11/xorg/unichrome/default.nix7
-rw-r--r--pkgs/servers/x11/xorg/xorgserver-dri-path.patch57
-rw-r--r--pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch2
-rw-r--r--pkgs/servers/xinetd/default.nix6
-rw-r--r--pkgs/shells/bash-completion/default.nix5
-rw-r--r--pkgs/stdenv/adapters.nix42
-rw-r--r--pkgs/stdenv/linux/bootstrap/loongson2f/default.nix2
-rw-r--r--pkgs/tools/X11/xdg-utils/default.nix6
-rw-r--r--pkgs/tools/admin/tigervnc/default.nix45
-rw-r--r--pkgs/tools/archivers/cabextract/default.nix9
-rw-r--r--pkgs/tools/archivers/p7zip/default.nix8
-rw-r--r--pkgs/tools/archivers/sharutils/default.nix4
-rw-r--r--pkgs/tools/archivers/sharutils/sharutils-4.11.1-cross-binary-mode-popen.patch63
-rw-r--r--pkgs/tools/archivers/zip/default.nix5
-rw-r--r--pkgs/tools/backup/obnam/default.nix6
-rw-r--r--pkgs/tools/backup/tarsnap/default.nix18
-rw-r--r--pkgs/tools/bluetooth/obexd/default.nix4
-rw-r--r--pkgs/tools/filesystems/btrfsprogs/default.nix6
-rw-r--r--pkgs/tools/filesystems/dosfstools/default.nix5
-rw-r--r--pkgs/tools/filesystems/mtdutils/default.nix9
-rw-r--r--pkgs/tools/graphics/asymptote/default.nix7
-rw-r--r--pkgs/tools/graphics/asymptote/src-for-default.nix8
-rw-r--r--pkgs/tools/graphics/graphviz/default.nix2
-rw-r--r--pkgs/tools/graphics/graphviz/fix-broken-memcp-signature.patch15
-rw-r--r--pkgs/tools/graphics/plotutils/debian-patches.nix2
-rw-r--r--pkgs/tools/misc/debian-devscripts/default.nix36
-rw-r--r--pkgs/tools/misc/debootstrap/default.nix122
-rw-r--r--pkgs/tools/misc/file/default.nix2
-rw-r--r--pkgs/tools/misc/grub/2.0x.nix2
-rw-r--r--pkgs/tools/misc/grub/fix-bash-completion.patch24
-rw-r--r--pkgs/tools/misc/gsmartcontrol/default.nix23
-rw-r--r--pkgs/tools/misc/jdiskreport/builder.sh9
-rw-r--r--pkgs/tools/misc/jdiskreport/default.nix14
-rw-r--r--pkgs/tools/misc/picocom/default.nix23
-rw-r--r--pkgs/tools/misc/plowshare/default.nix12
-rw-r--r--pkgs/tools/misc/refind/default.nix8
-rw-r--r--pkgs/tools/misc/screen/default.nix6
-rw-r--r--pkgs/tools/misc/testdisk/default.nix12
-rw-r--r--pkgs/tools/misc/timidity/default.nix2
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix6
-rw-r--r--pkgs/tools/networking/aircrack-ng/default.nix2
-rw-r--r--pkgs/tools/networking/curl/default.nix6
-rw-r--r--pkgs/tools/networking/ddclient/ddclient-foreground.patch92
-rw-r--r--pkgs/tools/networking/ddclient/default.nix15
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix8
-rw-r--r--pkgs/tools/networking/miniupnpd/default.nix23
-rw-r--r--pkgs/tools/networking/modemmanager/default.nix4
-rw-r--r--pkgs/tools/networking/mosh/default.nix4
-rw-r--r--pkgs/tools/networking/nss-myhostname/default.nix19
-rw-r--r--pkgs/tools/networking/nss-myhostname/ignore-ipv6-link-local.patch13
-rw-r--r--pkgs/tools/networking/nss-myhostname/nscd-segfault.patch15
-rw-r--r--pkgs/tools/networking/nss-pam-ldapd/default.nix34
-rw-r--r--pkgs/tools/networking/openssh/default.nix4
-rw-r--r--pkgs/tools/networking/sitecopy/default.nix6
-rw-r--r--pkgs/tools/package-management/cabal-install/0.14.0.nix4
-rw-r--r--pkgs/tools/package-management/cabal-install/1.16.0.2.nix23
-rw-r--r--pkgs/tools/package-management/dpkg/default.nix30
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix18
-rw-r--r--pkgs/tools/security/gnupg/default.nix2
-rw-r--r--pkgs/tools/security/gnupg1/default.nix4
-rw-r--r--pkgs/tools/security/pinentry/default.nix11
-rw-r--r--pkgs/tools/system/ddrescue/default.nix4
-rw-r--r--pkgs/tools/system/fakeroot/default.nix18
-rw-r--r--pkgs/tools/system/hardlink/default.nix34
-rw-r--r--pkgs/tools/system/pciutils/default.nix15
-rw-r--r--pkgs/tools/system/safecopy/default.nix30
-rw-r--r--pkgs/tools/system/smartmontools/default.nix16
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix10
-rw-r--r--pkgs/tools/typesetting/tex/texlive/beamer.nix6
-rw-r--r--pkgs/tools/virtualization/ec2-api-tools/default.nix23
-rw-r--r--pkgs/top-level/all-packages.nix559
-rw-r--r--pkgs/top-level/haskell-defaults.nix26
-rw-r--r--pkgs/top-level/haskell-packages.nix301
-rw-r--r--pkgs/top-level/node-packages.nix313
-rw-r--r--pkgs/top-level/perl-packages.nix82
-rw-r--r--pkgs/top-level/platforms.nix20
-rw-r--r--pkgs/top-level/python-packages.nix373
-rw-r--r--pkgs/top-level/release.nix8
841 files changed, 15271 insertions, 6058 deletions
diff --git a/.gitignore b/.gitignore
index 6405b7860f29..4bcac5d261e1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
 *~
 ,*
+.*.swp
+.*.swo
diff --git a/doc/language-support.xml b/doc/language-support.xml
index 47729a1b4ba9..6cc028c0b0a2 100644
--- a/doc/language-support.xml
+++ b/doc/language-support.xml
@@ -196,17 +196,18 @@ twisted = buildPythonPackage {
 </section>
 
 
-<!--
-<section><title>Haskell</title>
+<section><title>Java</title>
 
-<para>TODO</para>
+<para>Java packages should install JAR files in
+<filename>$out/lib/java</filename>.</para>
 
 </section>
 
 
-<section><title>Java</title>
+<!--
+<section><title>Haskell</title>
 
-<para>TODO; Java support needs lots of improvement</para>
+<para>TODO</para>
 
 </section>
 
diff --git a/doc/quick-start.xml b/doc/quick-start.xml
index dddbbb4a19ec..a14de4077dbd 100644
--- a/doc/quick-start.xml
+++ b/doc/quick-start.xml
@@ -173,7 +173,7 @@ $ git add pkgs/development/libraries/libfoo/default.nix</screen>
     <para>The exact syntax and semantics of the Nix expression
     language, including the built-in function, are described in the
     Nix manual in the <link
-    xlink:href="http://nixos.org/releases/nix/unstable/manual/#chap-writing-nix-expressions">chapter
+    xlink:href="http://hydra.nixos.org/job/nix/trunk/tarball/latest/download-by-type/doc/manual/#chap-writing-nix-expressions">chapter
     on writing Nix expressions</link>.</para>
     
   </listitem>
diff --git a/pkgs/applications/audio/abcde/abcde.patch b/pkgs/applications/audio/abcde/abcde.patch
new file mode 100644
index 000000000000..ae187043e6c5
--- /dev/null
+++ b/pkgs/applications/audio/abcde/abcde.patch
@@ -0,0 +1,30 @@
+Two changes:
+
+* Add an alias for `which', so abcde can find things in store
+* Choose the right CDROM reader syntax for `cd-paranoia'
+
+--- abcde-2.5.4/abcde~	2012-09-18 06:09:31.000000000 -0700
++++ abcde-2.5.4/abcde	2012-10-27 00:08:48.000862364 -0700
+@@ -17,6 +17,11 @@
+ 
+ VERSION='2.5.4'
+ 
++which ()
++{
++  type -P $1
++}
++
+ usage ()
+ {
+ echo "This is abcde v$VERSION."
+@@ -3497,6 +3502,10 @@
+ 	for DEFAULT_CDROMREADER in $DEFAULT_CDROMREADERS; do
+ 		if new_checkexec $DEFAULT_CDROMREADER; then
+ 			CDROMREADERSYNTAX=$DEFAULT_CDROMREADER
++                        case "$DEFAULT_CDROMREADER" in
++			  cd-paranoia)  CDROMREADERSYNTAX=cdparanoia;;
++			  *)            CDROMREADERSYNTAX=$DEFAULT_CDROMREADER;;
++			esac
+ 			break
+ 		fi
+ 	done
diff --git a/pkgs/applications/audio/abcde/cd-paranoia.patch b/pkgs/applications/audio/abcde/cd-paranoia.patch
deleted file mode 100644
index 58cada65fb8d..000000000000
--- a/pkgs/applications/audio/abcde/cd-paranoia.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Choose the right CDROM reader syntax for `cd-paranoia'.
-
---- abcde-2.3.99.6/abcde	2006-08-05 21:14:00.000000000 +0200
-+++ abcde-2.3.99.6/abcde	2008-10-29 22:55:38.000000000 +0100
-@@ -3184,7 +3184,10 @@ if [ -n "$DISCID" ] || [ "$CDROMREADERSY
- if [ "$CDROMREADERSYNTAX" = "" ]; then
- 	for DEFAULT_CDROMREADER in $DEFAULT_CDROMREADERS; do
- 		if new_checkexec $DEFAULT_CDROMREADER; then
--			CDROMREADERSYNTAX=$DEFAULT_CDROMREADER
-+                        case "$DEFAULT_CDROMREADER" in
-+			  cd-paranoia)  CDROMREADERSYNTAX=cdparanoia;;
-+			  *)            CDROMREADERSYNTAX=$DEFAULT_CDROMREADER;;
-+			esac
- 			break
- 		fi
- 	done
diff --git a/pkgs/applications/audio/abcde/default.nix b/pkgs/applications/audio/abcde/default.nix
index e7da594e4bc6..e8c37d25694e 100644
--- a/pkgs/applications/audio/abcde/default.nix
+++ b/pkgs/applications/audio/abcde/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchurl, libcdio, cddiscid, wget, bash, vorbisTools, id3v2, lame
+{ stdenv, fetchurl, libcdio, cddiscid, wget, bash, vorbisTools, id3v2, lame, flac, eject, mkcue
+, perl, DigestSHA, MusicBrainz, MusicBrainzDiscID
 , makeWrapper }:
 
-let version = "2.3.99.6";
+let version = "2.5.4";
 in
   stdenv.mkDerivation {
     name = "abcde-${version}";
     src = fetchurl {
       url = "mirror://debian/pool/main/a/abcde/abcde_${version}.orig.tar.gz";
-      sha256 = "1wl4ygj1cf1d6g05gwwygsd5g83l039fzi011r30ma5lnm763lyb";
+      sha256 = "14g5lsgh53hza9848351kwpygc0yqpvvzp3s923aja77f2wpkdl5";
     };
 
     # FIXME: This package does not support MP3 encoding (only Ogg),
     # nor `distmp3', `eject', etc.
 
-    patches = [ ./install.patch ./which.patch ./cd-paranoia.patch ];
+    patches = [ ./abcde.patch ];
 
     configurePhase = ''
       sed -i "s|^[[:blank:]]*prefix *=.*$|prefix = $out|g ;
@@ -29,25 +30,37 @@ in
 
       substituteInPlace "abcde"					\
 	--replace "/etc/abcde.conf" "$out/etc/abcde.conf"
+
     '';
 
+    # no ELFs in this package, only scripts
+    dontStrip = true;
+    dontPatchELF = true;
+
     buildInputs = [ makeWrapper ];
 
     postInstall = ''
-      substituteInPlace "$out/bin/cddb-tool" \
-         --replace '#!/bin/sh' '#!${bash}/bin/sh'
-      substituteInPlace "$out/bin/abcde" \
-         --replace '#!/bin/bash' '#!${bash}/bin/bash'
+    #   substituteInPlace "$out/bin/cddb-tool" \
+    #      --replace '#!/bin/sh' '#!${bash}/bin/sh'
+    #   substituteInPlace "$out/bin/abcde" \
+    #      --replace '#!/bin/bash' '#!${bash}/bin/bash'
+
+      # generic fixup script should be doing this, but it ignores this file for some reason
+      substituteInPlace "$out/bin/abcde-musicbrainz-tool" \
+         --replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
 
       wrapProgram "$out/bin/abcde" --prefix PATH ":" \
         "$out/bin:${libcdio}/bin:${cddiscid}/bin:${wget}/bin:${vorbisTools}/bin:${id3v2}/bin:${lame}/bin"
 
       wrapProgram "$out/bin/cddb-tool" --prefix PATH ":" \
         "${wget}/bin"
+
+      wrapProgram "$out/bin/abcde-musicbrainz-tool" --prefix PATH ":" \
+        "${wget}/bin"
     '';
 
     meta = {
-      homepage = http://www.hispalinux.es/~data/abcde.php;
+      homepage = "http://lly.org/~rcw/abcde/page/";
       licence = "GPLv2+";
       description = "A Better CD Encoder (ABCDE)";
 
diff --git a/pkgs/applications/audio/abcde/install.patch b/pkgs/applications/audio/abcde/install.patch
deleted file mode 100644
index f5ab75f4bb96..000000000000
--- a/pkgs/applications/audio/abcde/install.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- abcde-2.3.3/Makefile~	2005-08-26 00:43:27.000000000 +0200
-+++ abcde-2.3.3/Makefile	2008-05-26 22:20:17.000000000 +0200
-@@ -14,13 +14,13 @@ clean:
- 
- install:
- 	$(INSTALL) -d -m 755 $(bindir)
--	$(INSTALL) -m 755 -o 0 abcde $(bindir)
--	$(INSTALL) -m 755 -o 0 cddb-tool $(bindir)
-+	$(INSTALL) -m 755 abcde $(bindir)
-+	$(INSTALL) -m 755 cddb-tool $(bindir)
- 	$(INSTALL) -d -m 755 $(mandir)
--	$(INSTALL) -m 644 -o 0 abcde.1 $(mandir)
--	$(INSTALL) -m 644 -o 0 cddb-tool.1 $(mandir)
-+	$(INSTALL) -m 644 abcde.1 $(mandir)
-+	$(INSTALL) -m 644 cddb-tool.1 $(mandir)
- 	$(INSTALL) -d -m 755 $(etcdir)
--	$(INSTALL) -m 644 -o 0 abcde.conf $(etcdir)
-+	$(INSTALL) -m 644 abcde.conf $(etcdir)
- 
- tarball:
- 	@cd .. && tar czvf abcde_$(VERSION).orig.tar.gz \
diff --git a/pkgs/applications/audio/abcde/which.patch b/pkgs/applications/audio/abcde/which.patch
deleted file mode 100644
index 70474000ddd4..000000000000
--- a/pkgs/applications/audio/abcde/which.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Add an alias for `which'.
-
---- abcde-2.3.99.6/abcde	2006-08-05 21:14:00.000000000 +0200
-+++ abcde-2.3.99.6/abcde	2008-10-29 22:49:16.000000000 +0100
-@@ -15,6 +15,11 @@
- 
- VERSION='2.3.99-$Revision: 222M $'
- 
-+which ()
-+{
-+  type -P $1
-+}
-+
- usage ()
- {
- echo "This is abcde v$VERSION."
diff --git a/pkgs/applications/audio/calf/default.nix b/pkgs/applications/audio/calf/default.nix
index 4b1f6dcd2687..bc7b3c57e60b 100644
--- a/pkgs/applications/audio/calf/default.nix
+++ b/pkgs/applications/audio/calf/default.nix
@@ -1,22 +1,25 @@
-{ stdenv, fetchurl, cairo, expat, glib, gtk, jackaudio, ladspaH
-, libglade, lv2, pkgconfig }:
+{ stdenv, fetchurl, cairo, expat, fftwSinglePrec, fluidsynth, glib
+, gtk, jackaudio, ladspaH , libglade, lv2, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "calf-${version}";
-  version = "0.0.18.6";
+  version = "0.0.19-rc7";
 
   src = fetchurl {
     url = "mirror://sourceforge/calf/${name}.tar.gz";
-    sha256 = "03w6jjkrr6w8da6qzd0x4dlkg295c6jxby500x4cj07wpbpk6irh";
+    sha256 = "0515pzc7ishrq0j5hza83s0yp3x34r977h776lpky389whcyf45j";
   };
 
-  buildInputs =
-    [ cairo jackaudio gtk glib expat libglade ladspaH lv2 pkgconfig ];
+  buildInputs = [ 
+    cairo expat fftwSinglePrec fluidsynth glib gtk jackaudio ladspaH
+    libglade lv2 pkgconfig
+  ];
 
   meta = with stdenv.lib; {
     homepage = http://calf.sourceforge.net;
     description = "A set of high quality open source audio plugins for musicians";
     license = licenses.lgpl2;
     maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix
new file mode 100644
index 000000000000..9e4ee01810cd
--- /dev/null
+++ b/pkgs/applications/audio/csound/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, cmake, libsndfile, flex, bison
+, alsaLib ? null
+, pulseaudio ? null
+, tcltk ? null
+
+# maybe csound can be compiled with support for those, see configure output
+# , ladspa ? null
+# , fluidsynth ? null
+# , jack ? null
+# , gmm ? null
+# , wiiuse ? null
+}:
+
+stdenv.mkDerivation {
+  name = "csound5.18.02";
+
+  enableParallelBuilding = true;
+
+  src = fetchurl {
+    url = http://netcologne.dl.sourceforge.net/project/csound/csound5/csound5.18/Csound5.18.02.tar.gz;
+    sha256 = "4c461cf3bf60b83671224949dd33805379b7121bf2c0ad6af5e191e7f6f8adc8";
+  };
+
+  buildInputs = [ cmake libsndfile flex bison alsaLib pulseaudio tcltk ];
+
+  meta = {
+    description = "sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms";
+    homepage = http://www.csounds.com/;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [stdenv.lib.maintainers.marcweber];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
+
diff --git a/pkgs/applications/audio/distrho/default.nix b/pkgs/applications/audio/distrho/default.nix
new file mode 100644
index 000000000000..7a1d24844b6a
--- /dev/null
+++ b/pkgs/applications/audio/distrho/default.nix
@@ -0,0 +1,67 @@
+{ stdenv, fetchgit, alsaLib, fftwSinglePrec, freetype, jackaudio
+, libxslt, lv2, pkgconfig, premake, xlibs }:
+
+let
+  rev = "7815b3545978e";
+in
+stdenv.mkDerivation rec {
+  name = "distrho-${rev}";
+
+  src = fetchgit {
+    url = "git://distrho.git.sf.net/gitroot/distrho/distrho";
+    inherit rev;
+    sha256 = "2e260f16ee67b1166c39e2d55c8dd5593902c8b3d8d86485545ef83139e1e844";
+  };
+
+  patchPhase = ''
+    sed -e "s#xsltproc#${libxslt}/bin/xsltproc#" -i Makefile
+    sed -e "s#PREFIX = /usr/local#PREFIX = $out#" -i Makefile
+    sed -e "s#/etc/HybridReverb2#$out/etc/Hybridreverb2#" \
+      -i ports/hybridreverb2/source/SystemConfig.cpp
+    sed -e "s#/usr#$out#" -i ports/hybridreverb2/data/HybridReverb2.conf
+  '';
+
+  buildInputs = [
+    alsaLib fftwSinglePrec freetype jackaudio pkgconfig premake
+    xlibs.libX11 xlibs.libXcomposite xlibs.libXcursor xlibs.libXext
+    xlibs.libXinerama xlibs.libXrender
+  ];
+
+  buildPhase = ''
+    sh ./scripts/premake-update.sh linux
+    make standalone
+    make lv2
+
+    # generate lv2 ttl
+    sh scripts/generate-ttl.sh
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bin/standalone/* $out/bin/
+    mkdir -p $out/lib/lv2
+    cp -a bin/lv2/* $out/lib/lv2/
+
+    # HybridReverb2 data
+    mkdir -p $out/etc/HybridReverb2
+    cp ports/hybridreverb2/data/HybridReverb2.conf $out/etc/HybridReverb2/
+    mkdir -p $out/share
+    cp -a ports/hybridreverb2/data/HybridReverb2 $out/share/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://distrho.sourceforge.net;
+    description = "A collection of cross-platform audio effects and plugins";
+    longDescription = ''
+      Includes:
+      3BandEQ bitmangler drowaudio-distortion drowaudio-flanger
+      drowaudio-tremolo eqinox HybridReverb2 juce_pitcher sDelay
+      TAL-Filter TAL-NoiseMaker TAL-Reverb-2 TAL-Vocoder-2 ThePilgrim
+      Wolpertinger argotlunar capsaicin drowaudio-distortionshaper
+      drowaudio-reverb drumsynth highlife JuceDemoPlugin PingPongPan
+      TAL-Dub-3 TAL-Filter-2 TAL-Reverb TAL-Reverb-3 TheFunction vex
+    '';
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix
index 3af9bc7690ff..a7fca8cabf1b 100644
--- a/pkgs/applications/audio/ncmpcpp/default.nix
+++ b/pkgs/applications/audio/ncmpcpp/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, ncurses, curl, taglib, fftw, mpd_clientlib, pkgconfig}:
 
 stdenv.mkDerivation rec {
-  version = "0.5.8";
+  version = "0.5.10";
   name = "ncmpcpp-${version}";
 
   src = fetchurl {
     url = "http://ncmpcpp.rybczak.net/stable/ncmpcpp-${version}.tar.bz2";
-    sha256 = "1kbkngs4fhf9z53awskqiwdl94i5slvxmjiajkrayi99373fallx";
+    sha256 = "ff6d5376a2d9caba6f5bb78e68af77cefbdb2f04cd256f738e39f8ac9a79a4a8";
   };
 
   buildInputs = [ ncurses curl taglib fftw mpd_clientlib pkgconfig ];
diff --git a/pkgs/applications/audio/opus-tools/default.nix b/pkgs/applications/audio/opus-tools/default.nix
new file mode 100644
index 000000000000..6b7e1e2aeff6
--- /dev/null
+++ b/pkgs/applications/audio/opus-tools/default.nix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl, libogg, libao, pkgconfig, libopus}:
+
+stdenv.mkDerivation rec {
+  name = "opus-tools-0.1.5";
+  src = fetchurl {
+    url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz";
+    sha256 = "0184zfamg3qcjknk4liz4smws3mbv77gjhq2pn9xgcx9nw78srvn";
+  };
+
+  buildInputs = [ libogg libao pkgconfig libopus ];
+
+  meta = {
+    description = "Tools to work with opus encoded audio streams";
+    homepage = http://www.opus-codec.org/;
+    license = "BSD";
+  };
+}
diff --git a/pkgs/applications/audio/swh-lv2/default.nix b/pkgs/applications/audio/swh-lv2/default.nix
new file mode 100644
index 000000000000..9b18ab31abf4
--- /dev/null
+++ b/pkgs/applications/audio/swh-lv2/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchgit, fftwSinglePrec, libxslt, lv2, pkgconfig }:
+
+let
+  rev = "ec6b85e19e24ed";
+in
+stdenv.mkDerivation rec {
+  name = "swh-lv2-${rev}";
+
+  src = fetchgit {
+    url = "git://github.com/swh/lv2.git";
+    inherit rev;
+    sha256 = "d0d918ee642cd9649215737fcc008ce2bf55f4ea893a1897138b33775ea60d17";
+  };
+
+  patchPhase = ''
+    sed -e "s#xsltproc#${libxslt}/bin/xsltproc#" -i Makefile
+    sed -e "s#PREFIX = /usr/local#PREFIX = $out#" -i Makefile
+  '';
+
+  buildInputs = [ fftwSinglePrec lv2 pkgconfig ];
+
+  installPhase = "make install-system";
+
+  meta = with stdenv.lib; {
+    homepage = http://plugin.org.uk;
+    description = "LV2 version of Steve Harris' SWH plugins";
+    longDescription = ''
+      SWH plugins include:
+      amp, fast overdrive, overdrive (with colourisation), comb
+      filter, waveshaper, ringmod, divider, diode, decliper, pitch
+      scaler, 16 band equaliser, sinus wavewrapper, hermes filter,
+      chorus, flanger, decimater, oscillator, gverb, phasers, harmonic
+      generators, surround encoders and more.
+    '';
+    license = licenses.gpl3;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/editors/aewan/default.nix b/pkgs/applications/editors/aewan/default.nix
new file mode 100644
index 000000000000..3e11f78e4028
--- /dev/null
+++ b/pkgs/applications/editors/aewan/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, zlib, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "aewan-${version}";
+  version = "1.0.01";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/aewan/${name}.tar.gz";
+    sha256 = "5266dec5e185e530b792522821c97dfa5f9e3892d0dca5e881d0c30ceac21817";
+  };
+
+  buildInputs = [ zlib ncurses ];
+
+  meta = {
+    description = "Ascii-art Editor Without A Name";
+    homepage = "http://aewan.sourceforge.net/";
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index af71e89a4166..a9ee85d905e0 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -49,6 +49,8 @@ let
         # Create desktop item.
         mkdir -p $out/share/applications
         cp ${desktopItem}/share/applications/* $out/share/applications
+        mkdir -p $out/share/pixmaps
+        ln -s $out/eclipse/icon.xpm $out/share/pixmaps/eclipse.xpm
       ''; # */
 
       meta = {
@@ -164,14 +166,13 @@ in {
     src =
       if stdenv.system == "x86_64-linux" then
         fetchurl {
-          url = http://eclipse.ialto.com/eclipse/downloads/drops4/R-4.2-201206081400/eclipse-SDK-4.2-linux-gtk-x86_64.tar.gz;
-          sha256 = "1vcr49qm6rsbgzi9d43ggmby68pdigqcy55l5vy1gmixqks3g6s0";
+          url = http://eclipse.ialto.com/eclipse/downloads/drops4/R-4.2.1-201209141800/eclipse-SDK-4.2.1-linux-gtk-x86_64.tar.gz;
+          sha256 = "1mlyy90lk08lb2971ynglgi3nqvqfq1k70md2kb39jk160wd1xrk";
         }
       else
         fetchurl {
-          url = http://eclipse.ialto.com/eclipse/downloads/drops4/R-4.2-201206081400/eclipse-SDK-4.2-linux-gtk.tar.gz;
-          sha256 = "1zlv80idkkdda05ks4biknbkczp24b2xki81ik5nygrjg29jqgnz";
+          url = http://eclipse.ialto.com/eclipse/downloads/drops4/R-4.2.1-201209141800/eclipse-SDK-4.2.1-linux-gtk.tar.gz;
+          sha256 = "1av6qm9wkbyk123qqf38f0jq4jv2bj9wp6fmpnl55zg6qr463c1w";
         };
     };
 }
-
diff --git a/pkgs/applications/editors/emacs-modes/graphviz-dot/default.nix b/pkgs/applications/editors/emacs-modes/graphviz-dot/default.nix
new file mode 100644
index 000000000000..c1291126a1e9
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/graphviz-dot/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, emacs }:
+
+stdenv.mkDerivation rec {
+  name = "graphviz-dot-mode-0.3.3";
+
+  src = fetchurl {
+    url = "http://www.graphviz.org/Misc/graphviz-dot-mode.el";
+    sha256 = "6465c18cfaa519a063cf664207613f70b0a17ac5eabcfaa949b3c4c289842953";
+  };
+
+  buildInputs = [ emacs ];
+
+  unpackPhase = ":";
+
+  installPhase = ''
+    mkdir -p "$out/share/emacs/site-lisp"
+    cp -v ${src} "$out/share/emacs/site-lisp/graphviz-dot-mode.el"
+    emacs -batch --eval '(setq load-path (cons "." load-path))' -f batch-byte-compile "$out/share/emacs/site-lisp/graphviz-dot-mode.el"
+  '';
+
+  meta = {
+    homepage = "http://www.graphviz.org/";
+    description = "An emacs mode for the DOT Language, used by graphviz";
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/magit/default.nix b/pkgs/applications/editors/emacs-modes/magit/default.nix
index f096d3b0057d..580b2761fa97 100644
--- a/pkgs/applications/editors/emacs-modes/magit/default.nix
+++ b/pkgs/applications/editors/emacs-modes/magit/default.nix
@@ -1,22 +1,32 @@
-{ stdenv, fetchurl, emacs, texinfo }:
+{ stdenv, fetchurl, emacs, texinfo, unzip }:
 
 let
-  version = "1.1.1";
+  version = "1.2.0";
 in
 stdenv.mkDerivation {
   name = "magit-${version}";
 
   src = fetchurl {
-    url = "http://github.com/downloads/magit/magit/magit-${version}.tar.gz";
-    sha256 = "0zp5qxippmalin2fr73w2alf2w7ilcahmybzdvgn4ch2s3dgvzcz";
+    url = "https://github.com/magit/magit/zipball/${version}";
+    sha256 = "1877s8ikvcb457mmljmw366h6pgg4zzx98qfazhqj8snl4yqsj4i";
+    name = "magit-${version}.zip";
   };
 
-  buildInputs = [emacs texinfo];
+  buildInputs = [ emacs texinfo unzip ];
 
   configurePhase = "makeFlagsArray=( PREFIX=$out SYSCONFDIR=$out/etc )";
 
+  # Add (require 'magit-site-init) to your ~/.emacs file to set-up magit mode.
+  postInstall = ''
+    mv $out/etc/emacs/site-start.d/50magit.el $out/share/emacs/site-lisp/magit-site-init.el
+    sed -i -e 's|50magit|magit-site-init|' $out/share/emacs/site-lisp/magit-site-init.el
+    rmdir $out/etc/emacs/site-start.d $out/etc/emacs $out/etc
+  '';
+
   meta = {
+    homepage = "https://github.com/magit/magit";
     description = "Magit, an Emacs interface to Git";
+    license = "GPLv3+";
 
     longDescription = ''
       With Magit, you can inspect and modify your Git repositories with
@@ -30,8 +40,6 @@ stdenv.mkDerivation {
       save you from learning Git itself.
     '';
 
-    license = "GPLv3+";
-    homepage = "https://github.com/magit/magit";
     platforms = stdenv.lib.platforms.all;
     maintainers = with stdenv.lib.maintainers; [ simons ludo ];
   };
diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix
new file mode 100644
index 000000000000..1c08dc6db8d7
--- /dev/null
+++ b/pkgs/applications/editors/geany/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, gtk2, which, pkgconfig, intltool }:
+
+let
+  version = "1.22";
+in
+
+stdenv.mkDerivation rec {
+  name = "geany-${version}";
+
+  src = fetchurl {
+    url = "http://download.geany.org/${name}.tar.gz";
+    md5 = "1cb7f6cea8e301c416211786cec474fa";
+  };
+
+  buildInputs = [ gtk2 which pkgconfig intltool ];
+
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A GTK2 small and ligthweight IDE.";
+    longDescription = ''
+      Geany is a small and lightweight Integrated Development Environment.
+      It was developed to provide a small and fast IDE, which has only a few dependencies from other packages.
+      Another goal was to be as independent as possible from a special Desktop Environment like KDE or GNOME.
+      Geany only requires the GTK2 runtime libraries.
+      Some basic features of Geany:
+      - Syntax highlighting
+      - Code folding
+      - Symbol name auto-completion
+      - Construct completion/snippets
+      - Auto-closing of XML and HTML tags
+      - Call tips
+      - Many supported filetypes including C, Java, PHP, HTML, Python, Perl, Pascal (full list)
+      - Symbol lists
+      - Code navigation
+      - Build system to compile and execute your code
+      - Simple project management
+      - Plugin interface
+    '';
+    homepage = "http://www.geany.org/";
+    license = "GPL";
+    maintainers = [ stdenv.lib.maintainers.bbenoist ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/gobby/default.nix b/pkgs/applications/editors/gobby/default.nix
index badd18b8915b..4d48ba69086e 100644
--- a/pkgs/applications/editors/gobby/default.nix
+++ b/pkgs/applications/editors/gobby/default.nix
@@ -9,10 +9,10 @@ let
   
 in stdenv.mkDerivation rec {
 
-  name = "gobby-0.4.93";
+  name = "gobby-0.4.94";
   src = fetchurl {
     url = "http://releases.0x539.de/gobby/${name}.tar.gz";
-    sha256 = "1zk6p0kdp9vcvrr3kx0kw106ln309hd7bbsq8li1g0pcnkgrf4q4";
+    sha256 = "b9798808447cd94178430f0fb273d0e45d0ca30ab04560e3790bac469e03bb00";
   };
 
   buildInputs = [ pkgconfig gtkmm gsasl gtksourceview libxmlxx libinf intltool ]
diff --git a/pkgs/applications/editors/hexedit/default.nix b/pkgs/applications/editors/hexedit/default.nix
new file mode 100644
index 000000000000..07985dc214ae
--- /dev/null
+++ b/pkgs/applications/editors/hexedit/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "hexedit-${version}";
+  version = "1.2.12";
+
+  src = fetchurl {
+    url = "http://rigaux.org/${name}.src.tgz";
+    sha256 = "bcffbf3d128516cc4e1da64485866fbb5f62754f2af8327e7a527855186ba10f";
+  };
+
+  buildInputs = [ ncurses ];
+
+  meta = {
+    description = "View and edit files in hexadecimal or in ASCII";
+    homepage = "http://prigaux.chez.com/hexedit.html";
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/applications/editors/monodevelop/default.nix b/pkgs/applications/editors/monodevelop/default.nix
index e4dc00ff0a13..c823ecfdf83e 100644
--- a/pkgs/applications/editors/monodevelop/default.nix
+++ b/pkgs/applications/editors/monodevelop/default.nix
@@ -2,7 +2,7 @@
 , gtkmozembedsharp, monodoc
 , perl, perlXMLParser, pkgconfig
 , glib, gtk, GConf, gnome_vfs, libbonobo, libglade, libgnome
-, mozilla
+, mozilla, makeWrapper
 }:
 
 stdenv.mkDerivation {
@@ -14,8 +14,6 @@ stdenv.mkDerivation {
     md5 = "8c33df5629b0676b7ab552854c1de6fd";
   };
 
-  makeWrapper = ../../../build-support/make-wrapper/make-wrapper.sh;
-  
   patches = [./prefix.patch];
   
   buildInputs = [
@@ -24,5 +22,5 @@ stdenv.mkDerivation {
     gtkmozembedsharp monodoc
   ];
   
-  inherit mozilla monodoc gtksharp gtkmozembedsharp gtksourceviewsharp;
+  inherit mozilla monodoc gtksharp gtkmozembedsharp gtksourceviewsharp makeWrapper;
 }
diff --git a/pkgs/applications/editors/monodoc/default.nix b/pkgs/applications/editors/monodoc/default.nix
index db8b2e478846..8f6b6d6024c5 100644
--- a/pkgs/applications/editors/monodoc/default.nix
+++ b/pkgs/applications/editors/monodoc/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, mono, gtksharp, pkgconfig}:
+{stdenv, fetchurl, mono, gtksharp, pkgconfig, makeWrapper}:
 
 stdenv.mkDerivation {
   name = "monodoc-1.0.6";
@@ -9,9 +9,7 @@ stdenv.mkDerivation {
     md5 = "f2fc27e8e4717d90dc7efa2450625693";
   };
 
-  makeWrapper = ../../../build-support/make-wrapper/make-wrapper.sh;
-
   buildInputs = [mono gtksharp pkgconfig];
 
-  inherit gtksharp;
+  inherit gtksharp makeWrapper;
 }
diff --git a/pkgs/applications/editors/netbeans/default.nix b/pkgs/applications/editors/netbeans/default.nix
new file mode 100644
index 000000000000..f1fd9adbe86a
--- /dev/null
+++ b/pkgs/applications/editors/netbeans/default.nix
@@ -0,0 +1,41 @@
+{stdenv, fetchurl, jdk, unzip, which, makeWrapper, makeDesktopItem}:
+
+let
+  desktopItem = makeDesktopItem {
+    name = "netbeans";
+    exec = "netbeans";
+    comment = "Integrated Development Environment";
+    desktopName = "Netbeans IDE";
+    genericName = "Integrated Development Environment";
+    categories = "Application;Development;";
+  };
+in
+stdenv.mkDerivation {
+  name = "netbeans-7.2";
+  src = fetchurl {
+    url = http://download.netbeans.org/netbeans/7.2/final/zip/netbeans-7.2-201207171143-ml.zip;
+    sha256 = "18ya1w291hdnc35vb12yqnai82wmqm7351wn82fax12kzha5fmci";
+  };
+  buildCommand = ''
+    # Unpack and copy the stuff
+    unzip $src
+    mkdir -p $out
+    cp -a netbeans $out
+    
+    # Create a wrapper capable of starting it
+    mkdir -p $out/bin
+    makeWrapper $out/netbeans/bin/netbeans $out/bin/netbeans \
+      --prefix PATH : ${jdk}/bin:${which}/bin
+      
+    # Create desktop item, so we can pick it from the KDE/GNOME menu
+    mkdir -p $out/share/applications
+    cp ${desktopItem}/share/applications/* $out/share/applications
+  '';
+  
+  buildInputs = [ unzip makeWrapper ];
+  
+  meta = {
+    description = "An integrated development environment for Java, C, C++ and PHP";
+    maintainers = [ stdenv.lib.maintainers.sander ];
+  };
+}
diff --git a/pkgs/applications/editors/sublime/default.nix b/pkgs/applications/editors/sublime/default.nix
new file mode 100644
index 000000000000..22fc42c6c59f
--- /dev/null
+++ b/pkgs/applications/editors/sublime/default.nix
@@ -0,0 +1,39 @@
+{ fetchurl, stdenv, glib, xlibs, cairo, gtk}:
+let
+  libPath = stdenv.lib.makeLibraryPath [glib xlibs.libX11 gtk cairo];
+in
+assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
+
+stdenv.mkDerivation rec {
+  name = "sublimetext-2.0.1";
+  src = 
+    if stdenv.system == "i686-linux" then
+      fetchurl {
+        name = "sublimetext-2.0.1.tar.bz2";
+        url = http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1.tar.bz2;
+        sha256 = "1x6vmlfn5mdbf23nyfr7dhhi6y60lnpcmqj59svl3bzvayijsxaf";
+      }
+    else
+      fetchurl {
+        name = "sublimetext-2.0.1.tar.bz2";
+        url = http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1%20x64.tar.bz2;
+        sha256 = "0174dnp9zika5as25mcls5y0qzhh8mnc5ajxsxz7qjrk4lrzk3c5";
+      };
+  buildCommand = ''
+    tar xvf ${src}
+    mkdir -p $out/bin
+    mv Sublime* $out/sublime
+    ln -s $out/sublime/sublime_text $out/bin/sublime
+
+    echo ${libPath}
+    patchelf \
+      --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --set-rpath ${libPath}:${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \
+      $out/sublime/sublime_text
+  '';
+
+  meta = {
+    description = "Sublime Text is a sophisticated text editor for code, markup and prose.";
+    license = "unfree";
+  };
+}
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index 7e03fd6b7b30..9e6b700f9efa 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -46,14 +46,14 @@ composableDerivation {} {
       ;
 
   cfg = {
-    pythonSupport    = getConfig [ "vim" "python" ] true;
-    darwinSupport    = getConfig [ "vim" "darwin" ] false;
-    nlsSupport       = getConfig [ "vim" "nls" ] false;
-    tclSupport       = getConfig [ "vim" "tcl" ] false;
-    multibyteSupport = getConfig [ "vim" "multibyte" ] false;
-    cscopeSupport    = getConfig [ "vim" "cscope" ] false;
+    pythonSupport    = config.vim.python or true;
+    darwinSupport    = config.vim.darwin or false;
+    nlsSupport       = config.vim.nls or false;
+    tclSupport       = config.vim.tcl or false;
+    multibyteSupport = config.vim.multibyte or false;
+    cscopeSupport    = config.vim.cscope or false;
     # add .nix filetype detection and minimal syntax highlighting support
-    ftNixSupport     = getConfig [ "vim" "ftNix" ] true;
+    ftNixSupport     = config.vim.ftNix or true;
   };
 
   #--enable-gui=OPTS     X11 GUI default=auto OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/photon/carbon
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index 4d3b1a12b62b..15d7042e7dd8 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -3,17 +3,17 @@
 , libgnome_keyring, gphoto2, gtk, ilmbase, intltool, lcms, lcms2
 , lensfun, libXau, libXdmcp, libexif, libglade, libgphoto2, libjpeg
 , libpng, libpthreadstubs, libraw1394, librsvg, libtiff, libxcb
-, openexr, pixman, pkgconfig, sqlite }:
+, openexr, pixman, pkgconfig, sqlite, bash }:
 
 assert stdenv ? glibc;
 
 stdenv.mkDerivation rec {
-  version = "1.0";
+  version = "1.0.5";
   name = "darktable-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/darktable/darktable-${version}.tar.gz";
-    sha256 = "0wjv2x62kf25db61ivbn8y8xr9hr8hdlcjq6l1qxfqn2bn8a3qkm";
+    sha256 = "0c18530446d2f2459fe533a1ef6fc2711300efe7466f36c23168ec2230fb5fbd";
   };
 
   buildInputs =
@@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${atk}/include/atk-1.0"
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${ilmbase}/include/OpenEXR"
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${openexr}/include/OpenEXR"
+
+    substituteInPlace tools/create_preferences.sh.in --replace '#!/usr/bin/env bash' '#!${bash}/bin/bash'
   '';
 
   cmakeFlags = [
diff --git a/pkgs/applications/graphics/dia/default.nix b/pkgs/applications/graphics/dia/default.nix
index f0c666b14ea0..7662d64e9de7 100644
--- a/pkgs/applications/graphics/dia/default.nix
+++ b/pkgs/applications/graphics/dia/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = stdenv.lib.optionalString withGNOME "--enable-gnome";
 
+  patches = [ ./glib-top-level-header.patch ];
+
   meta = {
     description = "Gnome Diagram drawing software";
     homepage = http://live.gnome.org/Dia;
diff --git a/pkgs/applications/graphics/dia/glib-top-level-header.patch b/pkgs/applications/graphics/dia/glib-top-level-header.patch
new file mode 100644
index 000000000000..80460ae9d722
--- /dev/null
+++ b/pkgs/applications/graphics/dia/glib-top-level-header.patch
@@ -0,0 +1,471 @@
+diff -Naur dia-0.97.2-orig/app/app_procs.c dia-0.97.2/app/app_procs.c
+--- dia-0.97.2-orig/app/app_procs.c	2011-03-20 07:18:13.000000000 -0400
++++ dia-0.97.2/app/app_procs.c	2012-07-15 10:49:08.192726306 -0400
+@@ -50,7 +50,7 @@
+ #include <libxml/parser.h>
+ #include <libxml/xmlerror.h>
+ 
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include "intl.h"
+ #include "app_procs.h"
+diff -Naur dia-0.97.2-orig/app/dia-win-remote.c dia-0.97.2/app/dia-win-remote.c
+--- dia-0.97.2-orig/app/dia-win-remote.c	2010-08-03 11:35:35.000000000 -0400
++++ dia-0.97.2/app/dia-win-remote.c	2012-07-15 10:49:08.159726316 -0400
+@@ -35,7 +35,7 @@
+ #include <shellapi.h>
+ #include <Shlwapi.h>
+ #include <glib.h>
+-#include <glib/gprintf.h>
++#include <glib.h>
+ 
+ /**
+  * PROTOTYPES:
+diff -Naur dia-0.97.2-orig/app/filedlg.c dia-0.97.2/app/filedlg.c
+--- dia-0.97.2-orig/app/filedlg.c	2009-11-07 12:13:53.000000000 -0500
++++ dia-0.97.2/app/filedlg.c	2012-07-15 10:49:08.227726294 -0400
+@@ -28,7 +28,7 @@
+ #include <unistd.h>
+ #endif
+ #include <stdio.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #undef GTK_DISABLE_DEPRECATED /* gtk_file_chooser_dialog_new_with_backend */
+ #include <gtk/gtk.h>
+diff -Naur dia-0.97.2-orig/app/load_save.c dia-0.97.2/app/load_save.c
+--- dia-0.97.2-orig/app/load_save.c	2011-09-25 07:55:11.000000000 -0400
++++ dia-0.97.2/app/load_save.c	2012-07-15 10:49:08.203726303 -0400
+@@ -30,7 +30,7 @@
+ #include <string.h>
+ 
+ #include <glib.h>
+-#include <glib/gstdio.h> /* g_access() and friends */
++#include <glib.h> /* g_access() and friends */
+ #include <errno.h>
+ 
+ #ifndef W_OK
+diff -Naur dia-0.97.2-orig/app/sheets_dialog_callbacks.c dia-0.97.2/app/sheets_dialog_callbacks.c
+--- dia-0.97.2-orig/app/sheets_dialog_callbacks.c	2009-11-07 12:13:53.000000000 -0500
++++ dia-0.97.2/app/sheets_dialog_callbacks.c	2012-07-15 10:49:08.201726302 -0400
+@@ -44,7 +44,7 @@
+ #endif
+ #endif
+ 
+-#include <glib/gstdio.h>
++#include <glib.h>
+ #include <gmodule.h>
+ 
+ #undef GTK_DISABLE_DEPRECATED /* GtkOptionMenu */
+diff -Naur dia-0.97.2-orig/ChangeLog.pre-git dia-0.97.2/ChangeLog.pre-git
+--- dia-0.97.2-orig/ChangeLog.pre-git	2009-11-07 09:28:34.000000000 -0500
++++ dia-0.97.2/ChangeLog.pre-git	2012-07-15 10:49:08.384726247 -0400
+@@ -4137,7 +4137,7 @@
+ 	  plug-ins/vdx/vdx-export.c plug-ins/vdx/vdx-import.c 
+ 	  plug-ins/wmf/wmf.cpp plug-ins/wpg/wpg.c 
+ 	  plug-ins/xfig/xfig-export.c plug-ins/xfig/xfig-import.c
+-	  plug-ins/xslt/xslt.c : use <glib/gstdio.h> to match GLib's filename
++	  plug-ins/xslt/xslt.c : use <glib.h> to match GLib's filename
+ 	encoding to the io functions used, that is: g_open, g_fopen, g_stat, 
+ 	g_unlink, g_mkdir, g_rename (, g_access, g_lstat, g_remove, g_freopen, 
+ 	g_chdir, g_rmdir). Also replace gzopen() with gzdopen(g_open(), ...)
+@@ -5995,7 +5995,7 @@
+ 	Also special case strings starting with \tex - i.e. dont escape them -
+ 	to keep the use-case of direct tex input.
+ 	
+-	* lib/debug.c : #include <glib/gprintf.h> not just <gprintf.h>
++	* lib/debug.c : #include <glib.h>
+ 
+ 
+ 2006-01-14  Hans Breuer  <hans@breuer.org>
+@@ -6207,7 +6207,7 @@
+ 	* lib/makefile.msc : build debug.obj
+ 
+ 	* plug-ins/makefile.msc : building pgf in the right alphabetical order
+-	* plug-ins/pgf/render_pgf.c : include <glib/gprintf.h>
++	* plug-ins/pgf/render_pgf.c : include <glib.h>
+ 	
+ 2005-12-08  Lars Clausen  <lars@raeder.dk>
+ 
+diff -Naur dia-0.97.2-orig/lib/debug.c dia-0.97.2/lib/debug.c
+--- dia-0.97.2-orig/lib/debug.c	2009-11-07 09:28:34.000000000 -0500
++++ dia-0.97.2/lib/debug.c	2012-07-15 10:49:06.813726730 -0400
+@@ -21,7 +21,7 @@
+ #include <config.h>
+ 
+ #include <stdio.h>
+-#include <glib/gprintf.h>
++#include <glib.h>
+ #include <stdarg.h>
+ 
+ #include "debug.h"
+diff -Naur dia-0.97.2-orig/lib/dia_dirs.c dia-0.97.2/lib/dia_dirs.c
+--- dia-0.97.2-orig/lib/dia_dirs.c	2009-11-07 12:13:53.000000000 -0500
++++ dia-0.97.2/lib/dia_dirs.c	2012-07-15 10:49:06.740726750 -0400
+@@ -30,7 +30,7 @@
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #endif
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ /** Get the name of a subdirectory of our data directory.
+  *  This function does not create the subdirectory, just make the correct name.
+diff -Naur dia-0.97.2-orig/lib/dia_xml.c dia-0.97.2/lib/dia_xml.c
+--- dia-0.97.2-orig/lib/dia_xml.c	2009-11-07 09:28:34.000000000 -0500
++++ dia-0.97.2/lib/dia_xml.c	2012-07-15 10:49:06.770726743 -0400
+@@ -25,7 +25,7 @@
+ #include <fcntl.h>
+ 
+ #include <glib.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include <libxml/parser.h>
+ #include <libxml/parserInternals.h>
+diff -Naur dia-0.97.2-orig/objects/custom/shape_typeinfo.c dia-0.97.2/objects/custom/shape_typeinfo.c
+--- dia-0.97.2-orig/objects/custom/shape_typeinfo.c	2009-11-07 09:28:34.000000000 -0500
++++ dia-0.97.2/objects/custom/shape_typeinfo.c	2012-07-15 10:49:06.639726783 -0400
+@@ -27,8 +27,8 @@
+ #include "custom_util.h"
+ #include <string.h>
+ #include <stdarg.h>
+-#include <glib/gstrfuncs.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
++#include <glib.h>
+ #include <libxml/parser.h>
+ 
+ /*
+diff -Naur dia-0.97.2-orig/objects/SISSI/sissi.c dia-0.97.2/objects/SISSI/sissi.c
+--- dia-0.97.2-orig/objects/SISSI/sissi.c	2009-11-07 09:28:34.000000000 -0500
++++ dia-0.97.2/objects/SISSI/sissi.c	2012-07-15 10:49:06.570726804 -0400
+@@ -42,7 +42,7 @@
+ #include "dia_xml_libxml.h"
+ 
+ #include <string.h>
+-#include <glib/gprintf.h>
++#include <glib.h>
+ 
+ #define DEFAULT_WIDTH  1.0
+ #define DEFAULT_HEIGHT 1.0
+diff -Naur dia-0.97.2-orig/objects/standard/image.c dia-0.97.2/objects/standard/image.c
+--- dia-0.97.2-orig/objects/standard/image.c	2009-11-07 12:13:53.000000000 -0500
++++ dia-0.97.2/objects/standard/image.c	2012-07-15 10:49:06.683726770 -0400
+@@ -25,7 +25,7 @@
+ #ifdef HAVE_UNIST_H
+ #include <unistd.h>
+ #endif
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include "intl.h"
+ #include "message.h"
+diff -Naur dia-0.97.2-orig/plug-ins/cairo/diacairo.c dia-0.97.2/plug-ins/cairo/diacairo.c
+--- dia-0.97.2-orig/plug-ins/cairo/diacairo.c	2009-11-07 12:13:53.000000000 -0500
++++ dia-0.97.2/plug-ins/cairo/diacairo.c	2012-07-15 10:49:06.433726846 -0400
+@@ -28,7 +28,7 @@
+ #include <errno.h>
+ #define G_LOG_DOMAIN "DiaCairo"
+ #include <glib.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ /*
+  * To me the following looks rather suspicious. Why do we need to compile
+diff -Naur dia-0.97.2-orig/plug-ins/cairo/diacairo-renderer.c dia-0.97.2/plug-ins/cairo/diacairo-renderer.c
+--- dia-0.97.2-orig/plug-ins/cairo/diacairo-renderer.c	2011-01-07 06:54:21.000000000 -0500
++++ dia-0.97.2/plug-ins/cairo/diacairo-renderer.c	2012-07-15 10:49:06.435726846 -0400
+@@ -28,7 +28,7 @@
+ #include <errno.h>
+ #define G_LOG_DOMAIN "DiaCairo"
+ #include <glib.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #ifdef HAVE_PANGOCAIRO_H
+ #include <pango/pangocairo.h>
+diff -Naur dia-0.97.2-orig/plug-ins/cgm/cgm.c dia-0.97.2/plug-ins/cgm/cgm.c
+--- dia-0.97.2-orig/plug-ins/cgm/cgm.c	2009-12-27 11:22:38.000000000 -0500
++++ dia-0.97.2/plug-ins/cgm/cgm.c	2012-07-15 10:49:06.425726846 -0400
+@@ -31,7 +31,7 @@
+ #include <glib.h>
+ #include <errno.h>
+ 
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include "intl.h"
+ #include "message.h"
+diff -Naur dia-0.97.2-orig/plug-ins/drs/dia-render-script.c dia-0.97.2/plug-ins/drs/dia-render-script.c
+--- dia-0.97.2-orig/plug-ins/drs/dia-render-script.c	2009-11-07 12:13:53.000000000 -0500
++++ dia-0.97.2/plug-ins/drs/dia-render-script.c	2012-07-15 10:49:06.427726848 -0400
+@@ -54,7 +54,7 @@
+ 
+ #define G_LOG_DOMAIN "DiaRenderScript"
+ #include <glib.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include "intl.h"
+ #include "filter.h"
+diff -Naur dia-0.97.2-orig/plug-ins/dxf/dxf-export.c dia-0.97.2/plug-ins/dxf/dxf-export.c
+--- dia-0.97.2-orig/plug-ins/dxf/dxf-export.c	2009-11-07 09:28:34.000000000 -0500
++++ dia-0.97.2/plug-ins/dxf/dxf-export.c	2012-07-15 10:49:06.421726850 -0400
+@@ -29,7 +29,7 @@
+ #include <math.h>
+ #include <glib.h>
+ #include <errno.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include "autocad_pal.h"
+ 
+diff -Naur dia-0.97.2-orig/plug-ins/dxf/dxf-import.c dia-0.97.2/plug-ins/dxf/dxf-import.c
+--- dia-0.97.2-orig/plug-ins/dxf/dxf-import.c	2009-11-07 09:28:34.000000000 -0500
++++ dia-0.97.2/plug-ins/dxf/dxf-import.c	2012-07-15 10:49:06.419726851 -0400
+@@ -30,7 +30,7 @@
+ #include <string.h>
+ #include <math.h>
+ #include <glib.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include "intl.h"
+ #include "message.h"
+diff -Naur dia-0.97.2-orig/plug-ins/hpgl/hpgl.c dia-0.97.2/plug-ins/hpgl/hpgl.c
+--- dia-0.97.2-orig/plug-ins/hpgl/hpgl.c	2009-11-07 09:28:34.000000000 -0500
++++ dia-0.97.2/plug-ins/hpgl/hpgl.c	2012-07-15 10:49:06.487726830 -0400
+@@ -37,7 +37,7 @@
+ #include <errno.h>
+ 
+ #include <glib.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include "intl.h"
+ #include "message.h"
+diff -Naur dia-0.97.2-orig/plug-ins/libart/export_png.c dia-0.97.2/plug-ins/libart/export_png.c
+--- dia-0.97.2-orig/plug-ins/libart/export_png.c	2011-07-03 06:56:08.000000000 -0400
++++ dia-0.97.2/plug-ins/libart/export_png.c	2012-07-15 10:49:06.415726849 -0400
+@@ -29,7 +29,7 @@
+ #include <errno.h>
+ #include <stdlib.h>
+ 
+-#include <glib/gstdio.h>
++#include <glib.h>
+ #include <gtk/gtk.h>
+ 
+ #include "intl.h"
+diff -Naur dia-0.97.2-orig/plug-ins/metapost/render_metapost.c dia-0.97.2/plug-ins/metapost/render_metapost.c
+--- dia-0.97.2-orig/plug-ins/metapost/render_metapost.c	2009-11-07 09:28:34.000000000 -0500
++++ dia-0.97.2/plug-ins/metapost/render_metapost.c	2012-07-15 10:49:06.396726857 -0400
+@@ -43,7 +43,7 @@
+ #endif
+ #include <errno.h>
+ 
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include "intl.h"
+ #include "render_metapost.h"
+diff -Naur dia-0.97.2-orig/plug-ins/pgf/render_pgf.c dia-0.97.2/plug-ins/pgf/render_pgf.c
+--- dia-0.97.2-orig/plug-ins/pgf/render_pgf.c	2011-01-07 07:11:34.000000000 -0500
++++ dia-0.97.2/plug-ins/pgf/render_pgf.c	2012-07-15 10:49:06.445726842 -0400
+@@ -61,8 +61,8 @@
+ #endif
+ #include <errno.h>
+ 
+-#include <glib/gprintf.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
++#include <glib.h>
+ 
+ #include "intl.h"
+ #include "render_pgf.h"
+diff -Naur dia-0.97.2-orig/plug-ins/postscript/paginate_psprint.c dia-0.97.2/plug-ins/postscript/paginate_psprint.c
+--- dia-0.97.2-orig/plug-ins/postscript/paginate_psprint.c	2009-11-07 09:28:34.000000000 -0500
++++ dia-0.97.2/plug-ins/postscript/paginate_psprint.c	2012-07-15 10:49:06.451726838 -0400
+@@ -31,7 +31,7 @@
+ #include <errno.h>
+ #include <sys/stat.h>
+ 
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include "intl.h"
+ #include "message.h"
+diff -Naur dia-0.97.2-orig/plug-ins/postscript/render_eps.c dia-0.97.2/plug-ins/postscript/render_eps.c
+--- dia-0.97.2-orig/plug-ins/postscript/render_eps.c	2009-11-07 09:28:34.000000000 -0500
++++ dia-0.97.2/plug-ins/postscript/render_eps.c	2012-07-15 10:49:06.451726838 -0400
+@@ -55,7 +55,7 @@
+ #include <locale.h>
+ #include <errno.h>
+ 
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include "intl.h"
+ #include "render_eps.h"
+diff -Naur dia-0.97.2-orig/plug-ins/pstricks/render_pstricks.c dia-0.97.2/plug-ins/pstricks/render_pstricks.c
+--- dia-0.97.2-orig/plug-ins/pstricks/render_pstricks.c	2011-01-07 07:11:34.000000000 -0500
++++ dia-0.97.2/plug-ins/pstricks/render_pstricks.c	2012-07-15 10:49:06.410726853 -0400
+@@ -50,7 +50,7 @@
+ #endif
+ #include <errno.h>
+ 
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include "intl.h"
+ #include "render_pstricks.h"
+diff -Naur dia-0.97.2-orig/plug-ins/python/pydia-render.c dia-0.97.2/plug-ins/python/pydia-render.c
+--- dia-0.97.2-orig/plug-ins/python/pydia-render.c	2009-11-07 09:28:34.000000000 -0500
++++ dia-0.97.2/plug-ins/python/pydia-render.c	2012-07-15 10:49:06.503726822 -0400
+@@ -21,7 +21,7 @@
+ 
+ #include <Python.h>
+ #include <glib.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include <locale.h>
+ 
+diff -Naur dia-0.97.2-orig/plug-ins/shape/shape-export.c dia-0.97.2/plug-ins/shape/shape-export.c
+--- dia-0.97.2-orig/plug-ins/shape/shape-export.c	2009-11-08 06:14:56.000000000 -0500
++++ dia-0.97.2/plug-ins/shape/shape-export.c	2012-07-15 10:49:06.489726827 -0400
+@@ -40,7 +40,7 @@
+ #include <unistd.h>
+ #endif
+ 
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ /* the dots per centimetre to render this diagram at */
+ /* this matches the setting `100%' setting in dia. */
+diff -Naur dia-0.97.2-orig/plug-ins/svg/render_svg.c dia-0.97.2/plug-ins/svg/render_svg.c
+--- dia-0.97.2-orig/plug-ins/svg/render_svg.c	2011-12-17 11:30:38.000000000 -0500
++++ dia-0.97.2/plug-ins/svg/render_svg.c	2012-07-15 10:49:06.392726859 -0400
+@@ -30,7 +30,7 @@
+ #endif
+ 
+ #include <glib.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include <libxml/entities.h>
+ #include <libxml/tree.h>
+diff -Naur dia-0.97.2-orig/plug-ins/vdx/vdx-export.c dia-0.97.2/plug-ins/vdx/vdx-export.c
+--- dia-0.97.2-orig/plug-ins/vdx/vdx-export.c	2009-12-27 11:22:38.000000000 -0500
++++ dia-0.97.2/plug-ins/vdx/vdx-export.c	2012-07-15 10:55:17.066579728 -0400
+@@ -32,11 +32,12 @@
+ 
+ #include <string.h>
+ #include <math.h>
++#include <sys/stat.h>
+ #include <glib.h>
+ #include <stdlib.h>
+ #include <errno.h>
+ #include <locale.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include "intl.h"
+ #include "message.h"
+diff -Naur dia-0.97.2-orig/plug-ins/vdx/vdx-import.c dia-0.97.2/plug-ins/vdx/vdx-import.c
+--- dia-0.97.2-orig/plug-ins/vdx/vdx-import.c	2009-12-27 11:22:38.000000000 -0500
++++ dia-0.97.2/plug-ins/vdx/vdx-import.c	2012-07-15 10:49:06.466726836 -0400
+@@ -28,7 +28,7 @@
+ #include <string.h>
+ #include <math.h>
+ #include <glib.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
+ #include <stdlib.h>
+ #include <ctype.h>
+ #include <libxml/tree.h>
+diff -Naur dia-0.97.2-orig/plug-ins/wmf/wmf.cpp dia-0.97.2/plug-ins/wmf/wmf.cpp
+--- dia-0.97.2-orig/plug-ins/wmf/wmf.cpp	2011-03-13 09:07:48.000000000 -0400
++++ dia-0.97.2/plug-ins/wmf/wmf.cpp	2012-07-15 10:49:06.482726831 -0400
+@@ -25,7 +25,7 @@
+ #include <string.h>
+ #include <math.h>
+ #include <glib.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include "intl.h"
+ #include "message.h"
+diff -Naur dia-0.97.2-orig/plug-ins/wpg/wpg.c dia-0.97.2/plug-ins/wpg/wpg.c
+--- dia-0.97.2-orig/plug-ins/wpg/wpg.c	2009-11-07 09:28:34.000000000 -0500
++++ dia-0.97.2/plug-ins/wpg/wpg.c	2012-07-15 10:49:06.406726855 -0400
+@@ -40,7 +40,7 @@
+ #include <errno.h>
+ 
+ #include <glib.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include "intl.h"
+ #include "message.h"
+diff -Naur dia-0.97.2-orig/plug-ins/xfig/xfig-export.c dia-0.97.2/plug-ins/xfig/xfig-export.c
+--- dia-0.97.2-orig/plug-ins/xfig/xfig-export.c	2011-12-17 11:30:38.000000000 -0500
++++ dia-0.97.2/plug-ins/xfig/xfig-export.c	2012-07-15 10:49:06.400726856 -0400
+@@ -16,7 +16,7 @@
+ #include <locale.h>
+ 
+ #include <glib.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include "intl.h"
+ #include "message.h"
+diff -Naur dia-0.97.2-orig/plug-ins/xfig/xfig-import.c dia-0.97.2/plug-ins/xfig/xfig-import.c
+--- dia-0.97.2-orig/plug-ins/xfig/xfig-import.c	2009-11-07 12:13:53.000000000 -0500
++++ dia-0.97.2/plug-ins/xfig/xfig-import.c	2012-07-15 10:49:06.402726853 -0400
+@@ -40,7 +40,7 @@
+ #include <locale.h>
+ 
+ #include <glib.h>
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include "intl.h"
+ #include "message.h"
+diff -Naur dia-0.97.2-orig/plug-ins/xslt/xslt.c dia-0.97.2/plug-ins/xslt/xslt.c
+--- dia-0.97.2-orig/plug-ins/xslt/xslt.c	2009-11-07 12:13:53.000000000 -0500
++++ dia-0.97.2/plug-ins/xslt/xslt.c	2012-07-15 10:49:06.440726844 -0400
+@@ -27,7 +27,7 @@
+ #include <string.h>
+ #include <errno.h>
+ 
+-#include <glib/gstdio.h>
++#include <glib.h>
+ 
+ #include "filter.h"
+ #include "intl.h"
+diff -Naur dia-0.97.2-orig/tests/test-boundingbox.c dia-0.97.2/tests/test-boundingbox.c
+--- dia-0.97.2-orig/tests/test-boundingbox.c	2009-11-07 09:28:35.000000000 -0500
++++ dia-0.97.2/tests/test-boundingbox.c	2012-07-15 10:49:06.986726677 -0400
+@@ -29,7 +29,7 @@
+ #include <glib-object.h>
+ 
+ #if GLIB_CHECK_VERSION(2,16,0)
+-#include <glib/gtestutils.h>
++#include <glib.h>
+ #endif
+ #include "dialib.h"
+ 
+diff -Naur dia-0.97.2-orig/tests/test-objects.c dia-0.97.2/tests/test-objects.c
+--- dia-0.97.2-orig/tests/test-objects.c	2009-11-07 09:28:35.000000000 -0500
++++ dia-0.97.2/tests/test-objects.c	2012-07-15 10:49:06.985726677 -0400
+@@ -29,7 +29,7 @@
+ #include <glib-object.h>
+ 
+ #if GLIB_CHECK_VERSION(2,16,0)
+-#include <glib/gtestutils.h>
++#include <glib.h>
+ #endif
+ 
+ #include "object.h"
diff --git a/pkgs/applications/graphics/f-spot/default.nix b/pkgs/applications/graphics/f-spot/default.nix
index 17a3cd22a5fa..856795ea3562 100644
--- a/pkgs/applications/graphics/f-spot/default.nix
+++ b/pkgs/applications/graphics/f-spot/default.nix
@@ -1,14 +1,16 @@
 { stdenv, fetchurl, perl, perlXMLParser, pkgconfig, mono, libexif
 , libgnome, libgnomeui, gtksharp, libjpeg, sqlite, lcms, libgphoto2
 , monoDLLFixer
+, makeWrapper
 }:
 
 stdenv.mkDerivation {
   name = "f-spot-0.0.10";
 
   builder = ./builder.sh;
-  makeWrapper = ../../../build-support/make-wrapper/make-wrapper.sh;
   
+  inherit makeWrapper;
+
   src = fetchurl {
     url = http://nixos.org/tarballs/f-spot-0.0.10.tar.bz2;
     md5 = "19cc6e067ccc261b0502ff6189b79832";
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index a166fc7010e1..2506b26e238a 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -2,11 +2,11 @@
 , intltool, gettext, libchamplain_0_6, fbida }:
 
 stdenv.mkDerivation rec {
-  name = "geeqie-1.0";
+  name = "geeqie-1.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/geeqie/${name}.tar.gz";
-    sha256 = "1p8z47cqdqqkn8b0fr5bqsfinz4dgqk4353s8f8d9ha6cik69bfi";
+    sha256 = "1kzy39z9505xkayyx7rjj2wda76xy3ch1s5z35zn8yli54ffhi2m";
   };
 
   preConfigure =
diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix
index bf29ae13e5e7..44d9330043fb 100644
--- a/pkgs/applications/graphics/gimp/2.8.nix
+++ b/pkgs/applications/graphics/gimp/2.8.nix
@@ -4,11 +4,11 @@
 , python, pygtk, libart_lgpl, libexif, gettext, xlibs }:
 
 stdenv.mkDerivation rec {
-  name = "gimp-2.8.0";
+  name = "gimp-2.8.2";
   
   src = fetchurl {
     url = "ftp://ftp.gimp.org/pub/gimp/v2.8/${name}.tar.bz2";
-    md5 = "28997d14055f15db063eb92e1c8a7ebb";
+    md5 = "b542138820ca3a41cbd63fc331907955";
   };
   
   buildInputs = 
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 9ef5382eaf96..150bb071cb16 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -4,11 +4,11 @@
 , gsl, python, pyxml, lxml, poppler, imagemagick, libwpg }:
 
 stdenv.mkDerivation rec {
-  name = "inkscape-0.48.2";
+  name = "inkscape-0.48.3.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/inkscape/${name}.tar.bz2";
-    sha256 = "10v7ixdz7f8vgk2wv0m81zli9p0f446cm1f4aqlvni1ndsx44fi2";
+    sha256 = "126vfsafkfj6z65i5vp6g5dg9hvp3dd1zppjhms78257ns2zafq7";
   };
 
   patches = [ ./configure-python-libs.patch ./libpng-1.5.patch ];
diff --git a/pkgs/applications/graphics/pqiv/default.nix b/pkgs/applications/graphics/pqiv/default.nix
index e13ea97cab86..3fd9d47374a3 100644
--- a/pkgs/applications/graphics/pqiv/default.nix
+++ b/pkgs/applications/graphics/pqiv/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, getopt, which, pkgconfig, gtk } :
 
 stdenv.mkDerivation (rec {
-  name = "pqiv-0.8";
+  name = "pqiv-0.12";
 
   src = fetchurl {
-    url = "http://www.pberndt.com/raw/Programme/Linux/pqiv/_download/${name}.tbz";
-    sha256 = "365332bab4b13ca56da6935e7155af20658e67d323808942dce23e880466f66d";
+    url = "https://github.com/downloads/phillipberndt/pqiv/${name}.tbz";
+    sha256 = "646c69f2f4e7289913f6b8e8ae984befba9debf0d2b4cc8af9955504a1fccf1e";
   };
 
   buildInputs = [ getopt which pkgconfig gtk ];
diff --git a/pkgs/applications/misc/adobe-reader/builder.sh b/pkgs/applications/misc/adobe-reader/builder.sh
index 174dd70ab04d..6024734dc444 100644
--- a/pkgs/applications/misc/adobe-reader/builder.sh
+++ b/pkgs/applications/misc/adobe-reader/builder.sh
@@ -3,35 +3,40 @@ source $stdenv/setup
 echo "unpacking $src..."
 tar xvfa $src
 
-mkdir -p $out/Adobe/Reader9
-
 echo "unpacking reader..."
-set +e
+p=$out/libexec/adobe-reader
+mkdir -p $out/libexec
 tar xvf AdobeReader/COMMON.TAR -C $out
 tar xvf AdobeReader/ILINXR.TAR -C $out
-set -e
+mv $out/Adobe/Reader9 $p
+rmdir $out/Adobe
 
 # Disable this plugin for now (it needs LDAP, and I'm too lazy to add it).
-rm $out/Adobe/Reader*/Reader/intellinux/plug_ins/PPKLite.api
+rm $p/Reader/intellinux/plug_ins/PPKLite.api
+
+# More pointless files.
+rm $p/bin/UNINSTALL
 
 patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
     --set-rpath $libPath \
-    $out/Adobe/Reader*/Reader/intellinux/bin/acroread
+    $p/Reader/intellinux/bin/acroread
 
 # The "xargs -r" is to shut up a warning when Mozilla can't be found.
-substituteInPlace $out/Adobe/Reader*/bin/acroread \
+substituteInPlace $p/bin/acroread \
     --replace /bin/pwd $(type -P pwd) \
     --replace /bin/ls $(type -P ls) \
     --replace xargs "xargs -r"
 
 mkdir -p $out/bin
-ln -s $out/Adobe/Reader*/bin/acroread $out/bin/acroread
+ln -s $p/bin/acroread $out/bin/acroread
 
 mkdir -p $out/share/applications
-mv $out/Adobe/Reader9/Resource/Support/AdobeReader.desktop $out/share/applications/
+mv $p/Resource/Support/AdobeReader.desktop $out/share/applications/
+icon=$p/Resource/Icons/128x128/AdobeReader9.png
+[ -e $icon ]
 sed -i $out/share/applications/AdobeReader.desktop \
-    -e "s|Icon=.*|Icon=$out/Adobe/Reader9/Resource/Icons/128x128/AdobeReader9.png|"
+    -e "s|Icon=.*|Icon=$icon|"
 
 # Not sure if this works.
 mkdir -p $out/share/mimelnk/application
-mv $out/Adobe/Reader9/Resource/Support/vnd*.desktop $out/share/mimelnk/application
+mv $p/Resource/Support/vnd*.desktop $out/share/mimelnk/application
diff --git a/pkgs/applications/misc/adobe-reader/default.nix b/pkgs/applications/misc/adobe-reader/default.nix
index 6eaf976faa46..46ccdb399467 100644
--- a/pkgs/applications/misc/adobe-reader/default.nix
+++ b/pkgs/applications/misc/adobe-reader/default.nix
@@ -3,23 +3,25 @@
 
 assert stdenv.system == "i686-linux";
 
+let version = "9.5.1"; in
+
 stdenv.mkDerivation {
-  name = "adobe-reader-9.4.7-1";
-  
+  name = "adobe-reader-${version}-1";
+
   builder = ./builder.sh;
-  
+
   src = fetchurl {
-    url = http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/9.4.7/enu/AdbeRdr9.4.7-1_i486linux_enu.tar.bz2;
-    sha256 = "0bzx1rcwc9bi5jkh8f8hjb354zxlvvx37lhm0l2r0mjxj8fimfb5";
+    url = "http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/${version}/enu/AdbeRdr${version}-1_i486linux_enu.tar.bz2";
+    sha256 = "19mwhbfsivb21zmrz2hllf0kh4i225ac697y026bakyysn0vig56";
   };
 
   # !!! Adobe Reader contains copies of OpenSSL, libcurl, and libicu.
   # We should probably remove those and use the regular Nixpkgs
   # versions.
-  
+
   libPath = stdenv.lib.makeLibraryPath
     [ stdenv.gcc.gcc libX11 zlib libxml2 cups pango atk gtk glib gdk_pixbuf ];
-  
+
   meta = {
     description = "Adobe Reader, a viewer for PDF documents";
     homepage = http://www.adobe.com/products/reader;
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index e8307a79cf75..828d55ad4789 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -20,7 +20,9 @@ stdenv.mkDerivation rec {
     "-DPYTHON_LIBPATH=${python}/lib"
   ];
 
-  NIX_CFLAGS_COMPILE = "-iquote ${ilmbase}/include/OpenEXR -I${python}/include/${python.libPrefix}";
+  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR -I${python}/include/${python.libPrefix}";
+
+  enableParallelBuilding = true;
 
   meta = {
     description = "3D Creation/Animation/Publishing System";
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index d902fe3ffa13..b9b148483702 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     [ python pyqt4 sip popplerQt4 libpng imagemagick libjpeg
       fontconfig podofo qt4 pil chmlib icu
       pythonPackages.mechanize pythonPackages.lxml pythonPackages.dateutil
-      pythonPackages.cssutils pythonPackages.beautifulsoap
+      pythonPackages.cssutils pythonPackages.beautifulsoup
       pythonPackages.sqlite3 sqlite
     ];
 
diff --git a/pkgs/applications/misc/dmenu/default.nix b/pkgs/applications/misc/dmenu/default.nix
index eae0b0ff233a..048514ad4aa2 100644
--- a/pkgs/applications/misc/dmenu/default.nix
+++ b/pkgs/applications/misc/dmenu/default.nix
@@ -1,4 +1,6 @@
-{stdenv, fetchurl, libX11, libXinerama}:
+{stdenv, fetchurl, libX11, libXinerama, enableXft, libXft, zlib}:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "dmenu-4.5";
@@ -8,7 +10,14 @@ stdenv.mkDerivation rec {
     sha256 = "0l58jpxrr80fmyw5pgw5alm5qry49aw6y049745wl991v2cdcb08";
   };
 
-  buildInputs = [ libX11 libXinerama ];
+  xftPatch = fetchurl {
+    url = "http://tools.suckless.org/dmenu/patches/${name}-xft.diff";
+    sha256 = "efb4095d65e5e86f9dde97294732174409c24f319bdd4824cc22fa1404972b4f";
+  };
+
+  buildInputs = [ libX11 libXinerama ] ++ optionals enableXft [zlib libXft];
+
+  patches = optional enableXft xftPatch;
 
   preConfigure = [ ''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" config.mk'' ];
 
diff --git a/pkgs/applications/misc/eaglemode/default.nix b/pkgs/applications/misc/eaglemode/default.nix
index 519db53ea18f..b9c8acb0d070 100644
--- a/pkgs/applications/misc/eaglemode/default.nix
+++ b/pkgs/applications/misc/eaglemode/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchurl, perl, libX11, xineLib, libjpeg, libpng, libtiff, pkgconfig,
+{ stdenv, fetchurl, perl, libX11, libjpeg, libpng, libtiff, pkgconfig,
 librsvg, glib, gtk, libXext, libXxf86vm, poppler }:
 
 stdenv.mkDerivation {
   name = "eaglemode-0.84.0";
- 
+
   src = fetchurl {
     url = mirror://sourceforge/eaglemode/eaglemode-0.84.0.tar.bz2;
     sha256 = "0n20b419j0l7h7jr4s3f3n09ka0ysg9nqs8mcwsrx24rcq7nv0cs";
   };
- 
-  buildInputs = [ perl libX11 xineLib libjpeg libpng libtiff pkgconfig 
+
+  buildInputs = [ perl libX11 libjpeg libpng libtiff pkgconfig
     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.
-  # I use 'yes y' to skip a build error linking with xineLib, 
+  # I use 'yes y' to skip a build error linking with xineLib,
   # because xine stopped exporting "_x_vo_new_port"
   #  http://sourceforge.net/projects/eaglemode/forums/forum/808824/topic/5115261
   buildPhase = ''
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
     # Run 'eaglemode.sh', not 'eaglemode'.
     ln -s $out/eaglemode.sh $out/bin/eaglemode.sh
   '';
- 
+
   meta = {
     homepage = "http://eaglemode.sourceforge.net";
     description = "Zoomable User Interface";
diff --git a/pkgs/applications/misc/epdfview/default.nix b/pkgs/applications/misc/epdfview/default.nix
index 3ce652c1a332..6941e8df626a 100644
--- a/pkgs/applications/misc/epdfview/default.nix
+++ b/pkgs/applications/misc/epdfview/default.nix
@@ -6,6 +6,7 @@ stdenv.mkDerivation rec {
     sha256 = "1w7qybh8ssl4dffi5qfajq8mndw7ipsd92vkim03nywxgjp4i1ll";
   };
   buildInputs = [ pkgconfig gtk poppler ];
+  patches = [ ./glib-top-level-header.patch ];
   meta = {
     homepage = http://trac.emma-soft.com/epdfview/;
     description = "A lightweight PDF document viewer using Poppler and GTK+";
diff --git a/pkgs/applications/misc/epdfview/glib-top-level-header.patch b/pkgs/applications/misc/epdfview/glib-top-level-header.patch
new file mode 100644
index 000000000000..a321ad3a2b67
--- /dev/null
+++ b/pkgs/applications/misc/epdfview/glib-top-level-header.patch
@@ -0,0 +1,12 @@
+diff -Naur epdfview-0.1.8-orig/src/gtk/StockIcons.h epdfview-0.1.8/src/gtk/StockIcons.h
+--- epdfview-0.1.8-orig/src/gtk/StockIcons.h	2011-05-28 06:24:57.000000000 -0400
++++ epdfview-0.1.8/src/gtk/StockIcons.h	2012-07-15 11:02:43.946339253 -0400
+@@ -18,7 +18,7 @@
+ #if !defined (__STOCK_ICONS_H__)
+ #define __STOCK_ICONS_H__
+ 
+-#include <glib/gmacros.h>
++#include <glib.h>
+ 
+ G_BEGIN_DECLS
+ 
diff --git a/pkgs/applications/misc/gmrun/default.nix b/pkgs/applications/misc/gmrun/default.nix
new file mode 100644
index 000000000000..930df87214ad
--- /dev/null
+++ b/pkgs/applications/misc/gmrun/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, glib, gtk2, pkgconfig, popt }:
+
+let
+  version = "0.9.2";
+in
+
+stdenv.mkDerivation rec {
+  name = "gmrun-${version}";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/gmrun/gmrun/${version}/${name}.tar.gz";
+    md5 = "6cef37a968006d9496fc56a7099c603c";
+  };
+
+  buildInputs = [ glib gtk2 pkgconfig popt ];
+
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  patches = [
+      ./gcc43.patch
+      ./gmrun-0.9.2-xdg.patch
+    ];
+
+  meta = {
+    description = "Gnome Completion-Run Utility.";
+    longDescription = ''
+      A simple program which provides a "run program" window, featuring a bash-like TAB completion.
+      It uses GTK+ interface.
+      Also, supports CTRL-R / CTRL-S / "!" for searching through history.
+      Running commands in a terminal with CTRL-Enter. URL handlers.
+    '';
+    homepage = "http://sourceforge.net/projects/gmrun/";
+    license = "GPL";
+    maintainers = [ stdenv.lib.maintainers.bbenoist ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/gmrun/gcc43.patch b/pkgs/applications/misc/gmrun/gcc43.patch
new file mode 100644
index 000000000000..60e4338e893d
--- /dev/null
+++ b/pkgs/applications/misc/gmrun/gcc43.patch
@@ -0,0 +1,51 @@
+--- a/src/gtkcompletionline.cc.orig	2003-11-16 11:55:07.000000000 +0100
++++ a/src/gtkcompletionline.cc	2008-05-08 08:51:22.000000000 +0200
+@@ -29,6 +29,7 @@
+ #include <set>
+ #include <sstream>
+ #include <string>
++#include <cstring>
+ #include <vector>
+ using namespace std;
+ 
+--- a/src/ci_string.h.orig	2001-05-16 16:39:31.000000000 +0200
++++ a/src/ci_string.h	2008-05-08 08:51:33.000000000 +0200
+@@ -7,6 +7,7 @@
+ #define __CI_STRING_H__
+ 
+ #include <string>
++#include <cstring>
+ #include <ctype.h>
+ 
+ struct ci_char_traits : public std::char_traits<char>
+--- a/src/prefs.cc.orig	2002-08-16 12:48:22.000000000 +0200
++++ a/src/prefs.cc	2008-05-08 08:51:54.000000000 +0200
+@@ -13,6 +13,7 @@
+ #include <fstream>
+ #include <iostream>
+ #include <stdio.h>
++#include <stdlib.h>
+ 
+ #include <list>
+ 
+--- a/src/main.cc.orig	2003-11-16 11:55:07.000000000 +0100
++++ a/src/main.cc	2008-05-08 09:03:11.000000000 +0200
+@@ -14,6 +14,7 @@
+ #include <gdk/gdkkeysyms.h>
+ 
+ #include <string>
++#include <cstring>
+ #include <iostream>
+ #include <sstream>
+ #include <vector>
+
+--- a/src/gtkcompletionline.cc.orig	2009-06-19 22:38:14.000000000 +0400
++++ a/src/gtkcompletionline.cc	2009-06-19 22:37:14.000000000 +0400
+@@ -376,7 +377,7 @@
+   return 0;
+ }
+ 
+-int my_alphasort(const void* va, const void* vb) {
++int my_alphasort(const dirent** va, const dirent** vb) {
+   const struct dirent** a = (const struct dirent**)va;
+   const struct dirent** b = (const struct dirent**)vb;
diff --git a/pkgs/applications/misc/gmrun/gmrun-0.9.2-xdg.patch b/pkgs/applications/misc/gmrun/gmrun-0.9.2-xdg.patch
new file mode 100644
index 000000000000..b5cd41a3c5b4
--- /dev/null
+++ b/pkgs/applications/misc/gmrun/gmrun-0.9.2-xdg.patch
@@ -0,0 +1,58 @@
+diff -ur a/src/history.cc src/history.cc
+--- a/src/history.cc	2002-08-17 15:19:31.000000000 +0200
++++ a/src/history.cc	2012-06-04 23:42:35.314653414 +0200
+@@ -24,8 +24,15 @@
+ HistoryFile::HistoryFile()
+ {
+   m_file_entries = 0;
+-  m_filename = g_get_home_dir();
+-  m_filename += "/.gmrun_history";
++  const char* filename = getenv("XDG_CACHE_HOME");
++  if (filename != 0 && *filename != '\0') {
++    m_filename = filename;
++    m_filename += "/gmrun_history";
++  }
++  else {
++    m_filename = g_get_home_dir();
++    m_filename += "/.gmrun_history";
++  }
+   m_current = 0;
+   m_default_set = false;
+   read_the_file();
+diff -ur a/src/prefs.cc src/prefs.cc
+--- a/src/prefs.cc	2012-06-04 22:35:00.671949439 +0200
++++ a/src/prefs.cc	2012-06-04 23:24:24.184445962 +0200
+@@ -35,12 +35,29 @@
+   file_name += GMRUNRC;
+   init(file_name);
+ 
+-  file_name = getenv("HOME");
+-  if (!file_name.empty()) {
++  file_name.clear();
++  const char* filename = getenv("XDG_CONFIG_HOME");
++  if (filename != 0 && *filename != '\0') {
++    file_name = filename;
+     string::iterator i = file_name.end() - 1;
+-    if (*i == '/') file_name.erase(i);
+-    file_name += "/.";
++    if (*i != '/') {
++      file_name += '/';
++    }
+     file_name += GMRUNRC;
++  }
++  else {
++    filename = getenv("HOME");
++    if (filename != 0 && *filename != '\0') {
++      file_name = filename;
++      string::iterator i = file_name.end() - 1;
++      if (*i != '/') {
++        file_name += '/';
++      }
++      file_name += '.';
++      file_name += GMRUNRC;
++    }
++  }
++  if (!file_name.empty()) {
+     init(file_name);
+   }
+ }
diff --git a/pkgs/applications/misc/gphoto2/default.nix b/pkgs/applications/misc/gphoto2/default.nix
index 9fff2943d305..022cb437c698 100644
--- a/pkgs/applications/misc/gphoto2/default.nix
+++ b/pkgs/applications/misc/gphoto2/default.nix
@@ -3,17 +3,27 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gphoto2-2.4.11";
+  name = "gphoto2-2.4.14";
   
   src = fetchurl {
     url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
-    sha256 = "0ah42b7rnqh0z8bb96z7cdycxdh5k19h6lmfc02kdhrhqdr3q81y";
+    sha256 = "08x1p8xhl65r79a6gn1fi63z1lspd5j55l05diiyzcwfxvqwsm47";
   };
   
   buildNativeInputs = [ pkgconfig gettext ];
   buildInputs = [ libgphoto2 libexif popt libjpeg readline libtool ];
   
   meta = {
+    description = "a ready to use set of digital camera software applications";
+    longDescription = ''
+
+      A set of command line utilities for manipulating over 1400 different
+      digital cameras. Through libgphoto2, it supports PTP, MTP, and much more..
+
+    '';
     homepage = http://www.gphoto.org/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = with stdenv.lib.platforms; unix;
+    maintainers = with stdenv.lib.maintainers; [ jcumming ];
   };
 }
diff --git a/pkgs/applications/misc/grass/default.nix b/pkgs/applications/misc/grass/default.nix
index 067e43545737..6abf6da4a69f 100644
--- a/pkgs/applications/misc/grass/default.nix
+++ b/pkgs/applications/misc/grass/default.nix
@@ -1,4 +1,4 @@
-{getConfig, ...}@a:
+{ config, ... }@a:
 
 # You can set gui by exporting GRASS_GUI=..
 # see http://grass.itc.it/gdp/html_grass64/g.gui.html
@@ -36,31 +36,31 @@ a.composableDerivation.composableDerivation {} (fix: {
   ];
 
   cfg = {
-    _64bitSupport = getConfig ["grass" "64bitSupport"] true;
-    cursesSupport = getConfig ["grass" "curses"] true;
-    gdalSupport = getConfig ["grass" "gdal"] true;
-    pythonSupport = getConfig ["grass" "python"] true;
-    wxwidgetsSupport = getConfig ["grass" "wxwidgets"] true;
-    readlineSupport = getConfig ["grass" "readline"] true;
-    jpegSupport = getConfig ["grass" "jpeg"] true;
-    tiffSupport = getConfig ["grass" "tiff"] true;
-    pngSupport = getConfig ["grass" "png"] true;
-    tcltkSupport = getConfig ["grass" "tcltk"] true;
-    postgresSupport = getConfig ["grass" "postgres"] true;
-    mysqlSupport = getConfig ["grass" "mysql"] true;
-    sqliteSupport = getConfig ["grass" "sqlite"] true;
-    ffmpegSupport = getConfig ["grass" "ffmpeg"] true;
-    openglSupport = getConfig ["grass" "opengl"] true;
-    odbcSupport = getConfig ["grass" "odbc"] false; # fails to find libodbc - why ?
-    fftwSupport = getConfig ["grass" "fftw"] true;
-    blasSupport = getConfig ["grass" "blas"] true;
-    lapackSupport = getConfig ["grass" "lapack"] true;
-    cairoSupport = getConfig ["grass" "cairo"] true;
-    motifSupport = getConfig ["grass" "motif"] true;
-    freetypeSupport = getConfig ["grass" "freetype"] true;
-    projSupport = getConfig ["grass" "proj"] true;
-    opendwgSupport = getConfig ["grass" "dwg"] false;
-    largefileSupport = getConfig ["grass" "largefile"] true;
+    _64bitSupport = config.grass."64bitSupport" or true;
+    cursesSupport = config.grass.curses or true;
+    gdalSupport = config.grass.gdal or true;
+    pythonSupport = config.grass.python or true;
+    wxwidgetsSupport = config.grass.wxwidgets or true;
+    readlineSupport = config.grass.readline or true;
+    jpegSupport = config.grass.jpeg or true;
+    tiffSupport = config.grass.tiff or true;
+    pngSupport = config.grass.png or true;
+    tcltkSupport = config.grass.tcltk or true;
+    postgresSupport = config.grass.postgres or true;
+    mysqlSupport = config.grass.mysql or true;
+    sqliteSupport = config.grass.sqlite or true;
+    ffmpegSupport = config.grass.ffmpeg or true;
+    openglSupport = config.grass.opengl or true;
+    odbcSupport = config.grass.odbc or false; # fails to find libodbc - why ?
+    fftwSupport = config.grass.fftw or true;
+    blasSupport = config.grass.blas or true;
+    lapackSupport = config.grass.lapack or true;
+    cairoSupport = config.grass.cairo or true;
+    motifSupport = config.grass.motif or true;
+    freetypeSupport = config.grass.freetype or true;
+    projSupport = config.grass.proj or true;
+    opendwgSupport = config.grass.dwg or false;
+    largefileSupport = config.grass.largefile or true;
   };
 
   # ?? NLS support:                no
diff --git a/pkgs/applications/misc/jbidwatcher/default.nix b/pkgs/applications/misc/jbidwatcher/default.nix
index 70cd5d3faf4b..9b74b0c93a97 100644
--- a/pkgs/applications/misc/jbidwatcher/default.nix
+++ b/pkgs/applications/misc/jbidwatcher/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "jbidwatcher";
-  version = "2.1.5";
+  version = "2.5.2";
 
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.jbidwatcher.com/download/JBidwatcher-${version}.jar";
-    sha256 = "0nrs9ly56cqn33dm1sjm53pzj1cf7jncwn4c8v0xyva4jqyz2y5p";
+    sha256 = "07w75ryn8inm5i1829gabr8lifbycz40ynzsyaw22yzqk5if1n9l";
   };
 
   buildInputs = [ java ];
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index 20ded9486f77..eccd11f6041a 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -1,17 +1,18 @@
 { stdenv, fetchurl, pkgconfig, zlib, freetype, libjpeg, jbig2dec, openjpeg
 , libX11, libXext }:
 stdenv.mkDerivation rec {
-  name = "mupdf-0.7";
+  name = "mupdf-1.1";
 
   src = fetchurl {
-    url = "http://mupdf.com/download/archive/${name}.tar.gz";
-    sha256 = "e7f6307fa472575d27fe893e787ddb3fc927f03ba4ae23105f917189e81960a6";
+    url = "http://mupdf.com/download/archive/${name}-source.tar.gz";
+    sha256 = "e54666bbe1d9f0a5464349bfbeffcf676c4a0fcad3efb89eba1f20d4ac991f34";
   };
 
   buildInputs = [ pkgconfig zlib freetype libjpeg jbig2dec openjpeg libX11 libXext ];
 
   preBuild = ''
     export makeFlags="prefix=$out"
+    export NIX_CFLAGS_COMPILE=" $NIX_CFLAGS_COMPILE -I$(echo ${openjpeg}/include/openjpeg-*) "
   '';
 
   meta = {
diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix
index 3d4e51360212..51ae8633a7c0 100644
--- a/pkgs/applications/misc/nut/default.nix
+++ b/pkgs/applications/misc/nut/default.nix
@@ -1,13 +1,14 @@
-{stdenv, fetchurl, pkgconfig, neon, libusb, hal, openssl, udev}:
+{ stdenv, fetchurl, pkgconfig, neon, libusb, openssl, udev }:
 
 stdenv.mkDerivation {
   name = "nut-2.6.1";
+
   src = fetchurl {
     url = http://www.networkupstools.org/source/2.6/nut-2.6.1.tar.gz;
     sha256 = "f5c46b856c0cf5b7f0e4b22d82b670af64cc98717a90eaac8723dd402a181c00";
   };
 
-  buildInputs = [pkgconfig neon libusb hal openssl udev];
+  buildInputs = [ pkgconfig neon libusb openssl udev ];
 
   configureFlags = [
     "--with-all"
diff --git a/pkgs/applications/misc/st/default.nix b/pkgs/applications/misc/st/default.nix
index 5ac2ad6b9ad8..86b24e7e4018 100644
--- a/pkgs/applications/misc/st/default.nix
+++ b/pkgs/applications/misc/st/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, libX11, ncurses}:
+{ stdenv, fetchurl, libX11, ncurses, libXext, libXft }:
 
 stdenv.mkDerivation rec {
-  name = "st-0.2.1";
+  name = "st-0.3";
   
   src = fetchurl {
-    url = http://hg.suckless.org/st/archive/0.2.1.tar.gz;
-    sha256 = "15yqyys69ifjc4vrzvamrg7x0pwa60mnjpi0kap4y9ykhds83xab";
+    url = http://hg.suckless.org/st/archive/0.3.tar.gz;
+    sha256 = "12ypldjjpsq3nvhszgjsk4wgqkwcvz06qiqw8k5npv3rd1nbx9cl";
   };
   
-  buildInputs = [ libX11 ncurses ];
+  buildInputs = [ libX11 ncurses libXext libXft ];
 
   installPhase = ''
     TERMINFO=$out/share/terminfo make install PREFIX=$out
diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix
index cb79bf592fe4..a267a29c7e2e 100644
--- a/pkgs/applications/misc/synergy/default.nix
+++ b/pkgs/applications/misc/synergy/default.nix
@@ -1,31 +1,29 @@
-{ stdenv, fetchurl, x11, xextproto, libXtst, inputproto, libXi
-, automake, autoconf, sourceFromHead }:
+{ stdenv, fetchurl, cmake, x11, libX11, libXi, libXtst }:
 
-stdenv.mkDerivation {
-  name = "synergy-cvs";
+stdenv.mkDerivation rec {
+  name = "synergy-1.4.10";
 
-  # note: There is a fork:
-  # http://code.google.com/p/synergy-plus
-
-  # REGION AUTO UPDATE:            { name="synergy"; type = "cvs"; cvsRoot = ":pserver:anonymous@synergy2.cvs.sourceforge.net:/cvsroot/synergy2"; module="syngery"; }
-  src= sourceFromHead "synergy-F_23-55-02.tar.gz"
-               (fetchurl { url = "http://mawercer.de/~nix/repos/synergy-F_23-55-02.tar.gz"; sha256 = "ae16a9b59039a32e383e71397405d7b610de6c6902c03177c2496bac440d3e28"; });
-  # END
-
-  buildInputs = [ x11 xextproto libXtst inputproto libXi automake autoconf ];
+  src = fetchurl {
+  	url = "http://synergy.googlecode.com/files/${name}-Source.tar.gz";
+  	sha256 = "1ghgf96gbk4sdw8sqlc3pjschkmmqybihi12mg6hi26gnk7a5m86";
+  };
 
-  preConfigure = "autoreconf";
+  buildInputs = [ cmake x11 libX11 libXi libXtst ];
+  
+  # At this moment make install doesn't work for synergy
+  # http://synergy-foss.org/spit/issues/details/3317/
 
-  patches =
-    [ (fetchurl {
-        url = http://mawercer.de/~nix/synergy-gcc43-r2.patch.gz;
-        sha256 = "0wnj5k93ybj7jg8ml1i1brwsnszfh41117q2qh7r8xr9m37997b7";
-      })
-    ];
+  
+  installPhase = ''
+    ensureDir $out/bin
+    cp ../bin/synergyc $out/bin
+    cp ../bin/synergys $out/bin
+    cp ../bin/synergyd $out/bin
+  '';
 
   meta = { 
     description = "Tool to share the mouse keyboard and the clipboard between computers";
-    homepage = http://synergy2.sourceforge.net;
+    homepage = http://synergy-foss.org;
     license = "GPL";
   };
 }
diff --git a/pkgs/applications/misc/taskwarrior/default.nix b/pkgs/applications/misc/taskwarrior/default.nix
index 95f9de2f42b8..cab0c2b07de1 100644
--- a/pkgs/applications/misc/taskwarrior/default.nix
+++ b/pkgs/applications/misc/taskwarrior/default.nix
@@ -1,29 +1,22 @@
-{ stdenv, fetchurl, cmake, lua5 }:
+{stdenv, fetchurl, cmake}:
 
 stdenv.mkDerivation {
-  name = "task-warrior-2.0.0";
+  name = "taskwarrior-2.1.2";
+
+  enableParallelBuilding = true;
 
   src = fetchurl {
-    url = http://www.taskwarrior.org/download/task-2.0.0.tar.gz;
-    sha256 = "1gbmcynj2n2c9dcykxn27ffk034mvm0zri5hqhfdx593dhv1x5vq";
+    url = http://www.taskwarrior.org/download/task-2.1.2.tar.gz;
+    sha256 = "0diy72sgiyvfl6bdy7k3qwv3ijx2z1y477smkk6jsbbd9fsp2lfg";
   };
 
-  NIX_LDFLAGS = "-ldl";
-
   buildNativeInputs = [ cmake ];
-  buildInputs = [ lua5 ];
-
-  crossAttrs = {
-    preConfigure = ''
-      export NIX_CROSS_LDFLAGS="$NIX_CROSS_LDFLAGS -ldl"
-    '';
-  };
-
-  enableParallelBuilding = true;
 
   meta = {
-    description = "Command-line todo list manager";
-    homepage = http://taskwarrior.org/;
-    license = "GPLv2+";
+    description = "GTD (getting things done) implementation";
+    homepage = http://taskwarrior.org;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [stdenv.lib.maintainers.marcweber];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/wmname/default.nix b/pkgs/applications/misc/wmname/default.nix
new file mode 100644
index 000000000000..417d4a5ae683
--- /dev/null
+++ b/pkgs/applications/misc/wmname/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, libX11 }:
+
+stdenv.mkDerivation rec {
+  name = "wmname-0.1";
+
+  src = fetchurl {
+    url = "http://dl.suckless.org/tools/${name}.tar.gz";
+    sha256 = "559ad188b2913167dcbb37ecfbb7ed474a7ec4bbcb0129d8d5d08cb9208d02c5";
+  };
+
+  buildInputs = [ libX11 ];
+
+  preConfigure = [ ''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" config.mk'' ];
+
+  meta = {
+      description = "Prints or set the window manager name property of the root window";
+      homepage = "http://tools.suckless.org/wmname";
+      license = "MIT";
+  };
+}
diff --git a/pkgs/applications/misc/xfe/default.nix b/pkgs/applications/misc/xfe/default.nix
new file mode 100644
index 000000000000..67ff2ec55411
--- /dev/null
+++ b/pkgs/applications/misc/xfe/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, fox_1_6, pkgconfig, gettext, x11, gcc, intltool, file, libpng }:
+
+let
+  version = "1.33";
+in
+
+stdenv.mkDerivation rec {
+  name = "xfe-${version}";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/xfe/xfe/${version}/${name}.tar.gz";
+    md5 = "fb089ba73add411b08a6560eeb51742d";
+  };
+
+  buildInputs = [ fox_1_6 pkgconfig gettext x11 gcc intltool file libpng ];
+
+  doCheck = false;
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "X File Explorer (Xfe) is an MS-Explorer like file manager for X.";
+    longDescription = ''
+      X File Explorer (Xfe) is an MS-Explorer like file manager for X.
+      It is based on the popular, but discontinued, X Win Commander, which was developed by Maxim Baranov.
+      Xfe aims to be the filemanager of choice for all the Unix addicts!
+    '';
+    homepage = "http://sourceforge.net/projects/xfe/";
+    license = "GPLv2";
+    maintainers = [ stdenv.lib.maintainers.bbenoist ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix
index b4fab591ef47..ef2d846dd2e4 100644
--- a/pkgs/applications/misc/xterm/default.nix
+++ b/pkgs/applications/misc/xterm/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, xorg, ncurses, freetype, pkgconfig }:
+{ stdenv, fetchurl, xorg, ncurses, freetype, fontconfig, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "xterm-276";
-  
+  name = "xterm-281";
+
   src = fetchurl {
     url = "ftp://invisible-island.net/xterm/${name}.tgz";
-    sha256 = "1k3k025z3vl91sc8i7f5lmnsb1rsblpbijri9vnxgpynw4wgrc7b";
+    sha256 = "1yrjjya7z5s3fi0iiaxgna35jh0ib2zx1yafyng35jma6qbwhxx7";
   };
-  
+
   buildInputs =
     [ xorg.libXaw xorg.xproto xorg.libXt xorg.libXext xorg.libX11 xorg.libSM xorg.libICE
-      ncurses freetype pkgconfig xorg.libXft xorg.luit
+      ncurses freetype fontconfig pkgconfig xorg.libXft xorg.luit
     ];
-    
+
   configureFlags =
     ''
       --enable-wide-chars --enable-256-color
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     '';
 
   # Work around broken "plink.sh".
-  NIX_LDFLAGS = "-lXmu -lXt -lICE -lX11";
+  NIX_LDFLAGS = "-lXmu -lXt -lICE -lX11 -lfontconfig";
 
   # Hack to get xterm built with the feature of releasing a possible setgid of 'utmp',
   # decided by the sysadmin to allow the xterm reporting to /var/run/utmp
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 7a3c387dedad..7d41f72df207 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -1,10 +1,11 @@
-{ stdenv, getConfig, fetchurl, makeWrapper, which
+{ stdenv, config, fetchurl, makeWrapper, which
 
 # default dependencies
 , bzip2, flac, speex
 , libevent, expat, libjpeg
 , libpng, libxml2, libxslt
 , xdg_utils, yasm, zlib
+, libusb1, libexif, pciutils
 
 , python, perl, pkgconfig
 , nspr, udev, krb5
@@ -22,10 +23,12 @@
 , libselinux # config.selinux
 }:
 
+with stdenv.lib;
+
 let
-  mkConfigurable = stdenv.lib.mapAttrs (flag: default: getConfig ["chromium" flag] default);
+  mkConfigurable = mapAttrs (flag: default: attrByPath ["chromium" flag] default config);
 
-  config = mkConfigurable {
+  cfg = mkConfigurable {
     channel = "stable";
     selinux = false;
     nacl = false;
@@ -34,39 +37,42 @@ let
     gnomeKeyring = false;
     proprietaryCodecs = true;
     cups = false;
-    pulseaudio = getConfig ["pulseaudio"] true;
+    pulseaudio = config.pulseaudio or true;
   };
 
-  sourceInfo = builtins.getAttr config.channel (import ./sources.nix);
+  sourceInfo = builtins.getAttr cfg.channel (import ./sources.nix);
 
-  mkGypFlags = with stdenv.lib; let
-    sanitize = value:
-      if value == true then "1"
-      else if value == false then "0"
-      else "${value}";
-    toFlag = key: value: "-D${key}=${sanitize value}";
-  in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs));
+  mkGypFlags =
+    let
+      sanitize = value:
+        if value == true then "1"
+        else if value == false then "0"
+        else "${value}";
+      toFlag = key: value: "-D${key}=${sanitize value}";
+    in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs));
 
   gypFlagsUseSystemLibs = {
     use_system_bzip2 = true;
     use_system_flac = true;
     use_system_libevent = true;
     use_system_libexpat = true;
+    use_system_libexif = true;
     use_system_libjpeg = true;
     use_system_libpng = true;
+    use_system_libusb = true;
     use_system_libxml = true;
     use_system_speex = true;
-    use_system_ssl = config.openssl;
+    use_system_ssl = cfg.openssl;
     use_system_stlport = true;
     use_system_xdg_utils = true;
     use_system_yasm = true;
-    use_system_zlib = true;
+    use_system_zlib = false; # http://crbug.com/143623
 
     use_system_harfbuzz = false;
     use_system_icu = false;
-    use_system_libwebp = false; # See chromium issue #133161
+    use_system_libwebp = false; # http://crbug.com/133161
     use_system_skia = false;
-    use_system_sqlite = false; # See chromium issue #22208
+    use_system_sqlite = false; # http://crbug.com/22208
     use_system_v8 = false;
   };
 
@@ -75,23 +81,16 @@ let
     libevent expat libjpeg
     libpng libxml2 libxslt
     xdg_utils yasm zlib
+    libusb1 libexif
   ];
 
-  seccompPatch = let
-    pre22 = stdenv.lib.versionOlder sourceInfo.version "22.0.0.0";
-  in if pre22 then ./enable_seccomp.patch else ./enable_seccomp22.patch;
-
-  # XXX: this reverts r151720 to prevent http://crbug.com/143623
-  maybeRevertZlibChanges = let
-    below22 = stdenv.lib.versionOlder sourceInfo.version "22.0.0.0";
-    patch = fetchurl {
-      name = "revert-r151720";
-      url = "http://git.chromium.org/gitweb/?p=chromium.git;a=commitdiff_plain;"
-          + "hp=4419ec6414b33b6b19bb2e380b4998ed5193ecab;"
-          + "h=0fabb4fda7059a8757422e8a44e70deeab28e698";
-      sha256 = "0n0d6mkg89g8q63cifapzpg9dxfs2n6xvk4k13szhymvf67b77pf";
-    };
-  in stdenv.lib.optional (!below22) patch;
+  post23 = !versionOlder sourceInfo.version "24.0.0.0";
+  post24 = !versionOlder sourceInfo.version "25.0.0.0";
+
+  maybeFixPulseAudioBuild = optional (post23 && cfg.pulseaudio) (fetchurl {
+    url = http://archrepo.jeago.com/sources/chromium-dev/pulse_audio_fix.patch;
+    sha256 = "1w91mirrkqigdhsj892mqxlc0nlv1dsp5shc46w9xf8nl96jxgfb";
+  });
 
 in stdenv.mkDerivation rec {
   name = "${packageName}-${version}";
@@ -108,28 +107,28 @@ in stdenv.mkDerivation rec {
     which makeWrapper
     python perl pkgconfig
     nspr udev
-    (if config.openssl then openssl else nss)
+    (if cfg.openssl then openssl else nss)
     utillinux alsaLib
     gcc bison gperf
     krb5
     glib gtk dbus_glib
     libXScrnSaver libXcursor mesa
-  ] ++ stdenv.lib.optional config.gnomeKeyring libgnome_keyring
-    ++ stdenv.lib.optionals config.gnome [ gconf libgcrypt ]
-    ++ stdenv.lib.optional config.selinux libselinux
-    ++ stdenv.lib.optional config.cups libgcrypt
-    ++ stdenv.lib.optional config.pulseaudio pulseaudio;
+  ] ++ optional cfg.gnomeKeyring libgnome_keyring
+    ++ optionals cfg.gnome [ gconf libgcrypt ]
+    ++ optional cfg.selinux libselinux
+    ++ optional cfg.cups libgcrypt
+    ++ optional cfg.pulseaudio pulseaudio
+    ++ optional post24 pciutils;
 
-  opensslPatches = stdenv.lib.optional config.openssl openssl.patches;
+  opensslPatches = optional cfg.openssl openssl.patches;
 
   prePatch = "patchShebangs .";
 
-  patches = stdenv.lib.optional (!config.selinux) seccompPatch
-         ++ stdenv.lib.optional config.cups ./cups_allow_deprecated.patch
-         ++ stdenv.lib.optional config.pulseaudio ./pulseaudio_array_bounds.patch
-         ++ maybeRevertZlibChanges;
+  patches = optional cfg.cups ./cups_allow_deprecated.patch
+         ++ optional cfg.pulseaudio ./pulseaudio_array_bounds.patch
+         ++ maybeFixPulseAudioBuild;
 
-  postPatch = stdenv.lib.optionalString config.openssl ''
+  postPatch = optionalString cfg.openssl ''
     cat $opensslPatches | patch -p1 -d third_party/openssl/openssl
   '';
 
@@ -137,21 +136,21 @@ in stdenv.mkDerivation rec {
     linux_use_gold_binary = false;
     linux_use_gold_flags = false;
     proprietary_codecs = false;
-    use_gnome_keyring = config.gnomeKeyring;
-    use_gconf = config.gnome;
-    use_gio = config.gnome;
-    use_pulseaudio = config.pulseaudio;
-    disable_nacl = !config.nacl;
-    use_openssl = config.openssl;
-    selinux = config.selinux;
-    use_cups = config.cups;
-  } // stdenv.lib.optionalAttrs config.proprietaryCodecs {
+    use_gnome_keyring = cfg.gnomeKeyring;
+    use_gconf = cfg.gnome;
+    use_gio = cfg.gnome;
+    use_pulseaudio = cfg.pulseaudio;
+    disable_nacl = !cfg.nacl;
+    use_openssl = cfg.openssl;
+    selinux = cfg.selinux;
+    use_cups = cfg.cups;
+  } // optionalAttrs cfg.proprietaryCodecs {
     # enable support for the H.264 codec
     proprietary_codecs = true;
     ffmpeg_branding = "Chrome";
-  } // stdenv.lib.optionalAttrs (stdenv.system == "x86_64-linux") {
+  } // optionalAttrs (stdenv.system == "x86_64-linux") {
     target_arch = "x64";
-  } // stdenv.lib.optionalAttrs (stdenv.system == "i686-linux") {
+  } // optionalAttrs (stdenv.system == "i686-linux") {
     target_arch = "ia32";
   });
 
@@ -203,11 +202,11 @@ in stdenv.mkDerivation rec {
     done
   '';
 
-  meta =  with stdenv.lib; {
+  meta = {
     description = "Chromium, an open source web browser";
     homepage = http://www.chromium.org/;
-    maintainers = with stdenv.lib.maintainers; [ goibhniu chaoflow ];
+    maintainers = with maintainers; [ goibhniu chaoflow ];
     license = licenses.bsd3;
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/browsers/chromium/enable_seccomp.patch b/pkgs/applications/networking/browsers/chromium/enable_seccomp.patch
deleted file mode 100644
index edeee37f19ca..000000000000
--- a/pkgs/applications/networking/browsers/chromium/enable_seccomp.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/content/common/seccomp_sandbox.h b/content/common/seccomp_sandbox.h
-index a07d6f3..a622a35 100644
---- a/content/common/seccomp_sandbox.h
-+++ b/content/common/seccomp_sandbox.h
-@@ -29,15 +29,9 @@ static bool SeccompSandboxEnabled() {
-   // TODO(evan): turn on for release too once we've flushed out all the bugs,
-   // allowing us to delete this file entirely and just rely on the "disabled"
-   // switch.
--#ifdef NDEBUG
--  // Off by default; allow turning on with a switch.
--  return CommandLine::ForCurrentProcess()->HasSwitch(
--      switches::kEnableSeccompSandbox);
--#else
-   // On by default; allow turning off with a switch.
-   return !CommandLine::ForCurrentProcess()->HasSwitch(
-       switches::kDisableSeccompSandbox);
--#endif  // NDEBUG
- }
- #endif  // SECCOMP_SANDBOX
- 
diff --git a/pkgs/applications/networking/browsers/chromium/enable_seccomp22.patch b/pkgs/applications/networking/browsers/chromium/enable_seccomp22.patch
deleted file mode 100644
index f947d796f186..000000000000
--- a/pkgs/applications/networking/browsers/chromium/enable_seccomp22.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/content/common/sandbox_linux.cc b/content/common/sandbox_linux.cc
-index d4618e5..108f846 100644
---- a/content/common/sandbox_linux.cc
-+++ b/content/common/sandbox_linux.cc
-@@ -38,15 +38,9 @@ void LogSandboxStarted(const std::string& sandbox_name) {
- // Implement the command line enabling logic for seccomp-legacy.
- bool IsSeccompLegacyDesired() {
- #if defined(SECCOMP_SANDBOX)
--#if defined(NDEBUG)
--  // Off by default; allow turning on with a switch.
--  return CommandLine::ForCurrentProcess()->HasSwitch(
--      switches::kEnableSeccompSandbox);
--#else
-   // On by default; allow turning off with a switch.
-   return !CommandLine::ForCurrentProcess()->HasSwitch(
-       switches::kDisableSeccompSandbox);
--#endif  // NDEBUG
- #endif  // SECCOMP_SANDBOX
-   return false;
- }
diff --git a/pkgs/applications/networking/browsers/chromium/sources.nix b/pkgs/applications/networking/browsers/chromium/sources.nix
index 7d03c397bdcb..9b6616ec63c3 100644
--- a/pkgs/applications/networking/browsers/chromium/sources.nix
+++ b/pkgs/applications/networking/browsers/chromium/sources.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   dev = {
-    version = "23.0.1255.0";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-23.0.1255.0.tar.bz2";
-    sha256 = "12ks55mn6nahdzd5kgiwi9m2cfivb0pwj963g8d4kmdbw5bg017g";
+    version = "25.0.1323.1";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-25.0.1323.1.tar.bz2";
+    sha256 = "1i7ga1qhnjvnw2gynmpmsvvl5pxcb5z9sgldp87d9yalim5sra6s";
   };
   beta = {
-    version = "22.0.1229.39";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-22.0.1229.39.tar.bz2";
-    sha256 = "0v0yz9lkr9xdzh6660y9n2z8m1075ls2r3svafcfa80pq18chzfd";
+    version = "24.0.1312.14";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-24.0.1312.14.tar.bz2";
+    sha256 = "03w8cg4kqmpj82976ax9x6y275y9gcri4vc11cvfjp6r1issxzk8";
   };
   stable = {
-    version = "21.0.1180.89";
-    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-21.0.1180.89.tar.bz2";
-    sha256 = "1i9mjbjj3aywg03hd59m9j5gq5b5fl8nvw56g47q8s9k1bcsik0n";
+    version = "23.0.1271.64";
+    url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-23.0.1271.64.tar.bz2";
+    sha256 = "1rzz08sgw07nkmvhhgyrkrcxj3z24lxbx0di6ky6jz3lshibp578";
   };
 }
diff --git a/pkgs/applications/networking/browsers/chromium/update.sh b/pkgs/applications/networking/browsers/chromium/update.sh
index c978ee4adf3a..2d95d466b2a8 100755
--- a/pkgs/applications/networking/browsers/chromium/update.sh
+++ b/pkgs/applications/networking/browsers/chromium/update.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-channels_url="http://omahaproxy.appspot.com/";
+channels_url="http://omahaproxy.appspot.com/all?csv=1";
 bucket_url="http://commondatastorage.googleapis.com/chromium-browser-official/";
 output_file="$(cd "$(dirname "$0")" && pwd)/sources.nix";
 
diff --git a/pkgs/applications/networking/browsers/firefox/15.0.nix b/pkgs/applications/networking/browsers/firefox/15.0.nix
index 549034963914..cb79f4422eb7 100644
--- a/pkgs/applications/networking/browsers/firefox/15.0.nix
+++ b/pkgs/applications/networking/browsers/firefox/15.0.nix
@@ -15,16 +15,16 @@ assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
 
 rec {
 
-  firefoxVersion = "15.0";
-  
-  xulVersion = "15.0"; # this attribute is used by other packages
+  firefoxVersion = "15.0.1";
+
+  xulVersion = "15.0.1"; # this attribute is used by other packages
+
 
-  
   src = fetchurl {
-    url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
-    sha256 = "12f7dgcksb9d79hj0a8lxn3s81id6l2gd1pb7ls4d60kmgbg05jl";
+    url = "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
+    sha1 = "bdbc4b6656c59b926e18f99b3335484427d08641";
   };
-  
+
   commonConfigureFlags =
     [ "--enable-optimize"
       "--disable-debug"
@@ -40,14 +40,14 @@ rec {
       "--disable-crashreporter"
       "--disable-tests"
       "--disable-necko-wifi" # maybe we want to enable this at some point
-      "--disable-installer" 
+      "--disable-installer"
       "--disable-updater"
     ];
 
 
   xulrunner = stdenv.mkDerivation rec {
     name = "xulrunner-${xulVersion}";
-    
+
     inherit src;
 
     buildInputs =
@@ -65,7 +65,7 @@ rec {
       ] ++ commonConfigureFlags;
 
     enableParallelBuilding = true;
-      
+
     preConfigure =
       ''
         export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
@@ -85,9 +85,9 @@ rec {
       cd $out/bin
       rm xulrunner
 
-      for i in $out/lib/$libDir/*; do 
+      for i in $out/lib/$libDir/*; do
           file $i;
-          if file $i | grep executable &>/dev/null; then 
+          if file $i | grep executable &>/dev/null; then
               echo -e '#! /bin/sh\n"'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
               chmod a+x "$out/bin/$(basename "$i")";
           fi;
@@ -116,7 +116,7 @@ rec {
     inherit src;
 
     enableParallelBuilding = true;
-      
+
     buildInputs =
       [ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
         dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
@@ -142,7 +142,7 @@ rec {
     preConfigure =
       ''
         find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
-          stdenv.lib.concatStringsSep ":" 
+          stdenv.lib.concatStringsSep ":"
             (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
         }' ';'
       '';
@@ -150,19 +150,19 @@ rec {
     postInstall =
       ''
         ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
-        for j in $out/bin/*; do 
-	    i="$(readlink "$j")";
+        for j in $out/bin/*; do
+            i="$(readlink "$j")";
             file $i;
-            if file $i | grep executable &>/dev/null; then 
-	        rm "$out/bin/$(basename "$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;
-	cd "$out/lib/"firefox-*
-	rm firefox
-	echo -e '#!${stdenv.shell}\n${xulrunner}/bin/xulrunner "'"$PWD"'/application.ini" "$@"' > firefox
-	chmod a+x firefox
+        cd "$out/lib/"firefox-*
+        rm firefox
+        echo -e '#!${stdenv.shell}\n${xulrunner}/bin/xulrunner "'"$PWD"'/application.ini" "$@"' > firefox
+        chmod a+x firefox
       ''; # */
 
     meta = {
diff --git a/pkgs/applications/networking/browsers/firefox/12.0.nix b/pkgs/applications/networking/browsers/firefox/16.0.nix
index 97e23d1b8b26..a9a10fbc4ec4 100644
--- a/pkgs/applications/networking/browsers/firefox/12.0.nix
+++ b/pkgs/applications/networking/browsers/firefox/16.0.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
 , libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
 , freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
-, yasm, mesa, sqlite, unzip
+, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
 
 , # If you want the resulting program to call itself "Firefox" instead
   # of "Shiretoko" or whatever, enable this option.  However, those
@@ -15,18 +15,24 @@ assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
 
 rec {
 
-  firefoxVersion = "12.0";
-  
-  xulVersion = "12.0"; # this attribute is used by other packages
+  firefoxVersion = "16.0.2";
+
+  xulVersion = "16.0.2"; # this attribute is used by other packages
+
 
-  
   src = fetchurl {
-    url = "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
-    sha1 = "0177185e54b7d63dc36bd5bd5c80ba6afd52e199";
+    urls = [
+        # It is better to use this url for official releases, to take load off Mozilla's ftp server.
+        "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"
+        # Fall back to this url for versions not available at releases.mozilla.org.
+        "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"
+    ];
+    sha1 = "0ffe96896583e92561b341330ab09ddc50140dd1";
   };
-  
+
   commonConfigureFlags =
     [ "--enable-optimize"
+      #"--enable-profiling"
       "--disable-debug"
       "--enable-strip"
       "--with-system-jpeg"
@@ -40,14 +46,14 @@ rec {
       "--disable-crashreporter"
       "--disable-tests"
       "--disable-necko-wifi" # maybe we want to enable this at some point
-      "--disable-installer" 
+      "--disable-installer"
       "--disable-updater"
     ];
 
 
   xulrunner = stdenv.mkDerivation rec {
     name = "xulrunner-${xulVersion}";
-    
+
     inherit src;
 
     buildInputs =
@@ -55,8 +61,8 @@ rec {
         python dbus dbus_glib pango freetype fontconfig xlibs.libXi
         xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
         alsaLib nspr nss libnotify xlibs.pixman yasm mesa
-        xlibs.libXScrnSaver xlibs.scrnsaverproto
-        xlibs.libXext xlibs.xextproto sqlite unzip
+        xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
+        xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
       ];
 
     configureFlags =
@@ -65,49 +71,39 @@ rec {
       ] ++ commonConfigureFlags;
 
     enableParallelBuilding = true;
-      
-    # Hack to work around make's idea of -lbz2 dependency
+
     preConfigure =
       ''
-        find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
-          stdenv.lib.concatStringsSep ":" 
-            (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
-        }' ';'
-
         export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
-      '';
 
-    # !!! Temporary hack.
-    preBuild =
-      ''
-        export NIX_ENFORCE_PURITY=
-      '';
+        mkdir ../objdir
+        cd ../objdir
+        configureScript=../mozilla-release/configure
+      ''; # */
 
-    installFlags = "SKIP_GRE_REGISTRATION=1";
+    #installFlags = "SKIP_GRE_REGISTRATION=1";
 
     postInstall = ''
-      # Fix some references to /bin paths in the Xulrunner shell script.
-      substituteInPlace $out/bin/xulrunner \
-          --replace /bin/pwd "$(type -tP pwd)" \
-          --replace /bin/ls "$(type -tP ls)"
-
       # Fix run-mozilla.sh search
       libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
       echo libDir: $libDir
       test -n "$libDir"
       cd $out/bin
-      mv xulrunner ../lib/$libDir/
+      rm xulrunner
 
-      for i in $out/lib/$libDir/*; do 
+      for i in $out/lib/$libDir/*; do
           file $i;
-          if file $i | grep executable &>/dev/null; then 
+          if file $i | grep executable &>/dev/null; then
               echo -e '#! /bin/sh\n"'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
               chmod a+x "$out/bin/$(basename "$i")";
           fi;
-      done;
-      for i in $out/lib/$libDir/{xpcshell,plugin-container,*.so}; do
-              patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
-      done;
+      done
+      for i in $out/lib/$libDir/*.so; do
+          patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
+      done
+      for i in $out/lib/$libDir/{plugin-container,xulrunner,xulrunner-stub}; do
+          wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir"
+      done
       rm -f $out/bin/run-mozilla.sh
     ''; # */
 
@@ -126,11 +122,11 @@ rec {
     inherit src;
 
     enableParallelBuilding = true;
-      
+
     buildInputs =
       [ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
         dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
-        xlibs.pixman yasm mesa sqlite file unzip
+        xlibs.pixman yasm mesa sqlite file unzip pysqlite
       ];
 
     propagatedBuildInputs = [xulrunner];
@@ -144,11 +140,15 @@ rec {
       ++ commonConfigureFlags
       ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
 
+    makeFlags = [
+      "SYSTEM_LIBXUL=1"
+    ];
+
     # Hack to work around make's idea of -lbz2 dependency
     preConfigure =
       ''
         find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
-          stdenv.lib.concatStringsSep ":" 
+          stdenv.lib.concatStringsSep ":"
             (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
         }' ';'
       '';
@@ -156,15 +156,19 @@ rec {
     postInstall =
       ''
         ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
-        for j in $out/bin/*; do 
-	    i="$(readlink "$j")";
+        for j in $out/bin/*; do
+            i="$(readlink "$j")";
             file $i;
-            if file $i | grep executable &>/dev/null; then 
-	        rm "$out/bin/$(basename "$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;
+        cd "$out/lib/"firefox-*
+        rm firefox
+        echo -e '#!${stdenv.shell}\n${xulrunner}/bin/xulrunner "'"$PWD"'/application.ini" "$@"' > firefox
+        chmod a+x firefox
       ''; # */
 
     meta = {
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/builder.sh b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/builder.sh
deleted file mode 100644
index b0f8a2638c18..000000000000
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/builder.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-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() {
-    mkdir -p $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-10/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/default.nix
deleted file mode 100644
index ad6867ab5be5..000000000000
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/default.nix
+++ /dev/null
@@ -1,88 +0,0 @@
-{ 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 = "10.3.181.34";
-        url = http://download.macromedia.com/pub/labs/flashplayer10/flashplayer10_2_p3_64bit_linux_111710.tar.gz;
-        sha256 = "1w2zs2f0q1vpx4ia9pj1k4p830dwz7ypyn302mi48wcpz1wzc1gg";
-      }
-    else if stdenv.system == "i686-linux" then
-      if debug then {
-        # The debug version also contains a player
-        version = "10.2_p2-debug-r092710";
-        url = http://download.macromedia.com/pub/labs/flashplayer10/flashplayer_square_p2_32bit_debug_linux_092710.tar.gz;
-        sha256 = "11w3mxa39l4mnlsqzlwbdh1sald549afyqbx2kbid7in5qzamlcc";
-      } else {
-        version = "10.3.183.10";
-        url = http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_10_linux.tar.gz;
-        sha256 = "0fj51dg0aa813b44yn8dvmmvw4qwi8vbi0x8n1bcqrcld3sbpmfz";
-      }
-    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/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
index 260edd360c65..2eb34f68b8b3 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix
@@ -11,8 +11,9 @@
 , libX11
 , libXext
 , libXrender
+, libXcursor
 , libXt
-, gtk 
+, gtk
 , glib
 , pango
 , cairo
@@ -40,11 +41,11 @@ let
         # no plans to provide a x86_64 version:
         # http://labs.adobe.com/technologies/flashplayer10/faq.html
         throw "no x86_64 debugging version available"
-      else {
+      else rec {
         # -> 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";
+        version = "11.2.202.238";
+        url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
+        sha256 = "07d09xjnn2hm877psmv9a6c4cfighxw24p0apq2ykawnrjpjc6zn";
       }
     else if stdenv.system == "i686-linux" then
       if debug then {
@@ -52,10 +53,10 @@ let
         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 rec {
+        version = "11.2.202.238";
+        url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
+        sha256 = "0p05pr4vmc4536axjyljhxhqizq4ihslar8g638dj24251byp7ca";
       }
     else throw "Flash Player is not supported on this platform";
 
@@ -65,7 +66,7 @@ stdenv.mkDerivation {
   name = "flashplayer-${src.version}";
 
   builder = ./builder.sh;
-  
+
   src = fetchurl { inherit (src) url sha256; };
 
   inherit zlib alsaLib;
@@ -76,7 +77,7 @@ stdenv.mkDerivation {
 
   rpath = stdenv.lib.makeLibraryPath
     [ zlib alsaLib curl nss nspr fontconfig freetype expat libX11
-      libXext libXrender libXt gtk glib pango atk cairo gdk_pixbuf
+      libXext libXrender libXcursor libXt gtk glib pango atk cairo gdk_pixbuf
     ];
 
   buildPhase = ":";
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-9/builder.sh b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-9/builder.sh
deleted file mode 100644
index 86ecd2c33453..000000000000
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-9/builder.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-source $stdenv/setup
-
-dontStrip=1
-dontPatchELF=1
-
-sourceRoot=.
-
-installPhase() {
-    mkdir -p $out/lib/mozilla/plugins
-    cp -p 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-9/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-9/default.nix
deleted file mode 100644
index 913aa985583e..000000000000
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-9/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ stdenv
-, fetchurl
-, zlib
-, alsaLib
-, nss
-, nspr
-, fontconfig
-, freetype
-, expat
-, libX11
-, libXext
-, libXrender
-, libXt
-, gtk
-, glib
-, pango
-, atk
-
-, customSrc ? null
-}:
-
-assert stdenv.system == "i686-linux";
-
-stdenv.mkDerivation {
-  name = "flashplayer-9.0.124.0";
-
-  builder = ./builder.sh;
-  src = if customSrc == null then
-    fetchurl {
-      url = http://download.macromedia.com/pub/flashplayer/installers/current/9/install_flash_player_9.tar.gz;
-      sha256 = "1cnsjgmy7rwj3spzb5mmpmvzxjp435jisl0dd8s4rf4xskyy6d6r";
-    }
-  else customSrc;
-
-  inherit zlib alsaLib;
-
-  passthru = {
-    mozillaPlugin = "/lib/mozilla/plugins";
-  };
-
-  rpath = stdenv.lib.makeLibraryPath [zlib alsaLib nss nspr fontconfig freetype expat libX11 libXext libXrender libXt gtk glib pango atk] ;
-
-  meta = {
-    description = "Adobe Flash Player browser plugin";
-    homepage = http://www.adobe.com/products/flashplayer/;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
index a3f255b5d3e5..811847920c5d 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
@@ -45,18 +45,18 @@ in
 
 stdenv.mkDerivation rec {
   name = "google-talk-plugin-${version}";
-  version = "3.5.1.0";
+  version = "3.10.2.0";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb";
-        sha256 = "0ml4yirzdcladw11fq5d8lwqfqgb1fh9vpbzbzmhplvyj6mvkqrj";
+        sha256 = "0ivjmqrxy3xkwqjp20aqz47smdcdds0i82pfyb5k9jywi8afvchr";
       }
     else if stdenv.system == "i686-linux" then
       fetchurl {
         url = "${baseURL}/google-talkplugin_${version}-1_i386.deb";
-        sha256 = "1kfd26zygb76iqnr8n3f7k7n9h5bz0rf716n80crqzyasv51mn57";
+        sha256 = "1bac95r9721sc7fsklsmv0lq673901zppdgabjjarpnx8z280jvj";
       }
     else throw "Google Talk does not support your platform.";
 
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix
new file mode 100644
index 000000000000..5587f3b732ce
--- /dev/null
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.nix
@@ -0,0 +1,36 @@
+{stdenv, fetchurl, which, pkgconfig, file, glib, gtk2, gtk3, curl}:
+let
+  srcData = # Generated upstream information 
+  rec {
+    baseName="nspluginwrapper";
+    version="1.4.4";
+    name="${baseName}-${version}";
+    hash="1fxjz9ifhw0drm12havlsl4jpsq1nv930gqa005kgddv5pa99vgj";
+    url="http://nspluginwrapper.org/download/nspluginwrapper-1.4.4.tar.gz";
+  };
+in
+stdenv.mkDerivation rec {
+  inherit (srcData) name version;
+
+  src = fetchurl{
+    inherit (srcData) url;
+    sha256 = srcData.hash;
+  };
+
+  preConfigure = ''
+    sed -e 's@/usr/bin/@@g' -i configure
+    sed -e '/gthread[.]h/d' -i src/npw-player.c
+    export configureFlags="$configureFlags --target-cpu=$(uname -m)"
+  '';
+
+  buildInputs = [which pkgconfig file glib gtk2 gtk3 curl];
+
+  meta = {
+    description = ''A wrapper to run browser plugins out-of-process'';
+    homepage = "http://nspluginwrapper.org/";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+    inherit (srcData) version;
+  };
+}
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.upstream b/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.upstream
new file mode 100644
index 000000000000..62831613a2e2
--- /dev/null
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/nspluginwrapper/default.upstream
@@ -0,0 +1,4 @@
+name nspluginwrapper
+target default.nix
+url http://nspluginwrapper.org/download/
+version_link /nspluginwrapper-[0-9]+
diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index 8c3cd9f11cd5..d7a8ac51a061 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -13,18 +13,18 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "opera-12.00-1467";
+  name = "opera-12.11-1661";
 
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
-        url = "${mirror}/linux/1200/${name}.i386.linux.tar.xz";
-        sha256 = "d5683f5a4cf0cfd9ce715359b77909c7923c85bcec98513907c1844285356fdc";
+        url = "${mirror}/linux/1211/${name}.i386.linux.tar.xz";
+        sha256 = "0ax2kcnl0hb7fz56c9gcjia3dnwabxl2mq2hvszmbky4i399jlkk";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url = "${mirror}/linux/1200/${name}.x86_64.linux.tar.xz";
-        sha256 = "7c3dbe122b1fd20123f1b48a420dea080cc24ede4183d47d66b383c2b7ca5051";
+        url = "${mirror}/linux/1211/${name}.x86_64.linux.tar.xz";
+        sha256 = "1pnad4kdasrmm27kg6frldipyzcfy1y610rasbqic9frzb9q8dbp";
       }
     else throw "Opera is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";
 
diff --git a/pkgs/applications/networking/browsers/uzbl/default.nix b/pkgs/applications/networking/browsers/uzbl/default.nix
index b85ad0e085eb..4c6458d909fd 100644
--- a/pkgs/applications/networking/browsers/uzbl/default.nix
+++ b/pkgs/applications/networking/browsers/uzbl/default.nix
@@ -3,15 +3,16 @@ let
   fetchgit = a.fetchgit;
 
   buildInputs = with a; [
-    libsoup pkgconfig webkit gtk3 makeWrapper
-    kbproto
+    libsoup pkgconfig webkit gtk makeWrapper
+    kbproto glib pango cairo gdk_pixbuf atk
+    python3
   ];
 in
 rec {
   src = fetchgit {
     url = "https://github.com/Dieterbe/uzbl.git";
-    rev = "dcb3b4e1fcff682b412cfe5875f7054b97380d08";
-    sha256 = "f7b2b2903c01c9cfbd99bd94783002e1580d8092ff6022bb5aed3f999ff6e468";
+    rev = "refs/tags/2012.05.14";
+    sha256 = "1crvikb0qqsx5qb003i4w7ywh72psl37gjslrj5hx2fd2f215l0l";
   };
 
   name = "uzbl-git";
@@ -35,7 +36,7 @@ rec {
       --prefix GIO_EXTRA_MODULES : ${a.glib_networking}/lib/gio/modules
     '';
 
-  installFlags = "PREFIX=$out";
+  installFlags = "PREFIX=$out PYINSTALL_EXTRA=\"--prefix=$out\"";
       
   meta = {
     description = "Tiny externally controllable webkit browser";
diff --git a/pkgs/applications/networking/cluster/hadoop/default.nix b/pkgs/applications/networking/cluster/hadoop/default.nix
index 7d475a675587..ef2f16e31936 100644
--- a/pkgs/applications/networking/cluster/hadoop/default.nix
+++ b/pkgs/applications/networking/cluster/hadoop/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
 
-  name = "hadoop-2.0.1-alpha";
+  name = "hadoop-2.0.2-alpha";
 
   src = fetchurl {
     url = "mirror://apache/hadoop/common/${name}/${name}.tar.gz";
-    sha256 = "4e5f4fa1574ee58fd6d59a220b66578fc2cf62c229120eeed07f2880c86f0e59";
+    sha256 = "1r7ailmqhny3pl5nb8bcblnhckszy6hb9n58kwa3s4b8qfk87gkb";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/networking/esniper/default.nix b/pkgs/applications/networking/esniper/default.nix
index 327e4c4a9c52..8208da621af0 100644
--- a/pkgs/applications/networking/esniper/default.nix
+++ b/pkgs/applications/networking/esniper/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl, curl, coreutils, gawk, bash, which }:
 
 stdenv.mkDerivation {
-  name = "esniper-2.27.0";
+  name = "esniper-2.28.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/esniper/esniper-2-27-0.tgz";
-    sha256 = "0ca9946395be8958d3eb28c9abc4a1a4d4c9134e4b6b3c3816f4631e3be25c02";
+    url = "mirror://sourceforge/esniper/esniper-2-28-0.tgz";
+    sha256 = "c2b0ccb757616b32f2d6cf54a4a5e367405fa7bcd6e6ed11835fe4f8a06a016b";
   };
 
   buildInputs = [openssl curl];
diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix
new file mode 100644
index 000000000000..ba530374c71f
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix
@@ -0,0 +1,45 @@
+{stdenv, fetchurl, zlib, openssl, libre, librem, pkgconfig
+, cairo, mpg123, gstreamer, gst_ffmpeg, gst_plugins_base, gst_plugins_bad
+, gst_plugins_good, alsaLib, SDL, libv4l, celt, libsndfile, srtp, ffmpeg
+, gsm, speex, portaudio, spandsp, libuuid
+}:
+stdenv.mkDerivation rec {
+  version = "0.4.2";
+  name = "baresip-${version}";
+  src=fetchurl {
+    url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
+    sha256 = "3ac15b3d3cf17b2417ba871e7eaaaf41ab10cb30b900adcee357d5e91ea033e7";
+  };
+  buildInputs = [zlib openssl libre librem pkgconfig
+    cairo mpg123 gstreamer gst_ffmpeg gst_plugins_base gst_plugins_bad gst_plugins_good
+    alsaLib SDL libv4l celt libsndfile srtp ffmpeg gsm speex portaudio spandsp libuuid
+    ];
+  makeFlags = [
+    "LIBRE_MK=${libre}/share/re/re.mk"
+    "LIBRE_INC=${libre}/include/re"
+    "LIBRE_SO=${libre}/lib"
+    "LIBREM_PATH=${librem}"
+    ''PREFIX=$(out)''
+    "USE_VIDEO=1"
+
+    "USE_ALSA=1" "USE_AMR=1" "USE_CAIRO=1" "USE_CELT=1" 
+    "USE_CONS=1" "USE_EVDEV=1" "USE_FFMPEG=1"  "USE_GSM=1" "USE_GST=1" 
+    "USE_L16=1" "USE_MPG123=1" "USE_OSS=1" "USE_PLC=1" 
+    "USE_PORTAUDIO=1" "USE_SDL=1" "USE_SNDFILE=1" "USE_SPEEX=1" 
+    "USE_SPEEX_AEC=1" "USE_SPEEX_PP=1" "USE_SPEEX_RESAMP=1" "USE_SRTP=1" 
+    "USE_STDIO=1" "USE_SYSLOG=1" "USE_UUID=1" "USE_V4L2=1" "USE_X11=1"
+
+    "USE_BV32=" "USE_COREAUDIO=" "USE_G711=" "USE_G722=" "USE_G722_1=" 
+    "USE_ILBC=" "USE_OPUS=" "USE_SILK=" 
+  ]
+  ++ stdenv.lib.optional (stdenv.gcc.gcc != null) "SYSROOT_ALT=${stdenv.gcc.gcc}"
+  ++ stdenv.lib.optional (stdenv.gcc.libc != null) "SYSROOT=${stdenv.gcc.libc}"
+  ;
+  NIX_CFLAGS_COMPILE='' -I${librem}/include/rem -I${gsm}/include/gsm '';
+  meta = {
+    homepage = "http://www.creytiv.com/baresip.html";
+    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [raskin];
+    license = with stdenv.lib.licenses; bsd3;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index bca70d14c008..1def7e2b1f01 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -2,19 +2,20 @@ a :
 let 
   fetchurl = a.fetchurl;
 
-  version = a.lib.attrByPath ["version"] "0.14.1" a; 
+  version = a.lib.attrByPath ["version"] "0.15.1" a; 
   buildInputs = with a; [
     python pyGtkGlade gtk perl intltool dbus gettext
     pkgconfig makeWrapper libglade pyopenssl libXScrnSaver
     libXt xproto libXext xextproto libX11 gtkspell aspell
     scrnsaverproto pycrypto pythonDBus pythonSexy 
-    docutils
+    docutils pyasn1 farstream gst_plugins_bad gstreamer
+    gst_ffmpeg gst_python
   ];
 in
 rec {
   src = fetchurl {
-    url = "http://www.gajim.org/downloads/0.14/gajim-${version}.tar.gz";
-    sha256 = "ef757572acf3f3d59408fd95b7ec99bc0e39c5b8c66bc61c78ba65e71c3d8e18";
+    url = "http://www.gajim.org/downloads/0.15/gajim-${version}.tar.gz";
+    sha256 = "b315d4a600da0c5f8248e8f887a41ce2630c49995b36cbad8fb2cd81cc8d2e8b";
   };
 
   inherit buildInputs;
@@ -24,6 +25,7 @@ rec {
     export PYTHONPATH="$PYTHONPATH''${PYTHONPATH:+:}$(toPythonPath ${a.pyGtkGlade})/gtk-2.0"
     export PYTHONPATH="$PYTHONPATH''${PYTHONPATH:+:}$(toPythonPath ${a.pygobject})/gtk-2.0"
     sed -e '/-L[$]x_libraries/d' -i configure
+    sed -e 's@tmpfd.close()@os.close(tmpfd)@' -i src/common/latex.py
   '') ["addInputs" "doUnpack"];
 
   fixScriptNames = a.fullDepEntry (''
@@ -34,11 +36,15 @@ rec {
       name="''${name##*/.}"
       mv "$i" "$out/bin-wrapped/$name"
       sed -e 's^'"$i"'^'"$out/bin-wrapped/$name"'^' -i "$out/bin/$name"
+      sed -e "2aexport LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH\''${LD_LIBRARY_PATH:+:}${a.gtkspell}/lib:${a.gtkspell}/lib64\"" -i "$out/bin/gajim"
+      sed -e "2aexport NIX_LDFLAGS=\"\$NIX_LDFLAGS -L${a.gtkspell}/lib -L${a.gtkspell}/lib64\"" -i "$out/bin/gajim"
+      sed -e "2aexport GST_PLUGIN_PATH=\"\$GST_PLUGIN_PATH''${GST_PLUGIN_PATH:+:}$(echo ${a.gst_plugins_bad}/lib/gstreamer-*):$(echo ${a.gst_ffmpeg}/lib/gstreamer-*):$(echo ${a.farstream}/lib/gstreamer-*)\"" -i "$out/bin/gajim"
     done
   '') ["wrapBinContentsPython"];
 
   /* doConfigure should be removed if not needed */
-  phaseNames = ["preConfigure" (a.doDump "1") "doConfigure" "doMakeInstall" "wrapBinContentsPython" "fixScriptNames"];
+  phaseNames = ["preConfigure" (a.doDump "1") "doConfigure" "doMakeInstall" 
+    "wrapBinContentsPython" "fixScriptNames"];
 
   name = "gajim-" + version;
   meta = {
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
index 5e85c4c26b4d..238e7e50f44f 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
@@ -21,10 +21,10 @@
 } :
 
 stdenv.mkDerivation rec {
-  name = "pidgin-2.10.2";
+  name = "pidgin-2.10.6";
   src = fetchurl {
     url = "mirror://sourceforge/pidgin/${name}.tar.bz2";
-    sha256 = "1f1j9pr7zwpxwbv94510brh69pmwn4v3np12h75pfrnkas8d5kg5";
+    sha256 = "3e25a633b97cbfa8326999a30282e7a662a9b9bbf2853be84af0b8fb60392c96";
   };
 
   inherit nss ncurses;
diff --git a/pkgs/applications/networking/instant-messengers/psi/default.nix b/pkgs/applications/networking/instant-messengers/psi/default.nix
index 2c6ba36c44f1..5750476cc5c1 100644
--- a/pkgs/applications/networking/instant-messengers/psi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/psi/default.nix
@@ -1,28 +1,33 @@
-{ stdenv, fetchurl, aspell, qt4, zlib, sox, libX11, xproto, libSM, 
-  libICE, qca2, pkgconfig, qca2_ossl, liboil, speex, callPackage, which, glib }:
+{ stdenv, fetchurl, aspell, qt4, zlib, sox, libX11, xproto, libSM
+, libICE, qca2, pkgconfig, qca2_ossl, liboil, speex, callPackage, which, glib
+, libXScrnSaver, scrnsaverproto
+}:
 
 stdenv.mkDerivation rec {
-  name = "psi-0.14";
-  
+  name = "psi-0.15";
+
   src = fetchurl {
     url = "mirror://sourceforge/psi/${name}.tar.bz2";
-    sha256 = "1h54a1qryfva187sw9qnb4lv1d3h3lysqgw55v727swvslh4l0da";
+    sha256 = "593b5ddd7934af69c245afb0e7290047fd7dedcfd8765baca5a3a024c569c7e6";
   };
 
-  buildInputs = [aspell qt4 zlib sox libX11 xproto libSM libICE 
-    qca2 qca2_ossl pkgconfig which glib];
+  buildInputs =
+    [ aspell qt4 zlib sox libX11 xproto libSM libICE
+      qca2 qca2_ossl pkgconfig which glib scrnsaverproto libXScrnSaver
+    ];
 
   NIX_CFLAGS_COMPILE="-I${qca2}/include/QtCrypto";
-  
-  NIX_LDFLAGS="-lqca";
 
-  configureFlags =
-    [ " --with-zlib-inc=${zlib}/include "
-      " --disable-bundled-qca"
-    ];
+  NIX_LDFLAGS="-lqca";
 
   psiMedia = callPackage ./psimedia.nix { };
 
+  enableParallelBuilding = true;
+
+  configureFlags = [
+    "--with-aspell-inc=${aspell}/include"
+    ];
+
   postInstall = ''
     PSI_PLUGINS="$out/lib/psi/plugins"
     mkdir -p "$PSI_PLUGINS"
@@ -34,9 +39,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Psi, an XMPP (Jabber) client";
-    maintainers = with stdenv.lib.maintainers;
-      [raskin];
-    platforms = with stdenv.lib.platforms;
-      linux;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/psi/glib-2.32.patch b/pkgs/applications/networking/instant-messengers/psi/glib-2.32.patch
new file mode 100644
index 000000000000..49988c253bdb
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/psi/glib-2.32.patch
@@ -0,0 +1,54 @@
+http://sources2.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-im/psimedia/files/psimedia-1.0.3-glib2.32.patch?view=log
+
+Index: psimedia-1.0.3/gstprovider/gstcustomelements/gstcustomelements.h
+===================================================================
+--- psimedia-1.0.3.orig/gstprovider/gstcustomelements/gstcustomelements.h
++++ psimedia-1.0.3/gstprovider/gstcustomelements/gstcustomelements.h
+@@ -21,7 +21,7 @@
+ #ifndef GSTCUSTOMELEMENTS_H
+ #define GSTCUSTOMELEMENTS_H
+ 
+-#include <glib/gthread.h>
++#include <glib.h>
+ #include <gst/gst.h>
+ #include <gst/base/gstpushsrc.h>
+ #include <gst/video/video.h>
+Index: psimedia-1.0.3/gstprovider/gstelements/static/gstelements.h
+===================================================================
+--- psimedia-1.0.3.orig/gstprovider/gstelements/static/gstelements.h
++++ psimedia-1.0.3/gstprovider/gstelements/static/gstelements.h
+@@ -21,7 +21,7 @@
+ #ifndef PSI_GSTELEMENTS_H
+ #define PSI_GSTELEMENTS_H
+ 
+-#include <glib/gmacros.h>
++#include <glib.h>
+ 
+ G_BEGIN_DECLS
+ 
+Index: psimedia-1.0.3/gstprovider/gstthread.h
+===================================================================
+--- psimedia-1.0.3.orig/gstprovider/gstthread.h
++++ psimedia-1.0.3/gstprovider/gstthread.h
+@@ -22,7 +22,7 @@
+ #define PSI_GSTTHREAD_H
+ 
+ #include <QThread>
+-#include <glib/gmain.h>
++#include <glib.h>
+ 
+ namespace PsiMedia {
+ 
+Index: psimedia-1.0.3/gstprovider/rwcontrol.h
+===================================================================
+--- psimedia-1.0.3.orig/gstprovider/rwcontrol.h
++++ psimedia-1.0.3/gstprovider/rwcontrol.h
+@@ -28,7 +28,7 @@
+ #include <QMutex>
+ #include <QWaitCondition>
+ #include <QTimer>
+-#include <glib/gmain.h>
++#include <glib.h>
+ #include "psimediaprovider.h"
+ #include "rtpworker.h"
+ 
diff --git a/pkgs/applications/networking/instant-messengers/psi/psimedia.nix b/pkgs/applications/networking/instant-messengers/psi/psimedia.nix
index df821da42f20..993a018625e8 100644
--- a/pkgs/applications/networking/instant-messengers/psi/psimedia.nix
+++ b/pkgs/applications/networking/instant-messengers/psi/psimedia.nix
@@ -1,5 +1,5 @@
-{stdenv, fetchurl, qt4, gstreamer, gst_plugins_base, liboil, speex, which
-, glib, pkgconfig}:
+{ stdenv, fetchurl, qt4, gstreamer, gst_plugins_base, liboil, speex, which
+, glib, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "psimedia";
@@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "0fxjdz8afh75gfx2msysb1gss6zx578l3224jvc9jhm99w1ii781";
   };
 
-  buildInputs = [qt4 gstreamer gst_plugins_base liboil speex which glib pkgconfig];
+  patches = [ ./glib-2.32.patch ];
+
+  buildInputs = [ qt4 gstreamer gst_plugins_base liboil speex which glib pkgconfig ];
 
   configurePhase = ''./configure'';
 
diff --git a/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix b/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix
new file mode 100644
index 000000000000..c35101bb874f
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix
@@ -0,0 +1,45 @@
+{stdenv, fetchurl, python, pythonPackages, pygobject, pythonDBus}: 
+stdenv.mkDerivation rec {
+  url = "ftp://ftp.goffi.org/sat/sat-0.2.0.tar.bz2";
+  name = stdenv.lib.nameFromURL url ".tar";
+  src = fetchurl {
+    inherit url;
+    sha256 = "14qqgsgqns1xcp97nd3jcxrq54z1x5a6kimqxy029hh7ys813mf1";
+  };
+
+  buildInputs = with pythonPackages; 
+    [
+      python twisted urwid beautifulsoup wxPython distribute pygobject
+      wokkel pythonDBus pyfeed wrapPython
+    ];
+
+  configurePhase = ''
+    sed -e "s@sys.prefix@'$out'@g" -i setup.py
+    sed -e "1aexport PATH=\"\$PATH\":\"$out/bin\":\"${pythonPackages.twisted}/bin\"" -i src/sat.sh
+    sed -e "1aexport PYTHONPATH=\"\$PYTHONPATHPATH\":\"$PYTHONPATH\":"$out/lib/${python.libPrefix}/site-packages"" -i src/sat.sh
+
+    echo 'import wokkel.muc' | python 
+  '';
+
+  buildPhase = ''
+    python setup.py build
+  '';
+
+  installPhase = ''
+    python setup.py install --prefix="$out" 
+
+    for i in "$out/bin"/*; do
+      head -n 1 "$i" | grep -E '[/ ]python( |$)' && {
+        wrapProgram "$i" --prefix PYTHONPATH : "$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages"
+      } || true 
+    done
+  '';
+  
+  meta = {
+    homepage = "http://sat.goffi.org/";
+    description = "A multi-frontend XMPP client";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [raskin];
+    license = stdenv.lib.licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/skype/default.nix b/pkgs/applications/networking/instant-messengers/skype/default.nix
index ddbba59e1450..7eee9f37ecca 100644
--- a/pkgs/applications/networking/instant-messengers/skype/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skype/default.nix
@@ -5,21 +5,21 @@
 assert stdenv.system == "i686-linux";
 
 stdenv.mkDerivation rec {
-  name = "skype-4.0.0.7";
+  name = "skype-4.0.0.8";
 
   src = fetchurl {
     url = "http://download.skype.com/linux/${name}.tar.bz2";
-    sha256 = "0mrswawqsv53mfghqlj1bzq0jfswha6b0c06px7snd85pd4gn5fn";
+    sha256 = "0gq24rbmjd05ihraarn45rwr79gidnwgllvprzrh5zqx02xll17p";
   };
 
-  buildInputs = 
+  buildInputs =
     lib.optional usePulseAudio pulseaudio ++ [
     alsaLib
-    stdenv.glibc 
+    stdenv.glibc
     stdenv.gcc.gcc
     libXv
-    libXext 
-    libX11 
+    libXext
+    libX11
     qt4
     libXScrnSaver
     libSM
@@ -36,8 +36,8 @@ stdenv.mkDerivation rec {
   phases = "unpackPhase installPhase";
 
   installPhase = ''
-    mkdir -p $out/{opt/skype/,bin}
-    cp -r * $out/opt/skype/
+    mkdir -p $out/{libexec/skype/,bin}
+    cp -r * $out/libexec/skype/
 
     fullPath=
     for i in $buildNativeInputs; do
@@ -45,29 +45,27 @@ stdenv.mkDerivation rec {
     done
 
     dynlinker="$(cat $NIX_GCC/nix-support/dynamic-linker)"
-          
+
     cat > $out/bin/skype << EOF
     #!${stdenv.shell}
     export LD_LIBRARY_PATH=$fullPath:$LD_LIBRARY_PATH
-    $dynlinker $out/opt/skype/skype --resources=$out/opt/skype "\$@"
+    $dynlinker $out/libexec/skype/skype --resources=$out/libexec/skype "\$@"
     EOF
 
     chmod +x $out/bin/skype
 
-    # Desktop icon for Skype
-    patch skype.desktop << EOF
-    5c5
-    < Icon=skype.png
-    ---
-    > Icon=$out/opt/skype/icons/SkypeBlue_48x48.png
-    EOF
+    # Fixup desktop file
+    substituteInPlace skype.desktop --replace \
+      "Icon=skype.png" "Icon=$out/libexec/skype/icons/SkypeBlue_48x48.png"
+    substituteInPlace skype.desktop --replace \
+      "Terminal=0" "Terminal=false"
     mkdir -p $out/share/applications
     mv skype.desktop $out/share/applications
   '';
 
   meta = {
-      description = "A P2P-VoiceIP client";
-      homepage = http://www.skype.com;
-      license = "skype-eula";
+    description = "A proprietary voice-over-IP (VoIP) client";
+    homepage = http://www.skype.com/;
+    license = "unfree";
   };
 }
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index a891c145b76d..eb1a9c4474f4 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -2,12 +2,12 @@
 , zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile }:
 
 stdenv.mkDerivation rec {
-  version = "0.3.8";
+  version = "0.3.9";
   name = "weechat-${version}";
 
   src = fetchurl {
     url = "http://weechat.org/files/src/${name}.tar.gz";
-    sha256 = "4293eb9d29f11b8ee8c301049d57e535acbea677bc1dc41ab12fe1bb8af0f10e";
+    sha256 = "8666c788cbb212036197365df3ba3cf964a23e4f644d76ea51d66dbe3be593bb";
   };
 
   buildInputs = 
diff --git a/pkgs/applications/networking/irc/xchat/default.nix b/pkgs/applications/networking/irc/xchat/default.nix
index 4b9cef2d5011..1999bd030cbc 100644
--- a/pkgs/applications/networking/irc/xchat/default.nix
+++ b/pkgs/applications/networking/irc/xchat/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation {
   buildInputs = [pkgconfig tcl gtk];
   configureFlags = "--disable-nls";
 
+  patches = [ ./glib-top-level-header.patch ];
+
   meta = {
     description = "IRC client using GTK";
     homepage = http://www.xchat.org;
diff --git a/pkgs/applications/networking/irc/xchat/glib-top-level-header.patch b/pkgs/applications/networking/irc/xchat/glib-top-level-header.patch
new file mode 100644
index 000000000000..b1413b357537
--- /dev/null
+++ b/pkgs/applications/networking/irc/xchat/glib-top-level-header.patch
@@ -0,0 +1,75 @@
+diff -Naur xchat-2.8.8-orig/src/common/dbus/dbus-plugin.c xchat-2.8.8/src/common/dbus/dbus-plugin.c
+--- xchat-2.8.8-orig/src/common/dbus/dbus-plugin.c	2009-08-16 05:40:15.000000000 -0400
++++ xchat-2.8.8/src/common/dbus/dbus-plugin.c	2012-07-15 23:07:33.678948703 -0400
+@@ -24,7 +24,7 @@
+ #include <config.h>
+ #include <dbus/dbus-glib.h>
+ #include <dbus/dbus-glib-lowlevel.h>
+-#include <glib/gi18n.h>
++#include <glib.h>
+ #include "../xchat-plugin.h"
+ 
+ #define PNAME _("remote access")
+diff -Naur xchat-2.8.8-orig/src/common/modes.c xchat-2.8.8/src/common/modes.c
+--- xchat-2.8.8-orig/src/common/modes.c	2010-05-29 21:52:18.000000000 -0400
++++ xchat-2.8.8/src/common/modes.c	2012-07-15 23:07:33.654948723 -0400
+@@ -20,7 +20,7 @@
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <glib.h>
+-#include <glib/gprintf.h>
++#include <glib.h>
+ 
+ #include "xchat.h"
+ #include "xchatc.h"
+diff -Naur xchat-2.8.8-orig/src/common/servlist.c xchat-2.8.8/src/common/servlist.c
+--- xchat-2.8.8-orig/src/common/servlist.c	2010-05-16 03:24:26.000000000 -0400
++++ xchat-2.8.8/src/common/servlist.c	2012-07-15 23:07:33.643948732 -0400
+@@ -24,7 +24,7 @@
+ #include <unistd.h>
+ 
+ #include "xchat.h"
+-#include <glib/ghash.h>
++#include <glib.h>
+ 
+ #include "cfgfiles.h"
+ #include "fe.h"
+diff -Naur xchat-2.8.8-orig/src/common/text.c xchat-2.8.8/src/common/text.c
+--- xchat-2.8.8-orig/src/common/text.c	2010-05-29 22:14:41.000000000 -0400
++++ xchat-2.8.8/src/common/text.c	2012-07-15 23:07:33.671948706 -0400
+@@ -28,7 +28,7 @@
+ #include <sys/mman.h>
+ 
+ #include "xchat.h"
+-#include <glib/ghash.h>
++#include <glib.h>
+ #include "cfgfiles.h"
+ #include "chanopt.h"
+ #include "plugin.h"
+diff -Naur xchat-2.8.8-orig/src/common/util.c xchat-2.8.8/src/common/util.c
+--- xchat-2.8.8-orig/src/common/util.c	2009-08-16 05:40:16.000000000 -0400
++++ xchat-2.8.8/src/common/util.c	2012-07-15 23:07:33.649948724 -0400
+@@ -39,7 +39,7 @@
+ #include <errno.h>
+ #include "xchat.h"
+ #include "xchatc.h"
+-#include <glib/gmarkup.h>
++#include <glib.h>
+ #include <ctype.h>
+ #include "util.h"
+ #include "../../config.h"
+diff -Naur xchat-2.8.8-orig/src/common/xchat.h xchat-2.8.8/src/common/xchat.h
+--- xchat-2.8.8-orig/src/common/xchat.h	2009-08-16 05:40:16.000000000 -0400
++++ xchat-2.8.8/src/common/xchat.h	2012-07-15 23:08:20.855910521 -0400
+@@ -1,10 +1,6 @@
+ #include "../../config.h"
+ 
+-#include <glib/gslist.h>
+-#include <glib/glist.h>
+-#include <glib/gutils.h>
+-#include <glib/giochannel.h>
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+ #include <time.h>			/* need time_t */
+ 
+ #ifndef XCHAT_H
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index 5364bd445e67..fa006dc5f0db 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -14,6 +14,13 @@ assert headerCache -> gdbm != null;
 assert sslSupport -> openssl != null;
 assert saslSupport -> cyrus_sasl != null;
 
+let
+  gpgmePatch = fetchurl {
+    # Solution for gpgme >= 1.2: http://dev.mutt.org/trac/ticket/3300
+    url = "http://dev.mutt.org/trac/raw-attachment/ticket/3300/mutt-1.5.21-gpgme-init.patch";
+    sha256 = "1qa1c8gns4q3as1h2lk3x4di2k3hr804ar7xlc6xh9r0zjhzmlk4";
+  };
+in
 stdenv.mkDerivation rec {
   name = "mutt-1.5.21";
   
@@ -22,6 +29,8 @@ stdenv.mkDerivation rec {
     sha256 = "1864cwz240gh0zy56fb47qqzwyf6ghg01037rb4p2kqgimpg6h91";
   };
 
+  patches = [ (if gpgmeSupport then gpgmePatch else null) ];
+
   buildInputs = [
     ncurses which perl
     (if headerCache then gdbm else null)
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 266035aa1bd3..c518f0430ff3 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "notmuch-0.13.2";
+  name = "notmuch-0.14";
 
   src = fetchurl {
     url = "http://notmuchmail.org/releases/${name}.tar.gz";
-    sha256 = "75ec5f5d04bb7e3a8cc6224859b691f704a2a35f2f6027ffb674e829268f1d68";
+    sha256 = "0lx7kkrsg401zrgj8s4ziqds1jsha3szsh44v57mq4pkq0fijph9";
   };
 
   buildInputs = [ bash emacs gdb glib gmime gnupg1 pkgconfig talloc xapian ];
diff --git a/pkgs/applications/networking/mailreaders/sylpheed/default.nix b/pkgs/applications/networking/mailreaders/sylpheed/default.nix
index de0465622746..bf9e19642b83 100644
--- a/pkgs/applications/networking/mailreaders/sylpheed/default.nix
+++ b/pkgs/applications/networking/mailreaders/sylpheed/default.nix
@@ -5,25 +5,31 @@
 , gpgme ? null
 }:
 
+with stdenv.lib;
+
 assert sslSupport -> openssl != null;
 assert gpgSupport -> gpgme != null;
 
 stdenv.mkDerivation {
-  name = "sylpheed-2.7.1";
+  name = "sylpheed-3.2";
 
   src = fetchurl {
-    url = http://sylpheed.sraoss.jp/sylpheed/v2.7/sylpheed-2.7.1.tar.bz2;
-    sha256 = "08sfz159y8hi3lky98m6p4nkfiima749lza8gf3s3vp2niylbdlb";
+    url = http://sylpheed.sraoss.jp/sylpheed/v3.2/sylpheed-3.2.0.tar.bz2;
+    sha256 = "1cdjwn1f8rgcxzfxj7j7qvacmaw4zfhnip81q4n5lj5d6rj7rssa";
   };
 
-  buildInputs = [
-    pkgconfig gtk
-    (if sslSupport then openssl else null)
-    (if gpgSupport then gpgme else null)
-  ];
+  buildInputs =
+    [ pkgconfig gtk ]
+    ++ optional sslSupport openssl
+    ++ optional gpgSupport gpgme;
 
-  configureFlags = [
-    (if sslSupport then "--enable-ssl" else null)
-  ];
+  configureFlags = optionalString sslSupport "--enable-ssl";
 
+  meta = {
+    homepage = http://sylpheed.sraoss.jp/en/;
+    description = "A lightweight and user-friendly e-mail client";
+    maintainers = [ maintainers.eelco ];
+    platforms = platforms.linux;
+    license = "GPL";
+  };
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/11.x.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index 0c8ba4b05ff1..1d5bcfa5b9bb 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/11.x.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -2,6 +2,7 @@
 , libIDL, dbus_glib, bzip2, alsaLib, nspr, yasm, mesa, nss
 , libnotify, cairo, pixman, fontconfig
 , libjpeg
+, pythonPackages
 
 , # If you want the resulting program to call itself "Thunderbird"
   # instead of "Shredder", enable this option.  However, those
@@ -9,47 +10,26 @@
   # Mozilla Foundation, see
   # http://www.mozilla.org/foundation/trademarks/.
   enableOfficialBranding ? false
-
 }:
 
-let version = "11.0.1";
-
-    # This patch may become necessary when we use a more recent version of libpng
-    # for now, it's actually not needed
-    # pngPatch = fetchurl {
-    #   url = http://www.linuxfromscratch.org/patches/blfs/svn/thunderbird-9.0.1-libpng-1.5-1.patch;
-    #   sha256 = "8454bdde3be8dc37c9f5e6f597914f0a585ff4b357d3fc86c6c9f80208b6068d";
-    # };
-in
+let version = "16.0.2"; in
 
 stdenv.mkDerivation {
   name = "thunderbird-${version}";
 
   src = fetchurl {
-    url = "http://releases.mozilla.org/pub/mozilla.org/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.bz2";
-    sha1 = "037344b451b1c031472d92f96d401b15d8e3e7d3";
+    url = "ftp://ftp.mozilla.org/pub/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.bz2";
+    sha1 = "842d852b31a388d4cf3ac59bc89e8611474e2ec7";
   };
 
   enableParallelBuilding = true;
 
   buildInputs =
     [ pkgconfig perl python zip unzip bzip2 gtk dbus_glib alsaLib libIDL nspr
-      libnotify cairo pixman fontconfig yasm mesa /* nss */
-      libjpeg
+      libnotify cairo pixman fontconfig yasm mesa nss
+      libjpeg pythonPackages.sqlite3
     ];
 
-  # fix some paths in pngPatch
-  # prePatch = ''
-  #   substitute ${pngPatch} png.patch --replace "mozilla-release/modules/" "comm-release/mozilla/modules/"
-  #   '';
-
-  patches = [
-    # "png.patch" # produced by postUnpack
-
-    # Fix weird dependencies such as a so file which depends on "-lpthread".
-    # ./thunderbird-build-deps.patch
-  ];
-
   configureFlags =
     [ "--enable-application=mail"
       "--enable-optimize"
@@ -58,11 +38,13 @@ stdenv.mkDerivation {
       "--enable-strip"
       "--with-pthreads"
       "--with-system-jpeg"
-      # "--with-system-png"  # png 1.5.x not merged in nixpkgs yet
+      #"--with-system-png"
       "--with-system-zlib"
       "--with-system-bz2"
       "--with-system-nspr"
-      "--enable-system-cairo"
+      "--with-system-nss"
+      # Broken: https://bugzilla.mozilla.org/show_bug.cgi?id=722975
+      #"--enable-system-cairo"
       "--disable-crashreporter"
       "--disable-necko-wifi"
       "--disable-webm"
@@ -84,10 +66,7 @@ stdenv.mkDerivation {
 
   postInstall =
     ''
-      # Fix some references to /bin paths in the Xulrunner shell script.
-      substituteInPlace $out/lib/thunderbird-*/thunderbird \
-          --replace /bin/pwd "$(type -tP pwd)" \
-          --replace /bin/ls "$(type -tP ls)"
+      rm -rf $out/include $out/lib/thunderbird-devel-* $out/share/idl
 
       # Create a desktop item.
       mkdir -p $out/share/applications
@@ -109,7 +88,7 @@ stdenv.mkDerivation {
       # Official branding implies thunderbird name and logo cannot be reuse,
       # see http://www.mozilla.org/foundation/licensing.html
       if enableOfficialBranding then licenses.proprietary else licenses.mpl11;
-    maintainers = with maintainers; [ pierron ];
-    platforms = with platforms; linux;
+    maintainers = maintainers.pierron;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/p2p/mldonkey/default.nix b/pkgs/applications/networking/p2p/mldonkey/default.nix
index f86901d5ddec..2f739b056d4f 100644
--- a/pkgs/applications/networking/p2p/mldonkey/default.nix
+++ b/pkgs/applications/networking/p2p/mldonkey/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, ocaml, zlib, bzip2, ncurses, file, gd, libpng }:
 
 stdenv.mkDerivation (rec {
-  name = "mldonkey-3.1.1";
+  name = "mldonkey-3.1.3";
   
   src = fetchurl {
     url = "mirror://sourceforge/mldonkey/${name}.tar.bz2";
-    sha256 = "1cj0xvfx03jnpifcqxcgfjhkl3f70r86d8zn2flj9wvlnam98qlr";
+    sha256 = "1qnr0qzliw4aynf2zhmm5hmrc9bd5vhdq3bi8n88j4nc86gry9bw";
   };
   
   meta = {
@@ -15,9 +15,9 @@ stdenv.mkDerivation (rec {
 
   buildInputs = [ ocaml zlib ncurses bzip2 file gd libpng ];
   configureFlags = [ "--disable-gui" ];
-} // (if (stdenv.system != "i686-linux" && stdenv.system != "x86_64-linux") then
+} // (if !ocaml.nativeCompilers then
 {
-  # Byte code compilation (the ocaml opt compiler is not supported in many platforms)
+  # Byte code compilation (the ocaml opt compiler is not supported in some platforms)
   buildPhase = "make mlnet.byte";
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/networking/remote/putty/default.nix b/pkgs/applications/networking/remote/putty/default.nix
index 5fa1aefe7b02..e35f8c739c54 100644
--- a/pkgs/applications/networking/remote/putty/default.nix
+++ b/pkgs/applications/networking/remote/putty/default.nix
@@ -1,7 +1,8 @@
-{ stdenv, fetchsvn, ncurses, gtk, pkgconfig, autoconf, automake, perl, halibut }:
+{ stdenv, fetchsvn, ncurses, gtk, pkgconfig, autoconf, automake, perl, halibut
+, libtool }:
  
 let
-  rev = 8934;
+  rev = 9690;
 in
 stdenv.mkDerivation {
   name = "putty-${toString rev}";
@@ -10,10 +11,11 @@ stdenv.mkDerivation {
   preConfigure = ''
     perl mkfiles.pl
     ( cd doc ; make );
+    sed '/AM_PATH_GTK(/d' -i unix/configure.ac
+    sed '/AC_OUTPUT/iAM_PROG_CC_C_O' -i unix/configure.ac
+    sed '/AC_OUTPUT/iAM_PROG_AR' -i unix/configure.ac
+    ./mkauto.sh
     cd unix
-    sed '/AM_PATH_GTK(/d' -i configure.ac
-    cp ${automake}/share/automake-*/install-sh .
-    autoreconf -vf
   '';
   
   # The hash is going to change on new snapshot.
@@ -21,8 +23,8 @@ stdenv.mkDerivation {
   src = fetchsvn {
     url = svn://svn.tartarus.org/sgt/putty;
     rev = rev;
-    sha256 = "f5d9870dde7166afd277f7501914c6515b35ee7bb42965ccd22fe977ee5d1b0d";
+    sha256 = "e1fb49766e0724a12776ec3d6cd0bd420e03ebdc3383a01a12dbfd30983f81ef";
   };
 
-  buildInputs = [ gtk ncurses pkgconfig autoconf automake perl halibut ];
+  buildInputs = [ gtk ncurses pkgconfig autoconf automake perl halibut libtool ];
 }
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index aca0203ca6c9..a5f0ddea28f6 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -4,14 +4,14 @@
 }:
 
 let
-  version = "1.6.2";
+  version = "1.8.3";
 in
 stdenv.mkDerivation {
   name = "wireshark-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/wireshark/wireshark-${version}.tar.bz2";
-    sha256 = "0zqy8ws05xz36y49azf5lrwzgfz26h7f8d27xjc89hlqrqagahsk";
+    sha256 = "1crg59kkxb7lw1wpfg52hd4l00hq56pyg7f40c7sgqmm0vsmza43";
   };
 
   buildInputs = [perl pkgconfig gtk libpcap flex bison gnutls libgcrypt
diff --git a/pkgs/applications/networking/umurmur/default.nix b/pkgs/applications/networking/umurmur/default.nix
new file mode 100644
index 000000000000..7c731874a5f5
--- /dev/null
+++ b/pkgs/applications/networking/umurmur/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, openssl, protobufc, libconfig }:
+
+stdenv.mkDerivation rec {
+  name = "umurmur-0.2.10";
+  
+  src = fetchurl {
+    url = "http://umurmur.googlecode.com/files/${name}.tar.gz";
+    sha256 = "0c990jvm73a6lajr1qlzw0p6nkshkh2nqwjmz2sq79pj0hm9ckvy";
+  };
+  
+  buildInputs = [ openssl protobufc libconfig ];
+
+  configureFlags = "--with-ssl=openssl";
+
+  meta = {
+    description = "Minimalistic Murmur (Mumble server)";
+    license = "BSD";
+    homepage = http://code.google.com/p/umurmur/;
+  };
+}
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index a2c3ed5d6bae..26879a6f660f 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -9,11 +9,11 @@
  */
 
 stdenv.mkDerivation rec {
-  name = "gnucash-2.4.10";
+  name = "gnucash-2.4.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnucash/${name}.tar.bz2";
-    sha256 = "1k76b6hnsmljggxsq5l9w94krfmhx58ij8jcxf72p0ddnlimdrjj";
+    sha256 = "0qbpgd6spclkmwryi66cih0igi5a6pmsnk41mmnscpfpz1mddhwk";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/office/openoffice/libreoffice-srcs.nix b/pkgs/applications/office/openoffice/libreoffice-srcs.nix
index 47630e5cfdf3..357b703d84d6 100644
--- a/pkgs/applications/office/openoffice/libreoffice-srcs.nix
+++ b/pkgs/applications/office/openoffice/libreoffice-srcs.nix
@@ -64,6 +64,10 @@
   md5 = "0be45d54cc5e1c2e3102e32b8c190346";
 }
 {
+  name = "liberation-fonts-ttf-2.00.0.tar.gz";
+  md5 = "cfbf1ac6f61bf6cf45342a0cc9381be5";
+}
+{
   name = "swingExSrc.zip";
   md5 = "35c94d2df8893241173de1d16b6034c0";
 }
diff --git a/pkgs/applications/office/openoffice/libreoffice.nix b/pkgs/applications/office/openoffice/libreoffice.nix
index d336266ccaf1..065f439427cf 100644
--- a/pkgs/applications/office/openoffice/libreoffice.nix
+++ b/pkgs/applications/office/openoffice/libreoffice.nix
@@ -16,10 +16,10 @@ let
   langsSpaces = stdenv.lib.concatStringsSep " " langs;
   major = "3";
   minor = "6";
-  patch = "1";
+  patch = "2";
   tweak = "2";
   subdir = "${major}.${minor}.${patch}";
-  version = "${subdir}.${tweak}";
+  version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
   fetchThirdParty = {name, md5}: fetchurl {
     inherit name md5;
     url = "http://dev-www.libreoffice.org/src/${md5}-${name}";
@@ -36,17 +36,17 @@ let
       }) ] ++ (map fetchThirdParty (import ./libreoffice-srcs.nix));
     translations = fetchSrc {
       name = "translations";
-      sha256 = "0id4ad8h3fl4s2ax6r4w4af74xvagkv0qwy50f483lqq3a3pl7fl";
+      sha256 = "a6ef65d5acfe9be19a3d4d743cd23a1017733f651ffc57f5773a24704a282c33";
     };
 
     help = fetchSrc {
       name = "help";
-      sha256 = "0jd3l3rkhmdvrvgklkmrh9zsg9hlv3vhy6s97fnzhpzr90sjqrs1";
+      sha256 = "55ec6ef5eef4bbf2298c3b864f67c8424ebb5ccbe7bcd6ca59abba2867989e31";
     };
 
     core = fetchSrc {
       name = "core";
-      sha256 = "12zc0zviy1p3gk1v5nm4ks4rzscn68lpnl3kis4q693zhsk8jyh3";
+      sha256 = "5ec07ffacec09c4dcee9246cb132f7a59a618b395835e781735fd61bf47e8d37";
     };
   };
 in
diff --git a/pkgs/applications/science/astronomy/gravit/default.nix b/pkgs/applications/science/astronomy/gravit/default.nix
index 388e65c9f753..820b4fb2979a 100644
--- a/pkgs/applications/science/astronomy/gravit/default.nix
+++ b/pkgs/applications/science/astronomy/gravit/default.nix
@@ -1,24 +1,16 @@
-{ stdenv, fetchurl, SDL, SDL_ttf, SDL_image, mesa, lua5_0 }:
+{ stdenv, fetchurl, SDL, SDL_ttf, SDL_image, mesa, lua5_1, automake, autoconf }:
 
-let
-  name = "gravit-0.4.2";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  name = "gravit-0.5.0";
 
   src = fetchurl {
-    url = "http://gravit.slowchop.com/dist/${name}.tar.gz";
-    sha256 = "f37f3ac256a4acbf575f709addaae8cb01eda4f85537affa28c45f2df6fddb07";
+    url = "http://gravit.slowchop.com/media/downloads/${name}.tgz";
+    sha256 = "0lyw0skrkb04s16vgz7ggswjrdxk1h23v5s85s09gjxzjp1xd3xp";
   };
 
-  buildInputs = [mesa SDL SDL_ttf SDL_image lua5_0];
+  buildInputs = [mesa SDL SDL_ttf SDL_image lua5_1 automake autoconf];
 
-  configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3";
-
-  postInstall = ''
-    mv $out/etc/gravit $out/share/gravit/sample-config
-    rmdir $out/etc
-  '';
+  preConfigure = "sh autogen.sh";
 
   meta = {
     homepage = "http://gravit.slowchop.com";
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index b651370db216..e890ee58307c 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -1,28 +1,24 @@
 {stdenv, fetchurl, cmake, freetype, libpng, mesa, gettext, openssl, qt4, perl, libiconv}:
 
 let
-  name = "stellarium-0.11.3";
+  name = "stellarium-0.11.4";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://sourceforge/stellarium/${name}.tar.gz";
-    sha256 = "f7c7eeaefcdc54c0fb8766f09e0c838acb742719adcdf12a6c1e12d55ecd6ac3";
+    sha256 = "8ad5e9878eb36c2c27f4754dcfc69279123e0eae02cc388074e3cf9b23746535";
   };
 
   buildInputs = [ cmake freetype libpng mesa gettext openssl qt4 perl libiconv ];
 
-  preConfigure = ''
-    sed -i -e '/typedef void (\*__GLXextFuncPtr)(void);/d' src/core/external/GLee.h
-  '';
-
   enableParallelBuilding = true;
 
   meta = {
-    description = "an free open source planetarium";
-    homepage = http://stellarium.org/;
-    license = "GPL2";
+    description = "Free open-source planetarium";
+    homepage = "http://stellarium.org/";
+    license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.linux; # should be mesaPlatforms, but we don't have qt on darwin
     maintainers = [ stdenv.lib.maintainers.simons ];
diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix
index 9da451849788..d90c66329162 100644
--- a/pkgs/applications/science/electronics/kicad/default.nix
+++ b/pkgs/applications/science/electronics/kicad/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Free Software EDA Suite";
-    homepage = http://kicad.sourceforge.net;
+    homepage = "http://www.kicad-pcb.org/";
     license = "GPLv2";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/applications/science/electronics/ngspice/default.nix b/pkgs/applications/science/electronics/ngspice/default.nix
index c7ddceb6b87d..70153eee61b4 100644
--- a/pkgs/applications/science/electronics/ngspice/default.nix
+++ b/pkgs/applications/science/electronics/ngspice/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, readline, bison, libX11, libICE, libXaw, libXext}:
 
 stdenv.mkDerivation {
-  name = "ng-spice-rework-21";
+  name = "ng-spice-rework-24";
 
   src = fetchurl {
-    url = mirror://sourceforge/ngspice/ng-spice-rework-21.tar.gz;
-    sha256 = "1hmvfl33dszy8xgbixx0zmiz4rdzjhl7lwlwm953jibd4dgx42j5";
+    url = "mirror://sourceforge/ngspice/ngspice-24.tar.gz";
+    sha256 = "0rgh75hbqrsljz767whbj65wi6369yc286v0qk8jxnv2da7p9ll6";
   };
 
   buildInputs = [ readline libX11 bison libICE libXaw libXext ];
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "The Next Generation Spice (Electronic Circuit Simulator).";
-    homepage = http://ngspice.sourceforge.net;
+    homepage = "http://ngspice.sourceforge.net";
     license = ["BSD" "GPLv2"];
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/applications/science/electronics/qfsm/default.nix b/pkgs/applications/science/electronics/qfsm/default.nix
new file mode 100644
index 000000000000..0f24784e9e57
--- /dev/null
+++ b/pkgs/applications/science/electronics/qfsm/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, qt4, cmake, graphviz, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "qfsm-0.53.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/qfsm/${name}-Source.tar.bz2";
+    sha256 = "1fx99dyai8zhs8s6mbr1i1467mnv1pf0ymh6mr0jm68mzj2jyzx4";
+  };
+
+  buildInputs = [ qt4 cmake graphviz pkgconfig ];
+
+  patches = [ ./drop-hardcoded-prefix.patch ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Graphical editor for finite state machines";
+    homepage = "http://qfsm.sourceforge.net/";
+    license = stdenv.lib.licenses.gpl3Plus;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/science/electronics/qfsm/drop-hardcoded-prefix.patch b/pkgs/applications/science/electronics/qfsm/drop-hardcoded-prefix.patch
new file mode 100644
index 000000000000..965d67ac5526
--- /dev/null
+++ b/pkgs/applications/science/electronics/qfsm/drop-hardcoded-prefix.patch
@@ -0,0 +1,20 @@
+diff -ubrw qfsm-0.53.0-Source-orig/CMakeLists.txt qfsm-0.53.0-Source-new/CMakeLists.txt
+--- qfsm-0.53.0-Source-orig/CMakeLists.txt	2012-11-11 20:13:01.935856229 +0100
++++ qfsm-0.53.0-Source-new/CMakeLists.txt	2012-11-11 20:13:24.962930007 +0100
+@@ -406,10 +406,6 @@
+ 
+ 
+ IF(UNIX AND NOT WIN32)
+-  SET(CMAKE_INSTALL_PREFIX "/usr")
+-ENDIF(UNIX AND NOT WIN32)
+-
+-IF(UNIX AND NOT WIN32)
+   ADD_DEFINITIONS(-DQFSM_LANGUAGE_DIR="${CMAKE_INSTALL_PREFIX}/share/qfsm/")
+   ADD_DEFINITIONS(-DQFSM_HELP_DIR="${CMAKE_INSTALL_PREFIX}/share/doc/qfsm/")
+ ELSE(UNIX AND NOT WIN32)
+@@ -472,5 +468,3 @@
+     )
+ 
+ ENDIF(UNIX AND NOT WIN32)
+-
+-
diff --git a/pkgs/applications/science/electronics/tkgate/1.x.nix b/pkgs/applications/science/electronics/tkgate/1.x.nix
new file mode 100644
index 000000000000..7c04c85fdb7e
--- /dev/null
+++ b/pkgs/applications/science/electronics/tkgate/1.x.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, tcl, tk, libX11, libiconvOrLibc, which, yacc, flex, imake, xproto, gccmakedep }:
+
+assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
+
+stdenv.mkDerivation rec {
+  name = "tkgate-1.8.7";
+
+  src = fetchurl {
+    url = "http://www.tkgate.org/downloads/${name}.tgz";
+    sha256 = "1pqywkidfpdbj18i03h97f4cimld4fb3mqfy8jjsxs12kihm18fs";
+  };
+
+  buildInputs = [ tcl tk libX11 libiconvOrLibc which yacc flex imake xproto gccmakedep ];
+
+  patchPhase = ''
+    sed -i config.h \
+      -e 's|.*#define.*TKGATE_TCLTK_VERSIONS.*|#define TKGATE_TCLTK_VERSIONS "8.5"|' \
+      -e 's|.*#define.*TKGATE_INCDIRS.*|#define TKGATE_INCDIRS "${tcl}/include ${tk}/include ${libiconvOrLibc}/include ${libX11}/include"|' \
+      -e 's|.*#define.*TKGATE_LIBDIRS.*|#define TKGATE_LIBDIRS "${tcl}/lib ${tk}/lib ${libiconvOrLibc}/lib ${libX11}/lib"|' \
+      \
+      -e '20 i #define TCL_LIBRARY "${tcl}/lib"' \
+      -e '20 i #define TK_LIBRARY "${tk}/lib/${tk.libPrefix}"' \
+      -e '20 i #define USE_ICONV 1' \
+      \
+      -e "s|.*#define.*TKGATE_HOMEDIRBASE.*|#define TKGATE_HOMEDIRBASE \\\"$out/lib\\\"|" \
+      -e "s|.*#define.*TKGATE_BINDIR.*|#define TKGATE_BINDIR \\\"$out/bin\\\"|" \
+      -e "s|.*#define.*TKGATE_MANDIR.*|#define TKGATE_MANDIR \\\"$out/share/man/man1\\\"|" \
+      -e "s|file:/usr/X11R6/lib/tkgate-|file://$out/lib/tkgate-|"
+  '';
+
+  meta = {
+    description = "Event driven digital circuit simulator with a TCL/TK-based graphical editor";
+    homepage = "http://www.tkgate.org/";
+    license = "GPLv2+";
+    maintainers = [ stdenv.lib.maintainers.simons ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/science/electronics/tkgate/2.x.nix b/pkgs/applications/science/electronics/tkgate/2.x.nix
new file mode 100644
index 000000000000..756fe7052d83
--- /dev/null
+++ b/pkgs/applications/science/electronics/tkgate/2.x.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, tcl, tk, libX11, libiconvOrLibc }:
+
+assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
+
+stdenv.mkDerivation rec {
+  name = "tkgate-2.0-b10";
+
+  src = fetchurl {
+    url = "http://www.tkgate.org/downloads/${name}.tgz";
+    sha256 = "0mr061xcwjmd8nhyjjcw2dzxqi53hv9xym9xsp0cw98knz2skxjf";
+  };
+
+  buildInputs = [ tcl tk libX11 ];
+
+  dontStrip = true;
+
+  patchPhase = ''
+    sed -i configure \
+      -e 's|TKGATE_INCDIRS=.*|TKGATE_INCDIRS="${tcl}/include ${tk}/include ${libiconvOrLibc}/include"|' \
+      -e 's|TKGATE_LIBDIRS=.*|TKGATE_LIBDIRS="${tcl}/lib ${tk}/lib ${libiconvOrLibc}/lib"|'
+    sed -i options.h \
+      -e 's|.* #define TCL_LIBRARY .*|#define TCL_LIBRARY "${tcl}/${tcl.libdir}"|' \
+      -e 's|.* #define TK_LIBRARY .*|#define TK_LIBRARY "${tk}/lib/${tk.libPrefix}"|'
+  '';
+
+  meta = {
+    description = "Event driven digital circuit simulator with a TCL/TK-based graphical editor";
+    homepage = "http://www.tkgate.org/";
+    license = "GPLv2+";
+    maintainers = [ stdenv.lib.maintainers.simons ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix
index 41c21f94b011..18d145b6dde2 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.27.0";
+  version = "5.28.0";
 
   searchPath =
     stdenv.lib.makeSearchPath "bin"
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
-    sha256 = "9006803714f1385221c4395697fad53f125a13d29b50b188d045d08e25f8dca7";
+    sha256 = "d73e925f0116ba361bf4390c80e24d4fa763f647cc1fc4cc06bbf40ceb3facda";
   };
 
   buildInputs = [sbcl texinfo perl makeWrapper];
diff --git a/pkgs/applications/science/math/wxmaxima/default.nix b/pkgs/applications/science/math/wxmaxima/default.nix
index 52048dc9d197..559c4448c316 100644
--- a/pkgs/applications/science/math/wxmaxima/default.nix
+++ b/pkgs/applications/science/math/wxmaxima/default.nix
@@ -2,14 +2,14 @@
 
 let
   name    = "wxmaxima";
-  version = "12.04.0";
+  version = "12.09.0";
 in
 stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/wxMaxima-${version}.tar.gz";
-    sha256 = "60110507e0a63738a1f420b22697eaac9bea3866122e072dcd697077e8744824";
+    sha256 = "5803ab62fc791bcb87f0d0f38357dba6fccc4efa61cb9f709e142c2954b1305d";
   };
 
   buildInputs = [wxGTK maxima makeWrapper];
diff --git a/pkgs/applications/version-management/darcs/default.nix b/pkgs/applications/version-management/darcs/default.nix
index 3fb667b94619..8ac93af8c466 100644
--- a/pkgs/applications/version-management/darcs/default.nix
+++ b/pkgs/applications/version-management/darcs/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "darcs";
-  version = "2.8.2";
-  sha256 = "1gd8028k91hjsd9hvx3pw4h5zsn2ckc7pfp7f1f566dpp1g422v5";
+  version = "2.8.3";
+  sha256 = "0nbg45i5sgbsc488siqirgysy3z912xghqbwm5hcsl37j910hxch";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -15,6 +15,10 @@ cabal.mkDerivation (self: {
     zlib
   ];
   extraLibraries = [ curl ];
+  postInstall = ''
+    mkdir -p $out/etc/bash_completion.d
+    mv contrib/darcs_completion $out/etc/bash_completion.d/darcs
+  '';
   meta = {
     homepage = "http://darcs.net/";
     description = "a distributed, interactive, smart revision control system";
diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix
index 325d2e77e1a3..7e842aa72e5f 100644
--- a/pkgs/applications/version-management/fossil/default.nix
+++ b/pkgs/applications/version-management/fossil/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, zlib, openssl, tcl, readline, sqlite}:
 
 stdenv.mkDerivation {
-  name = "fossil-1.21";
+  name = "fossil-1.24";
 
   src = fetchurl {
-    url = http://www.fossil-scm.org/download/fossil-src-20111213135356.tar.gz;
-    sha256 = "07g78sf26v7zr4qzcwky4h4zzaaz8apy33d35bhc5ax63z6md1f9";
+    url = http://www.fossil-scm.org/download/fossil-src-20121022124804.tar.gz;
+    sha256 = "0gcvcrd368acxd79gh7p7caicgqd0f076n0i2if63mg3b8ivz9im";
   };
 
   buildInputs = [ zlib openssl readline sqlite ];
@@ -15,6 +15,10 @@ stdenv.mkDerivation {
 
   checkTarget = "test";
 
+  preBuild=''
+    export USER=nonexistent-but-specified-user
+  '';
+
   installPhase = ''
     mkdir -p $out/bin
     INSTALLDIR=$out/bin make install
diff --git a/pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix b/pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix
new file mode 100644
index 000000000000..115424ac69c8
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix
@@ -0,0 +1,79 @@
+{ stdenv, fetchgit, ruby, gnugrep, diffutils, git, darcs }:
+
+stdenv.mkDerivation rec {
+  name = "darcs-to-git-${version}";
+  version = "0.2git";
+
+  src = fetchgit {
+    url = "git://github.com/purcell/darcs-to-git.git";
+    rev = "58a55936899c7e391df5ae1326c307fbd4617a25";
+    sha256 = "366aa691920991e21cfeebd4cbd53a6c42d80e2bc46ff398af482d1d15bac4c3";
+  };
+
+  patchPhase = let
+    matchExecution = ''(\<(output_of|system|run)\([^"%]*("|%w\()|^[^"`]*`)'';
+  in ''
+    sed -r -i \
+      -e '1s|^#!.*|#!${ruby}/bin/ruby|' \
+      -e 's!${matchExecution}git\>!\1${git}/bin/git!' \
+      -e 's!${matchExecution}darcs\>!\1${darcs}/bin/darcs!' \
+      -e 's!${matchExecution}diff\>!\1${diffutils}/bin/diff!' \
+      -e 's!\<egrep\>!${gnugrep}/bin/egrep!g' \
+      -e 's!%w\(darcs init\)!%w(${darcs}/bin/darcs init)!' \
+      darcs-to-git
+  '';
+
+  installPhase = ''
+    install -vD darcs-to-git "$out/bin/darcs-to-git"
+  '';
+
+  doCheck = true;
+
+  checkPhase = ''
+    orig_dir="$(pwd)"
+    darcs_repos="$(pwd)/darcs_test_repos"
+    git_repos="$(pwd)/git_test_repos"
+    test_home="$(pwd)/test_home"
+    mkdir "$darcs_repos" "$git_repos" "$test_home"
+    cd "$darcs_repos"
+    ${darcs}/bin/darcs init
+    echo "this is a test file" > new_file1
+    ${darcs}/bin/darcs add new_file1
+    HOME="$test_home" ${darcs}/bin/darcs record -a -m c1 -A none
+    echo "testfile1" > new_file1
+    echo "testfile2" > new_file2
+    ${darcs}/bin/darcs add new_file2
+    HOME="$test_home" ${darcs}/bin/darcs record -a -m c2 -A none
+    ${darcs}/bin/darcs mv new_file2 only_one_file
+    rm -f new_file1
+    HOME="$test_home" ${darcs}/bin/darcs record -a -m c3 -A none
+    cd "$git_repos"
+    HOME="$test_home" PATH= "$orig_dir/darcs-to-git" "$darcs_repos"
+    assertFileContents() {
+      echo -n "File $1 contains '$2'..." >&2
+      if [ "x$(cat "$1")" = "x$2" ]; then
+        echo " passed." >&2
+        return 0
+      else
+        echo " failed: '$(cat "$1")' != '$2'" >&2
+        return 1
+      fi
+    }
+    echo "Checking if converted repository matches original repository:" >&2
+    assertFileContents only_one_file testfile2
+    ${git}/bin/git reset --hard HEAD^
+    assertFileContents new_file1 testfile1
+    assertFileContents new_file2 testfile2
+    ${git}/bin/git reset --hard HEAD^
+    assertFileContents new_file1 "this is a test file"
+    echo "All checks passed." >&2
+    cd "$orig_dir"
+    rm -rf "$darcs_repos" "$git_repos" "$test_home"
+  '';
+
+  meta = {
+    description = "Converts a Darcs repository into a Git repository";
+    homepage = "http://www.sanityinc.com/articles/converting-darcs-repositories-to-git";
+    license = stdenv.lib.licenses.mit;
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index efe4fcb2d7c9..9f52871547a4 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -43,10 +43,13 @@ rec {
   });
 
   gitAnnex = lib.makeOverridable (import ./git-annex) {
-    inherit stdenv fetchurl libuuid rsync findutils curl perl git ikiwiki which coreutils openssh;
-    inherit (haskellPackages) ghc MissingH utf8String pcreLight SHA dataenc
-      HTTP testpack hS3 mtl network hslogger hxt json liftedBase monadControl IfElse
-      QuickCheck bloomfilter editDistance stm hinotify;
+    inherit stdenv fetchurl perl coreutils git libuuid rsync findutils curl ikiwiki which openssh;
+    inherit (haskellPackages_ghc741) ghc bloomfilter dataenc editDistance hinotify hS3 hslogger HTTP
+      blazeBuilder blazeHtml caseInsensitive IfElse json liftedBase MissingH monadControl mtl
+      network pcreLight SHA stm utf8String networkInfo dbus clientsession cryptoApi dataDefault
+      extensibleExceptions filepath hamlet httpTypes networkMulticast text time transformers
+      transformersBase wai waiLogger warp yesod yesodDefault yesodStatic testpack QuickCheck
+      SafeSemaphore networkPprotocolXmpp async dns DAV;
   };
 
   qgit = import ./qgit {
@@ -91,4 +94,6 @@ rec {
   gitSubtree = import ./git-subtree {
     inherit stdenv fetchurl git asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt;
   };
+
+  darcsToGit = callPackage ./darcs-to-git { };
 }
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 86c8e9717b16..713cf0d62a61 100644
--- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
@@ -1,27 +1,37 @@
-{ stdenv, fetchurl, curl, dataenc, findutils, ghc, git, hS3, hslogger, HTTP, hxt
-, ikiwiki, json, libuuid, MissingH, monadControl, mtl, network, pcreLight, perl
-, QuickCheck, rsync, SHA, testpack, utf8String, which, liftedBase, coreutils
-, IfElse, bloomfilter, editDistance, openssh, stm, hinotify
+{ stdenv, ghc, fetchurl, perl, coreutils, git, libuuid, rsync
+, findutils, curl, ikiwiki, which, openssh
+, blazeBuilder, blazeHtml, bloomfilter, caseInsensitive
+, clientsession, cryptoApi, dataDefault, dataenc, dbus
+, editDistance, extensibleExceptions, filepath, hamlet, hinotify
+, hS3, hslogger, HTTP, httpTypes, IfElse, json, liftedBase
+, MissingH, monadControl, mtl, network, networkInfo
+, networkMulticast, pcreLight, QuickCheck, SHA, stm, text, time
+, transformers, transformersBase, utf8String, wai, waiLogger, warp
+, yesod, yesodDefault, yesodStatic, testpack, SafeSemaphore
+, networkPprotocolXmpp, async, dns, DAV
 }:
 
 let
-  version = "3.20120825";
+  version = "3.20121112-161-gb27d9eb";
 in
 stdenv.mkDerivation {
   name = "git-annex-${version}";
 
   src = fetchurl {
-    url = "http://git.kitenet.net/?p=git-annex.git;a=snapshot;sf=tgz;h=refs/tags/${version}";
-    sha256 = "edffe6a99d07599f62d4d5f6823de8a830abe8977c7671fd6eb21aeaebc0b8d0";
+    url = "http://git.kitenet.net/?p=git-annex.git;a=snapshot;h=b27d9ebd0f63bdc449440f2529224d5b655ddbb3;sf=tgz";
+    sha256 = "507efc50e33566a51a6abf688920d30fc55ce984c9c35be085e6df0767686b3a";
     name = "git-annex-${version}.tar.gz";
   };
 
-  buildInputs = [
-    curl dataenc findutils ghc git hS3 hslogger HTTP hxt ikiwiki json
-    libuuid MissingH monadControl mtl network pcreLight perl QuickCheck
-    rsync SHA testpack utf8String which liftedBase IfElse bloomfilter
-    editDistance openssh stm hinotify
-  ];
+  buildInputs = [ ghc git libuuid rsync findutils curl ikiwiki which
+    openssh blazeBuilder blazeHtml bloomfilter caseInsensitive
+    clientsession cryptoApi dataDefault dataenc dbus editDistance
+    extensibleExceptions filepath hamlet hinotify hS3 hslogger HTTP
+    httpTypes IfElse json liftedBase MissingH monadControl mtl network
+    networkInfo networkMulticast pcreLight QuickCheck SHA stm text time
+    transformers transformersBase utf8String wai waiLogger warp yesod
+    yesodDefault yesodStatic testpack SafeSemaphore networkPprotocolXmpp
+    async dns DAV ];
 
   checkTarget = "test";
   doCheck = true;
@@ -29,8 +39,10 @@ stdenv.mkDerivation {
   # The 'add_url' test fails because it attempts to use the network.
   preConfigure = ''
     makeFlagsArray=( PREFIX=$out )
-    sed -i -e 's|#!/usr/bin/perl|#!${perl}/bin/perl|' mdwn2man
+    sed -i -e 's|#!/usr/bin/perl|#!${perl}/bin/perl|' Build/mdwn2man
     sed -i -e 's|"cp |"${coreutils}/bin/cp |' -e 's|"rm -f |"${coreutils}/bin/rm -f |' test.hs
+    # Remove this patch after the next update!
+    sed -i -e '9i #define WITH_OLD_URI' Utility/Url.hs
   '';
 
   meta = {
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 b48c5f05d9e4..b32299092124 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -9,7 +9,7 @@
 
 let
 
-  version = "1.7.12";
+  version = "1.8.0";
 
   svn = subversionClient.override { perlBindings = true; };
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://git-core.googlecode.com/files/git-${version}.tar.gz";
-    sha256 = "3b8661782dc280d3d4be5193bcb8a1895c1ba272cf02efb70857bbcc4415f505";
+    sha1 = "a03afc33f8f0723ad12649d79f1e8968526b4bf7";
   };
 
   patches = [ ./docbook2texi.patch ];
diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix
index d567e20d7320..8d5c2baa7a50 100644
--- a/pkgs/applications/version-management/git-and-tools/tig/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, ncurses, asciidoc, xmlto, docbook_xsl }:
 
-stdenv.mkDerivation {
-  name = "tig-1.0";
+stdenv.mkDerivation rec {
+  name = "tig-1.1";
   src = fetchurl {
-    url = "http://jonas.nitro.dk/tig/releases/tig-1.0.tar.gz";
-    md5 = "a2d414d1cebbc9cd4f3d545bc6f225c6";
+    url = "http://jonas.nitro.dk/tig/releases/${name}.tar.gz";
+    md5 = "adeb797a8320962eeb345a615257cbac";
   };
   buildInputs = [ncurses asciidoc xmlto docbook_xsl];
   installPhase = ''
@@ -12,8 +12,9 @@ stdenv.mkDerivation {
     make install-doc
   '';
   meta = {
-    description = "Tig is a git repository browser that additionally can act as a pager for output from various git commands";
     homepage = "http://jonas.nitro.dk/tig/";
-    license = "GPLv2";
+    description = "Tig is a git repository browser that additionally can act as a pager for output from various git commands";
+    maintainers = [ stdenv.lib.maintainers.garbas ];
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/video/MPlayer/default.nix b/pkgs/applications/video/MPlayer/default.nix
index 566089201cda..944af1c26571 100644
--- a/pkgs/applications/video/MPlayer/default.nix
+++ b/pkgs/applications/video/MPlayer/default.nix
@@ -1,36 +1,43 @@
-{ alsaSupport ? true, xvSupport ? true, theoraSupport ? true, cacaSupport ? true
-, xineramaSupport ? true, randrSupport ? true, dvdnavSupport ? true
-, stdenv, fetchurl, fetchsvn, fetchgit, x11, freetype, fontconfig, zlib
-, alsaLib ? null, libXv ? null, libtheora ? null, libcaca ? null
-, libXinerama ? null, libXrandr ? null, libdvdnav ? null
-, cdparanoia ? null, cddaSupport ? true
-, amrnb ? null, amrwb ? null, amrSupport ? false
-, x11Support ? true, libX11 ? null, libXext ? null
-, jackaudioSupport ? false, jackaudio ? null
-, x264Support ? false, x264 ? null
-, xvidSupport ? false, xvidcore ? null
+{ stdenv, fetchurl, freetype, pkgconfig, yasm, freefont_ttf
+, x11Support ? true, libX11 ? null, libXext ? null, mesa ? null
+, xineramaSupport ? true, libXinerama ? null
+, xvSupport ? true, libXv ? null
+, alsaSupport ? true, alsaLib ? null
+, screenSaverSupport ? true, libXScrnSaver ? null
+, vdpauSupport ? false, libvdpau ? null
+, cddaSupport ? true, cdparanoia ? null
+, dvdnavSupport ? true, libdvdnav ? null
+, bluraySupport ? true, libbluray ? null
+, amrSupport ? false, amrnb ? null, amrwb ? null
+, cacaSupport ? true, libcaca ? null
 , lameSupport ? true, lame ? null
 , speexSupport ? true, speex ? null
-, screenSaverSupport ? true, libXScrnSaver
-, pulseSupport ? false, pulseaudio
-, mesa, pkgconfig, unzip, yasm, freefont_ttf
-, vdpauSupport ? false, libvdpau ? null
+, theoraSupport ? true, libtheora ? null
+, x264Support ? false, x264 ? null
+, jackaudioSupport ? false, jackaudio ? null
+, pulseSupport ? false, pulseaudio ? null
+# For screenshots
+, libpngSupport ? true, libpng ? null
 }:
 
-assert alsaSupport -> alsaLib != null;
-assert x11Support -> libX11 != null;
-assert xvSupport -> (libXv != null && x11Support);
-assert theoraSupport -> libtheora != null;
-assert cacaSupport -> libcaca != null;
+assert x11Support -> (libX11 != null && libXext != null && mesa != null);
 assert xineramaSupport -> (libXinerama != null && x11Support);
-assert randrSupport -> (libXrandr != null && x11Support);
-assert dvdnavSupport -> libdvdnav != null;
-assert cddaSupport -> cdparanoia != null;
-assert jackaudioSupport -> jackaudio != null;
-assert amrSupport -> (amrnb != null && amrwb != null);
+assert xvSupport -> (libXv != null && x11Support);
+assert alsaSupport -> alsaLib != null;
 assert screenSaverSupport -> libXScrnSaver != null;
 assert vdpauSupport -> libvdpau != null;
+assert cddaSupport -> cdparanoia != null;
+assert dvdnavSupport -> libdvdnav != null;
+assert bluraySupport -> libbluray != null;
+assert amrSupport -> (amrnb != null && amrwb != null);
+assert cacaSupport -> libcaca != null;
+assert lameSupport -> lame != null;
 assert speexSupport -> speex != null;
+assert theoraSupport -> libtheora != null;
+assert x264Support -> x264 != null;
+assert jackaudioSupport -> jackaudio != null;
+assert pulseSupport -> pulseaudio != null;
+assert libpngSupport -> libpng != null;
 
 let
 
@@ -64,20 +71,12 @@ let
     };
   } else null;
 
-  ffmpegGit = fetchgit {
-    url = "git://git.videolan.org/ffmpeg.git";
-    rev = "9e53f62be1a171eaf9620958c225d42cf5142a30";
-    sha256 = "be0ef2a394c82a0eee0be66bc0b943d37efb90f74ce1030aa89606109434c943";
-  };
-
-  mplayerRev = "34586";
-
 in
 
 stdenv.mkDerivation rec {
-  name = "mplayer-${mplayerRev}";
+  name = "mplayer-1.1";
 
-  src = fetchsvn {
+  src = fetchurl {
     # Old kind of URL:
     # url = http://nixos.org/tarballs/mplayer-snapshot-20101227.tar.bz2;
     # Snapshot I took on 20110423
@@ -86,64 +85,74 @@ stdenv.mkDerivation rec {
     #url = http://www.mplayerhq.hu/MPlayer/releases/mplayer-export-snapshot.tar.bz2;
     #sha256 = "cc1b3fda75b172f02c3f46581cfb2c17f4090997fe9314ad046e464a76b858bb";
 
-    url = "svn://svn.mplayerhq.hu/mplayer/trunk";
-    rev = "${mplayerRev}";
-    sha256 = "5688add3256b5de8e0410194232aaaeb01531bb507459ffe4f07e69cb2d81bd7";
+    url = "http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.1.tar.xz";
+    sha256 = "173cmsfz7ckzy1hay9mpnc5as51127cfnxl20b521d2jvgm4gjvn";
   };
 
   prePatch = ''
     sed -i /^_install_strip/d configure
   '';
 
-  buildInputs =
-    [ freetype zlib pkgconfig ]
-    ++ stdenv.lib.optionals x11Support [ libX11 libXext mesa ]
-    ++ stdenv.lib.optional alsaSupport alsaLib
-    ++ stdenv.lib.optional xvSupport libXv
-    ++ stdenv.lib.optional theoraSupport libtheora
-    ++ stdenv.lib.optional cacaSupport libcaca
-    ++ stdenv.lib.optional xineramaSupport libXinerama
-    ++ stdenv.lib.optional randrSupport libXrandr
-    ++ stdenv.lib.optionals dvdnavSupport [ libdvdnav libdvdnav.libdvdread ]
-    ++ stdenv.lib.optional cddaSupport cdparanoia
-    ++ stdenv.lib.optional jackaudioSupport jackaudio
-    ++ stdenv.lib.optionals amrSupport [ amrnb amrwb ]
-    ++ stdenv.lib.optional x264Support x264
-    ++ stdenv.lib.optional xvidSupport xvidcore
-    ++ stdenv.lib.optional pulseSupport pulseaudio
-    ++ stdenv.lib.optional screenSaverSupport libXScrnSaver
-    ++ stdenv.lib.optional lameSupport lame
-    ++ stdenv.lib.optional vdpauSupport libvdpau
-    ++ stdenv.lib.optional speexSupport speex;
+  buildInputs = with stdenv.lib;
+    [ freetype pkgconfig ]
+    ++ optionals x11Support [ libX11 libXext mesa ]
+    ++ optional alsaSupport alsaLib
+    ++ optional xvSupport libXv
+    ++ optional theoraSupport libtheora
+    ++ optional cacaSupport libcaca
+    ++ optional xineramaSupport libXinerama
+    ++ optional dvdnavSupport libdvdnav
+    ++ optional bluraySupport libbluray
+    ++ optional cddaSupport cdparanoia
+    ++ optional jackaudioSupport jackaudio
+    ++ optionals amrSupport [ amrnb amrwb ]
+    ++ optional x264Support x264
+    ++ optional pulseSupport pulseaudio
+    ++ optional screenSaverSupport libXScrnSaver
+    ++ optional lameSupport lame
+    ++ optional vdpauSupport libvdpau
+    ++ optional speexSupport speex
+    ++ optional libpngSupport libpng
+    ;
 
   buildNativeInputs = [ yasm ];
 
-  preConfigure = ''
-    cp -r ${ffmpegGit} ffmpeg
-    chmod u+w -R ffmpeg
-    sed -ie '1i#include "libavutil/intreadwrite.h"' ffmpeg/libavcodec/libmp3lame.c
-  '';
-
   postConfigure = ''
     echo CONFIG_MPEGAUDIODSP=yes >> config.mak
   '';
 
-  configureFlags = ''
-    ${if cacaSupport then "--enable-caca" else "--disable-caca"}
-    ${if dvdnavSupport then "--enable-dvdnav --enable-dvdread --disable-dvdread-internal" else ""}
-    ${if x264Support then "--enable-x264 --extra-libs=-lx264" else ""}
-    ${if codecs != null then "--codecsdir=${codecs}" else ""}
-    ${if (stdenv.isi686 || stdenv.isx86_64) then "--enable-runtime-cpudetection" else ""}
-    ${if x11Support then "--enable-x11" else ""}
-    ${stdenv.lib.optionalString speexSupport "--enable-speex"}
-    --disable-xanim
-    --disable-ivtv
-    --enable-vidix
-    --enable-fbdev
-    --disable-ossaudio
-  '';
+  configureFlags = with stdenv.lib;
+    ''
+      ${if x11Support then "--enable-x11 --enable-gl" else "--disable-x11 --disable-gl"}
+      ${if xineramaSupport then "--enable-xinerama" else "--disable-xinerama"}
+      ${if xvSupport then "--enable-xv" else "--disable-xv"}
+      ${if alsaSupport then "--enable-alsa" else "--disable-alsa"}
+      ${if screenSaverSupport then "--enable-xss" else "--disable-xss"}
+      ${if vdpauSupport then "--enable-vdpau" else "--disable-vdpau"}
+      ${if cddaSupport then "--enable-cdparanoia" else "--disable-cdparanoia"}
+      ${if dvdnavSupport then "--enable-dvdnav" else "--disable-dvdnav"}
+      ${if bluraySupport then "--enable-bluray" else "--disable-bluray"}
+      ${if amrSupport then "--enable-libopencore_amrnb" else "--disable-libopencore_amrnb"}
+      ${if cacaSupport then "--enable-caca" else "--disable-caca"}
+      ${if lameSupport then "--enable-mp3lame --disable-mp3lame-lavc" else "--disable-mp3lame --enable-mp3lame-lavc"}
+      ${if speexSupport then "--enable-speex" else "--disable-speex"}
+      ${if theoraSupport then "--enable-theora" else "--disable-theora"}
+      ${if x264Support then "--enable-x264 --disable-x264-lavc" else "--disable-x264 --enable-x264-lavc"}
+      ${if jackaudioSupport then "--enable-jack" else "--disable-jack"}
+      ${if pulseSupport then "--enable-pulse" else "--disable-pulse"}
+
+      ${optionalString (codecs != null) "--codecsdir=${codecs}"}
+      ${optionalString (stdenv.isi686 || stdenv.isx86_64) "--enable-runtime-cpudetection"}
+      --enable-freetype
+      --disable-xanim
+      --disable-ivtv
+      --disable-xvid --disable-xvid-lavc
+      --enable-vidix
+      --enable-fbdev
+      --disable-ossaudio
+    '';
 
-  NIX_LDFLAGS = if x11Support then "-lX11 -lXext" else "";
+  NIX_LDFLAGS = stdenv.lib.optionalString x11Support "-lX11 -lXext";
 
   # Provide a reasonable standard font.  Maybe we should symlink here.
   postInstall =
@@ -155,7 +164,7 @@ stdenv.mkDerivation rec {
   crossAttrs = {
     dontSetConfigureCross = true;
     # Some things (vidix) are nanonote specific. Once someone cares, we can make options from them.
-    preConfigure = preConfigure + ''
+    preConfigure = ''
       configureFlags="`echo $configureFlags |
         sed -e 's/--codecsdir[^ ]\+//' \
         -e 's/--enable-runtime-cpudetection//' `"
diff --git a/pkgs/applications/video/RealPlayer/default.nix b/pkgs/applications/video/RealPlayer/default.nix
index 12d98bc3362e..968846f1dcb1 100644
--- a/pkgs/applications/video/RealPlayer/default.nix
+++ b/pkgs/applications/video/RealPlayer/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libstdcpp5, glib, pango, atk, gtk, libX11}:
+{stdenv, fetchurl, libstdcpp5, glib, pango, atk, gtk, libX11, makeWrapper}:
 
 # Note that RealPlayer 10 need libstdc++.so.5, i.e., GCC 3.3, not 3.4.
 
@@ -13,9 +13,7 @@ assert stdenv.system == "i686-linux";
     md5 = "d28b31261059231a3e93c7466f8153e6";
   };
 
-  makeWrapper = ../../../build-support/make-wrapper/make-wrapper.sh;
-
-  inherit libstdcpp5;
+  inherit libstdcpp5 makeWrapper;
   libPath = [libstdcpp5 glib pango atk gtk libX11];
   
 }) // {mozillaPlugin = "/real/mozilla";}
diff --git a/pkgs/applications/video/dvdauthor/build-against-libpng15.patch b/pkgs/applications/video/dvdauthor/build-against-libpng15.patch
deleted file mode 100644
index 8e62cef35af0..000000000000
--- a/pkgs/applications/video/dvdauthor/build-against-libpng15.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-commit c82aaa4eb1a1c36bf7e2b7ae3c9140d0bf8000b5
-Author: Lawrence D'Oliveiro <ldo@geek-central.gen.nz>
-Date:   Wed Jan 26 00:48:37 2011 +0000
-
-    fix to build against png-1.5 (thanks to Thomas Klausner)
-
-diff --git a/src/spuunmux.c b/src/spuunmux.c
-index 5e565d1..9ad2371 100644
---- a/src/spuunmux.c
-+++ b/src/spuunmux.c
-@@ -39,6 +39,7 @@
- #include <netinet/in.h>
- 
- #include <png.h>
-+#include <zlib.h>
- 
- #include "rgb.h"
- #include "common.h"
-@@ -610,7 +611,7 @@ static int write_png
-         png_destroy_write_struct(&png_ptr, (png_infopp)NULL);
-         return -1;
-       } /*if*/
--    if (setjmp(png_ptr->jmpbuf))
-+    if (setjmp(png_jmpbuf(png_ptr)))
-       {
-         png_destroy_write_struct(&png_ptr, &info_ptr);
-         fclose(fp);
diff --git a/pkgs/applications/video/dvdauthor/default.nix b/pkgs/applications/video/dvdauthor/default.nix
index c72e9b892dba..2e115806315c 100644
--- a/pkgs/applications/video/dvdauthor/default.nix
+++ b/pkgs/applications/video/dvdauthor/default.nix
@@ -1,19 +1,17 @@
-{ stdenv, fetchurl, imagemagick, libdvdread, libxml2, freetype, fribidi, libpng, zlib }:
+{ stdenv, fetchurl, imagemagick, libdvdread, libxml2, freetype, fribidi, libpng, zlib, pkgconfig }:
 
-stdenv.mkDerivation {
-  name = "dvdauthor-0.7.0";
+stdenv.mkDerivation rec{
+  name = "dvdauthor-0.7.1";
 
   src = fetchurl {
-    url = mirror://sourceforge/dvdauthor/dvdauthor-0.7.0.tar.gz;
-    sha256 = "1l1l5zya7lirwa1783pa7h22wrfcq8hibbf5kpx8z8zbk5xsz9mf";
+    url = "mirror://sourceforge/dvdauthor/${name}.tar.gz";
+    sha256 = "1s8zqlim0s3hk5sbdsilip3qqh0yv05l1jwx49d9rsy614dv27sh";
   };
 
-  buildInputs = [ imagemagick libdvdread libxml2 freetype fribidi libpng zlib ];
+  buildInputs = [ libpng freetype libdvdread libxml2 zlib fribidi imagemagick ];
+  buildNativeInputs = [ pkgconfig ];
 
-  # Does not build against recent versions of libpng without patch.
-  patches = [ ./build-against-libpng15.patch ];
-
-  meta = { 
+  meta = {
     description = "Tools for generating DVD files to be played on standalone DVD players";
     homepage = http://dvdauthor.sourceforge.net/;
     license = ["GPLv2"];
diff --git a/pkgs/applications/video/key-mon/default.nix b/pkgs/applications/video/key-mon/default.nix
new file mode 100644
index 000000000000..7d0256ae455d
--- /dev/null
+++ b/pkgs/applications/video/key-mon/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, buildPythonPackage, gnome, librsvg, makeWrapper, pygtk
+, pythonPackages }:
+
+buildPythonPackage rec {
+  name = "key-mon-${version}";
+  version = "1.13";
+  namePrefix = "";
+
+  src = fetchurl {
+    url = "http://key-mon.googlecode.com/files/${name}.tar.gz";
+    sha256 = "02h7lcnyqwyqsycd1vlvl11ms81v0zmr9p0pfyl5gmzry9dj7imj";
+  };
+
+  propagatedBuildInputs =
+    [ gnome.python_rsvg librsvg makeWrapper pygtk pythonPackages.xlib ];
+
+  doCheck = false;
+
+  postInstall = ''
+      wrapProgram $out/bin/key-mon --prefix GDK_PIXBUF_MODULE_FILE : \
+      ${librsvg}/lib/gdk-pixbuf/loaders.cache
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = http://code.google.com/p/key-mon;
+    description = "Utility to show live keyboard and mouse status for teaching and screencasts";
+    license = licenses.asl20;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index 65357acf00fd..3341a01101c0 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   name = "vlc-${version}";
-  version = "2.0.3";
+  version = "2.0.4";
 
   src = fetchurl {
     url = "http://download.videolan.org/pub/videolan/vlc/${version}/${name}.tar.xz";
-    sha256 = "1lnjfpizgp8slj6i4fgk5wld6nfw08wfhkb1i1dvzbhmfigq1agv";
+    sha256 = "1dixankckfxf8xixfc32rc9mfsv6mx2lk5h13ym8bp4dsk86w1jf";
   };
 
   buildInputs =
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 56387f9e5c40..a8594c4ba169 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -10,7 +10,7 @@ with stdenv.lib;
 
 let
 
-  version = "4.1.22";
+  version = "4.2.2";
 
   forEachModule = action: ''
     for mod in \
@@ -34,7 +34,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
-    sha256 = "7abb506203dd0d69b4b408fd999b5b9a479a9adce5f80e9b5569641c053dd153";
+    sha256 = "943daa13694605d5d0a23ffef27c398b5e72ada669de89bad4b98f000f029700";
   };
 
   buildInputs =
@@ -44,7 +44,9 @@ in stdenv.mkDerivation {
     ++ optional javaBindings jdk
     ++ optional pythonBindings python;
 
-  patchPhase = ''
+  patches = [ ./remove_fa_ir.patch ];
+
+  postPatch = ''
     set -x
     MODULES_BUILD_DIR=`echo ${kernel}/lib/modules/*/build`
     sed -e 's@/lib/modules/`uname -r`/build@'$MODULES_BUILD_DIR@ \
@@ -110,6 +112,12 @@ in stdenv.mkDerivation {
     mkdir -p $out/share/applications
     sed -i -e "s|Icon=VBox|Icon=$libexec/VBox.png|" $libexec/virtualbox.desktop
     ln -sfv $libexec/virtualbox.desktop $out/share/applications
+    # Icons
+    mkdir -p $out/share/icons/hicolor
+    for size in `ls -1 $libexec/icons`; do
+      mkdir -p $out/share/icons/hicolor/$size/apps
+      ln -s $libexec/icons/$size/*.png $out/share/icons/hicolor/$size/apps
+    done
   '';
 
   meta = {
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index d903c44866c0..c4c7a9f27083 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -1,15 +1,18 @@
 { stdenv, fetchurl, lib, patchelf, cdrkit, kernel, which, makeWrapper
 , libX11, libXt, libXext, libXmu, libXcomposite, libXfixes, libXrandr, libXcursor}:
 
-let version = "4.1.22"; in
+let version = "4.2.2"; in
 
 stdenv.mkDerivation {
   name = "VirtualBox-GuestAdditions-${version}";
+
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "5c7d9a4a31c8a926ba6dbae2b9704a561638e94ea0fc4f805a9231dd4f932d46";
+    sha256 = "26f5390b36a3bb9855846d194dcd287b8e53613b599c6ffd7aff1b451cc7f1f1";
   };
+
   KERN_DIR = "${kernel}/lib/modules/*/build";
+
   buildInputs = [ patchelf cdrkit makeWrapper ];
 
   installPhase = ''
@@ -101,9 +104,7 @@ stdenv.mkDerivation {
 
     # Install Xorg drivers
     mkdir -p $out/lib/xorg/modules/{drivers,input}
-    install -m 644 lib/VBoxGuestAdditions/vboxvideo_drv_19.so $out/lib/xorg/modules/drivers/vboxvideo_drv.so
-    # There doesn't appear to be a vboxmouse driver for Xorg 1.9. Was there ever?
-    #install -m 644 lib/VBoxGuestAdditions/vboxmouse_drv_19.so $out/lib/xorg/modules/input/vboxmouse_drv.so
+    install -m 644 lib/VBoxGuestAdditions/vboxvideo_drv_112.so $out/lib/xorg/modules/drivers/vboxvideo_drv.so
 
     # Install kernel modules
     cd src
diff --git a/pkgs/applications/virtualization/virtualbox/remove_fa_ir.patch b/pkgs/applications/virtualization/virtualbox/remove_fa_ir.patch
new file mode 100644
index 000000000000..0d7a83421927
--- /dev/null
+++ b/pkgs/applications/virtualization/virtualbox/remove_fa_ir.patch
@@ -0,0 +1,30 @@
+This patch is for VirtualBox-4.2.2, to temporarily remove references to the
+fa_IR language file from the source tree, as it somehow got lost during tarball
+creation. For more information on this subject please have a look at:
+
+https://www.virtualbox.org/pipermail/vbox-dev/2012-October/005408.html
+
+diff --git a/src/VBox/Frontends/VirtualBox/VBoxUI.pro b/src/VBox/Frontends/VirtualBox/VBoxUI.pro
+index ffeb410..37ac56a 100644
+--- a/src/VBox/Frontends/VirtualBox/VBoxUI.pro
++++ b/src/VBox/Frontends/VirtualBox/VBoxUI.pro
+@@ -63,7 +63,6 @@ TRANSLATIONS = \
+ 	nls/VirtualBox_es.ts \
+ 	nls/VirtualBox_eu.ts \
+ 	nls/VirtualBox_fi.ts \
+-	nls/VirtualBox_fa_IR.ts \
+ 	nls/VirtualBox_fr.ts \
+ 	nls/VirtualBox_gl_ES.ts \
+ 	nls/VirtualBox_hu.ts \
+diff --git a/src/VBox/Frontends/VirtualBox/nls/ApprovedLanguages.kmk b/src/VBox/Frontends/VirtualBox/nls/ApprovedLanguages.kmk
+index 66f0ec3..2fc19b9 100644
+--- a/src/VBox/Frontends/VirtualBox/nls/ApprovedLanguages.kmk
++++ b/src/VBox/Frontends/VirtualBox/nls/ApprovedLanguages.kmk
+@@ -23,7 +23,6 @@ VBOX_APPROVED_GUI_LANGUAGES := \
+ 	de    \
+ 	en    \
+ 	es    \
+-	fa_IR \
+ 	hu    \
+ 	it    \
+ 	ja    \
diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index 5e24a42d3a72..61f2145ff33c 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -48,3 +48,4 @@ stdenv.mkDerivation rec {
     platforms = with stdenv.lib.platforms; linux;
   };
 }
+
diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix
index 14fd6ce41931..042e1a323a6d 100644
--- a/pkgs/applications/window-managers/i3/default.nix
+++ b/pkgs/applications/window-managers/i3/default.nix
@@ -3,17 +3,21 @@
   libXcursor, coreutils, perl }:
 
 stdenv.mkDerivation rec {
-  name = "i3-4.2";
+  name = "i3-${version}";
+  version = "4.3";
 
   src = fetchurl {
     url = "http://i3wm.org/downloads/${name}.tar.bz2";
-    sha256 = "e02c832820e8922a44e744e555294f8580c2f8e218c5c1029e52f1bde048732b";
+    sha256 = "895bf586092535efb2bc723ba599c71a027768115e56052f111fc8bb148db925";
   };
 
   buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutil bison xcbutilwm
     libstartup_notification libX11 pcre libev yajl flex libXcursor perl ];
 
-  patchPhase = "patchShebangs .";
+  patchPhase = ''
+    sed -i -e '/^# Pango/,/^$/d' common.mk
+    patchShebangs .
+  '';
 
   configurePhase = "makeFlags=PREFIX=$out";
 
diff --git a/pkgs/applications/window-managers/i3/status.nix b/pkgs/applications/window-managers/i3/status.nix
index 549cfc5d20dc..60db6188f70c 100644
--- a/pkgs/applications/window-managers/i3/status.nix
+++ b/pkgs/applications/window-managers/i3/status.nix
@@ -2,11 +2,11 @@
   }:
 
 stdenv.mkDerivation rec {
-  name = "i3status-2.5.1";
+  name = "i3status-2.6";
 
   src = fetchurl {
     url = "http://i3wm.org/i3status/${name}.tar.bz2";
-    sha256 = "7734efdf79a77617023f1e6d80080251eab3a05defb67313283568511d3e58f2";
+    sha256 = "e7e710cc271887bcd22757269e1b00a5618fb53abdb3455140116b3d38797bce";
   };
 
   buildInputs = [ confuse yajl alsaLib wirelesstools ];
diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix
index 0b541d8104d3..3b1c3b4ad37a 100644
--- a/pkgs/applications/window-managers/icewm/default.nix
+++ b/pkgs/applications/window-managers/icewm/default.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
     sha256 = "0yw813d8amrl0n1fvdiyznxah92wcylj9kj1qhjc6h73d827h6na";
   };
 
+  patches = [ ./deprecated.patch ];
+
   NIX_LDFLAGS = "-lfontconfig";
 
   # The fuloong2f is not supported by 1.3.6 still
diff --git a/pkgs/applications/window-managers/icewm/deprecated.patch b/pkgs/applications/window-managers/icewm/deprecated.patch
new file mode 100644
index 000000000000..7d22dfe719bd
--- /dev/null
+++ b/pkgs/applications/window-managers/icewm/deprecated.patch
@@ -0,0 +1,23 @@
+http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-wm/icewm/files/icewm-1.2.37-libX11-1.5.0-deprecated.patch?revision=1.1
+
+Description: Don't use "deprecated" as identifier, will FTBFS if another
+ library defines functions as deprecated.
+Author: Andreas Moog <amoog@ubuntu.com>
+Bug: https://sourceforge.net/tracker/?func=detail&aid=3494034&group_id=31&atid=100031
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/935179
+Forwarded: Yes
+
+--- icewm-1.3.7.orig/src/base.h
++++ icewm-1.3.7/src/base.h
+@@ -2,9 +2,9 @@
+ #define __BASE_H
+ 
+ #if ( __GNUC__ == 3 && __GNUC_MINOR__ > 0 ) || __GNUC__ > 3
+-#define deprecated __attribute__((deprecated))
++#define ICEWM_deprecated __attribute__((deprecated))
+ #else
+-#define deprecated
++#define ICEWM_deprecated
+ #endif
+ 
+ /*** Atomar Data Types ********************************************************/
diff --git a/pkgs/applications/window-managers/xmonad/default.nix b/pkgs/applications/window-managers/xmonad/default.nix
index a490bc8018dd..fd215986fa30 100644
--- a/pkgs/applications/window-managers/xmonad/default.nix
+++ b/pkgs/applications/window-managers/xmonad/default.nix
@@ -14,7 +14,6 @@ cabal.mkDerivation (self: {
     platforms = self.ghc.meta.platforms;
     maintainers = [
       self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
     ];
   };
 
diff --git a/pkgs/applications/window-managers/xmonad/xmonad-extras.nix b/pkgs/applications/window-managers/xmonad/xmonad-extras.nix
index 42ffeae6f9c2..334c7f59d571 100644
--- a/pkgs/applications/window-managers/xmonad/xmonad-extras.nix
+++ b/pkgs/applications/window-managers/xmonad/xmonad-extras.nix
@@ -4,13 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "xmonad-extras";
-  version = "0.10.1.1";
-  sha256 = "1pkp9z58w2x8yhxhvm5nifxb1qcajv52ji53n77rjhpysvrgq5m7";
+  version = "0.10.1.2";
+  sha256 = "1v0yhi3sw7qks8d13amps0qs5p90j3prjh5abm02wblcd0bm1xay";
   buildDepends = [
     hint libmpd mtl network parsec random regexPosix split X11 xmonad
     xmonadContrib
   ];
-  configureFlags = "-f-with_hlist";
+  configureFlags = "-f-with_hlist -fwith_split -fwith_parsec";
   meta = {
     homepage = "http://projects.haskell.org/xmonad-extras";
     description = "Third party extensions for xmonad with wacky dependencies";
diff --git a/pkgs/build-support/fetchdarcs/builder.sh b/pkgs/build-support/fetchdarcs/builder.sh
index a211de42da49..efff5ff5ebf9 100644
--- a/pkgs/build-support/fetchdarcs/builder.sh
+++ b/pkgs/build-support/fetchdarcs/builder.sh
@@ -12,7 +12,7 @@ fi
 
 header "getting $url $partial ${tagtext} into $out"
 
-darcs get --lazy --ephemeral $tagflags "$url" "$out"
+darcs get --lazy $tagflags "$url" "$out"
 # remove metadata, because it can change
 rm -rf "$out/_darcs"
 
diff --git a/pkgs/build-support/setup-hooks/autoreconf.sh b/pkgs/build-support/setup-hooks/autoreconf.sh
new file mode 100644
index 000000000000..027c83221633
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/autoreconf.sh
@@ -0,0 +1,11 @@
+preConfigurePhases+=" autoreconfPhase"
+
+for i in @autoconf@ @automake@ @libtool@; do
+    findInputs $i nativePkgs propagated-build-native-inputs
+done
+
+autoreconfPhase() {
+    runHook preAutoreconf
+    autoreconf ${autoreconfFlags:---install --force}
+    runHook postAutoreconf
+}
diff --git a/pkgs/build-support/make-wrapper/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh
index 41f2a59246d1..41f2a59246d1 100644
--- a/pkgs/build-support/make-wrapper/make-wrapper.sh
+++ b/pkgs/build-support/setup-hooks/make-wrapper.sh
diff --git a/pkgs/build-support/source-from-head-fun.nix b/pkgs/build-support/source-from-head-fun.nix
index 3281cec54440..c6d6cfcc95b6 100644
--- a/pkgs/build-support/source-from-head-fun.nix
+++ b/pkgs/build-support/source-from-head-fun.nix
@@ -9,8 +9,8 @@
    The documentation is availible at http://github.com/MarcWeber/nix-repository-manager/raw/master/README
 
 */
-{ getConfig }:
+{ config }:
   localTarName: publishedSrcSnapshot:
-  if getConfig ["sourceFromHead" "useLocalRepos"] false then
-    "${getConfig ["sourceFromHead" "managedRepoDir"] "/set/sourceFromHead.managedRepoDir/please"}/dist/${localTarName}"
+  if config.sourceFromHead.useLocalRepos or false then
+    "${config.sourceFromHead.managedRepoDir or "/set/sourceFromHead.managedRepoDir/please"}/dist/${localTarName}"
   else publishedSrcSnapshot
diff --git a/pkgs/build-support/upstream-updater/update-walker-service-specific.sh b/pkgs/build-support/upstream-updater/update-walker-service-specific.sh
new file mode 100644
index 000000000000..234f27ff1d10
--- /dev/null
+++ b/pkgs/build-support/upstream-updater/update-walker-service-specific.sh
@@ -0,0 +1,5 @@
+SF_redirect () {
+  redirect
+  process 'http://[a-z]+[.]dl[.]sourceforge[.]net/' 'mirror://sourceforge/'
+  process '[?].*' ''
+}
diff --git a/pkgs/build-support/upstream-updater/update-walker.sh b/pkgs/build-support/upstream-updater/update-walker.sh
new file mode 100755
index 000000000000..ce0e1403f2ed
--- /dev/null
+++ b/pkgs/build-support/upstream-updater/update-walker.sh
@@ -0,0 +1,196 @@
+#! /bin/sh
+
+own_dir="$(cd "$(dirname "$0")"; pwd)"
+
+CURRENT_URL=
+
+url () {
+  CURRENT_URL="$1"
+}
+
+version_unpack () {
+  sed -re '
+    s/[.]/ /g; 
+    s@/@ / @g
+    s/-(rc|pre)/ -1 \1 /g; 
+    s/-(gamma)/ -2 \1 /g; 
+    s/-(beta)/ -3 \1 /g; 
+    s/-(alpha)/ -4 \1 /g;
+    s/[-]/ - /g; 
+    '
+}
+
+version_repack () {
+  sed -re '
+    s/ - /-/g;
+    s/ -[0-9]+ ([a-z]+) /-\1/g;
+    s@ / @/@g
+    s/ /./g; 
+    '
+}
+
+version_sort () {
+  version_unpack | 
+    sort -t ' ' -n $(for i in $(seq 30); do echo " -k${i}n" ; done) | tac |
+    version_repack
+}
+
+position_choice () {
+  head -n "${1:-1}" | tail -n "${2:-1}"
+}
+
+matching_links () {
+  "$own_dir"/urls-from-page.sh "$CURRENT_URL" | grep -E "$1"
+}
+
+link () {
+  CURRENT_URL="$(matching_links "$1" | position_choice "$2" "$3")"
+  echo "Linked by: $*"
+  echo "URL: $CURRENT_URL" >&2
+}
+
+version_link () {
+  CURRENT_URL="$(matching_links "$1" | version_sort | position_choice "$2" "$3")"
+  echo "Linked version by: $*"
+  echo "URL: $CURRENT_URL" >&2
+}
+
+redirect () {
+  CURRENT_URL="$(curl -I -L --max-redirs "${1:-99}" "$CURRENT_URL" | 
+    grep -E '^Location: ' | position_choice "${2:-999999}" "$3" |
+    sed -e 's/^Location: //; s/\r//')"
+  echo "Redirected: $*"
+  echo "URL: $CURRENT_URL" >&2
+}
+
+replace () {
+  sed -re "s	$1	$2	g"
+}
+
+process () {
+  CURRENT_URL="$(echo "$CURRENT_URL" | replace "$1" "$2")"
+  echo "Processed: $*"
+  echo "URL: $CURRENT_URL" >&2
+}
+
+version () {
+  CURRENT_VERSION="$(echo "$CURRENT_URL" | replace "$1" "$2")"
+  echo "Version: $CURRENT_VERSION" >&2
+}
+
+ensure_version () {
+  [ -z "$CURRENT_VERSION" ] && version '.*-([0-9.]+)[-._].*' '\1'
+}
+
+ensure_target () {
+  [ -z "$CURRENT_TARGET" ] && target default.nix
+}
+
+hash () {
+  CURRENT_HASH="$(nix-prefetch-url "$CURRENT_URL")"
+}
+
+name () {
+  CURRENT_NAME="$1"
+}
+
+retrieve_version () {
+  PACKAGED_VERSION="$(nix-instantiate --eval-only '<nixpkgs>' -A "$CURRENT_NAME".meta.version | xargs)"
+}
+
+directory_of () {
+  cd "$(dirname "$1")"; pwd
+}
+
+full_path () {
+  echo "$(directory_of "$1")/$(basename "$1")"
+}
+
+target () {
+  CURRENT_TARGET="$1"
+  test -e "$CURRENT_TARGET" || 
+    { [ "$CURRENT_TARGET" = "${CURRENT_TARGET#/}" ] && CURRENT_TARGET="$CONFIG_DIR/$CURRENT_TARGET"; }
+  echo "Target set to: $CURRENT_TARGET"
+}
+
+marker () {
+  BEGIN_EXPRESSION="$1"
+}
+
+update_found () {
+  echo "Compare: $CURRENT_VERSION vs $PACKAGED_VERSION"
+  [ "$CURRENT_VERSION" != "$PACKAGED_VERSION" ]
+}
+
+do_write_expression () {
+  echo "${1}rec {"
+  echo "${1}  baseName=\"$CURRENT_NAME\";"
+  echo "${1}  version=\"$CURRENT_VERSION\";"
+  echo "${1}  name=\"$CURRENT_NAME-$CURRENT_VERSION\";"
+  echo "${1}  hash=\"$CURRENT_HASH\";"
+  echo "${1}  url=\"$CURRENT_URL\";"
+  echo "${1}  sha256=\"$CURRENT_HASH\";"
+  echo "$2"
+}
+
+line_position () {
+  file="$1"
+  regexp="$2"
+  count="${3:-1}"
+  grep -E "$regexp" -m "$count" -B 999999 "$file" | wc -l
+}
+
+replace_once () {
+  file="$1"
+  regexp="$2"
+  replacement="$3"
+  instance="${4:-1}"
+
+  position="$(line_position "$file" "$regexp" "$instance")"
+  sed -re "${position}s	$regexp	$replacement	" -i "$file"
+}
+
+set_var_value () {
+  var="${1}"
+  value="${2}"
+  instance="${3:-1}"
+  file="${4:-$CURRENT_TARGET}"
+  no_quotes="${5:-0}"
+
+  quote='"'
+  let "$no_quotes" && quote=""
+
+  replace_once "$file" "${var} *= *.*" "${var} = ${quote}${value}${quote};"
+}
+
+do_regenerate () {
+  BEFORE="$(cat "$1" | grep -F "$BEGIN_EXPRESSION" -B 999999;)"
+  AFTER_EXPANDED="$(cat "$1" | grep -F "$BEGIN_EXPRESSION" -A 999999 | grep -E '^ *[}] *; *$' -A 999999;)"
+  AFTER="$(echo "$AFTER_EXPANDED" | tail -n +2)"
+  CLOSE_BRACE="$(echo "$AFTER_EXPANDED" | head -n 1)"
+  SPACING="$(echo "$CLOSE_BRACE" | sed -re 's/[^ ].*//')"
+
+  echo "$BEFORE"
+  do_write_expression "$SPACING" "$CLOSE_BRACE"
+  echo "$AFTER"
+}
+
+do_overwrite () {
+  hash
+  do_regenerate "$1" > "$1.new.tmp"
+  mv "$1.new.tmp" "$1"
+}
+
+process_config () {
+  CONFIG_DIR="$(directory_of "$1")"
+  source "$CONFIG_DIR/$(basename "$1")"
+  BEGIN_EXPRESSION='# Generated upstream information';
+  retrieve_version
+  ensure_version
+  ensure_target
+  update_found && do_overwrite "$CURRENT_TARGET"
+}
+
+source "$own_dir/update-walker-service-specific.sh"
+
+process_config "$1"
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 8781fbf2d108..e8de915e7889 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -1173,10 +1173,16 @@ rec {
     ubuntu1004i386 = {
       name = "ubuntu-10.04-lucid-i386";
       fullName = "Ubuntu 10.04 Lucid (i386)";
-      packagesList = fetchurl {
-        url = mirror://ubuntu/dists/lucid/main/binary-i386/Packages.bz2;
-        sha256 = "0e46596202a68caa754dfe0883f46047525309880c492cdd5e2d0970fcf626aa";
-      };
+      packagesList =
+        [ (fetchurl {
+            url = mirror://ubuntu/dists/lucid/main/binary-i386/Packages.bz2;
+            sha256 = "0e46596202a68caa754dfe0883f46047525309880c492cdd5e2d0970fcf626aa";
+          })
+          (fetchurl {
+            url = mirror://ubuntu/dists/lucid/universe/binary-i386/Packages.bz2;
+            sha256 = "13nvsb7na9igps2fdbbfpq4y8ihccmcs6x35pfyfp6rkhjgpzigy";
+          })
+        ];
       urlPrefix = mirror://ubuntu;
       packages = commonDebPackages ++ [ "diffutils" "mktemp" ];
     };
@@ -1184,32 +1190,50 @@ rec {
     ubuntu1004x86_64 = {
       name = "ubuntu-10.04-lucid-amd64";
       fullName = "Ubuntu 10.04 Lucid (amd64)";
-      packagesList = fetchurl {
-        url = mirror://ubuntu/dists/lucid/main/binary-amd64/Packages.bz2;
-        sha256 = "74a8f3192b0eda397d65316e0fa6cd34d5358dced41639e07d9f1047971bfef0";
-      };
+      packagesList =
+        [ (fetchurl {
+            url = mirror://ubuntu/dists/lucid/main/binary-amd64/Packages.bz2;
+            sha256 = "74a8f3192b0eda397d65316e0fa6cd34d5358dced41639e07d9f1047971bfef0";
+          })
+          (fetchurl {
+            url = mirror://ubuntu/dists/lucid/universe/binary-amd64/Packages.bz2;
+            sha256 = "112lbnf8rcsbbh89aci4m6gwac0jy16838aij0av8n076zwkvlj9";
+          })
+        ];
       urlPrefix = mirror://ubuntu;
       packages = commonDebPackages ++ [ "diffutils" "mktemp" ];
     };
 
     ubuntu1010i386 = {
-      name = "ubuntu-10.04-maverick-i386";
-      fullName = "Ubuntu 10.04 Maverick (i386)";
-      packagesList = fetchurl {
-        url = mirror://ubuntu/dists/maverick/main/binary-i386/Packages.bz2;
-        sha256 = "1qjs4042y03bxbxwjs3pgrs99ba6vqvjaaz6zhaxxaqj1r12dwa0";
-      };
+      name = "ubuntu-10.10-maverick-i386";
+      fullName = "Ubuntu 10.10 Maverick (i386)";
+      packagesList =
+        [ (fetchurl {
+            url = mirror://ubuntu/dists/maverick/main/binary-i386/Packages.bz2;
+            sha256 = "1qjs4042y03bxbxwjs3pgrs99ba6vqvjaaz6zhaxxaqj1r12dwa0";
+          })
+          (fetchurl {
+            url = mirror://ubuntu/dists/maverick/universe/binary-i386/Packages.bz2;
+            sha256 = "1g5pnhx730wj32221ic8p2q6zcka23knpyg190mvq9x7kflcbfzy";
+          })
+        ];
       urlPrefix = mirror://ubuntu;
       packages = commonDebPackages ++ [ "diffutils" ];
     };
 
     ubuntu1010x86_64 = {
-      name = "ubuntu-10.04-maverick-amd64";
-      fullName = "Ubuntu 10.04 Maverick (amd64)";
-      packagesList = fetchurl {
-        url = mirror://ubuntu/dists/maverick/main/binary-amd64/Packages.bz2;
-        sha256 = "1p0i4gp1bxd3zvckgnh1hx4vfc23rfgzd19dk5rmi61lzbzzqbgc";
-      };
+      name = "ubuntu-10.10-maverick-amd64";
+      fullName = "Ubuntu 10.10 Maverick (amd64)";
+      packagesList =
+        [ (fetchurl {
+            url = mirror://ubuntu/dists/maverick/main/binary-amd64/Packages.bz2;
+            sha256 = "1p0i4gp1bxd3zvckgnh1hx4vfc23rfgzd19dk5rmi61lzbzzqbgc";
+          })
+          (fetchurl {
+            url = mirror://ubuntu/dists/maverick/universe/binary-amd64/Packages.bz2;
+            sha256 = "0m26viwah29gh47p8m3jpnx6l84dhpwnms29m9bvqn1vwcrgjh0s";
+          })
+        ];
       urlPrefix = mirror://ubuntu;
       packages = commonDebPackages ++ [ "diffutils" ];
     };
@@ -1217,10 +1241,16 @@ rec {
     ubuntu1110i386 = {
       name = "ubuntu-11.10-oneiric-i386";
       fullName = "Ubuntu 11.10 Oneiric (i386)";
-      packagesList = fetchurl {
-        url = mirror://ubuntu/dists/oneiric/main/binary-i386/Packages.bz2;
-        sha256 = "11r1s76ppi7rwz08i20d7n4ndaj9lb9wsl9k8ww4s1c6agzpwv8a";
-      };
+      packagesList =
+        [ (fetchurl {
+            url = mirror://ubuntu/dists/oneiric/main/binary-i386/Packages.bz2;
+            sha256 = "11r1s76ppi7rwz08i20d7n4ndaj9lb9wsl9k8ww4s1c6agzpwv8a";
+          })
+          (fetchurl {
+            url = mirror://ubuntu/dists/oneiric/universe/binary-i386/Packages.bz2;
+            sha256 = "1dr59j8pjdhk07fpc0x73afcd9630kkdsbabx3bj92q71104yigz";
+          })
+        ];
       urlPrefix = mirror://ubuntu;
       packages = commonDebPackages ++ [ "diffutils" ];
     };
@@ -1228,10 +1258,16 @@ rec {
     ubuntu1110x86_64 = {
       name = "ubuntu-11.10-oneiric-amd64";
       fullName = "Ubuntu 11.10 Oneiric (amd64)";
-      packagesList = fetchurl {
-        url = mirror://ubuntu/dists/oneiric/main/binary-amd64/Packages.bz2;
-        sha256 = "07k784gxwaqmyggmzczy9hjkgfp6p6dcs8rhkxw5hfzn0jaf8l2s";
-      };
+      packagesLists =
+        [ (fetchurl {
+            url = mirror://ubuntu/dists/oneiric/main/binary-amd64/Packages.bz2;
+            sha256 = "07k784gxwaqmyggmzczy9hjkgfp6p6dcs8rhkxw5hfzn0jaf8l2s";
+          })
+          (fetchurl {
+            url = mirror://ubuntu/dists/oneiric/universe/binary-amd64/Packages.bz2;
+            sha256 = "1v3ldxn5jnnfgs863ryd6wl3fsb3glainr1ma2zn2l5vpzhpi2h1";
+          })
+        ];
       urlPrefix = mirror://ubuntu;
       packages = commonDebPackages ++ [ "diffutils" ];
     };
diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix
index f9e4f1b43715..465d83f8b4c6 100644
--- a/pkgs/data/documentation/man-pages/default.nix
+++ b/pkgs/data/documentation/man-pages/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "man-pages-3.42";
-  
+  name = "man-pages-3.43";
+
   src = fetchurl {
     url = "mirror://kernel/linux/docs/man-pages/Archive/${name}.tar.xz";
-    sha256 = "11kh0ifzqbxk797lq037ixqhpf6h90w9xxygzh796mddg4rr4s9j";
+    sha256 = "05fjq8llfxm77mnf2jhly98780xbkakim7b7hbx6kafvvs5zisrf";
   };
 
   preBuild =
diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix
new file mode 100644
index 000000000000..c49430935aeb
--- /dev/null
+++ b/pkgs/data/misc/tzdata/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl }:
+
+let version = "2012f"; in
+
+stdenv.mkDerivation rec {
+  name = "tzdata-${version}";
+
+  srcs =
+    [ (fetchurl {
+        url = "http://www.iana.org/time-zones/repository/releases/tzdata${version}.tar.gz";
+        sha256 = "1k165i8g23rr0z26k02x1l4immp69g6yqjrd3lwmbvj5li4mmsdg";
+      })
+      (fetchurl {
+        url = "http://www.iana.org/time-zones/repository/releases/tzcode${version}.tar.gz";
+        sha256 = "1m6rg9003mkjyvpv5gg5lcia9fzhy7ndwgs68qlpbipnw5p0k2pk";
+      })
+    ];
+
+  sourceRoot = ".";
+
+  makeFlags = "TOPDIR=$(out) TZDIR=$(out)/share/zoneinfo ETCDIR=$(TMPDIR)/etc LIBDIR=$(TMPDIR)/lib MANDIR=$(TMPDIR)/man AWK=awk";
+
+  postInstall =
+    ''
+      mv $out/share/zoneinfo-posix $out/share/zoneinfo/posix
+      mv $out/share/zoneinfo-leaps $out/share/zoneinfo/right
+    '';
+
+  meta = {
+    homepage = http://www.iana.org/time-zones;
+    description = "Database of current and historical time zones";
+  };
+}
diff --git a/pkgs/data/misc/xkeyboard-config/default.nix b/pkgs/data/misc/xkeyboard-config/default.nix
index fbe8e7ce1f5b..67bb79725fb9 100644
--- a/pkgs/data/misc/xkeyboard-config/default.nix
+++ b/pkgs/data/misc/xkeyboard-config/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, perlXMLParser, xkbcomp, gettext, intltool  }:
 
 stdenv.mkDerivation rec {
-  name = "xkeyboard-config-2.1";
+  name = "xkeyboard-config-2.7";
 
   src = fetchurl {
     url = "mirror://xorg/individual/data/xkeyboard-config/${name}.tar.bz2";
-    sha256 = "0x9hkb4iqz64gcabzkdcfy4p78sdhnpjwh54g8wx5bdgy9087vpr";
+    sha256 = "08c3mjdgp7c2v6lj5bymaczcazklsd7s1lxslxbngzmh5yhphd74";
   };
 
   buildInputs = [ gettext ];
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   patches = [ ./eo.patch ];
 
   preConfigure = ''
-    configureFlags="--with-xkb-base=$out/etc/X11/xkb -with-xkb-rules-symlink=xorg,xfree86"
+    configureFlags="--with-xkb-base=$out/etc/X11/xkb -with-xkb-rules-symlink=xorg,xfree86 --disable-runtime-deps"
     sed -e 's@#!\s*/bin/bash@#! /bin/sh@' -i rules/merge.sh
   '';
 
diff --git a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
index c65c8b98c6ac..83505dc42fc3 100644
--- a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
+++ b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
@@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
 
   # WAF is probably the biggest crap on this planet, btw i removed the /gtk-2.0 path thingy
   configurePhase = ''
-    sed -e "s@{PYTHONDIR}/gtk-2.0@{PYTHONDIR}/@" -i gconf/wscript 
-    python waf configure --prefix=$out 
+    sed -e "s@{PYTHONDIR}/gtk-2.0@{PYTHONDIR}/@" -i gconf/wscript
+    python waf configure --prefix=$out
   '';
 
   buildPhase = ''
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     python waf install
+    cp bonobo/*.{py,defs} $out/share/pygtk/2.0/defs/
   '';
 
   buildInputs = [ python pkgconfig pygobject pygtk glib gtk GConf libgnome pythonDBus ];
diff --git a/pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix b/pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix
new file mode 100644
index 000000000000..c09ed74a97c0
--- /dev/null
+++ b/pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, gnome, librsvg, pkgconfig, pygtk, python }:
+
+stdenv.mkDerivation rec {
+  version = "2.32";
+  name = "python-rsvg-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-python-desktop/${version}/gnome-python-desktop-${version}.0.tar.gz";
+    sha256 = "1xhh3h1qdnimydvv55pmqwyzjchhjwfvp951sjlq0180kskqrlj5";
+  };
+
+  configurePhase = ''
+    sed -e "s@{PYTHONDIR}/gtk-2.0@{PYTHONDIR}/@" -i rsvg/wscript 
+    python waf configure --enable-modules=rsvg --prefix=$out 
+  '';
+
+  buildPhase = "python waf build";
+
+  installPhase = "python waf install";
+
+  buildInputs = [ gnome.gnome_python librsvg pkgconfig pygtk python ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.pygtk.org";
+    description = "The rsvg python module";
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix
index 36d0860caa5d..38ae4c015342 100644
--- a/pkgs/desktops/gnome-2/default.nix
+++ b/pkgs/desktops/gnome-2/default.nix
@@ -58,6 +58,8 @@
 
   libbonoboui = callPackage ./platform/libbonoboui { };
 
+  python_rsvg = callPackage ./bindings/python-rsvg { };
+
   at_spi = callPackage ./platform/at-spi { };
 
   gtkhtml = callPackage ./platform/gtkhtml { };
diff --git a/pkgs/desktops/gnome-2/desktop/gvfs/default.nix b/pkgs/desktops/gnome-2/desktop/gvfs/default.nix
index 5455e95ef3f3..bae6c19c6ea6 100644
--- a/pkgs/desktops/gnome-2/desktop/gvfs/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/gvfs/default.nix
@@ -1,19 +1,21 @@
 { stdenv, fetchurl, pkgconfig, dbus_libs, samba, libarchive, fuse, libgphoto2
 , libcdio, libxml2, libtool, glib, intltool, GConf, libgnome_keyring, libsoup
-, udev, avahi}:
+, udev, avahi, libxslt, docbook_xsl }:
 
-stdenv.mkDerivation {
-  name = "gvfs-1.10.1";
+stdenv.mkDerivation rec {
+  name = "gvfs-1.14.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gvfs/1.10/gvfs-1.10.1.tar.xz;
-    sha256 = "124jrkph3cqr2pijmzzr6qwzy2vaq3vvndskzkxd0v5dwp7glc6d";
+    url = "mirror://gnome/sources/gvfs/1.14/${name}.tar.xz";
+    sha256 = "0af86cd7ee7b6daca144776bdf12f2f30d3e18fdd70b4da58e1a68cea4f6716a";
   };
 
   buildInputs =
     [ glib dbus_libs udev samba libarchive fuse libgphoto2 libcdio libxml2 GConf
-      libgnome_keyring libsoup avahi libtool
+      libgnome_keyring libsoup avahi libtool libxslt docbook_xsl
     ];
 
   buildNativeInputs = [ pkgconfig intltool ];
+
+  enableParallelBuilding = true;
 }
diff --git a/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix b/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix
index 0521ce9058fb..9a0afd1275d0 100644
--- a/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix
@@ -1,16 +1,16 @@
-{stdenv, fetchurl, pkgconfig, gtk, gettext, libxml2, intltool, libart_lgpl }:
+{ stdenv, fetchurl, pkgconfig, gtk, gettext, libxml2, intltool, libart_lgpl }:
 
-let
+stdenv.mkDerivation rec {
   name = "libgnomecups-0.2.3";
-in
-stdenv.mkDerivation {
-  inherit name;
 
   src = fetchurl {
     url = "mirror://gnome/sources/libgnomecups/0.2/${name}.tar.bz2";
     sha256 = "0a8xdaxzz2wc0n1fjcav65093gixzyac3948l8cxx1mk884yhc71";
   };
 
+  patches = [ ./glib.patch ];
+
   buildInputs = [ pkgconfig gtk gettext intltool libart_lgpl ];
+
   propagatedBuildInputs = [ libxml2 ];
 }
diff --git a/pkgs/desktops/gnome-2/platform/libgnomecups/glib.patch b/pkgs/desktops/gnome-2/platform/libgnomecups/glib.patch
new file mode 100644
index 000000000000..3f73af861c04
--- /dev/null
+++ b/pkgs/desktops/gnome-2/platform/libgnomecups/glib.patch
@@ -0,0 +1,38 @@
+From d84eee9450b3b6f6155074915efc61bedcc8d446 Mon Sep 17 00:00:00 2001
+From: Dominique Leuenberger <dimstar@opensuse.org>
+Date: Sun, 27 Nov 2011 21:36:41 +0100
+Subject: [PATCH] Fix: Only glib.h can be included
+
+---
+ libgnomecups/gnome-cups-i18n.c |    2 +-
+ libgnomecups/gnome-cups-init.h |    3 +--
+ 2 files changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/libgnomecups/gnome-cups-i18n.c b/libgnomecups/gnome-cups-i18n.c
+index 8987c5c..127756d 100644
+--- a/libgnomecups/gnome-cups-i18n.c
++++ b/libgnomecups/gnome-cups-i18n.c
+@@ -1,5 +1,5 @@
+ #include <config.h>
+-#include <glib/gmacros.h>
++#include <glib.h>
+ #include "gnome-cups-i18n.h"
+ 
+ #ifdef ENABLE_NLS
+diff --git a/libgnomecups/gnome-cups-init.h b/libgnomecups/gnome-cups-init.h
+index 22b682a..c4600fc 100644
+--- a/libgnomecups/gnome-cups-init.h
++++ b/libgnomecups/gnome-cups-init.h
+@@ -1,8 +1,7 @@
+ #ifndef GNOME_CUPS_INIT
+ #define GNOME_CUPS_INIT
+ 
+-#include <glib/gtypes.h>
+-#include <glib/gmacros.h>
++#include <glib.h>
+ 
+ G_BEGIN_DECLS
+ 
+-- 
+1.7.7
+
diff --git a/pkgs/desktops/gnome-2/platform/libgnomeprint/default.nix b/pkgs/desktops/gnome-2/platform/libgnomeprint/default.nix
index 410e408baa3d..0b6d3e25e2e7 100644
--- a/pkgs/desktops/gnome-2/platform/libgnomeprint/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnomeprint/default.nix
@@ -1,11 +1,8 @@
-{stdenv, fetchurl, pkgconfig, gtk, gettext, libxml2, intltool, libart_lgpl, libgnomecups, bison,
-flex }:
+{ stdenv, fetchurl, pkgconfig, gtk, gettext, libxml2, intltool, libart_lgpl
+, libgnomecups, bison, flex }:
 
-let
+stdenv.mkDerivation rec {
   name = "libgnomeprint-2.18.8";
-in
-stdenv.mkDerivation {
-  inherit name;
 
   src = fetchurl {
     url = "mirror://gnome/sources/libgnomeprint/2.18/${name}.tar.bz2";
@@ -15,5 +12,6 @@ stdenv.mkDerivation {
   patches = [ ./bug653388.patch ];
 
   buildInputs = [ pkgconfig gtk gettext intltool libart_lgpl libgnomecups bison flex ];
+
   propagatedBuildInputs = [ libxml2 ];
 }
diff --git a/pkgs/desktops/kde-4.7/kdelibs.nix b/pkgs/desktops/kde-4.7/kdelibs.nix
index 31df83e5ee92..429fbb2a709c 100644
--- a/pkgs/desktops/kde-4.7/kdelibs.nix
+++ b/pkgs/desktops/kde-4.7/kdelibs.nix
@@ -1,4 +1,4 @@
-{ kde, gcc, cmake, perl
+{ kde, gcc, cmake, perl, aspell
 , qt4, bzip2, pcre, fam, libxml2, libxslt, shared_mime_info, giflib, jasper
 , openexr, avahi, kerberos, acl, attr, shared_desktop_ontologies, libXScrnSaver
 , automoc4, strigi, soprano, qca2, attica, enchant, libdbusmenu_qt
@@ -10,7 +10,7 @@ kde {
   buildInputs =
     [ acl attr attica avahi bzip2 enchant fam getopt giflib herqq jasper
       libdbusmenu_qt libXScrnSaver libxslt pcre polkit_qt_1 qca2
-      shared_desktop_ontologies xz udev libxml2 libjpeg kerberos
+      shared_desktop_ontologies xz udev libxml2 libjpeg kerberos aspell
     ];
 
   propagatedBuildInputs = [ qt4 soprano strigi phonon ];
diff --git a/pkgs/desktops/xfce-4.6/applications/mousepad.nix b/pkgs/desktops/xfce-4.6/applications/mousepad.nix
deleted file mode 100644
index 5912b21c7661..000000000000
--- a/pkgs/desktops/xfce-4.6/applications/mousepad.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfcegui4, gtk }:
-
-stdenv.mkDerivation rec {
-  name = "mousepad-0.2.16";
-  
-  src = fetchurl {
-    url = "http://archive.xfce.org/src/apps/mousepad/0.2/${name}.tar.bz2";
-    sha1 = "4e63033e0a71578f3ec9a0d2e6a505efd0424ef9";
-  };
-
-  buildInputs = [ pkgconfig intltool libxfce4util libxfcegui4 gtk ];
-
-  meta = {
-    homepage = http://www.xfce.org/projects/mousepad/;
-    description = "A simple text editor for Xfce";
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/applications/ristretto.nix b/pkgs/desktops/xfce-4.6/applications/ristretto.nix
deleted file mode 100644
index aefabcb65fbd..000000000000
--- a/pkgs/desktops/xfce-4.6/applications/ristretto.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libexif, gtk, thunar
-, exo, dbus_glib, libxfce4util, libxfcegui4, xfconf }:
-
-stdenv.mkDerivation rec {
-  name = "ristretto-0.0.22";
-  
-  src = fetchurl {
-    url = "http://archive.xfce.org/src/apps/ristretto/0.0/${name}.tar.gz";
-    sha1 = "bddbc8618ba67699ccf5ee4ea0b538b1be7fdb0a";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool libexif gtk thunar exo dbus_glib
-      libxfce4util libxfcegui4 xfconf
-    ];
-
-  NIX_LDFLAGS = "-lX11";
-
-  meta = {
-    homepage = http://goodies.xfce.org/projects/applications/ristretto;
-    description = "A fast and lightweight picture-viewer for the Xfce desktop environment";
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/applications/terminal.nix b/pkgs/desktops/xfce-4.6/applications/terminal.nix
deleted file mode 100644
index bd198a12af44..000000000000
--- a/pkgs/desktops/xfce-4.6/applications/terminal.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl
-, pkgconfig, ncurses
-, intltool, vte
-, exo, libxfce4util
-, gtk
-}:
-
-stdenv.mkDerivation {
-  name = "xfce-terminal-0.4.5";
-  
-  src = fetchurl {
-    url = http://archive.xfce.org/src/apps/terminal/0.4/Terminal-0.4.5.tar.bz2;
-    sha256 = "14w8mhmyrq6dd9574zfvq0pymknljckq6qgcv1r6c1r22jydrzcj";
-  };
-
-  buildInputs = [ pkgconfig intltool exo gtk vte libxfce4util ncurses ];
-
-  meta = {
-    homepage = http://www.xfce.org/projects/terminal;
-    description = "A modern terminal emulator primarily for the Xfce desktop environment";
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/applications/xfce4-mixer.nix b/pkgs/desktops/xfce-4.6/applications/xfce4-mixer.nix
deleted file mode 100644
index 76cc5ea028f0..000000000000
--- a/pkgs/desktops/xfce-4.6/applications/xfce4-mixer.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, gstreamer, gst_plugins_base
-, gtk, libxfce4util, libxfcegui4, xfce4panel, xfconf, makeWrapper }:
-
-let
-
-  # The usual Gstreamer plugins package has a zillion dependencies
-  # that we don't need for a simple mixer, so build a minimal package.
-  gst_plugins_minimal = gst_plugins_base.override {
-    minimalDeps = true;
-  };
-
-in
-
-stdenv.mkDerivation rec {
-  name = "xfce4-mixer-4.6.1";
-  
-  src = fetchurl {
-    url = "http://archive.xfce.org/src/apps/xfce4-mixer/4.6/${name}.tar.bz2";
-    sha1 = "e86163782fc4fc31671c7cb212d23d34106ad3af";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool glib gstreamer gst_plugins_minimal gtk
-      libxfce4util libxfcegui4 xfce4panel xfconf makeWrapper
-    ];
-
-  postInstall =
-    ''
-      mkdir -p $out/nix-support
-      echo ${gst_plugins_minimal} > $out/nix-support/propagated-user-env-packages
-    '';
-
-  meta = {
-    homepage = http://www.xfce.org/projects/xfce4-mixer;
-    description = "A volume control application for the Xfce desktop environment";
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/applications/xfce4-power-manager.nix b/pkgs/desktops/xfce-4.6/applications/xfce4-power-manager.nix
deleted file mode 100644
index 65e906f5d83f..000000000000
--- a/pkgs/desktops/xfce-4.6/applications/xfce4-power-manager.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, dbus_glib, xfconf
-, libxfcegui4, libxfce4util, libnotify, xfce4panel }:
-
-stdenv.mkDerivation rec {
-  name = "xfce4-power-manager-0.8.5";
-  
-  src = fetchurl {
-    url = "http://archive.xfce.org/src/apps/xfce4-power-manager/0.8/${name}.tar.bz2";
-    sha1 = "b1ce0f120733ec1a6267d50ba5c2990bbbbccfd4";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool gtk dbus_glib xfconf libxfcegui4 libxfce4util
-      libnotify xfce4panel
-    ];
-
-  NIX_CFLAGS_COMPILE = "-I${libxfcegui4}/include/xfce4";
-
-  meta = {
-    homepage = http://goodies.xfce.org/projects/applications/xfce4-power-manager;
-    description = "A power manager for the Xfce Desktop Environment";
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/art/xfce4-icon-theme.nix b/pkgs/desktops/xfce-4.6/art/xfce4-icon-theme.nix
deleted file mode 100644
index f42790c62166..000000000000
--- a/pkgs/desktops/xfce-4.6/art/xfce4-icon-theme.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk }:
-
-stdenv.mkDerivation rec {
-  name = "xfce4-icon-theme-4.4.3";
-  
-  src = fetchurl {
-    url = "http://archive.xfce.org/src/art/xfce4-icon-theme/4.4/${name}.tar.bz2";
-    sha1 = "0c0d0c45cd4a7f609310db8e9d17c1c4a131a6e7";
-  };
-
-  buildInputs = [ pkgconfig intltool gtk ];
-
-  meta = {
-    homepage = http://www.xfce.org/;
-    description = "Icons for Xfce";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/core/exo.nix b/pkgs/desktops/xfce-4.6/core/exo.nix
deleted file mode 100644
index 5115a402c0dc..000000000000
--- a/pkgs/desktops/xfce-4.6/core/exo.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, URI, glib, gtk, libxfce4util
-, enableHAL ? true, hal, dbus_glib }:
-
-stdenv.mkDerivation rec {
-  name = "exo-0.3.107";
-  
-  src = fetchurl {
-    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
-    sha256 = "18z2xmdl577r60ln2waai10dd7i384k0bxrmf7gchrxd9c9aq4ha";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool URI glib gtk libxfce4util ] ++
-    stdenv.lib.optionals enableHAL [ hal dbus_glib ];
-
-  meta = {
-    homepage = http://www.xfce.org/projects/exo;
-    description = "Application library for the Xfce desktop environment";
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/core/gtk-xfce-engine.nix b/pkgs/desktops/xfce-4.6/core/gtk-xfce-engine.nix
deleted file mode 100644
index 156da1c64834..000000000000
--- a/pkgs/desktops/xfce-4.6/core/gtk-xfce-engine.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk }:
-
-stdenv.mkDerivation rec {
-  name = "gtk-xfce-engine-2.6.0";
-  
-  src = fetchurl {
-    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
-    sha1 = "a7be2f330833d150c5fb37f68a4c2138348b5446";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool gtk ];
-
-  meta = {
-    homepage = http://www.xfce.org/;
-    description = "GTK+ theme engine for Xfce";
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/core/libxfce4menu.nix b/pkgs/desktops/xfce-4.6/core/libxfce4menu.nix
deleted file mode 100644
index fda09979819e..000000000000
--- a/pkgs/desktops/xfce-4.6/core/libxfce4menu.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, intltool, gtk, libxfce4util }:
-
-stdenv.mkDerivation rec {
-  name = "libxfce4menu-4.6.2";
-  
-  src = fetchurl {
-    url = "http://archive.xfce.org/xfce-4.6.2/src/${name}.tar.bz2";
-    sha1 = "32a85c1ad31360347d5a2f240c4ddc08b444d124";
-  };
-
-  buildInputs = [ pkgconfig glib intltool gtk libxfce4util ];
-
-  meta = {
-    homepage = http://www.xfce.org/;
-    description = "Xfce menu support library";
-    license = "LGPLv2+";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/core/libxfce4util.nix b/pkgs/desktops/xfce-4.6/core/libxfce4util.nix
deleted file mode 100644
index ca90822cfd0f..000000000000
--- a/pkgs/desktops/xfce-4.6/core/libxfce4util.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, intltool }:
-
-stdenv.mkDerivation rec {
-  name = "libxfce4util-4.6.2";
-  
-  src = fetchurl {
-    url = "http://archive.xfce.org/xfce-4.6.2/src/${name}.tar.bz2";
-    sha256 = "10wcw7r8cjb0farffic037pcjr5bwrjrm8s3jrcb7c0b038pwbmf";
-  };
-
-  buildInputs = [ pkgconfig glib intltool ];
-
-  meta = {
-    homepage = http://www.xfce.org/;
-    description = "Basic utility non-GUI functions for Xfce";
-    license = "bsd";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/core/libxfcegui4.nix b/pkgs/desktops/xfce-4.6/core/libxfcegui4.nix
deleted file mode 100644
index 056853f9eb15..000000000000
--- a/pkgs/desktops/xfce-4.6/core/libxfcegui4.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, xfconf
-, libglade, libstartup_notification }:
-
-stdenv.mkDerivation rec {
-  name = "libxfcegui4-4.6.4";
-  
-  src = fetchurl {
-    url = "http://archive.xfce.org/xfce-4.6.2/src/${name}.tar.bz2";
-    sha1 = "a12c79f8fa14c5d1fc0fca5615a451b7d23f8695";
-  };
-
-  # By default, libxfcegui4 tries to install into libglade's prefix.
-  # Install into our own prefix instead.
-  preConfigure =
-    ''
-      configureFlags="--with-libglade-module-path=$out/lib/libglade/2.0"
-    '';
-
-  buildInputs =
-    [ pkgconfig intltool gtk libxfce4util xfconf libglade
-      libstartup_notification
-    ];
-
-  meta = {
-    homepage = http://www.xfce.org/;
-    description = "Basic GUI library for Xfce";
-    license = "LGPLv2+";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/core/thunar.nix b/pkgs/desktops/xfce-4.6/core/thunar.nix
deleted file mode 100644
index 2fecb7814b11..000000000000
--- a/pkgs/desktops/xfce-4.6/core/thunar.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, exo, gtk, libxfce4util
-, dbus_glib, libstartup_notification, xfconf, hal, xfce4panel
-, gamin }:
-
-stdenv.mkDerivation rec {
-  name = "thunar-1.0.2";
-  
-  src = fetchurl {
-    url = http://archive.xfce.org/xfce/4.6.2/src/Thunar-1.0.2.tar.bz2;
-    sha1 = "f7ae00c32402e4bc502aba15477b78e2c558c7c3";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool exo gtk libxfce4util
-      dbus_glib libstartup_notification xfconf xfce4panel gamin
-    ];
-
-  propagatedBuildInputs = [ hal ];
-
-  meta = {
-    homepage = http://thunar.xfce.org/;
-    description = "Xfce file manager";
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/core/xfce-utils.nix b/pkgs/desktops/xfce-4.6/core/xfce-utils.nix
deleted file mode 100644
index ed2bfc56108c..000000000000
--- a/pkgs/desktops/xfce-4.6/core/xfce-utils.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfcegui4 }:
-
-stdenv.mkDerivation rec {
-  name = "xfce-utils-4.6.2";
-  
-  src = fetchurl {
-    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
-    sha1 = "6373886c3d70e576859741bde747a235567ffd8e";
-  };
-
-  configureFlags = "--with-xsession-prefix=$(out)/share/xsessions";
-
-  buildInputs = [ pkgconfig intltool gtk libxfce4util libxfcegui4 ];
-
-  meta = {
-    homepage = http://www.xfce.org/;
-    description = "Utilities and scripts for Xfce";
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/core/xfce4-panel.nix b/pkgs/desktops/xfce-4.6/core/xfce4-panel.nix
deleted file mode 100644
index 7708d019b90a..000000000000
--- a/pkgs/desktops/xfce-4.6/core/xfce4-panel.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfcegui4
-, libwnck, exo, libstartup_notification }:
-
-stdenv.mkDerivation rec {
-  name = "xfce4-panel-4.6.4";
-  
-  src = fetchurl {
-    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
-    sha1 = "d2b310c036be84ed9886c06ae35b7a1a8eabfcb8";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool gtk libxfce4util exo libwnck
-      libstartup_notification
-    ];
-
-  propagatedBuildInputs = [ libxfcegui4 ];
-
-  meta = {
-    homepage = http://www.xfce.org/;
-    description = "Xfce panel";
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/core/xfce4-session.nix b/pkgs/desktops/xfce-4.6/core/xfce4-session.nix
deleted file mode 100644
index fc56be085c4a..000000000000
--- a/pkgs/desktops/xfce-4.6/core/xfce4-session.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfcegui4
-, libwnck, dbus_glib, xfconf, libglade, xorg }:
-
-stdenv.mkDerivation rec {
-  name = "xfce4-session-4.6.2";
-  
-  src = fetchurl {
-    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
-    sha1 = "2a5778a1543f97845f118a186e2dbb8a8ea3ff4b";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool gtk libxfce4util libxfcegui4 libwnck dbus_glib
-      xfconf libglade xorg.iceauth
-    ];
-
-  meta = {
-    homepage = http://www.xfce.org/;
-    description = "Session manager for Xfce";
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/core/xfce4-settings.nix b/pkgs/desktops/xfce-4.6/core/xfce4-settings.nix
deleted file mode 100644
index 0935955231e3..000000000000
--- a/pkgs/desktops/xfce-4.6/core/xfce4-settings.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, exo, gtk, libxfce4util, libxfcegui4
-, libglade, xfconf, xorg, libwnck, libnotify }:
-
-stdenv.mkDerivation rec {
-  name = "xfce4-settings-4.6.5";
-  
-  src = fetchurl {
-    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
-    sha1 = "c036cc2f3100a46b2649e678dff7c0106b219263";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool exo gtk libxfce4util libxfcegui4 libglade
-      xfconf xorg.libXi xorg.libXcursor libwnck libnotify
-    #gtk libxfce4util libxfcegui4 libwnck dbus_glib
-      #xfconf libglade xorg.iceauth
-    ];
-
-  meta = {
-    homepage = http://www.xfce.org/;
-    description = "Settings manager for Xfce";
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/core/xfconf.nix b/pkgs/desktops/xfce-4.6/core/xfconf.nix
deleted file mode 100644
index 2fc88bd12586..000000000000
--- a/pkgs/desktops/xfce-4.6/core/xfconf.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, dbus_glib }:
-
-stdenv.mkDerivation rec {
-  name = "xfconf-4.6.2";
-  
-  src = fetchurl {
-    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
-    sha1 = "2b9656a1b7f323d2600ddc929191afb50c8018f8";
-  };
-
-  buildInputs = [ pkgconfig intltool glib libxfce4util ];
-
-  propagatedBuildInputs = [ dbus_glib ];
-
-  meta = {
-    homepage = http://www.xfce.org/;
-    description = "Simple client-server configuration storage and query system for Xfce";
-    license = "GPLv2";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/core/xfdesktop.nix b/pkgs/desktops/xfce-4.6/core/xfdesktop.nix
deleted file mode 100644
index 90a69bd8692f..000000000000
--- a/pkgs/desktops/xfce-4.6/core/xfdesktop.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfcegui4
-, libwnck, xfconf, libglade, libxfce4menu, xfce4panel, thunar, exo }:
-
-stdenv.mkDerivation rec {
-  name = "xfdesktop-4.6.2";
-  
-  src = fetchurl {
-    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
-    sha1 = "cefcd1c1386d34386d4e900cbf88b7c24ef3bafb";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool gtk libxfce4util libxfcegui4 libwnck xfconf
-      libglade libxfce4menu xfce4panel thunar exo
-    ];
-
-  meta = {
-    homepage = http://www.xfce.org/;
-    description = "Xfce desktop manager";
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/core/xfwm4.nix b/pkgs/desktops/xfce-4.6/core/xfwm4.nix
deleted file mode 100644
index 6e88ef9cd0d9..000000000000
--- a/pkgs/desktops/xfce-4.6/core/xfwm4.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gtk, intltool, libglade, libxfce4util
-, libxfcegui4, xfconf, libwnck, libstartup_notification, xorg }:
-
-stdenv.mkDerivation rec {
-  name = "xfwm4-4.6.2";
-  
-  src = fetchurl {
-    url = "http://archive.xfce.org/xfce/4.6.2/src/${name}.tar.bz2";
-    sha256 = "0a2q2pr5mzp6hsrd0llr90i9wii2qj2054shkpvkain20gp1ja11";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool gtk libglade libxfce4util libxfcegui4 xfconf
-      libwnck libstartup_notification
-      xorg.libXcomposite xorg.libXfixes xorg.libXdamage
-    ];
-
-  meta = {
-    homepage = http://www.xfce.org/;
-    description = "Window manager for Xfce";
-    license = "GPLv2+";
-  };
-}
diff --git a/pkgs/desktops/xfce-4.6/default.nix b/pkgs/desktops/xfce-4.6/default.nix
deleted file mode 100644
index 1769c3f7a041..000000000000
--- a/pkgs/desktops/xfce-4.6/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ callPackage, pkgs }:
-
-rec {
-  inherit (pkgs) gtk glib;
-
-  #### CORE
-
-  exo = callPackage ./core/exo.nix {
-    inherit (pkgs.perlPackages) URI;
-  };
-
-  libxfce4util = callPackage ./core/libxfce4util.nix { };
-
-  libxfcegui4 = callPackage ./core/libxfcegui4.nix {
-    inherit (pkgs.gnome) libglade;
-  };
-
-  libxfce4menu = callPackage ./core/libxfce4menu.nix { };
-
-  xfconf = callPackage ./core/xfconf.nix { };
-
-  xfwm4 = callPackage ./core/xfwm4.nix {
-    inherit (pkgs.gnome) libglade libwnck;
-  };
-
-  xfceutils = callPackage ./core/xfce-utils.nix { };
-
-  xfce4session = callPackage ./core/xfce4-session.nix {
-    inherit (pkgs.gnome) libglade libwnck;
-  };
-
-  xfce4settings = callPackage ./core/xfce4-settings.nix {
-    inherit (pkgs.gnome) libglade libwnck;
-  };
-
-  xfce4panel = callPackage ./core/xfce4-panel.nix {
-    inherit (pkgs.gnome) libwnck;
-  };
-
-  xfdesktop = callPackage ./core/xfdesktop.nix {
-    inherit (pkgs.gnome) libwnck libglade;
-  };
-
-  thunar = callPackage ./core/thunar.nix { };
-
-  gtk_xfce_engine = callPackage ./core/gtk-xfce-engine.nix { };
-
-  #### APPLICATIONS
-  
-  terminal = callPackage ./applications/terminal.nix {
-    inherit (pkgs.gnome) vte;
-  };
-
-  mousepad = callPackage ./applications/mousepad.nix { };
-
-  ristretto = callPackage ./applications/ristretto.nix { };
-
-  xfce4_power_manager = callPackage ./applications/xfce4-power-manager.nix { };
-
-  xfce4mixer = callPackage ./applications/xfce4-mixer.nix { };
-
-  #### ART
-
-  xfce4icontheme = callPackage ./art/xfce4-icon-theme.nix { };
-  
-}
diff --git a/pkgs/desktops/xfce-4.8/applications/gigolo.nix b/pkgs/desktops/xfce-4.8/applications/gigolo.nix
new file mode 100644
index 000000000000..5215697bbca9
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/applications/gigolo.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, python, gettext, intltool, pkgconfig, gtk, gvfs}:
+
+stdenv.mkDerivation rec {
+  name = "gigolo-0.4.1";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/apps/gigolo/0.4/${name}.tar.bz2";
+    sha256 = "1y8p9bbv1a4qgbxl4vn6zbag3gb7gl8qj75cmhgrrw9zrvqbbww2";
+  };
+
+  buildInputs = [ python gettext intltool gtk pkgconfig gvfs];
+
+  preConfigure = ''
+    sed -i "waf" -e "1 s^.*/env[ ]*python^#!${python}/bin/python^";
+  '';
+
+  meta = {
+    homepage = http://goodies.xfce.org/projects/applications/gigolo;
+    description = "Gigolo is a frontend to easily manage connections to remote filesystems";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/desktops/xfce-4.8/applications/xfce4-taskmanager.nix b/pkgs/desktops/xfce-4.8/applications/xfce4-taskmanager.nix
new file mode 100644
index 000000000000..cffaa6bfe09b
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/applications/xfce4-taskmanager.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, intltool, pkgconfig, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "xfce4-taskmanager-1.0.0";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/apps/xfce4-taskmanager/1.0/${name}.tar.bz2";
+    sha256 = "1vm9gw7j4ngjlpdhnwdf7ifx6xrrn21011almx2vwidhk2f9zvy0";
+  };
+
+  buildInputs = [ intltool pkgconfig gtk ];
+
+  meta = {
+    homepage = http://goodies.xfce.org/projects/applications/xfce4-taskmanager;
+    description = "Easy to use task manager for XFCE";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/desktops/xfce-4.8/core/xfce4-panel-datadir.patch b/pkgs/desktops/xfce-4.8/core/xfce4-panel-datadir.patch
new file mode 100644
index 000000000000..ed9df9ef36f3
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/core/xfce4-panel-datadir.patch
@@ -0,0 +1,24 @@
+diff --git a/panel/panel-module-factory.c b/panel/panel-module-factory.c
+index 529fe85..8c792b7 100644
+--- a/panel/panel-module-factory.c
++++ b/panel/panel-module-factory.c
+@@ -39,6 +39,7 @@
+ #include <panel/panel-module.h>
+ #include <panel/panel-module-factory.h>
+ 
++#define DATADIR "/run/current-system/sw/share/xfce4"
+ #define PANEL_PLUGINS_DATA_DIR     (DATADIR G_DIR_SEPARATOR_S "panel" G_DIR_SEPARATOR_S "plugins")
+ #define PANEL_PLUGINS_DATA_DIR_OLD (DATADIR G_DIR_SEPARATOR_S "panel-plugins")
+ 
+diff --git a/panel/panel-module.c b/panel/panel-module.c
+index ba39320..519440b 100644
+--- a/panel/panel-module.c
++++ b/panel/panel-module.c
+@@ -35,6 +35,7 @@
+ #include <panel/panel-plugin-external-wrapper.h>
+ #include <panel/panel-plugin-external-46.h>
+ 
++#define LIBDIR "/run/current-system/sw/lib/xfce4"
+ #define PANEL_PLUGINS_LIB_DIR (LIBDIR G_DIR_SEPARATOR_S "panel" G_DIR_SEPARATOR_S "plugins")
+ #define PANEL_PLUGINS_LIB_DIR_OLD (LIBDIR G_DIR_SEPARATOR_S "panel-plugins")
+ 
diff --git a/pkgs/desktops/xfce-4.8/core/xfce4-panel.nix b/pkgs/desktops/xfce-4.8/core/xfce4-panel.nix
index bb2637129622..e14d1acf33da 100644
--- a/pkgs/desktops/xfce-4.8/core/xfce4-panel.nix
+++ b/pkgs/desktops/xfce-4.8/core/xfce4-panel.nix
@@ -9,6 +9,9 @@ stdenv.mkDerivation rec {
     sha1 = "332fc968332e6271e1bb65d6de8de2524b0440ec";
   };
 
+  patches = [ ./xfce4-panel-datadir.patch ];
+  patchFlags = "-p1";
+
   buildInputs =
     [ pkgconfig intltool gtk libxfce4util garcon libxfce4ui xfconf
       exo libwnck
diff --git a/pkgs/desktops/xfce-4.8/default.nix b/pkgs/desktops/xfce-4.8/default.nix
index 8e6f7c10234c..c20e42d20196 100644
--- a/pkgs/desktops/xfce-4.8/default.nix
+++ b/pkgs/desktops/xfce-4.8/default.nix
@@ -67,6 +67,8 @@ rec {
     inherit (pkgs.gnome) vte;
   };
 
+  gigolo = callPackage ./applications/gigolo.nix { };
+
   mousepad = callPackage ./applications/mousepad.nix { };
 
   ristretto = callPackage ./applications/ristretto.nix { };
@@ -75,9 +77,16 @@ rec {
 
   xfce4mixer = callPackage ./applications/xfce4-mixer.nix { };
 
+  xfce4_taskmanager = callPackage ./applications/xfce4-taskmanager.nix { };
+
   
   #### ART
 
   xfce4icontheme = callPackage ./art/xfce4-icon-theme.nix { };
+
+  #### PANEL PLUGINS
+  
+  xfce4_systemload_plugin = callPackage ./panel-plugins/xfce4-systemload-plugin.nix {};
+  xfce4_cpufreq_plugin = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix {};
   
 }
diff --git a/pkgs/desktops/xfce-4.8/panel-plugins/xfce4-cpufreq-plugin.nix b/pkgs/desktops/xfce-4.8/panel-plugins/xfce4-cpufreq-plugin.nix
new file mode 100644
index 000000000000..c3f342194646
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/panel-plugins/xfce4-cpufreq-plugin.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+
+stdenv.mkDerivation rec {
+  name = "xfce4-cpufreq-plugin-1.0.0";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/panel-plugins/xfce4-cpufreq-plugin/1.0/${name}.tar.bz2";
+    sha256 = "0q2lj8a25iq9w3dynh6qvsmh19y1v7i82g46yza6gvw7fjcrmcz1";
+  };
+
+  buildInputs = [ pkgconfig intltool libxfce4util libxfce4ui xfce4panel libxfcegui4 xfconf gtk ];
+
+  meta = {
+    homepage = http://www.xfce.org/;
+    description = "CPU Freq load panel plugin for Xfce";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/panel-plugins/xfce4-systemload-plugin.nix b/pkgs/desktops/xfce-4.8/panel-plugins/xfce4-systemload-plugin.nix
new file mode 100644
index 000000000000..6d0f997500cd
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/panel-plugins/xfce4-systemload-plugin.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel, libxfce4ui, gtk}:
+
+stdenv.mkDerivation rec {
+  name = "xfce4-systemload-plugin-1.1.1";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/panel-plugins/xfce4-systemload-plugin/1.1/${name}.tar.bz2";
+    sha256 = "1bnrr30h6kgb37ixcq7frx2gvj2p99bpa1jyzppwjxp5x7xkxh8s";
+  };
+
+  buildInputs = [ pkgconfig intltool libxfce4util libxfce4ui xfce4panel gtk ];
+
+  meta = {
+    homepage = http://www.xfce.org/;
+    description = "System load panel plugin for Xfce";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/support/gvfs.nix b/pkgs/desktops/xfce-4.8/support/gvfs.nix
index 33f7315a9d9b..f922b194f877 100644
--- a/pkgs/desktops/xfce-4.8/support/gvfs.nix
+++ b/pkgs/desktops/xfce-4.8/support/gvfs.nix
@@ -1,14 +1,18 @@
-{ stdenv, fetchurl, pkgconfig, glib, dbus, intltool, udev, libgdu, fuse }:
+{ stdenv, fetchurl, pkgconfig, glib, dbus, intltool, udev, libgdu, fuse
+, libxml2, libxslt, docbook_xsl, libgphoto2, libtool }:
 
 stdenv.mkDerivation rec {
-  name = "gvfs-1.8.2";
-  
+  name = "gvfs-1.14.1";
+
   src = fetchurl {
-    url = "mirror://gnome/sources/gvfs/1.8/${name}.tar.bz2";
-    sha256 = "0895ac8f6d416e1b15433b6b6b68eb119c6e8b04fdb66db665d684355ef89345";
+    url = "mirror://gnome/sources/gvfs/1.14/${name}.tar.xz";
+    sha256 = "0af86cd7ee7b6daca144776bdf12f2f30d3e18fdd70b4da58e1a68cea4f6716a";
   };
 
-  buildInputs = [ pkgconfig glib dbus.libs intltool udev libgdu fuse ];
+  buildInputs =
+    [ pkgconfig glib dbus.libs intltool udev libgdu fuse libxml2 libxslt
+      docbook_xsl libgphoto2 libtool
+    ];
 
   meta = {
     description = "Virtual Filesystem support library (for Xfce)";
diff --git a/pkgs/development/androidenv/addon.xml b/pkgs/development/androidenv/addon.xml
new file mode 100644
index 000000000000..7b0f69128a63
--- /dev/null
+++ b/pkgs/development/androidenv/addon.xml
@@ -0,0 +1,893 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+<sdk:sdk-addon xmlns:sdk="http://schemas.android.com/sdk/android/addon/5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+    <sdk:license id="android-sdk-license" type="text">This is the Android Software Development Kit License Agreement.
+
+1. Introduction
+
+1.1 The Android Software Development Kit (referred to in this License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
+
+1.2 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting this License Agreement
+
+2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the SDK if you do not accept this License Agreement.
+
+2.2 You can accept this License Agreement by:
+
+(A) clicking to accept or agree to this License Agreement, where this option is made available to you; or
+
+(B) by actually using the SDK. In this case, you agree that use of the SDK constitutes acceptance of the Licensing Agreement from that point onwards.
+
+2.3 You may not use the SDK and may not accept the Licensing Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK.
+
+2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the Licensing Agreement or use the SDK on behalf of your employer or other entity.
+
+3. SDK License from Google
+
+3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non- assignable and non-exclusive license to use the SDK solely to develop applications to run on the Android platform.
+
+3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.3 Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK. Except to the extent required by applicable third party licenses, you may not load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
+
+3.4 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
+
+3.5 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.6 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.7 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
+
+4. Use of the SDK by You
+
+4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, your must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through the Android platform and/or applications for the Android platform, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy.
+
+7. Third Party Applications for the Android Platform
+
+7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
+
+8. Using Android APIs
+
+8.1 Google Data APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+9. Terminating this License Agreement
+
+9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
+
+9.3 Google may at any time, terminate this License Agreement with you if:
+
+(A) you have breached any provision of this License Agreement; or
+
+(B) Google is required to do so by law; or
+
+(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or
+
+(D) Google decides to no longer providing the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
+
+9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
+
+10. DISCLAIMER OF WARRANTIES
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
+
+14. General Legal Terms
+
+14.1 This License Agreement constitute the whole legal agreement between you and Google and govern your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replace any prior agreements between you and Google in relation to the SDK.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
+
+14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+April 10, 2009
+    </sdk:license>
+
+    <sdk:license id="android-googletv-license" type="text">Terms and Conditions
+
+This is the Google TV Add-on for the Android Software Development Kit License Agreement.
+
+1. Introduction
+
+1.1 The Google TV Add-on for the Android Software Development Kit (referred to in this License Agreement as the "Google TV Add-on" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the Google TV Add-on.
+
+1.2 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting this License Agreement
+
+2.1 In order to use the Google TV Add-on, you must first agree to this License Agreement. You may not use the Google TV Add-on if you do not accept this License Agreement.
+
+2.2 You can accept this License Agreement by:
+
+(A) clicking to accept or agree to this License Agreement, where this option is made available to you; or
+
+(B) by actually using the Google TV Add-on.  In this case, you agree that use of the Google TV Add-on constitutes acceptance of the License Agreement from that point onwards.
+
+2.3 You may not use the Google TV Add-on and may not accept the Licensing Agreement if you are a person barred from receiving the Google TV Add-on under the laws of the United States or other countries including the country in which you are resident or from which you use the Google TV Add-on.
+
+2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the Licensing Agreement or use the Google TV Add-on on behalf of your employer or other entity.
+
+3. Google TV Add-on License from Google
+
+3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non- assignable and non-exclusive license to use the Google TV Add-on solely to develop applications to run on the Google TV platform.
+
+3.2 You agree that Google or third parties own all legal right, title and interest in and to the Google TV Add-on, including any Intellectual Property Rights that subsist in the Google TV Add-on. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.3 Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the Google TV Add-on or any part of the Google TV Add-on. Except to the extent required by applicable third party licenses, you may not load any part of the Google TV Add-on onto a mobile handset, television, or any other hardware device except a personal computer, combine any part of the Google TV Add-on with other software, or distribute any software or device incorporating a part of the Google TV Add-on.
+
+3.4 Use, reproduction and distribution of components of the Google TV Add-on licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
+
+3.5 You agree that the form and nature of the Google TV Add-on that Google provides may change without prior notice to you and that future versions of the Google TV Add-on may be incompatible with applications developed on previous versions of the Google TV Add-on. You agree that Google may stop (permanently or temporarily) providing the Google TV Add-on (or any features within the Google TV Add-on) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.6 Nothing in this License Agreement gives you a right to use any of Google's or it’s licensors’ trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.7 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the Google TV Add-on.
+
+4. Use of the Google TV Add-on by You
+
+4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the Google TV Add-on, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the Google TV Add-on and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the Google TV Add-on to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, your must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you explicit permission to do so.
+
+4.4 You agree that you will not engage in any activity with the Google TV Add-on, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google, Multichannel Video Program Distributors or any mobile communications carrier.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through the Google TV platform and/or applications for the Google TV platform, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the Google TV Add-on, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the Google TV Add-on are being used and how they are being used. Before any of this information is collected, the Google TV Add-on will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the Google TV Add-on and is maintained in accordance with Google's Privacy Policy.
+
+7. Third Party Applications for the Google TV Platform
+
+7.1 If you use the Google TV Add-on to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
+
+8. Using Google TV APIs
+
+8.1 If you use any Google TV API to retrieve data from Google, you acknowledge that the data (“Google TV API Contentâ€) may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.  Some portions of the Google TV API Content are licensed to Google by third parties, including but not limited to Tribune Media Services
+
+8.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+8.3 Except as explicitly permitted in Section 3 (Google TV Add-on License from Google), you must:
+
+(a) not modify nor format the Google TV API Content except to the extent reasonably and technically necessary to optimize the display such Google TV API Content in your application;
+
+(b) not edit the Google TV API Content in a manner that renders the Google TV API Content inaccurate of alters its inherent meaning (provided that displaying excerpts will not violate the foregoing); or
+
+(c)  not create any commercial audience measurement tool or service using the Google TV API Content
+
+9. Terminating this License Agreement
+
+9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the Google TV Add-on and any relevant developer credentials.
+
+9.3 Google may at any time, terminate this License Agreement with you if:
+
+(A) you have breached any provision of this License Agreement; or
+
+(B) Google is required to do so by law; or
+
+(C) the partner with whom Google offered certain parts of Google TV Add-on (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the Google TV Add-on to you; or
+
+(D) Google decides to no longer providing the Google TV Add-on or certain parts of the Google TV Add-on to users in the country in which you are resident or from which you use the service, or the provision of the Google TV Add-on or certain Google TV Add-on services to you by Google is, in Google's sole discretion, no longer commercially viable.
+
+9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
+
+10. DISCLAIMER OF WARRANTIES
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE GOOGLE TV ADD-ON IS AT YOUR SOLE RISK AND THAT THE GOOGLE TV ADD-ON IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE GOOGLE TV ADD-ON AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE GOOGLE TV ADD-ON IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the Google TV Add-on, (b) any application you develop on the Google TV Add-on that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the Google TV Add-on.
+
+14. General Legal Terms
+
+14.1 This License Agreement constitute the whole legal agreement between you and Google and govern your use of the Google TV Add-on (excluding any services which Google may provide to you under a separate written agreement), and completely replace any prior agreements between you and Google in relation to the Google TV Add-on.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that Google’s API data licensors and each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE GOOGLE TV ADD-ON IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE GOOGLE TV ADD-ON. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
+
+14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+
+August 15, 2011
+   </sdk:license>
+
+    <!-- ADD-ONS ....................... -->
+
+    <sdk:add-on>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_apis</sdk:name-id>
+        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:api-level>3</sdk:api-level>
+        <sdk:revision>03</sdk:revision>
+        <sdk:description>Android + Google APIs</sdk:description>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>34908058</sdk:size>
+                <sdk:checksum type="sha1">1f92abf3a76be66ae8032257fc7620acbd2b2e3a</sdk:checksum>
+                <sdk:url>google_apis-3-r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:libs>
+            <sdk:lib>
+                <sdk:name>com.google.android.maps</sdk:name>
+                <sdk:description>API for Google Maps.</sdk:description>
+            </sdk:lib>
+        </sdk:libs>
+    </sdk:add-on>
+
+    <!-- Generated on Tue Nov 24 16:38:28 PST 2009 using donut 20842: Platform. Addon. -->
+
+    <sdk:add-on>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_apis</sdk:name-id>
+        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:api-level>4</sdk:api-level>
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android + Google APIs, revision 2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>42435735</sdk:size>
+                <sdk:checksum type="sha1">9b6e86d8568558de4d606a7debc4f6049608dbd0</sdk:checksum>
+                <sdk:url>google_apis-4_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:libs>
+            <sdk:lib>
+                <sdk:name>com.google.android.maps</sdk:name>
+                <sdk:description>API for Google Maps.</sdk:description>
+            </sdk:lib>
+        </sdk:libs>
+    </sdk:add-on>
+
+    <!-- Generated on Thu Oct 22 10:16:34 PDT 2009 using eclair-sdk 17704: Platform. Addon. Tools. Doc. -->
+
+    <sdk:add-on>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_apis</sdk:name-id>
+        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:api-level>5</sdk:api-level>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android + Google APIs, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>49123776</sdk:size>
+                <sdk:checksum type="sha1">46eaeb56b645ee7ffa24ede8fa17f3df70db0503</sdk:checksum>
+                <sdk:url>google_apis-5_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:libs>
+            <sdk:lib>
+                <sdk:name>com.google.android.maps</sdk:name>
+                <sdk:description>API for Google Maps.</sdk:description>
+            </sdk:lib>
+        </sdk:libs>
+    </sdk:add-on>
+
+    <!-- Generated on Mon Nov 23 14:08:02 PST 2009 using eclair-release 20723: Platform. Addon. -->
+
+    <sdk:add-on>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_apis</sdk:name-id>
+        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:api-level>6</sdk:api-level>
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android + Google APIs, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>53382941</sdk:size>
+                <sdk:checksum type="sha1">5ff545d96e031e09580a6cf55713015c7d4936b2</sdk:checksum>
+                <sdk:url>google_apis-6_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:libs>
+            <sdk:lib>
+                <sdk:name>com.google.android.maps</sdk:name>
+                <sdk:description>API for Google Maps.</sdk:description>
+            </sdk:lib>
+        </sdk:libs>
+    </sdk:add-on>
+
+    <!-- Generated on Mon Dec 21 14:36:17 PST 2009 using eclair-release 22607: Platform. Addon. -->
+
+    <sdk:add-on>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_apis</sdk:name-id>
+        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:api-level>7</sdk:api-level>
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android + Google APIs, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>53691339</sdk:size>
+                <sdk:checksum type="sha1">2e7f91e0fe34fef7f58aeced973c6ae52361b5ac</sdk:checksum>
+                <sdk:url>google_apis-7_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:libs>
+            <sdk:lib>
+                <sdk:name>com.google.android.maps</sdk:name>
+                <sdk:description>API for Google Maps.</sdk:description>
+            </sdk:lib>
+        </sdk:libs>
+    </sdk:add-on>
+
+    <!-- Generated on Wed Jun 30 16:13:06 PDT 2010 using froyo-release 43546: Platform. Addon. -->
+
+    <sdk:add-on>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_apis</sdk:name-id>
+        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:api-level>8</sdk:api-level>
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android + Google APIs, API 8, revision 2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>59505020</sdk:size>
+                <sdk:checksum type="sha1">3079958e7ec87222cac1e6b27bc471b27bf2c352</sdk:checksum>
+                <sdk:url>google_apis-8_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:libs>
+            <sdk:lib>
+                <sdk:name>com.google.android.maps</sdk:name>
+                <sdk:description>API for Google Maps.</sdk:description>
+            </sdk:lib>
+        </sdk:libs>
+    </sdk:add-on>
+
+    <!-- Generated on Thu Jan 20 13:47:16 PST 2011 using gingerbread-sdk-release 93351: Addon. -->
+
+    <sdk:add-on>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_apis</sdk:name-id>
+        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:api-level>9</sdk:api-level>
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android + Google APIs, API 9, revision 2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>63401546</sdk:size>
+                <sdk:checksum type="sha1">78664645a1e9accea4430814f8694291a7f1ea5d</sdk:checksum>
+                <sdk:url>google_apis-9_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:libs>
+            <sdk:lib>
+                <sdk:name>com.google.android.maps</sdk:name>
+                <sdk:description>API for Google Maps.</sdk:description>
+            </sdk:lib>
+        </sdk:libs>
+        <sdk:obsolete/>
+    </sdk:add-on>
+
+    <!-- Generated on Thu May  5 15:52:16 PDT 2011 using gingerbread 123630: Addon. -->
+
+    <sdk:add-on>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_apis</sdk:name-id>
+        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:api-level>10</sdk:api-level>
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android + Google APIs, API 10, revision 2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>65781578</sdk:size>
+                <sdk:checksum type="sha1">cc0711857c881fa7534f90cf8cc09b8fe985484d</sdk:checksum>
+                <sdk:url>google_apis-10_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:libs>
+            <sdk:lib>
+                <sdk:name>com.google.android.maps</sdk:name>
+                <sdk:description>API for Google Maps.</sdk:description>
+            </sdk:lib>
+        </sdk:libs>
+    </sdk:add-on>
+
+    <!-- Generated on Thu Feb 17 08:43:44 PST 2011 using honeycomb 104254: Addon. -->
+
+    <sdk:add-on>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_apis</sdk:name-id>
+        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:api-level>11</sdk:api-level>
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android + Google APIs, API 11, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>83477179</sdk:size>
+                <sdk:checksum type="sha1">5eab5e81addee9f3576d456d205208314b5146a5</sdk:checksum>
+                <sdk:url>google_apis-11_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:libs>
+            <sdk:lib>
+                <sdk:name>com.google.android.maps</sdk:name>
+                <sdk:description>API for Google Maps.</sdk:description>
+            </sdk:lib>
+        </sdk:libs>
+    </sdk:add-on>
+
+    <!-- Generated on Wed May  4 19:44:46 PDT 2011 using honeycomb-mr1 123685: Addon. -->
+
+    <sdk:add-on>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_apis</sdk:name-id>
+        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:api-level>12</sdk:api-level>
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android + Google APIs, API 12, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>86099835</sdk:size>
+                <sdk:checksum type="sha1">e9999f4fa978812174dfeceec0721c793a636e5d</sdk:checksum>
+                <sdk:url>google_apis-12_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:libs>
+            <sdk:lib>
+                <sdk:name>com.google.android.maps</sdk:name>
+                <sdk:description>API for Google Maps.</sdk:description>
+            </sdk:lib>
+        </sdk:libs>
+    </sdk:add-on>
+
+    <!-- Generated on Fri Jul 15 11:51:11 PDT 2011 using honeycomb-mr2 142871: Addon. -->
+
+    <sdk:add-on>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_apis</sdk:name-id>
+        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:api-level>13</sdk:api-level>
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android + Google APIs, API 13, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>88615525</sdk:size>
+                <sdk:checksum type="sha1">3b153edd211c27dc736c893c658418a4f9041417</sdk:checksum>
+                <sdk:url>google_apis-13_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:libs>
+            <sdk:lib>
+                <sdk:name>com.google.android.maps</sdk:name>
+                <sdk:description>API for Google Maps.</sdk:description>
+            </sdk:lib>
+        </sdk:libs>
+    </sdk:add-on>
+
+    <sdk:add-on>
+        <!-- Generated at Wed Dec  7 13:47:50 2011 from git_ics-mr0 @ 229537 -->
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_apis</sdk:name-id>
+        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:description>Android + Google APIs</sdk:description>
+        <sdk:api-level>14</sdk:api-level>
+        <sdk:revision>2</sdk:revision>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:libs>
+            <sdk:lib>
+                <sdk:name>com.google.android.maps</sdk:name>
+            </sdk:lib>
+            <sdk:lib>
+                <sdk:name>com.android.future.usb.accessory</sdk:name>
+            </sdk:lib>
+        </sdk:libs>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>106533714</sdk:size>
+                <sdk:checksum type="sha1">f8eb4d96ad0492b4c0db2d7e4f1a1a3836664d39</sdk:checksum>
+                <sdk:url>google_apis-14_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:add-on>
+
+    <sdk:add-on>
+        <!-- Generated at Fri Mar 30 10:45:40 2012 from ics-mr1 @ 302030 -->
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_apis</sdk:name-id>
+        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:description>Android + Google APIs</sdk:description>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:revision>2</sdk:revision>
+        <sdk:libs>
+            <sdk:lib>
+                <sdk:name>com.google.android.maps</sdk:name>
+            </sdk:lib>
+            <sdk:lib>
+                <sdk:name>com.android.future.usb.accessory</sdk:name>
+            </sdk:lib>
+            <sdk:lib>
+                <sdk:name>com.google.android.media.effects</sdk:name>
+            </sdk:lib>
+        </sdk:libs>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>106612472</sdk:size>
+                <sdk:checksum type="sha1">6757c12788da0ea00c2ab58e54cb438b9f2bcf66</sdk:checksum>
+                <sdk:url>google_apis-15_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:add-on>
+
+    <sdk:add-on>
+        <!-- Generated at Tue Oct  9 14:06:38 2012 from git_jb-dev @ 495790 -->
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_apis</sdk:name-id>
+        <sdk:name-display>Google APIs</sdk:name-display>
+        <sdk:description>Android + Google APIs</sdk:description>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:revision>3</sdk:revision>
+        <sdk:libs>
+            <sdk:lib>
+                <sdk:name>com.google.android.maps</sdk:name>
+            </sdk:lib>
+            <sdk:lib>
+                <sdk:name>com.android.future.usb.accessory</sdk:name>
+            </sdk:lib>
+            <sdk:lib>
+                <sdk:name>com.google.android.media.effects</sdk:name>
+            </sdk:lib>
+        </sdk:libs>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>127278413</sdk:size>
+                <sdk:checksum type="sha1">63467dd32f471e3e81e33e9772c22f33235aa3b3</sdk:checksum>
+                <sdk:url>google_apis-16_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:add-on>
+
+    <!-- GOOGLE TV ADDONS ............. -->
+
+    <sdk:add-on>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-id>google_tv_addon</sdk:name-id>
+        <sdk:name-display>Google TV Addon</sdk:name-display>
+        <sdk:api-level>12</sdk:api-level>
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android + Google TV, API 12, preview release</sdk:description>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:uses-license ref="android-googletv-license"/>
+        <sdk:archives>
+            <sdk:archive os="linux">
+                <sdk:size>78266751</sdk:size>
+                <sdk:checksum type="sha1">92128a12e7e8b0fb5bac59153d7779b717e7b840</sdk:checksum>
+                <sdk:url>google_tv-12_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:libs/>
+    </sdk:add-on>
+
+    <!-- EXTRAS VENDOR=ANDROID ........................ -->
+
+    <sdk:extra>
+        <!-- Generated at Thu Aug  9 13:20:52 2012 from git_jb-dev @ 416700 -->
+        <sdk:revision>10</sdk:revision>
+        <sdk:vendor-display>Android</sdk:vendor-display>
+        <sdk:vendor-id>android</sdk:vendor-id>
+        <sdk:name-display>Android Support Library</sdk:name-display>
+        <sdk:path>support</sdk:path>
+        <sdk:old-paths>compatibility</sdk:old-paths>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>1161015</sdk:size>
+                <sdk:checksum type="sha1">7c62e542d46ac3bdb89e1b90503d6afae557cf7d</sdk:checksum>
+                <sdk:url>support_r10.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:extra>
+
+    <!-- EXTRAS VENDOR=GOOGLE ....................... -->
+
+    <sdk:extra>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-display>Google Play Licensing Library</sdk:name-display>
+        <sdk:path>play_licensing</sdk:path>
+        <sdk:old-paths>market_licensing</sdk:old-paths>
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Google Play Licensing client library</sdk:description>
+        <sdk:desc-url>http://developer.android.com/guide/publishing/licensing.html</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>75109</sdk:size>
+                <sdk:checksum type="sha1">355e8dc304a92a5616db235af8ee7bd554356254</sdk:checksum>
+                <sdk:url>market_licensing-r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:extra>
+
+    <sdk:extra>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-display>Google Play APK Expansion Library</sdk:name-display>
+        <sdk:path>play_apk_expansion</sdk:path>
+        <sdk:old-paths>market_apk_expansion</sdk:old-paths>
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Google Play APK Expansion library</sdk:description>
+        <sdk:desc-url>http://developer.android.com/guide/market/expansion-files.html</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>111636</sdk:size>
+                <sdk:checksum type="sha1">47fa8c691fcc8cf815e7ebbf140f12e94495f73b</sdk:checksum>
+                <sdk:url>market_apk_expansion-r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:extra>
+
+    <sdk:extra>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-display>Google Play services</sdk:name-display>
+        <sdk:path>google_play_services</sdk:path>
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Google Play Services client library and sample code</sdk:description>
+        <sdk:desc-url>https://developers.google.com/android/google-play-services/index</sdk:desc-url>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>363692</sdk:size>
+                <sdk:checksum type="sha1">b1808a7d5f91a3ed42839b950fd254c60e9328f1</sdk:checksum>
+                <sdk:url>google_play_services_1013.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:extra>
+
+    <sdk:extra>
+        <!-- Generated at Tue Aug 28 11:07:05 2012 from git_master @ 449897 -->
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-display>Google USB Driver</sdk:name-display>
+        <sdk:path>usb_driver</sdk:path>
+        <sdk:revision>7</sdk:revision>
+        <sdk:description>USB Driver for Windows, revision 7</sdk:description>
+        <sdk:desc-url>http://developer.android.com/</sdk:desc-url>
+        <sdk:uses-license ref="android-sdk-license"/>
+        <sdk:archives>
+            <sdk:archive os="windows">
+                <sdk:size>8681704</sdk:size>
+                <sdk:checksum type="sha1">147c339fde22f98ae41b15349a8303d39a2cf6e5</sdk:checksum>
+                <sdk:url>usb_driver_r07-windows.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:extra>
+
+    <sdk:extra>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-display>Google Play Billing Library</sdk:name-display>
+        <sdk:path>play_billing</sdk:path>
+        <sdk:old-paths>market_billing</sdk:old-paths>
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Google Play Billing sample code</sdk:description>
+        <sdk:desc-url>http://developer.android.com/guide/market/billing/index.html</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>55191</sdk:size>
+                <sdk:checksum type="sha1">3c84c05c60a9cabb578cebce0515860be7ad23d2</sdk:checksum>
+                <sdk:url>market_billing_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:extra>
+
+    <sdk:extra>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-display>Google AdMob Ads SDK</sdk:name-display>
+        <sdk:path>admob_ads_sdk</sdk:path>
+        <sdk:revision>8</sdk:revision>
+        <sdk:description>AdMob Ads SDK</sdk:description>
+        <sdk:desc-url>https://developers.google.com/mobile-ads-sdk/docs/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>545547</sdk:size>
+                <sdk:checksum type="sha1">031476aa5a491239d2624e8de8c9e46e40d93e3f</sdk:checksum>
+                <sdk:url>https://dl-ssl.google.com/googleadmobadssdk/googleadmobadssdkandroid-6.2.1.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:extra>
+
+    <sdk:extra>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-display>Google Analytics SDK</sdk:name-display>
+        <sdk:path>analytics_sdk</sdk:path>
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Analytics SDK</sdk:description>
+        <sdk:desc-url>http://code.google.com/mobile/analytics/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>53055</sdk:size>
+                <sdk:checksum type="sha1">328bcdc6c241879ebb04d6edc6fec1052a171004</sdk:checksum>
+                <sdk:url>https://dl.google.com/gaformobileapps/GoogleAnalyticsAndroid_1.4.2.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:extra>
+
+    <sdk:extra>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-display>Google Web Driver</sdk:name-display>
+        <sdk:path>webdriver</sdk:path>
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>WebDriver</sdk:description>
+        <sdk:desc-url>http://selenium.googlecode.com</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>4055193</sdk:size>
+                <sdk:checksum type="sha1">13f3a3b2670a5fc04a7342861644be9a01b07e38</sdk:checksum>
+                <sdk:url>webdriver_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:extra>
+
+    <sdk:extra>
+        <sdk:vendor-id>google</sdk:vendor-id>
+        <sdk:vendor-display>Google Inc.</sdk:vendor-display>
+        <sdk:name-display>Google Cloud Messaging for Android Library</sdk:name-display>
+        <sdk:path>gcm</sdk:path>
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Google Cloud Messaging for Android library and sample code</sdk:description>
+        <sdk:desc-url>https://developers.google.com/android/gcm/index</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive os="any">
+                <sdk:size>5901400</sdk:size>
+                <sdk:checksum type="sha1">ad066fd0dc7fc99d8aadac09c65a3c2519fbc7bf</sdk:checksum>
+                <sdk:url>gcm_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:uses-license ref="android-sdk-license"/>
+    </sdk:extra>
+</sdk:sdk-addon>
\ No newline at end of file
diff --git a/pkgs/development/androidenv/addons.nix b/pkgs/development/androidenv/addons.nix
new file mode 100644
index 000000000000..b995b4301e9c
--- /dev/null
+++ b/pkgs/development/androidenv/addons.nix
@@ -0,0 +1,186 @@
+
+{stdenv, fetchurl, unzip}:
+
+let
+  buildGoogleApis = args:
+    stdenv.mkDerivation (args // {
+      buildInputs = [ unzip ];
+      buildCommand = ''
+        mkdir -p $out
+        cd $out
+        unzip $src
+      '';
+    });
+in
+{
+    
+  google_apis_3 = buildGoogleApis {
+    name = "google_apis-3";
+      src = fetchurl {
+        url = https://dl-ssl.google.com/android/repository/google_apis-3-r03.zip;
+        sha1 = "1f92abf3a76be66ae8032257fc7620acbd2b2e3a";
+      };
+      meta = {
+        description = "Android + Google APIs";
+        url = http://developer.android.com/;
+      };
+    };
+    
+  google_apis_4 = buildGoogleApis {
+    name = "google_apis-4";
+      src = fetchurl {
+        url = https://dl-ssl.google.com/android/repository/google_apis-4_r02.zip;
+        sha1 = "9b6e86d8568558de4d606a7debc4f6049608dbd0";
+      };
+      meta = {
+        description = "Android + Google APIs, revision 2";
+        url = http://developer.android.com/;
+      };
+    };
+    
+  google_apis_5 = buildGoogleApis {
+    name = "google_apis-5";
+      src = fetchurl {
+        url = https://dl-ssl.google.com/android/repository/google_apis-5_r01.zip;
+        sha1 = "46eaeb56b645ee7ffa24ede8fa17f3df70db0503";
+      };
+      meta = {
+        description = "Android + Google APIs, revision 1";
+        url = http://developer.android.com/;
+      };
+    };
+    
+  google_apis_6 = buildGoogleApis {
+    name = "google_apis-6";
+      src = fetchurl {
+        url = https://dl-ssl.google.com/android/repository/google_apis-6_r01.zip;
+        sha1 = "5ff545d96e031e09580a6cf55713015c7d4936b2";
+      };
+      meta = {
+        description = "Android + Google APIs, revision 1";
+        url = http://developer.android.com/;
+      };
+    };
+    
+  google_apis_7 = buildGoogleApis {
+    name = "google_apis-7";
+      src = fetchurl {
+        url = https://dl-ssl.google.com/android/repository/google_apis-7_r01.zip;
+        sha1 = "2e7f91e0fe34fef7f58aeced973c6ae52361b5ac";
+      };
+      meta = {
+        description = "Android + Google APIs, revision 1";
+        url = http://developer.android.com/;
+      };
+    };
+    
+  google_apis_8 = buildGoogleApis {
+    name = "google_apis-8";
+      src = fetchurl {
+        url = https://dl-ssl.google.com/android/repository/google_apis-8_r02.zip;
+        sha1 = "3079958e7ec87222cac1e6b27bc471b27bf2c352";
+      };
+      meta = {
+        description = "Android + Google APIs, API 8, revision 2";
+        url = http://developer.android.com/;
+      };
+    };
+    
+  google_apis_9 = buildGoogleApis {
+    name = "google_apis-9";
+      src = fetchurl {
+        url = https://dl-ssl.google.com/android/repository/google_apis-9_r02.zip;
+        sha1 = "78664645a1e9accea4430814f8694291a7f1ea5d";
+      };
+      meta = {
+        description = "Android + Google APIs, API 9, revision 2";
+        url = http://developer.android.com/;
+      };
+    };
+    
+  google_apis_10 = buildGoogleApis {
+    name = "google_apis-10";
+      src = fetchurl {
+        url = https://dl-ssl.google.com/android/repository/google_apis-10_r02.zip;
+        sha1 = "cc0711857c881fa7534f90cf8cc09b8fe985484d";
+      };
+      meta = {
+        description = "Android + Google APIs, API 10, revision 2";
+        url = http://developer.android.com/;
+      };
+    };
+    
+  google_apis_11 = buildGoogleApis {
+    name = "google_apis-11";
+      src = fetchurl {
+        url = https://dl-ssl.google.com/android/repository/google_apis-11_r01.zip;
+        sha1 = "5eab5e81addee9f3576d456d205208314b5146a5";
+      };
+      meta = {
+        description = "Android + Google APIs, API 11, revision 1";
+        url = http://developer.android.com/;
+      };
+    };
+    
+  google_apis_12 = buildGoogleApis {
+    name = "google_apis-12";
+      src = fetchurl {
+        url = https://dl-ssl.google.com/android/repository/google_apis-12_r01.zip;
+        sha1 = "e9999f4fa978812174dfeceec0721c793a636e5d";
+      };
+      meta = {
+        description = "Android + Google APIs, API 12, revision 1";
+        url = http://developer.android.com/;
+      };
+    };
+    
+  google_apis_13 = buildGoogleApis {
+    name = "google_apis-13";
+      src = fetchurl {
+        url = https://dl-ssl.google.com/android/repository/google_apis-13_r01.zip;
+        sha1 = "3b153edd211c27dc736c893c658418a4f9041417";
+      };
+      meta = {
+        description = "Android + Google APIs, API 13, revision 1";
+        url = http://developer.android.com/;
+      };
+    };
+    
+  google_apis_14 = buildGoogleApis {
+    name = "google_apis-14";
+      src = fetchurl {
+        url = https://dl-ssl.google.com/android/repository/google_apis-14_r02.zip;
+        sha1 = "f8eb4d96ad0492b4c0db2d7e4f1a1a3836664d39";
+      };
+      meta = {
+        description = "Android + Google APIs";
+        
+      };
+    };
+    
+  google_apis_15 = buildGoogleApis {
+    name = "google_apis-15";
+      src = fetchurl {
+        url = https://dl-ssl.google.com/android/repository/google_apis-15_r02.zip;
+        sha1 = "6757c12788da0ea00c2ab58e54cb438b9f2bcf66";
+      };
+      meta = {
+        description = "Android + Google APIs";
+        
+      };
+    };
+    
+  google_apis_16 = buildGoogleApis {
+    name = "google_apis-16";
+      src = fetchurl {
+        url = https://dl-ssl.google.com/android/repository/google_apis-16_r03.zip;
+        sha1 = "63467dd32f471e3e81e33e9772c22f33235aa3b3";
+      };
+      meta = {
+        description = "Android + Google APIs";
+        
+      };
+    };
+    
+}
+  
diff --git a/pkgs/development/androidenv/androidsdk.nix b/pkgs/development/androidenv/androidsdk.nix
new file mode 100644
index 000000000000..b175266ebf7b
--- /dev/null
+++ b/pkgs/development/androidenv/androidsdk.nix
@@ -0,0 +1,176 @@
+{ stdenv, stdenv_32bit, fetchurl, unzip, makeWrapper
+, platformTools, support, platforms, sysimages, addons
+, zlib_32bit
+, libX11_32bit, libxcb_32bit, libXau_32bit, libXdmcp_32bit, libXext_32bit
+, libX11, libXext, libXrender
+, freetype, fontconfig, gtk, atk
+}:
+{platformVersions, useGoogleAPIs}:
+
+stdenv.mkDerivation {
+  name = "android-sdk-20.0.3";
+  
+  src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
+    then fetchurl {
+      url = http://dl.google.com/android/android-sdk_r20.0.3-linux.tgz;
+      sha256 = "0xfb41xsjaf7n6b9gsrxm24jwg2fi1hzn73y69rlqm55bw1vxhc1";
+    }
+    else if stdenv.system == "x86_64-darwin" then fetchurl {
+      url = http://dl.google.com/android/android-sdk_r20.0.3-macosx.zip;
+      sha256 = "0eecaa04950d5c540f36ab4183a4cbaef3ae6a7434467bfc32febaeb796a8ff2";
+    }
+    else throw "platform not ${stdenv.system} supported!";
+  
+  buildCommand = ''
+    mkdir -p $out/libexec
+    cd $out/libexec
+    unpackFile $src;
+    
+    cd android-sdk-*/tools
+    
+    ${stdenv.lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
+    ''
+      # There are a number of native binaries. We must patch them to let them find the interpreter and libstdc++
+    
+      for i in dmtracedump emulator emulator-arm emulator-x86 hprof-conv mksdcard sqlite3
+      do
+          patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i
+          patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib $i
+      done
+    
+      # These tools also need zlib in addition to libstdc++
+    
+      for i in etc1tool zipalign
+      do
+          patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i
+          patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib:${zlib_32bit}/lib $i
+      done
+    
+      # The emulators need additional libraries, which are not in the RPATH => let's wrap them
+    
+      for i in emulator emulator-arm emulator-x86
+      do
+          wrapProgram `pwd`/$i \
+            --prefix LD_LIBRARY_PATH : `pwd`/lib:${libX11_32bit}/lib:${libxcb_32bit}/lib:${libXau_32bit}/lib:${libXdmcp_32bit}/lib:${libXext_32bit}/lib
+      done
+    ''}
+
+    patchShebangs .
+    
+    ${if stdenv.system == "i686-linux" then
+      ''
+        # The monitor requires some more patching
+        
+        cd lib/monitor-x86
+        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux.so.2 monitor
+        patchelf --set-rpath ${libX11}/lib:${libXext}/lib:${libXrender}/lib:${freetype}/lib:${fontconfig}/lib libcairo-swt.so
+        
+        wrapProgram `pwd`/monitor \
+          --prefix LD_LIBRARY_PATH : ${gtk}/lib:${atk}/lib:${stdenv.gcc.gcc}/lib
+
+        cd ../..
+      ''
+      else if stdenv.system == "x86_64-linux" then
+      ''
+        # The monitor requires some more patching
+        
+        cd lib/monitor-x86_64
+        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2 monitor
+        patchelf --set-rpath ${libX11}/lib:${libXext}/lib:${libXrender}/lib:${freetype}/lib:${fontconfig}/lib libcairo-swt.so
+        
+        wrapProgram `pwd`/monitor \
+          --prefix LD_LIBRARY_PATH : ${gtk}/lib:${atk}/lib:${stdenv.gcc.gcc}/lib
+
+        cd ../..
+      ''
+      else ""}
+    
+    # Symlink the other sub packages
+    
+    cd ..
+    ln -s ${platformTools}/platform-tools
+    ln -s ${support}/support
+    
+    # Symlink required Google API add-ons
+    
+    mkdir -p add-ons
+    cd add-ons
+    
+    ${if useGoogleAPIs then
+        stdenv.lib.concatMapStrings (platformVersion:
+        if (builtins.hasAttr ("google_apis_"+platformVersion) addons) then
+          let
+            googleApis = builtins.getAttr ("google_apis_"+platformVersion) addons;
+          in
+          "ln -s ${googleApis}/* addon-google_apis-${platformVersion}"
+        else "") platformVersions
+      else ""}
+      
+    cd ..
+
+    # Symlink required platforms
+   
+    mkdir -p platforms
+    cd platforms
+    
+    ${stdenv.lib.concatMapStrings (platformVersion:
+      if (builtins.hasAttr ("platform_"+platformVersion) platforms) then
+        let
+          platform = builtins.getAttr ("platform_"+platformVersion) platforms;
+        in
+        "ln -s ${platform}/* android-${platformVersion}"
+      else ""
+    ) platformVersions}
+    
+    cd ..
+    
+    # Symlink required system images
+  
+    mkdir -p system-images
+    cd system-images
+    
+    ${stdenv.lib.concatMapStrings (platformVersion:
+      if (builtins.hasAttr ("sysimg_"+platformVersion) sysimages) then
+        let
+          sysimg = builtins.getAttr ("sysimg_"+platformVersion) sysimages;
+        in
+        ''
+          mkdir -p android-${platformVersion}
+          cd android-${platformVersion}
+          ln -s ${sysimg}/*
+          cd ..
+        ''
+      else ""
+    ) platformVersions}
+    
+    # Create wrappers to the most important tools and platform tools so that we can run them if the SDK is in our PATH
+    
+    ensureDir $out/bin
+
+    for i in $out/libexec/android-sdk-*/tools/*
+    do
+        if [ ! -d $i ] && [ -x $i ]
+        then
+            ( echo '#! ${stdenv.shell} -e'
+              echo "cd $out/libexec/android-sdk-*/tools"
+              echo "exec ./$(basename $i) \"\$@\"" ) > $out/bin/$(basename $i)
+          
+              chmod +x $out/bin/$(basename $i)
+        fi
+    done
+    
+    for i in $out/libexec/android-sdk-*/platform-tools/*
+    do
+        if [ ! -d $i ] && [ -x $i ]
+        then
+            ( echo '#! ${stdenv.shell} -e'
+              echo "cd $out/libexec/android-sdk-*/platform-tools"
+              echo "exec ./$(basename $i) \"\$@\"") > $out/bin/$(basename $i)
+          
+              chmod +x $out/bin/$(basename $i)
+        fi
+    done
+  '';
+  
+  buildInputs = [ unzip makeWrapper ];
+}
diff --git a/pkgs/development/androidenv/build-app.nix b/pkgs/development/androidenv/build-app.nix
new file mode 100644
index 000000000000..571cd2be6232
--- /dev/null
+++ b/pkgs/development/androidenv/build-app.nix
@@ -0,0 +1,41 @@
+{ stdenv, androidsdk, jdk, ant }:
+{ name, src, platformVersions ? [ "8" ], useGoogleAPIs ? false
+, release ? false, keyStore ? null, keyAlias ? null, keyStorePassword ? null, keyAliasPassword ? null
+}:
+
+assert release -> keyStore != null && keyAlias != null && keyStorePassword != null && keyAliasPassword != null;
+
+let
+  platformName = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then "linux"
+    else if stdenv.system == "x86_64-darwin" then "macosx"
+    else throw "Platform: ${stdenv.system} is not supported!";
+
+  androidsdkComposition = androidsdk { inherit platformVersions useGoogleAPIs; };
+in
+stdenv.mkDerivation {
+  inherit name src;
+  
+  ANDROID_HOME = "${androidsdkComposition}/libexec/android-sdk-${platformName}";
+
+  buildInputs = [ jdk ant ];
+  
+  buildPhase = ''
+    ${stdenv.lib.optionalString release ''
+    
+      # Provide key singing attributes
+      ( echo "key.store=${keyStore}"
+        echo "key.alias=${keyAlias}"
+        echo "key.store.password=${keyStorePassword}"
+        echo "key.alias.password=${keyAliasPassword}"
+      ) >> ant.properties
+    ''}
+  
+    export ANDROID_SDK_HOME=`pwd` # Key files cannot be stored in the user's home directory. This overrides it.
+    ant ${if release then "release" else "debug"}
+  '';
+  
+  installPhase = ''
+    mkdir -p $out
+    mv bin/*-${if release then "release" else "debug"}.apk $out
+  '';
+}
diff --git a/pkgs/development/androidenv/default.nix b/pkgs/development/androidenv/default.nix
new file mode 100644
index 000000000000..d2769799df13
--- /dev/null
+++ b/pkgs/development/androidenv/default.nix
@@ -0,0 +1,62 @@
+{pkgs, pkgs_i686}:
+
+rec {
+  platformTools = import ./platform-tools.nix {
+    inherit (pkgs) stdenv fetchurl unzip;
+    inherit (pkgs_i686) zlib ncurses;
+    stdenv_32bit = pkgs_i686.stdenv;
+  };
+  
+  support = import ./support.nix {
+    inherit (pkgs) stdenv fetchurl unzip;
+  };
+  
+  platforms = if (pkgs.stdenv.system == "i686-linux" || pkgs.stdenv.system == "x86_64-linux")
+    then import ./platforms-linux.nix {
+      inherit (pkgs) stdenv fetchurl unzip;
+    }
+    else if pkgs.stdenv.system == "x86_64-darwin"
+    then import ./platforms-macosx.nix {
+      inherit (pkgs) stdenv fetchurl unzip;
+    }
+    else throw "Platform: ${pkgs.stdenv.system} not supported!";
+
+  sysimages = import ./sysimages.nix {
+    inherit (pkgs) stdenv fetchurl unzip;
+  };
+
+  addons = import ./addons.nix {
+    inherit (pkgs) stdenv fetchurl unzip;
+  };
+
+  androidsdk = import ./androidsdk.nix {
+    inherit (pkgs) stdenv fetchurl unzip makeWrapper;
+    inherit (pkgs) freetype fontconfig gtk atk;
+    inherit (pkgs.xorg) libX11 libXext libXrender;
+    
+    inherit platformTools support platforms sysimages addons;
+    
+    stdenv_32bit = pkgs_i686.stdenv;
+    zlib_32bit = pkgs_i686.zlib;
+    libX11_32bit = pkgs_i686.xorg.libX11;
+    libxcb_32bit = pkgs_i686.xorg.libxcb;
+    libXau_32bit = pkgs_i686.xorg.libXau;
+    libXdmcp_32bit = pkgs_i686.xorg.libXdmcp;
+    libXext_32bit = pkgs_i686.xorg.libXext;
+  };
+  
+  androidsdk_4_1 = androidsdk {
+    platformVersions = [ "16" ];
+    useGoogleAPIs = true;
+  };
+  
+  buildApp = import ./build-app.nix {
+    inherit (pkgs) stdenv jdk ant;
+    inherit androidsdk;
+  };
+  
+  emulateApp = import ./emulate-app.nix {
+    inherit (pkgs) stdenv;
+    inherit androidsdk;
+  };
+}
diff --git a/pkgs/development/androidenv/emulate-app.nix b/pkgs/development/androidenv/emulate-app.nix
new file mode 100644
index 000000000000..3cbe57238066
--- /dev/null
+++ b/pkgs/development/androidenv/emulate-app.nix
@@ -0,0 +1,87 @@
+{stdenv, androidsdk}:
+{name, app, platformVersion ? "8", useGoogleAPIs ? false, package, activity}:
+
+let
+  androidsdkComposition = androidsdk { inherit useGoogleAPIs; platformVersions = [ platformVersion ]; };
+in
+stdenv.mkDerivation {
+  inherit name;
+  
+  buildCommand = ''
+    mkdir -p $out/bin
+    
+    cat > $out/bin/run-test-emulator << "EOF"
+    #!/bin/sh -e
+    
+    # We need a TMPDIR
+    if [ "$TMPDIR" = "" ]
+    then
+        export TMPDIR=/tmp
+    fi
+    
+    # Store the virtual devices somewhere else, instead of polluting a user's HOME directory
+    export ANDROID_SDK_HOME=$(mktemp -d $TMPDIR/nix-android-vm-XXXX)
+    
+    # We have to look for a free TCP port
+    
+    echo "Looking for a free TCP port in range 5554-5584"
+    
+    for i in $(seq 5554 2 5584)
+    do
+        if [ -z "$(${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb devices | grep emulator-$i)" ]
+        then
+            port=$i
+            break
+        fi
+    done
+    
+    if [ -z "$port" ]
+    then
+        echo "Unfortunately, the emulator port space is exhausted!"
+        exit 1
+    else
+        echo "We have a free TCP port: $port"
+    fi
+    
+    export ANDROID_SERIAL="emulator-$port"
+    
+    # Create a virtual android device
+    ${androidsdkComposition}/libexec/android-sdk-*/tools/android create avd -n device -t ${if useGoogleAPIs then "'Google Inc.:Google APIs:"+platformVersion+"'" else "android-"+platformVersion}
+    
+    # Launch the emulator
+    ${androidsdkComposition}/libexec/android-sdk-*/tools/emulator -avd device -no-boot-anim -port $port &
+
+    # Wait until the device has completely booted
+    
+    echo "Waiting until the emulator has booted the device and the package manager is ready..."
+    
+    ${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port wait-for-device
+    
+    echo "Device state has been reached"
+    
+    while [ -z "$(${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port shell getprop dev.bootcomplete | grep 1)" ]
+    do
+        sleep 5
+    done
+    
+    echo "dev.bootcomplete property is 1"
+    
+    #while [ -z "$(${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port shell getprop sys.boot_completed | grep 1)" ]
+    #do
+        #sleep 5
+    #done
+    
+    #echo "sys.boot_completed property is 1"
+    
+    echo "ready"
+    
+    # Install the App through the debugger
+    ${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port install ${app}/*.apk
+    
+    # Start the application
+    ${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port shell am start -a android.intent.action.MAIN -n ${package}/.${activity}
+    EOF
+    
+    chmod +x $out/bin/run-test-emulator
+  '';
+}
diff --git a/pkgs/development/androidenv/generate-addons.sh b/pkgs/development/androidenv/generate-addons.sh
new file mode 100755
index 000000000000..9b2cf34eabcc
--- /dev/null
+++ b/pkgs/development/androidenv/generate-addons.sh
@@ -0,0 +1,3 @@
+#!/bin/sh -e
+
+xsltproc generate-addons.xsl addon.xml > addons.nix
diff --git a/pkgs/development/androidenv/generate-addons.xsl b/pkgs/development/androidenv/generate-addons.xsl
new file mode 100644
index 000000000000..0100b980a4ef
--- /dev/null
+++ b/pkgs/development/androidenv/generate-addons.xsl
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:sdk="http://schemas.android.com/sdk/android/addon/5">
+
+  <xsl:output omit-xml-declaration="yes" indent="no" />
+  <xsl:template match="/sdk:sdk-addon">
+{stdenv, fetchurl, unzip}:
+
+let
+  buildGoogleApis = args:
+    stdenv.mkDerivation (args // {
+      buildInputs = [ unzip ];
+      buildCommand = ''
+        mkdir -p $out
+        cd $out
+        unzip $src
+      '';
+    });
+in
+{
+    <xsl:for-each select="sdk:add-on[sdk:name-id='google_apis']">
+  google_apis_<xsl:value-of select="sdk:api-level" /> = buildGoogleApis {
+    name = "<xsl:value-of select="sdk:name-id" />-<xsl:value-of select="sdk:api-level" />";
+      src = fetchurl {
+        url = https://dl-ssl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:url" />;
+        sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:checksum[@type='sha1']" />";
+      };
+      meta = {
+        description = "<xsl:value-of select="sdk:description" />";
+        <xsl:for-each select="sdk:desc-url">url = <xsl:value-of select="." />;</xsl:for-each>
+      };
+    };
+    </xsl:for-each>
+}
+  </xsl:template>
+
+</xsl:stylesheet>
diff --git a/pkgs/development/androidenv/generate-platforms.sh b/pkgs/development/androidenv/generate-platforms.sh
new file mode 100755
index 000000000000..983d8bde87b9
--- /dev/null
+++ b/pkgs/development/androidenv/generate-platforms.sh
@@ -0,0 +1,4 @@
+#!/bin/sh -e
+
+xsltproc --stringparam os linux generate-platforms.xsl repository-7.xml > platforms-linux.nix
+xsltproc --stringparam os macosx generate-platforms.xsl repository-7.xml > platforms-macosx.nix
diff --git a/pkgs/development/androidenv/generate-platforms.xsl b/pkgs/development/androidenv/generate-platforms.xsl
new file mode 100644
index 000000000000..1802ae63efe1
--- /dev/null
+++ b/pkgs/development/androidenv/generate-platforms.xsl
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:sdk="http://schemas.android.com/sdk/android/repository/7">
+
+  <xsl:param name="os" />
+  <xsl:output omit-xml-declaration="yes" indent="no" />
+  <xsl:template match="/sdk:sdk-repository">
+{stdenv, fetchurl, unzip}:
+
+let
+  buildPlatform = args:
+    stdenv.mkDerivation (args // {   
+      buildInputs = [ unzip ];
+      buildCommand = ''
+        mkdir -p $out
+        cd $out
+        unzip $src
+    '';
+  });
+in
+{
+    <xsl:for-each select="sdk:platform">
+  platform_<xsl:value-of select="sdk:api-level" /> = buildPlatform {
+    name = "android-platform-<xsl:value-of select="sdk:version" />";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive[@os=$os or @os='any']/sdk:url" />;
+      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[@os=$os or @os='any']/sdk:checksum[@type='sha1']" />";
+    };
+    meta = {
+      description = "<xsl:value-of select="sdk:description" />";
+      <xsl:for-each select="sdk:desc-url">url = <xsl:value-of select="." />;</xsl:for-each>
+    };
+  };
+    </xsl:for-each>
+}
+  </xsl:template>
+</xsl:stylesheet>
diff --git a/pkgs/development/androidenv/generate-sysimages.sh b/pkgs/development/androidenv/generate-sysimages.sh
new file mode 100755
index 000000000000..dc28c27f45f0
--- /dev/null
+++ b/pkgs/development/androidenv/generate-sysimages.sh
@@ -0,0 +1,3 @@
+#!/bin/sh -e
+
+xsltproc generate-sysimages.xsl repository-7.xml > sysimages.nix
diff --git a/pkgs/development/androidenv/generate-sysimages.xsl b/pkgs/development/androidenv/generate-sysimages.xsl
new file mode 100644
index 000000000000..1224ebbd4e8d
--- /dev/null
+++ b/pkgs/development/androidenv/generate-sysimages.xsl
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:str="http://exslt.org/strings"
+  xmlns:sdk="http://schemas.android.com/sdk/android/repository/7">
+
+  <xsl:output omit-xml-declaration="yes" indent="no" />
+
+  <xsl:template match="/sdk:sdk-repository">
+{stdenv, fetchurl, unzip}:
+
+let
+  buildSystemImage = args:
+    stdenv.mkDerivation (args // {   
+      buildInputs = [ unzip ];
+      buildCommand = ''
+        mkdir -p $out
+        cd $out
+        unzip $src
+    '';
+  });
+in
+{
+    <xsl:for-each select="sdk:system-image">
+  sysimg_<xsl:value-of select="sdk:api-level" /> = buildSystemImage {
+    name = "<xsl:value-of select="sdk:abi" />-<xsl:value-of select="sdk:api-level" />";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:url" />;
+      sha1 = "<xsl:value-of select="sdk:archives/sdk:archive[@os='any']/sdk:checksum[@type='sha1']" />";
+    };
+  };
+    </xsl:for-each>
+}
+  </xsl:template>
+
+</xsl:stylesheet>
diff --git a/pkgs/development/androidenv/platform-tools.nix b/pkgs/development/androidenv/platform-tools.nix
new file mode 100644
index 000000000000..bc4ceb4e39da
--- /dev/null
+++ b/pkgs/development/androidenv/platform-tools.nix
@@ -0,0 +1,41 @@
+{stdenv, stdenv_32bit, fetchurl, unzip, zlib, ncurses}:
+
+stdenv.mkDerivation {
+  name = "android-platform-tools-r15_rc7";
+  src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
+    then fetchurl {
+      url = https://dl-ssl.google.com/android/repository/platform-tools_r15_rc7-linux.zip;
+      sha1 = "444e12ba413341282cd810d2e4bdb49975c95758";
+    }
+    else if stdenv.system == "x86_64-darwin" then fetchurl {
+      url = https://dl-ssl.google.com/android/repository/platform-tools_r15_rc7-macosx.zip;
+      sha1 = "974eac4afbe404278fcda8f8cd39b55c82be012d";
+    }
+    else throw "System ${stdenv.system} not supported!";
+  
+  buildCommand = ''
+    mkdir -p $out
+    cd $out
+    unzip $src
+    cd platform-tools
+    
+    ${stdenv.lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
+      ''
+        for i in aapt adb aidl dexdump fastboot llvm-rs-cc
+        do
+            patchelf --set-interpreter ${stdenv_32bit.gcc.libc}/lib/ld-linux.so.2 $i
+        done
+    
+        patchelf --set-rpath ${zlib}/lib:${stdenv_32bit.gcc.gcc}/lib aapt
+        patchelf --set-rpath ${ncurses}/lib:${stdenv_32bit.gcc.gcc}/lib adb
+        patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib aidl
+        patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib fastboot
+        patchelf --set-rpath ${zlib}/lib:${stdenv_32bit.gcc.gcc}/lib dexdump
+        patchelf --set-rpath ${stdenv_32bit.gcc.gcc}/lib llvm-rs-cc
+    ''}
+    
+    patchShebangs .
+  '';
+  
+  buildInputs = [ unzip ];
+}
diff --git a/pkgs/development/androidenv/platforms-linux.nix b/pkgs/development/androidenv/platforms-linux.nix
new file mode 100644
index 000000000000..c2cff1b62a2c
--- /dev/null
+++ b/pkgs/development/androidenv/platforms-linux.nix
@@ -0,0 +1,198 @@
+
+{stdenv, fetchurl, unzip}:
+
+let
+  buildPlatform = args:
+    stdenv.mkDerivation (args // {   
+      buildInputs = [ unzip ];
+      buildCommand = ''
+        mkdir -p $out
+        cd $out
+        unzip $src
+    '';
+  });
+in
+{
+    
+  platform_2 = buildPlatform {
+    name = "android-platform-1.1";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-1.1_r1-linux.zip;
+      sha1 = "c054d25c9b4c6251fa49c2f9c54336998679d3fe";
+    };
+    meta = {
+      description = "Android SDK Platform 1.1_r1";
+      url = http://developer.android.com/sdk/android-1.1.html;
+    };
+  };
+    
+  platform_3 = buildPlatform {
+    name = "android-platform-1.5";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-1.5_r04-linux.zip;
+      sha1 = "5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c";
+    };
+    meta = {
+      description = "Android SDK Platform 1.5_r3";
+      url = http://developer.android.com/sdk/android-1.5.html;
+    };
+  };
+    
+  platform_4 = buildPlatform {
+    name = "android-platform-1.6";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-1.6_r03-linux.zip;
+      sha1 = "483ed088e45bbdf3444baaf9250c8b02e5383cb0";
+    };
+    meta = {
+      description = "Android SDK Platform 1.6_r2";
+      url = http://developer.android.com/sdk/android-1.6.html;
+    };
+  };
+    
+  platform_5 = buildPlatform {
+    name = "android-platform-2.0";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-2.0_r01-linux.zip;
+      sha1 = "be9be6a99ca32875c96ec7f91160ca9fce7e3c7d";
+    };
+    meta = {
+      description = "Android SDK Platform 2.0, revision 1";
+      url = http://developer.android.com/sdk/android-2.0.html;
+    };
+  };
+    
+  platform_6 = buildPlatform {
+    name = "android-platform-2.0.1";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-2.0.1_r01-linux.zip;
+      sha1 = "ce2c971dce352aa28af06bda92a070116aa5ae1a";
+    };
+    meta = {
+      description = "Android SDK Platform 2.0.1_r1";
+      url = http://developer.android.com/sdk/android-2.0.1.html;
+    };
+  };
+    
+  platform_7 = buildPlatform {
+    name = "android-platform-2.1";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-2.1_r03-linux.zip;
+      sha1 = "5ce51b023ac19f8738500b1007a1da5de2349a1e";
+    };
+    meta = {
+      description = "Android SDK Platform 2.1_r3";
+      url = http://developer.android.com/sdk/;
+    };
+  };
+    
+  platform_8 = buildPlatform {
+    name = "android-platform-2.2";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-2.2_r03-linux.zip;
+      sha1 = "231262c63eefdff8fd0386e9ccfefeb27a8f9202";
+    };
+    meta = {
+      description = "Android SDK Platform 2.2_r3";
+      url = http://developer.android.com/sdk/;
+    };
+  };
+    
+  platform_9 = buildPlatform {
+    name = "android-platform-2.3.1";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-2.3.1_r02-linux.zip;
+      sha1 = "209f8a7a8b2cb093fce858b8b55fed3ba5206773";
+    };
+    meta = {
+      description = "Android SDK Platform 2.3.1_r2";
+      url = http://developer.android.com/sdk/;
+    };
+  };
+    
+  platform_10 = buildPlatform {
+    name = "android-platform-2.3.3";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-2.3.3_r02-linux.zip;
+      sha1 = "887e37783ec32f541ea33c2c649dda648e8e6fb3";
+    };
+    meta = {
+      description = "Android SDK Platform 2.3.3._r2";
+      url = http://developer.android.com/sdk/;
+    };
+  };
+    
+  platform_11 = buildPlatform {
+    name = "android-platform-3.0";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-3.0_r02-linux.zip;
+      sha1 = "2c7d4bd13f276e76f6bbd87315fe27aba351dd37";
+    };
+    meta = {
+      description = "Android SDK Platform 3.0, revision 2";
+      url = http://developer.android.com/sdk/;
+    };
+  };
+    
+  platform_12 = buildPlatform {
+    name = "android-platform-3.1";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-3.1_r03-linux.zip;
+      sha1 = "4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf";
+    };
+    meta = {
+      description = "Android SDK Platform 3.1, revision 3";
+      url = http://developer.android.com/sdk/;
+    };
+  };
+    
+  platform_13 = buildPlatform {
+    name = "android-platform-3.2";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-3.2_r01-linux.zip;
+      sha1 = "6189a500a8c44ae73a439604363de93591163cd9";
+    };
+    meta = {
+      description = "Android SDK Platform 3.2, revision 1";
+      url = http://developer.android.com/sdk/;
+    };
+  };
+    
+  platform_14 = buildPlatform {
+    name = "android-platform-4.0";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-14_r03.zip;
+      sha1 = "41ba83b51e886461628c41b1b4d47762e0688ed5";
+    };
+    meta = {
+      description = "Android SDK Platform 4.0";
+      
+    };
+  };
+    
+  platform_15 = buildPlatform {
+    name = "android-platform-4.0.3";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-15_r03.zip;
+      sha1 = "23da24610a8da51054c5391001c51ce43a778b97";
+    };
+    meta = {
+      description = "Android SDK Platform 4.0.3";
+      
+    };
+  };
+    
+  platform_16 = buildPlatform {
+    name = "android-platform-4.1.2";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-16_r03.zip;
+      sha1 = "80d9ffef58168f9bccd862830e2ee51f686b167e";
+    };
+    meta = {
+      description = "Android SDK Platform 4.1";
+      
+    };
+  };
+    
+}
+  
diff --git a/pkgs/development/androidenv/platforms-macosx.nix b/pkgs/development/androidenv/platforms-macosx.nix
new file mode 100644
index 000000000000..355740c4200c
--- /dev/null
+++ b/pkgs/development/androidenv/platforms-macosx.nix
@@ -0,0 +1,198 @@
+
+{stdenv, fetchurl, unzip}:
+
+let
+  buildPlatform = args:
+    stdenv.mkDerivation (args // {   
+      buildInputs = [ unzip ];
+      buildCommand = ''
+        mkdir -p $out
+        cd $out
+        unzip $src
+    '';
+  });
+in
+{
+    
+  platform_2 = buildPlatform {
+    name = "android-platform-1.1";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-1.1_r1-macosx.zip;
+      sha1 = "e21dbcff45b7356657449ebb3c7e941be2bb5ebe";
+    };
+    meta = {
+      description = "Android SDK Platform 1.1_r1";
+      url = http://developer.android.com/sdk/android-1.1.html;
+    };
+  };
+    
+  platform_3 = buildPlatform {
+    name = "android-platform-1.5";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-1.5_r04-macosx.zip;
+      sha1 = "d3a67c2369afa48b6c3c7624de5031c262018d1e";
+    };
+    meta = {
+      description = "Android SDK Platform 1.5_r3";
+      url = http://developer.android.com/sdk/android-1.5.html;
+    };
+  };
+    
+  platform_4 = buildPlatform {
+    name = "android-platform-1.6";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-1.6_r03-macosx.zip;
+      sha1 = "bdafad44f5df9f127979bdb21a1fdd87ee3cd625";
+    };
+    meta = {
+      description = "Android SDK Platform 1.6_r2";
+      url = http://developer.android.com/sdk/android-1.6.html;
+    };
+  };
+    
+  platform_5 = buildPlatform {
+    name = "android-platform-2.0";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-2.0_r01-macosx.zip;
+      sha1 = "2a866d0870dbba18e0503cd41e5fae988a21b314";
+    };
+    meta = {
+      description = "Android SDK Platform 2.0, revision 1";
+      url = http://developer.android.com/sdk/android-2.0.html;
+    };
+  };
+    
+  platform_6 = buildPlatform {
+    name = "android-platform-2.0.1";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-2.0.1_r01-macosx.zip;
+      sha1 = "c3096f80d75a6fc8cb38ef8a18aec920e53d42c0";
+    };
+    meta = {
+      description = "Android SDK Platform 2.0.1_r1";
+      url = http://developer.android.com/sdk/android-2.0.1.html;
+    };
+  };
+    
+  platform_7 = buildPlatform {
+    name = "android-platform-2.1";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-2.1_r03-linux.zip;
+      sha1 = "5ce51b023ac19f8738500b1007a1da5de2349a1e";
+    };
+    meta = {
+      description = "Android SDK Platform 2.1_r3";
+      url = http://developer.android.com/sdk/;
+    };
+  };
+    
+  platform_8 = buildPlatform {
+    name = "android-platform-2.2";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-2.2_r03-linux.zip;
+      sha1 = "231262c63eefdff8fd0386e9ccfefeb27a8f9202";
+    };
+    meta = {
+      description = "Android SDK Platform 2.2_r3";
+      url = http://developer.android.com/sdk/;
+    };
+  };
+    
+  platform_9 = buildPlatform {
+    name = "android-platform-2.3.1";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-2.3.1_r02-linux.zip;
+      sha1 = "209f8a7a8b2cb093fce858b8b55fed3ba5206773";
+    };
+    meta = {
+      description = "Android SDK Platform 2.3.1_r2";
+      url = http://developer.android.com/sdk/;
+    };
+  };
+    
+  platform_10 = buildPlatform {
+    name = "android-platform-2.3.3";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-2.3.3_r02-linux.zip;
+      sha1 = "887e37783ec32f541ea33c2c649dda648e8e6fb3";
+    };
+    meta = {
+      description = "Android SDK Platform 2.3.3._r2";
+      url = http://developer.android.com/sdk/;
+    };
+  };
+    
+  platform_11 = buildPlatform {
+    name = "android-platform-3.0";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-3.0_r02-linux.zip;
+      sha1 = "2c7d4bd13f276e76f6bbd87315fe27aba351dd37";
+    };
+    meta = {
+      description = "Android SDK Platform 3.0, revision 2";
+      url = http://developer.android.com/sdk/;
+    };
+  };
+    
+  platform_12 = buildPlatform {
+    name = "android-platform-3.1";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-3.1_r03-linux.zip;
+      sha1 = "4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf";
+    };
+    meta = {
+      description = "Android SDK Platform 3.1, revision 3";
+      url = http://developer.android.com/sdk/;
+    };
+  };
+    
+  platform_13 = buildPlatform {
+    name = "android-platform-3.2";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-3.2_r01-linux.zip;
+      sha1 = "6189a500a8c44ae73a439604363de93591163cd9";
+    };
+    meta = {
+      description = "Android SDK Platform 3.2, revision 1";
+      url = http://developer.android.com/sdk/;
+    };
+  };
+    
+  platform_14 = buildPlatform {
+    name = "android-platform-4.0";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-14_r03.zip;
+      sha1 = "41ba83b51e886461628c41b1b4d47762e0688ed5";
+    };
+    meta = {
+      description = "Android SDK Platform 4.0";
+      
+    };
+  };
+    
+  platform_15 = buildPlatform {
+    name = "android-platform-4.0.3";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-15_r03.zip;
+      sha1 = "23da24610a8da51054c5391001c51ce43a778b97";
+    };
+    meta = {
+      description = "Android SDK Platform 4.0.3";
+      
+    };
+  };
+    
+  platform_16 = buildPlatform {
+    name = "android-platform-4.1.2";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/android-16_r03.zip;
+      sha1 = "80d9ffef58168f9bccd862830e2ee51f686b167e";
+    };
+    meta = {
+      description = "Android SDK Platform 4.1";
+      
+    };
+  };
+    
+}
+  
diff --git a/pkgs/development/androidenv/repository-7.xml b/pkgs/development/androidenv/repository-7.xml
new file mode 100644
index 000000000000..695be1d90a74
--- /dev/null
+++ b/pkgs/development/androidenv/repository-7.xml
@@ -0,0 +1,928 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+-->
+<sdk:sdk-repository xmlns:sdk="http://schemas.android.com/sdk/android/repository/7" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+    <sdk:license id="android-sdk-license" type="text">This is the Android Software Development Kit License Agreement.
+
+1. Introduction
+
+1.1 The Android Software Development Kit (referred to in this License Agreement as the "SDK" and specifically including the Android system files, packaged APIs, and Google APIs add-ons) is licensed to you subject to the terms of this License Agreement. This License Agreement forms a legally binding contract between you and Google in relation to your use of the SDK.
+
+1.2 "Google" means Google Inc., a Delaware corporation with principal place of business at 1600 Amphitheatre Parkway, Mountain View, CA 94043, United States.
+
+2. Accepting this License Agreement
+
+2.1 In order to use the SDK, you must first agree to this License Agreement. You may not use the SDK if you do not accept this License Agreement.
+
+2.2 You can accept this License Agreement by:
+
+(A) clicking to accept or agree to this License Agreement, where this option is made available to you; or
+
+(B) by actually using the SDK. In this case, you agree that use of the SDK constitutes acceptance of the Licensing Agreement from that point onwards.
+
+2.3 You may not use the SDK and may not accept the Licensing Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries including the country in which you are resident or from which you use the SDK.
+
+2.4 If you are agreeing to be bound by this License Agreement on behalf of your employer or other entity, you represent and warrant that you have full legal authority to bind your employer or such entity to this License Agreement. If you do not have the requisite authority, you may not accept the Licensing Agreement or use the SDK on behalf of your employer or other entity.
+
+3. SDK License from Google
+
+3.1 Subject to the terms of this License Agreement, Google grants you a limited, worldwide, royalty-free, non- assignable and non-exclusive license to use the SDK solely to develop applications to run on the Android platform.
+
+3.2 You agree that Google or third parties own all legal right, title and interest in and to the SDK, including any Intellectual Property Rights that subsist in the SDK. "Intellectual Property Rights" means any and all rights under patent law, copyright law, trade secret law, trademark law, and any and all other proprietary rights. Google reserves all rights not expressly granted to you.
+
+3.3 Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK. Except to the extent required by applicable third party licenses, you may not load any part of the SDK onto a mobile handset or any other hardware device except a personal computer, combine any part of the SDK with other software, or distribute any software or device incorporating a part of the SDK.
+
+3.4 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not this License Agreement.
+
+3.5 You agree that the form and nature of the SDK that Google provides may change without prior notice to you and that future versions of the SDK may be incompatible with applications developed on previous versions of the SDK. You agree that Google may stop (permanently or temporarily) providing the SDK (or any features within the SDK) to you or to users generally at Google's sole discretion, without prior notice to you.
+
+3.6 Nothing in this License Agreement gives you a right to use any of Google's trade names, trademarks, service marks, logos, domain names, or other distinctive brand features.
+
+3.7 You agree that you will not remove, obscure, or alter any proprietary rights notices (including copyright and trademark notices) that may be affixed to or contained within the SDK.
+
+4. Use of the SDK by You
+
+4.1 Google agrees that it obtains no right, title or interest from you (or your licensors) under this License Agreement in or to any software applications that you develop using the SDK, including any intellectual property rights that subsist in those applications.
+
+4.2 You agree to use the SDK and write applications only for purposes that are permitted by (a) this License Agreement and (b) any applicable law, regulation or generally accepted practices or guidelines in the relevant jurisdictions (including any laws regarding the export of data or software to and from the United States or other relevant countries).
+
+4.3 You agree that if you use the SDK to develop applications for general public users, you will protect the privacy and legal rights of those users. If the users provide you with user names, passwords, or other login information or personal information, your must make the users aware that the information will be available to your application, and you must provide legally adequate privacy notice and protection for those users. If your application stores personal or sensitive information provided by users, it must do so securely. If the user provides your application with Google Account information, your application may only use that information to access the user's Google Account when, and for the limited purposes for which, the user has given you permission to do so.
+
+4.4 You agree that you will not engage in any activity with the SDK, including the development or distribution of an application, that interferes with, disrupts, damages, or accesses in an unauthorized manner the servers, networks, or other properties or services of any third party including, but not limited to, Google or any mobile communications carrier.
+
+4.5 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any data, content, or resources that you create, transmit or display through the Android platform and/or applications for the Android platform, and for the consequences of your actions (including any loss or damage which Google may suffer) by doing so.
+
+4.6 You agree that you are solely responsible for (and that Google has no responsibility to you or to any third party for) any breach of your obligations under this License Agreement, any applicable third party contract or Terms of Service, or any applicable law or regulation, and for the consequences (including any loss or damage which Google or any third party may suffer) of any such breach.
+
+5. Your Developer Credentials
+
+5.1 You agree that you are responsible for maintaining the confidentiality of any developer credentials that may be issued to you by Google or which you may choose yourself and that you will be solely responsible for all applications that are developed under your developer credentials.
+
+6. Privacy and Information
+
+6.1 In order to continually innovate and improve the SDK, Google may collect certain usage statistics from the software including but not limited to a unique identifier, associated IP address, version number of the software, and information on which tools and/or services in the SDK are being used and how they are being used. Before any of this information is collected, the SDK will notify you and seek your consent. If you withhold consent, the information will not be collected.
+
+6.2 The data collected is examined in the aggregate to improve the SDK and is maintained in accordance with Google's Privacy Policy.
+
+7. Third Party Applications for the Android Platform
+
+7.1 If you use the SDK to run applications developed by a third party or that access data, content or resources provided by a third party, you agree that Google is not responsible for those applications, data, content, or resources. You understand that all data, content or resources which you may access through such third party applications are the sole responsibility of the person from which they originated and that Google is not liable for any loss or damage that you may experience as a result of the use or access of any of those third party applications, data, content, or resources.
+
+7.2 You should be aware the data, content, and resources presented to you through such a third party application may be protected by intellectual property rights which are owned by the providers (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on these data, content, or resources (either in whole or in part) unless you have been specifically given permission to do so by the relevant owners.
+
+7.3 You acknowledge that your use of such third party applications, data, content, or resources may be subject to separate terms between you and the relevant third party. In that case, this License Agreement does not affect your legal relationship with these third parties.
+
+8. Using Android APIs
+
+8.1 Google Data APIs
+
+8.1.1 If you use any API to retrieve data from Google, you acknowledge that the data may be protected by intellectual property rights which are owned by Google or those parties that provide the data (or by other persons or companies on their behalf). Your use of any such API may be subject to additional Terms of Service. You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this data (either in whole or in part) unless allowed by the relevant Terms of Service.
+
+8.1.2 If you use any API to retrieve a user's data from Google, you acknowledge and agree that you shall retrieve data only with the user's explicit consent and only when, and for the limited purposes for which, the user has given you permission to do so.
+
+9. Terminating this License Agreement
+
+9.1 This License Agreement will continue to apply until terminated by either you or Google as set out below.
+
+9.2 If you want to terminate this License Agreement, you may do so by ceasing your use of the SDK and any relevant developer credentials.
+
+9.3 Google may at any time, terminate this License Agreement with you if:
+
+(A) you have breached any provision of this License Agreement; or
+
+(B) Google is required to do so by law; or
+
+(C) the partner with whom Google offered certain parts of SDK (such as APIs) to you has terminated its relationship with Google or ceased to offer certain parts of the SDK to you; or
+
+(D) Google decides to no longer providing the SDK or certain parts of the SDK to users in the country in which you are resident or from which you use the service, or the provision of the SDK or certain SDK services to you by Google is, in Google's sole discretion, no longer commercially viable.
+
+9.4 When this License Agreement comes to an end, all of the legal rights, obligations and liabilities that you and Google have benefited from, been subject to (or which have accrued over time whilst this License Agreement has been in force) or which are expressed to continue indefinitely, shall be unaffected by this cessation, and the provisions of paragraph 14.7 shall continue to apply to such rights, obligations and liabilities indefinitely.
+
+10. DISCLAIMER OF WARRANTIES
+
+10.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SDK IS AT YOUR SOLE RISK AND THAT THE SDK IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTY OF ANY KIND FROM GOOGLE.
+
+10.2 YOUR USE OF THE SDK AND ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE SDK IS AT YOUR OWN DISCRETION AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE.
+
+10.3 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+
+11. LIMITATION OF LIABILITY
+
+11.1 YOU EXPRESSLY UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT GOOGLE OR ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
+
+12. Indemnification
+
+12.1 To the maximum extent permitted by law, you agree to defend, indemnify and hold harmless Google, its affiliates and their respective directors, officers, employees and agents from and against any and all claims, actions, suits or proceedings, as well as any and all losses, liabilities, damages, costs and expenses (including reasonable attorneys fees) arising out of or accruing from (a) your use of the SDK, (b) any application you develop on the SDK that infringes any copyright, trademark, trade secret, trade dress, patent or other intellectual property right of any person or defames any person or violates their rights of publicity or privacy, and (c) any non-compliance by you with this License Agreement.
+
+13. Changes to the License Agreement
+
+13.1 Google may make changes to the License Agreement as it distributes new versions of the SDK. When these changes are made, Google will make a new version of the License Agreement available on the website where the SDK is made available.
+
+14. General Legal Terms
+
+14.1 This License Agreement constitute the whole legal agreement between you and Google and govern your use of the SDK (excluding any services which Google may provide to you under a separate written agreement), and completely replace any prior agreements between you and Google in relation to the SDK.
+
+14.2 You agree that if Google does not exercise or enforce any legal right or remedy which is contained in this License Agreement (or which Google has the benefit of under any applicable law), this will not be taken to be a formal waiver of Google's rights and that those rights or remedies will still be available to Google.
+
+14.3 If any court of law, having the jurisdiction to decide on this matter, rules that any provision of this License Agreement is invalid, then that provision will be removed from this License Agreement without affecting the rest of this License Agreement. The remaining provisions of this License Agreement will continue to be valid and enforceable.
+
+14.4 You acknowledge and agree that each member of the group of companies of which Google is the parent shall be third party beneficiaries to this License Agreement and that such other companies shall be entitled to directly enforce, and rely upon, any provision of this License Agreement that confers a benefit on (or rights in favor of) them. Other than this, no other person or company shall be third party beneficiaries to this License Agreement.
+
+14.5 EXPORT RESTRICTIONS. THE SDK IS SUBJECT TO UNITED STATES EXPORT LAWS AND REGULATIONS. YOU MUST COMPLY WITH ALL DOMESTIC AND INTERNATIONAL EXPORT LAWS AND REGULATIONS THAT APPLY TO THE SDK. THESE LAWS INCLUDE RESTRICTIONS ON DESTINATIONS, END USERS AND END USE.
+
+14.6 The rights granted in this License Agreement may not be assigned or transferred by either you or Google without the prior written approval of the other party. Neither you nor Google shall be permitted to delegate their responsibilities or obligations under this License Agreement without the prior written approval of the other party.
+
+14.7 This License Agreement, and your relationship with Google under this License Agreement, shall be governed by the laws of the State of California without regard to its conflict of laws provisions. You and Google agree to submit to the exclusive jurisdiction of the courts located within the county of Santa Clara, California to resolve any legal matter arising from this License Agreement. Notwithstanding this, you agree that Google shall still be allowed to apply for injunctive remedies (or an equivalent type of urgent legal relief) in any jurisdiction.
+
+April 10, 2009
+    </sdk:license>
+
+    <!-- PLATFORMS ........................ -->
+
+    <sdk:platform>
+        <sdk:version>1.1</sdk:version>
+        <sdk:api-level>2</sdk:api-level>
+        <sdk:revision>1</sdk:revision>
+        <sdk:description>Android SDK Platform 1.1_r1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-1.1.html</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive arch="any" os="windows">
+                <sdk:size>46828615</sdk:size>
+                <sdk:checksum type="sha1">a4060f29ed39fc929c302836d488998c53c3002e</sdk:checksum>
+                <sdk:url>android-1.1_r1-windows.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="macosx">
+                <sdk:size>45584305</sdk:size>
+                <sdk:checksum type="sha1">e21dbcff45b7356657449ebb3c7e941be2bb5ebe</sdk:checksum>
+                <sdk:url>android-1.1_r1-macosx.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="linux">
+                <sdk:size>45476658</sdk:size>
+                <sdk:checksum type="sha1">c054d25c9b4c6251fa49c2f9c54336998679d3fe</sdk:checksum>
+                <sdk:url>android-1.1_r1-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+    </sdk:platform>
+
+    <!-- Generated manually from earlier versions -->
+
+    <sdk:platform>
+        <sdk:version>1.5</sdk:version>
+        <sdk:api-level>3</sdk:api-level>
+        <sdk:revision>04</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>6</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 1.5_r3</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-1.5.html</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive arch="any" os="windows">
+                <sdk:size>54624370</sdk:size>
+                <sdk:checksum type="sha1">5bb106d2e40d481edd337b0833093843e15fe49a</sdk:checksum>
+                <sdk:url>android-1.5_r04-windows.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="macosx">
+                <sdk:size>52440607</sdk:size>
+                <sdk:checksum type="sha1">d3a67c2369afa48b6c3c7624de5031c262018d1e</sdk:checksum>
+                <sdk:url>android-1.5_r04-macosx.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="linux">
+                <sdk:size>53348669</sdk:size>
+                <sdk:checksum type="sha1">5c134b7df5f4b8bd5b61ba93bdaebada8fa3468c</sdk:checksum>
+                <sdk:url>android-1.5_r04-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+    </sdk:platform>
+
+    <sdk:platform>
+        <sdk:version>1.6</sdk:version>
+        <sdk:api-level>4</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>03</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>6</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 1.6_r2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-1.6.html</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive arch="any" os="linux">
+                <sdk:size>63454485</sdk:size>
+                <sdk:checksum type="sha1">483ed088e45bbdf3444baaf9250c8b02e5383cb0</sdk:checksum>
+                <sdk:url>android-1.6_r03-linux.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="macosx">
+                <sdk:size>62418496</sdk:size>
+                <sdk:checksum type="sha1">bdafad44f5df9f127979bdb21a1fdd87ee3cd625</sdk:checksum>
+                <sdk:url>android-1.6_r03-macosx.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="windows">
+                <sdk:size>64654625</sdk:size>
+                <sdk:checksum type="sha1">ce0b5e4ffaf12ca4fd07c2da71a8a1ab4a03dc22</sdk:checksum>
+                <sdk:url>android-1.6_r03-windows.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+    </sdk:platform>
+
+    <!-- Generated on Thu Oct 22 10:16:34 PDT 2009 using eclair-sdk 17704: Platform. Addon. Tools. Doc. -->
+
+    <sdk:platform>
+        <sdk:version>2.0</sdk:version>
+        <sdk:api-level>5</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>3</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.0, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-2.0.html</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive arch="any" os="linux">
+                <sdk:size>75095268</sdk:size>
+                <sdk:checksum type="sha1">be9be6a99ca32875c96ec7f91160ca9fce7e3c7d</sdk:checksum>
+                <sdk:url>android-2.0_r01-linux.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="macosx">
+                <sdk:size>74956356</sdk:size>
+                <sdk:checksum type="sha1">2a866d0870dbba18e0503cd41e5fae988a21b314</sdk:checksum>
+                <sdk:url>android-2.0_r01-macosx.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="windows">
+                <sdk:size>76288040</sdk:size>
+                <sdk:checksum type="sha1">aeb623217ff88b87216d6eb7dbc846ed53f68f57</sdk:checksum>
+                <sdk:url>android-2.0_r01-windows.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+    </sdk:platform>
+
+    <!-- Generated on Mon Nov 23 14:08:02 PST 2009 using eclair-release 20723: Platform. Addon. -->
+
+    <sdk:platform>
+        <sdk:version>2.0.1</sdk:version>
+        <sdk:api-level>6</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>4</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.0.1_r1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/android-2.0.1.html</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive arch="any" os="linux">
+                <sdk:size>79192618</sdk:size>
+                <sdk:checksum type="sha1">ce2c971dce352aa28af06bda92a070116aa5ae1a</sdk:checksum>
+                <sdk:url>android-2.0.1_r01-linux.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="macosx">
+                <sdk:size>79035527</sdk:size>
+                <sdk:checksum type="sha1">c3096f80d75a6fc8cb38ef8a18aec920e53d42c0</sdk:checksum>
+                <sdk:url>android-2.0.1_r01-macosx.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="windows">
+                <sdk:size>80385601</sdk:size>
+                <sdk:checksum type="sha1">255781ebe4509d9707d0e77edda2815e2bc216e6</sdk:checksum>
+                <sdk:url>android-2.0.1_r01-windows.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+    </sdk:platform>
+
+    <!-- Generated on Thu May  6 15:57:41 PDT 2010 using eclair 35983: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>2.1</sdk:version>
+        <sdk:api-level>7</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>03</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>8</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.1_r3</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>70142829</sdk:size>
+                <sdk:checksum type="sha1">5ce51b023ac19f8738500b1007a1da5de2349a1e</sdk:checksum>
+                <sdk:url>android-2.1_r03-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+    </sdk:platform>
+
+    <!-- Generated on Wed Jun 30 16:13:06 PDT 2010 using froyo-release 43546: Platform. Addon. -->
+
+    <sdk:platform>
+        <sdk:version>2.2</sdk:version>
+        <sdk:api-level>8</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>03</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>8</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.2_r3</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>74652366</sdk:size>
+                <sdk:checksum type="sha1">231262c63eefdff8fd0386e9ccfefeb27a8f9202</sdk:checksum>
+                <sdk:url>android-2.2_r03-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+    </sdk:platform>
+
+    <!-- Generated on Thu Jan 20 09:40:59 PST 2011 using gingerbread-sdk-release 93351: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>2.3.1</sdk:version>
+        <sdk:api-level>9</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>02</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>8</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.3.1_r2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>78732563</sdk:size>
+                <sdk:checksum type="sha1">209f8a7a8b2cb093fce858b8b55fed3ba5206773</sdk:checksum>
+                <sdk:url>android-2.3.1_r02-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+    </sdk:platform>
+
+    <!-- Generated on Fri Feb  4 16:41:27 PST 2011 using gingerbread-release 101070: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>2.3.3</sdk:version>
+        <sdk:api-level>10</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>02</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>8</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 2.3.3._r2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>85470907</sdk:size>
+                <sdk:checksum type="sha1">887e37783ec32f541ea33c2c649dda648e8e6fb3</sdk:checksum>
+                <sdk:url>android-2.3.3_r02-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+    </sdk:platform>
+
+    <!-- Generated on Thu Feb 17 08:41:10 PST 2011 using honeycomb 104254: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>3.0</sdk:version>
+        <sdk:api-level>11</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>02</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>10</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 3.0, revision 2</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>104513908</sdk:size>
+                <sdk:checksum type="sha1">2c7d4bd13f276e76f6bbd87315fe27aba351dd37</sdk:checksum>
+                <sdk:url>android-3.0_r02-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+    </sdk:platform>
+
+    <!-- Generated on Wed May  4 19:39:17 PDT 2011 using honeycomb-mr1 123685: Platform.
+         r2: layoutlib.jar from 3.0 to fix issue with ADT 10.
+    -->
+
+    <sdk:platform>
+        <sdk:version>3.1</sdk:version>
+        <sdk:api-level>12</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>03</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>11</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 3.1, revision 3</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>106472351</sdk:size>
+                <sdk:checksum type="sha1">4a50a6679cd95bb68bb5fc032e754cd7c5e2b1bf</sdk:checksum>
+                <sdk:url>android-3.1_r03-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+    </sdk:platform>
+
+    <!-- Generated on Fri Jul 15 11:50:12 PDT 2011 using honeycomb-mr2-release 140714: Platform. -->
+
+    <sdk:platform>
+        <sdk:version>3.2</sdk:version>
+        <sdk:api-level>13</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:min-tools-rev>
+            <sdk:major>12</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:description>Android SDK Platform 3.2, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>108426536</sdk:size>
+                <sdk:checksum type="sha1">6189a500a8c44ae73a439604363de93591163cd9</sdk:checksum>
+                <sdk:url>android-3.2_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+        <sdk:layoutlib>
+            <sdk:api>4</sdk:api>
+        </sdk:layoutlib>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Thu Dec 15 16:53:11 2011 from git_ics-mr0 @ 238991 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform 4.0</sdk:description>
+        <sdk:version>4.0</sdk:version>
+        <sdk:api-level>14</sdk:api-level>
+        <sdk:layoutlib>
+            <sdk:api>7</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>45919570</sdk:size>
+                <sdk:checksum type="sha1">41ba83b51e886461628c41b1b4d47762e0688ed5</sdk:checksum>
+                <sdk:url>android-14_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Fri Mar 16 11:22:43 2012 from ics-mr1 @ 291902 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform 4.0.3</sdk:description>
+        <sdk:version>4.0.3</sdk:version>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>15</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>7</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>44414679</sdk:size>
+                <sdk:checksum type="sha1">23da24610a8da51054c5391001c51ce43a778b97</sdk:checksum>
+                <sdk:url>android-15_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:platform>
+
+    <sdk:platform>
+        <!-- Generated at Tue Oct  9 13:42:01 2012 from git_jb-dev @ 495790 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform 4.1</sdk:description>
+        <sdk:version>4.1.2</sdk:version>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:min-tools-rev>
+            <sdk:major>20</sdk:major>
+        </sdk:min-tools-rev>
+        <sdk:layoutlib>
+            <sdk:api>8</sdk:api>
+            <sdk:revision>1</sdk:revision>
+        </sdk:layoutlib>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>47995505</sdk:size>
+                <sdk:checksum type="sha1">80d9ffef58168f9bccd862830e2ee51f686b167e</sdk:checksum>
+                <sdk:url>android-16_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:platform>
+
+    <!-- SYSTEM IMAGES ........................ -->
+
+    <sdk:system-image>
+        <!-- Generated at Wed Dec  7 13:47:01 2011 from git_ics-mr0 @ 229537 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.0</sdk:description>
+        <sdk:api-level>14</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>99621822</sdk:size>
+                <sdk:checksum type="sha1">d8991b0c06b18d7d6ed4169d67460ee1add6661b</sdk:checksum>
+                <sdk:url>sysimg_armv7a-14_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Fri Mar 30 10:43:23 2012 from ics-mr1 @ 302030 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:description>Android SDK Platform 4.0.3</sdk:description>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>96227377</sdk:size>
+                <sdk:checksum type="sha1">1bf977d6cb4e0ad38dceac0c4863d1caa21f326e</sdk:checksum>
+                <sdk:url>sysimg_armv7a-15_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:system-image>
+
+    <sdk:system-image>
+        <!-- Generated at Tue Oct  9 13:43:08 2012 from git_jb-dev @ 495790 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:description>Android SDK Platform 4.1</sdk:description>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:abi>armeabi-v7a</sdk:abi>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>112528368</sdk:size>
+                <sdk:checksum type="sha1">d1cddb23f17aad5821a089c403d4cddad2cf9ef7</sdk:checksum>
+                <sdk:url>sysimg_armv7a-16_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:system-image>
+
+    <!-- SAMPLES ........................ -->
+
+    <!-- Generated on Mon Feb 22 13:39:38 PST 2010 using eclair 25887: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>7</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 7, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>7677831</sdk:size>
+                <sdk:checksum type="sha1">51e4907f60f248ede5c58b54ce7b6ae0b473e0ca</sdk:checksum>
+                <sdk:url>samples-2.1_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:sample>
+
+    <!-- Generated on Tue May 11 19:15:20 PDT 2010 using froyo 36658: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>8</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 8, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>7969716</sdk:size>
+                <sdk:checksum type="sha1">d16d8bf2dd84cedf73b98b948d66461c8f19d6fb</sdk:checksum>
+                <sdk:url>samples-2.2_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:sample>
+
+    <!-- Generated on Tue Nov 30 19:39:34 PST 2010 using gingerbread 79962: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>9</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 9, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:obsolete/>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>8516326</sdk:size>
+                <sdk:checksum type="sha1">36f7dd6c8b5dbb50b3cf3e3ac5209f3fe55db2aa</sdk:checksum>
+                <sdk:url>samples-2.3_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:sample>
+
+    <!-- Generated on Tue Feb  8 17:37:15 PST 2011 using gingerbread 102121: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>10</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 10, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>8539583</sdk:size>
+                <sdk:checksum type="sha1">93b0c3f3bdf5b07f1f115100b4954f0665297a0d</sdk:checksum>
+                <sdk:url>samples-2.3.3_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:sample>
+
+    <!-- Generated on Thu Feb 17 08:45:49 PST 2011 using honeycomb 104254: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>11</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 11, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>11976920</sdk:size>
+                <sdk:checksum type="sha1">3749ace584631270268d65bb1d0ad61b0d691682</sdk:checksum>
+                <sdk:url>samples-3.0_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:sample>
+
+    <!-- Generated on Wed May  4 19:49:56 PDT 2011 using honeycomb-mr1 123685: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>12</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 12, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>12150514</sdk:size>
+                <sdk:checksum type="sha1">df0ace37cbca73373fe94080f94c71557cac73a7</sdk:checksum>
+                <sdk:url>samples-3.1_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:sample>
+
+    <!-- Generated on Fri Jul 15 11:52:24 PDT 2011 using honeycomb-mr2 142871: Samples. -->
+
+    <sdk:sample>
+        <sdk:api-level>13</sdk:api-level>
+        <sdk:codename/>
+        <sdk:revision>01</sdk:revision>
+        <sdk:description>Android SDK Samples for Android API 13, revision 1</sdk:description>
+        <sdk:desc-url>http://developer.android.com/sdk/</sdk:desc-url>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>12193502</sdk:size>
+                <sdk:checksum type="sha1">078bcf1abc1cb8921f3fa482c252963a782bed60</sdk:checksum>
+                <sdk:url>samples-3.2_r01-linux.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Wed Dec  7 13:48:27 2011 from git_ics-mr0 @ 234950 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>14</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>16253619</sdk:size>
+                <sdk:checksum type="sha1">1312c22ab0b650e26835cc3945d4ff8cea183416</sdk:checksum>
+                <sdk:url>samples-14_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Fri Mar 16 11:27:52 2012 from ics-mr1 @ 291902 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>16366656</sdk:size>
+                <sdk:checksum type="sha1">042f368c5b09eca4d278264e6dbf9c12c5f73d1f</sdk:checksum>
+                <sdk:url>samples-15_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:sample>
+
+    <sdk:sample>
+        <!-- Generated at Sun Jun 24 14:02:06 2012 from git_jb-release @ 391408 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>14729945</sdk:size>
+                <sdk:checksum type="sha1">dce3a2d41db50a381ef47ee8bddbe928520e685e</sdk:checksum>
+                <sdk:url>samples-16_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:sample>
+
+    <!-- PLATFORM-TOOLS ........................ -->
+
+    <sdk:platform-tool>
+        <!-- Generated at Thu Jul 19 18:38:34 2012 from git_jb-dev @ 407773 -->
+        <sdk:revision>
+            <sdk:major>14</sdk:major>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive arch="any" os="windows">
+                <sdk:size>11159472</sdk:size>
+                <sdk:checksum type="sha1">6028258d8f2fba14d8b40c3cf507afa0289aaa13</sdk:checksum>
+                <sdk:url>platform-tools_r14-windows.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="linux">
+                <sdk:size>10985068</sdk:size>
+                <sdk:checksum type="sha1">6e2bc329c9485eb383172cbc2cde8b0c0cd1843f</sdk:checksum>
+                <sdk:url>platform-tools_r14-linux.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="macosx">
+                <sdk:size>11342461</sdk:size>
+                <sdk:checksum type="sha1">4a015090c6a209fc33972acdbc65745e0b3c08b9</sdk:checksum>
+                <sdk:url>platform-tools_r14-macosx.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:platform-tool>
+
+    <sdk:platform-tool>
+        <!-- Generated at Wed Oct 17 15:42:13 2012 from git_jb-dev @ 505673 -->
+        <sdk:revision>
+            <sdk:major>15</sdk:major>
+            <sdk:preview>9</sdk:preview>
+        </sdk:revision>
+        <sdk:archives>
+            <sdk:archive arch="any" os="windows">
+                <sdk:size>11170483</sdk:size>
+                <sdk:checksum type="sha1">853afdf5f63aaac61dcfd016a7acb930b6dac377</sdk:checksum>
+                <sdk:url>platform-tools_r15_rc9-windows.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="linux">
+                <sdk:size>10996592</sdk:size>
+                <sdk:checksum type="sha1">c1aa2bc0d6f7dac7e292151ee77752bbfb10d1c5</sdk:checksum>
+                <sdk:url>platform-tools_r15_rc9-linux.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="macosx">
+                <sdk:size>11345162</sdk:size>
+                <sdk:checksum type="sha1">22ac626ec3526b606d358193a16df10179f1d4f5</sdk:checksum>
+                <sdk:url>platform-tools_r15_rc9-macosx.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:platform-tool>
+
+    <!-- TOOLS ........................ -->
+
+    <sdk:tool>
+        <!-- Generated at Thu Aug  9 13:16:38 2012 from git_tools_r20 @ 427395 -->
+        <sdk:revision>
+            <sdk:major>20</sdk:major>
+            <sdk:minor>0</sdk:minor>
+            <sdk:micro>3</sdk:micro>
+        </sdk:revision>
+        <sdk:min-platform-tools-rev>
+            <sdk:major>12</sdk:major>
+        </sdk:min-platform-tools-rev>
+        <sdk:archives>
+            <sdk:archive arch="any" os="windows">
+                <sdk:size>90272048</sdk:size>
+                <sdk:checksum type="sha1">54fb94168e631e211910f88aa40c532205730dd4</sdk:checksum>
+                <sdk:url>tools_r20.0.3-windows.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="linux">
+                <sdk:size>82723559</sdk:size>
+                <sdk:checksum type="sha1">09bc633b406ae81981e3a0db19426acbb01ef219</sdk:checksum>
+                <sdk:url>tools_r20.0.3-linux.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="macosx">
+                <sdk:size>58197071</sdk:size>
+                <sdk:checksum type="sha1">09cee5ff3226277a6f0c07dcd29cba4ffc2e1da4</sdk:checksum>
+                <sdk:url>tools_r20.0.3-macosx.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:tool>
+
+    <sdk:tool>
+        <!-- Generated at Wed Oct 17 15:40:42 2012 from git_mirror-aosp-master @ 506320 -->
+        <sdk:revision>
+            <sdk:major>21</sdk:major>
+            <sdk:preview>9</sdk:preview>
+        </sdk:revision>
+        <sdk:min-platform-tools-rev>
+            <sdk:major>15</sdk:major>
+            <sdk:preview>9</sdk:preview>
+        </sdk:min-platform-tools-rev>
+        <sdk:archives>
+            <sdk:archive arch="any" os="windows">
+                <sdk:size>98865433</sdk:size>
+                <sdk:checksum type="sha1">a1379cef10f33e74061f6935fd74922b0351addb</sdk:checksum>
+                <sdk:url>tools_r21_rc9-windows.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="linux">
+                <sdk:size>91377922</sdk:size>
+                <sdk:checksum type="sha1">dde958cb26276b632a02ca6d530506c09ce4e086</sdk:checksum>
+                <sdk:url>tools_r21_rc9-linux.zip</sdk:url>
+            </sdk:archive>
+            <sdk:archive arch="any" os="macosx">
+                <sdk:size>65655657</sdk:size>
+                <sdk:checksum type="sha1">43803f6179707ca6bd4a37e129bcf022ebda0043</sdk:checksum>
+                <sdk:url>tools_r21_rc9-macosx.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:tool>
+
+    <!-- DOCS ........................ -->
+
+    <sdk:doc>
+        <!-- Generated at Tue Oct  9 14:08:23 2012 from git_jb-dev @ 495790 -->
+        <sdk:revision>3</sdk:revision>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>164244602</sdk:size>
+                <sdk:checksum type="sha1">3168152f52f5edc0c85523c875c96e7431ab4545</sdk:checksum>
+                <sdk:url>docs-16_r03.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:doc>
+
+    <!-- SOURCES ........................ -->
+
+    <sdk:source>
+        <!-- Generated at Wed Dec  7 13:48:11 2011 from git_ics-mr0 @ 234950 -->
+        <sdk:revision>1</sdk:revision>
+        <sdk:api-level>14</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>16152383</sdk:size>
+                <sdk:checksum type="sha1">eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555</sdk:checksum>
+                <sdk:url>sources-14_r01.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Fri Mar 30 10:43:44 2012 from ics-mr1 @ 302030 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>15</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>16468746</sdk:size>
+                <sdk:checksum type="sha1">e5992a5747c9590783fbbdd700337bf0c9f6b1fa</sdk:checksum>
+                <sdk:url>sources-15_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:source>
+
+    <sdk:source>
+        <!-- Generated at Thu Jul 19 18:39:42 2012 from git_jb-release @ 403059 -->
+        <sdk:revision>2</sdk:revision>
+        <sdk:api-level>16</sdk:api-level>
+        <sdk:archives>
+            <sdk:archive arch="any" os="any">
+                <sdk:size>17876720</sdk:size>
+                <sdk:checksum type="sha1">0f83c14ed333c45d962279ab5d6bc98a0269ef84</sdk:checksum>
+                <sdk:url>sources-16_r02.zip</sdk:url>
+            </sdk:archive>
+        </sdk:archives>
+    </sdk:source>
+</sdk:sdk-repository>
\ No newline at end of file
diff --git a/pkgs/development/androidenv/support.nix b/pkgs/development/androidenv/support.nix
new file mode 100644
index 000000000000..0c69bf37107e
--- /dev/null
+++ b/pkgs/development/androidenv/support.nix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation {
+  name = "android-support";
+  src = fetchurl {
+    url = https://dl-ssl.google.com/android/repository/support_r10.zip;
+    sha1 = "7c62e542d46ac3bdb89e1b90503d6afae557cf7d";
+  };
+  
+  buildCommand = ''
+    mkdir -p $out
+    cd $out
+    unzip $src
+  '';
+  
+  buildInputs = [ unzip ];
+}
\ No newline at end of file
diff --git a/pkgs/development/androidenv/sysimages.nix b/pkgs/development/androidenv/sysimages.nix
new file mode 100644
index 000000000000..3add0c41444b
--- /dev/null
+++ b/pkgs/development/androidenv/sysimages.nix
@@ -0,0 +1,42 @@
+
+{stdenv, fetchurl, unzip}:
+
+let
+  buildSystemImage = args:
+    stdenv.mkDerivation (args // {   
+      buildInputs = [ unzip ];
+      buildCommand = ''
+        mkdir -p $out
+        cd $out
+        unzip $src
+    '';
+  });
+in
+{
+    
+  sysimg_14 = buildSystemImage {
+    name = "armeabi-v7a-14";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-14_r02.zip;
+      sha1 = "d8991b0c06b18d7d6ed4169d67460ee1add6661b";
+    };
+  };
+    
+  sysimg_15 = buildSystemImage {
+    name = "armeabi-v7a-15";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-15_r02.zip;
+      sha1 = "1bf977d6cb4e0ad38dceac0c4863d1caa21f326e";
+    };
+  };
+    
+  sysimg_16 = buildSystemImage {
+    name = "armeabi-v7a-16";
+    src = fetchurl {
+      url = https://dl-ssl.google.com/android/repository/sysimg_armv7a-16_r03.zip;
+      sha1 = "d1cddb23f17aad5821a089c403d4cddad2cf9ef7";
+    };
+  };
+    
+}
+  
diff --git a/pkgs/development/compilers/Agda-executable/default.nix b/pkgs/development/compilers/Agda-executable/default.nix
index 823a412459fc..f9acff43ef71 100644
--- a/pkgs/development/compilers/Agda-executable/default.nix
+++ b/pkgs/development/compilers/Agda-executable/default.nix
@@ -7,6 +7,7 @@ cabal.mkDerivation (self: {
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ Agda ];
+  jailbreak = true;
   meta = {
     homepage = "http://wiki.portal.chalmers.se/agda/";
     description = "Command-line program for type-checking and compiling Agda programs";
diff --git a/pkgs/development/compilers/ccl/default.nix b/pkgs/development/compilers/ccl/default.nix
index 54628fa509d9..7678c066df28 100644
--- a/pkgs/development/compilers/ccl/default.nix
+++ b/pkgs/development/compilers/ccl/default.nix
@@ -5,13 +5,13 @@ let
   ];
 in
 rec {
-  version = "1.4";
+  version = "1.8";
   name = "ccl-${version}";
 
   /* There are also MacOS and FreeBSD and Windows versions */
   src = a.fetchurl {
     url = "ftp://ftp.clozure.com/pub/release/${version}/${name}-linuxx86.tar.gz";
-    sha256 = "1z4x4kxjj2ligb2vfrx5mjww20gdkxbvgw1ax5l9c8ha802bfyg8";
+    sha256 = "1dgg6a8i2csa6xidsq66hbw7zx62gm2178hpkp88yyzgxylszp01";
   };
   
   inherit buildInputs;
diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix
index c08fc3ee5852..fb801b6b8440 100644
--- a/pkgs/development/compilers/ecl/default.nix
+++ b/pkgs/development/compilers/ecl/default.nix
@@ -3,16 +3,23 @@
   , ...} @ x:
 builderDefsPackage (a :  
 let 
-  s = import ./src-for-default.nix;
   propagatedBuildInputs = with a; [
     gmp mpfr
   ];
   buildInputs = [ gmp libffi mpfr ];
 in
 rec {
-  src = a.fetchUrlFromSrcInfo s;
+  mainVersion = "12.7";
+  revision = "1";
+  version = "${mainVersion}.${revision}";
+
+  name = "ecl-${version}";
+
+  src = a.fetchurl {
+    url = "mirror://sourceforge/project/ecls/ecls/${mainVersion}/${name}.tar.gz";
+    sha256 = "0k8ww142g3bybvvnlijqsbidl8clbs1pb4ympk2ds07z5swvy2ap";
+  };
 
-  inherit (s) name;
   inherit buildInputs propagatedBuildInputs;
   configureFlags = [
     "--enable-threads"
diff --git a/pkgs/development/compilers/ecl/src-for-default.nix b/pkgs/development/compilers/ecl/src-for-default.nix
deleted file mode 100644
index 1baaf4bbec45..000000000000
--- a/pkgs/development/compilers/ecl/src-for-default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-rec {
-   version="12.2.1";
-   name="ecl-12.2.1";
-   hash="dbb3f83c27f3d2565ca22c1c6b4ab497bbfdd0d0a7b09dee76338f378621f091";
-   url="http://downloads.sourceforge.net/project/ecls/ecls/12.2/ecl-${version}.tgz";
-   advertisedUrl="http://downloads.sourceforge.net/project/ecls/ecls/12.2/ecl-12.2.1.tgz";
-}
diff --git a/pkgs/development/compilers/ecl/src-info-for-default.nix b/pkgs/development/compilers/ecl/src-info-for-default.nix
deleted file mode 100644
index 1f5f3270f53a..000000000000
--- a/pkgs/development/compilers/ecl/src-info-for-default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  downloadPage = "http://sourceforge.net/projects/ecls/files/";
-  baseName = "ecl";
-  choiceCommand = "head -1 | sed -e 's@/download@@;'\"$skipRedirectSF\"";
-  sourceRegexp = ".*[.](tar.gz|tgz|tbz2|tar.bz2)";
-}
diff --git a/pkgs/development/compilers/edk2/default.nix b/pkgs/development/compilers/edk2/default.nix
index 53517e853e94..9633967da6a9 100644
--- a/pkgs/development/compilers/edk2/default.nix
+++ b/pkgs/development/compilers/edk2/default.nix
@@ -14,8 +14,8 @@ edk2 = stdenv.mkDerivation {
   
   src = fetchsvn {
     url = https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2;
-    rev = "13094";
-    sha256 = "1qfpal0y4sas204ydg3pg3634dm25q1vr94mpgmbdh6yqcviah3h";
+    rev = "13783";
+    sha256 = "18sx0nwcnghij7737xdnmgwk5vm0ax4p0v3ybggqqs8cdhzfghil";
   };
 
   buildInputs = [ libuuid pythonFull ];
diff --git a/pkgs/development/compilers/fpc/lazarus.nix b/pkgs/development/compilers/fpc/lazarus.nix
index 4278f2c664f6..e2a9fd128e98 100644
--- a/pkgs/development/compilers/fpc/lazarus.nix
+++ b/pkgs/development/compilers/fpc/lazarus.nix
@@ -1,9 +1,10 @@
 args : with args; 
 rec {
-  version = "0.9.30.4";
+  version = "1.0.2";
+  versionSuffix = "-0";
   src = fetchurl {
-    url = "mirror://sourceforge/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%20${version}/lazarus-${version}-src.tar.bz2";
-    sha256 = "0kndg4xf32r6w5hb58d9qvzkyiphhysgnhs2rd9bmlc8sy8c7zmv";
+    url = "mirror://sourceforge/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%20${version}/lazarus-${version}${versionSuffix}.tar.gz";
+    sha256 = "17a94wig8b4yrkq42wng4qbal7n77axkynwh78wday5whsp7div8";
   };
 
   buildInputs = [fpc gtk glib libXi inputproto 
diff --git a/pkgs/development/compilers/gcc/4.3/default.nix b/pkgs/development/compilers/gcc/4.3/default.nix
index 57fc0f805c47..4b9fd616d849 100644
--- a/pkgs/development/compilers/gcc/4.3/default.nix
+++ b/pkgs/development/compilers/gcc/4.3/default.nix
@@ -80,7 +80,8 @@ stdenv.mkDerivation ({
     ++ optional noSysDirs ./no-sys-dirs.patch
     ++ optional (noSysDirs && langFortran) ./no-sys-dirs-fortran.patch
     ++ optional langJava ./java-jvgenmain-link.patch
-    ++ optional langVhdl ./ghdl-ortho-cflags.patch;
+    ++ optional langVhdl ./ghdl-ortho-cflags.patch
+    ++ optional langVhdl ./ghdl-runtime-o2.patch;
     
   inherit noSysDirs profiledCompiler staticCompiler crossStageStatic
     binutilsCross libcCross;
diff --git a/pkgs/development/compilers/gcc/4.3/ghdl-runtime-o2.patch b/pkgs/development/compilers/gcc/4.3/ghdl-runtime-o2.patch
new file mode 100644
index 000000000000..ddc455143c02
--- /dev/null
+++ b/pkgs/development/compilers/gcc/4.3/ghdl-runtime-o2.patch
@@ -0,0 +1,13 @@
+diff --git a/gcc/vhdl/Makefile.in b/gcc/vhdl/Makefile.in
+index b8d2ed0..0e8bd55 100644
+--- a/gcc/vhdl/Makefile.in
++++ b/gcc/vhdl/Makefile.in
+@@ -682,7 +682,7 @@ install-ghdllib: ghdllib grt.lst $(STD93_SRCS) $(STD87_SRCS) \
+ 	PDIR=`pwd` && cd $(DESTDIR)$(VHDL_LIB_DIR) && \
+ 	$(MAKE) -f $$PDIR/Makefile REL_DIR=../../.. \
+ 	 LIBSRC_DIR="src" LIB93_DIR=lib/v93 LIB87_DIR=lib/v87 \
+-	 ANALYZE="$$PDIR/../ghdl -a --GHDL1=$$PDIR/../ghdl1 --ieee=none" \
++	 ANALYZE="$$PDIR/../ghdl -a --GHDL1=$$PDIR/../ghdl1 --ieee=none -Wc,-O2" \
+ 	 std.v93 std.v87 ieee.v93 ieee.v87 synopsys.v93 synopsys.v87 mentor.v93
+ # Copy std_standard (this is done after libraries, since they remove dirs).
+ 	$(INSTALL_DATA) std87_standard.o \
diff --git a/pkgs/development/compilers/gcc/4.7/default.nix b/pkgs/development/compilers/gcc/4.7/default.nix
index 02733d042033..0267c1def5d0 100644
--- a/pkgs/development/compilers/gcc/4.7/default.nix
+++ b/pkgs/development/compilers/gcc/4.7/default.nix
@@ -49,7 +49,7 @@ assert langGo -> langCC;
 with stdenv.lib;
 with builtins;
 
-let version = "4.7.1";
+let version = "4.7.2";
 
     # Whether building a cross-compiler for GNU/Hurd.
     crossGNU = cross != null && cross.config == "i586-pc-gnu";
@@ -60,8 +60,7 @@ let version = "4.7.1";
       # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
       # target libraries and tools.
       ++ optional langAda ./gnat-cflags.patch
-      ++ optional langFortran ./gfortran-driving.patch
-      ++ optional (stdenv.isGNU || crossGNU) ./hurd-sigrtmin.patch;
+      ++ optional langFortran ./gfortran-driving.patch;
 
     javaEcj = fetchurl {
       # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
@@ -164,7 +163,7 @@ stdenv.mkDerivation ({
 
   src = fetchurl {
     url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
-    sha256 = "0vs0v89zzgkngkw2p8kdynyk7j8ky4wf6zyrg3rsschpl1pky28n";
+    sha256 = "115h03hil99ljig8lkrq4qk426awmzh0g99wrrggxf8g07bq74la";
   };
 
   inherit patches;
@@ -206,8 +205,6 @@ stdenv.mkDerivation ({
            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
@@ -308,7 +305,6 @@ stdenv.mkDerivation ({
     else "install";
 
   crossAttrs = {
-    patches = patches ++ [ ./hurd-sigrtmin.patch ];
     AR = "${stdenv.cross.config}-ar";
     LD = "${stdenv.cross.config}-ld";
     CC = "${stdenv.cross.config}-gcc";
diff --git a/pkgs/development/compilers/gcc/4.7/hurd-sigrtmin.patch b/pkgs/development/compilers/gcc/4.7/hurd-sigrtmin.patch
deleted file mode 100644
index dc8236d2b99f..000000000000
--- a/pkgs/development/compilers/gcc/4.7/hurd-sigrtmin.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-GNU libc on GNU/Hurd doesn't define `__SIGRTMIN'.
-From <http://patch-tracker.debian.org/patch/series/view/gcc-4.6/4.6.3-1/hurd-fixes.diff>.
-
---- a/libgcc/generic-morestack.c	2011-12-19 21:14:52.000000000 +0100
-+++ b/libgcc/generic-morestack.c	2011-12-19 21:15:35.000000000 +0100
-@@ -507,7 +507,7 @@
-   sigemptyset (&__morestack_initial_sp.mask);
- 
-   sigfillset (&__morestack_fullmask);
--#ifdef __GLIBC__
-+#if defined(__GLIBC__) && defined(__SIGRTMIN)
-   /* In glibc, the first two real time signals are used by the NPTL
-      threading library.  By taking them out of the set of signals, we
-      avoiding copying the signal mask in pthread_sigmask.  More
diff --git a/pkgs/development/compilers/ghc/6.10.1-binary.nix b/pkgs/development/compilers/ghc/6.10.1-binary.nix
index 5a15cc0dff7e..353a4176ea46 100644
--- a/pkgs/development/compilers/ghc/6.10.1-binary.nix
+++ b/pkgs/development/compilers/ghc/6.10.1-binary.nix
@@ -1,11 +1,5 @@
 {stdenv, fetchurl, perl, libedit, ncurses, gmp}:
 
-let
-  supportedPlatforms = ["i686-darwin" "x86_64-linux" "i686-linux"];
-in
-
-assert stdenv.lib.elem stdenv.system supportedPlatforms;
-
 stdenv.mkDerivation rec {
   version = "6.10.1";
 
@@ -104,5 +98,5 @@ stdenv.mkDerivation rec {
         [ $(./main) == "yes" ]
       '';
 
-  meta.platforms = supportedPlatforms;
+  meta.platforms = ["i686-darwin" "x86_64-linux" "i686-linux"];
 }
diff --git a/pkgs/development/compilers/ghc/6.10.2-binary.nix b/pkgs/development/compilers/ghc/6.10.2-binary.nix
index 616c9de7edeb..02f1db354a1e 100644
--- a/pkgs/development/compilers/ghc/6.10.2-binary.nix
+++ b/pkgs/development/compilers/ghc/6.10.2-binary.nix
@@ -1,11 +1,5 @@
 {stdenv, fetchurl, perl, libedit, ncurses, gmp}:
 
-let
-  supportedPlatforms = ["x86_64-linux" "i686-linux"];
-in
-
-assert stdenv.lib.elem stdenv.system supportedPlatforms;
-
 stdenv.mkDerivation rec {
   version = "6.10.2";
 
@@ -103,5 +97,5 @@ stdenv.mkDerivation rec {
         [ $(./main) == "yes" ]
       '';
 
-  meta.platforms = supportedPlatforms;
+  meta.platforms = ["x86_64-linux" "i686-linux"];
 }
diff --git a/pkgs/development/compilers/ghc/6.12.1-binary.nix b/pkgs/development/compilers/ghc/6.12.1-binary.nix
index a84b75d705b1..23486b5f4fa5 100644
--- a/pkgs/development/compilers/ghc/6.12.1-binary.nix
+++ b/pkgs/development/compilers/ghc/6.12.1-binary.nix
@@ -1,11 +1,5 @@
 {stdenv, fetchurl, perl, ncurses, gmp}:
 
-let
-  supportedPlatforms = ["x86_64-linux" "i686-linux"];
-in
-
-assert stdenv.lib.elem stdenv.system supportedPlatforms;
-
 stdenv.mkDerivation rec {
   version = "6.12.1";
 
@@ -105,5 +99,5 @@ stdenv.mkDerivation rec {
         [ $(./main) == "yes" ]
       '';
 
-  meta.platforms = supportedPlatforms;
+  meta.platforms = ["x86_64-linux" "i686-linux"];
 }
diff --git a/pkgs/development/compilers/ghc/6.4.2-binary.nix b/pkgs/development/compilers/ghc/6.4.2-binary.nix
index 2ed6f2be4fe4..1a5bf059e9f5 100644
--- a/pkgs/development/compilers/ghc/6.4.2-binary.nix
+++ b/pkgs/development/compilers/ghc/6.4.2-binary.nix
@@ -1,11 +1,5 @@
 {stdenv, fetchurl, perl, readline, ncurses, gmp}:
 
-let
-  supportedPlatforms = ["i686-darwin" "x86_64-linux" "i686-linux"];
-in
-
-assert stdenv.lib.elem stdenv.system supportedPlatforms;
-
 stdenv.mkDerivation {
   name = if stdenv.system == "i686-darwin" then "ghc-6.6.1-binary" else "ghc-6.4.2-binary";
 
@@ -68,5 +62,5 @@ stdenv.mkDerivation {
 
   '' else "";
 
-  meta.platforms = supportedPlatforms;
+  meta.platforms = ["i686-darwin" "x86_64-linux" "i686-linux"];
 }
diff --git a/pkgs/development/compilers/ghc/7.0.4-binary.nix b/pkgs/development/compilers/ghc/7.0.4-binary.nix
index 0baf9718f85e..0bfc81a17a4e 100644
--- a/pkgs/development/compilers/ghc/7.0.4-binary.nix
+++ b/pkgs/development/compilers/ghc/7.0.4-binary.nix
@@ -1,11 +1,5 @@
 {stdenv, fetchurl, perl, ncurses, gmp}:
 
-let
-  supportedPlatforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"];
-in
-
-assert stdenv.lib.elem stdenv.system supportedPlatforms;
-
 stdenv.mkDerivation rec {
   version = "7.0.4";
 
@@ -93,5 +87,5 @@ stdenv.mkDerivation rec {
         [ $(./main) == "yes" ]
       '';
 
-  meta.platforms = supportedPlatforms;
+  meta.platforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"];
 }
diff --git a/pkgs/development/compilers/ghc/7.4.2-binary.nix b/pkgs/development/compilers/ghc/7.4.2-binary.nix
new file mode 100644
index 000000000000..e0a8fee4b660
--- /dev/null
+++ b/pkgs/development/compilers/ghc/7.4.2-binary.nix
@@ -0,0 +1,91 @@
+{stdenv, fetchurl, perl, ncurses, gmp}:
+
+stdenv.mkDerivation rec {
+  version = "7.4.2";
+
+  name = "ghc-${version}-binary";
+
+  src =
+    if stdenv.system == "i686-linux" then
+      fetchurl {
+        url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux.tar.bz2";
+        sha256 = "0gny7knhss0w0d9r6jm1gghrcb8kqjvj94bb7hxf9syrk4fxlcxi";
+      }
+    else if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2";
+        sha256 = "043jabd0lh6n1zlqhysngbpvlsdznsa2mmsj08jyqgahw9sjb5ns";
+      }
+    else if stdenv.system == "i686-darwin" then
+      fetchurl {
+        url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-apple-darwin.tar.bz2";
+        sha256 = "1vrbs3pzki37hzym1f1nh07lrqh066z3ypvm81fwlikfsvk4djc0";
+      }
+    else if stdenv.system == "x86_64-darwin" then
+      fetchurl {
+        url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.bz2";
+        sha256 = "1imzqc0slpg0r6p40n5a9m18cbcm0m86z8dgyhfxcckksw54mzwf";
+      }
+    else throw "cannot bootstrap GHC on this platform";
+
+  buildInputs = [perl];
+
+  postUnpack =
+    # Strip is harmful, see also below. It's important that this happens
+    # first. The GHC Cabal build system makes use of strip by default and
+    # has hardcoded paths to /usr/bin/strip in many places. We replace
+    # those below, making them point to our dummy script.
+     ''
+      mkdir "$TMP/bin"
+      for i in strip; do
+        echo '#!/bin/sh' >> "$TMP/bin/$i"
+        chmod +x "$TMP/bin/$i"
+        PATH="$TMP/bin:$PATH"
+      done
+     '' +
+    # We have to patch the GMP paths for the integer-gmp package.
+     ''
+      find . -name integer-gmp.buildinfo \
+          -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp}/lib@" {} \;
+     '' +
+    # On Linux, use patchelf to modify the executables so that they can
+    # find editline/gmp.
+    (if stdenv.isLinux then ''
+      find . -type f -perm +100 \
+          -exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+          --set-rpath "${ncurses}/lib:${gmp}/lib" {} \;
+      sed -i "s|/usr/bin/perl|perl\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
+      sed -i "s|/usr/bin/gcc|gcc\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
+      for prog in ld ar gcc strip ranlib; do
+        find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
+      done
+     '' else "");
+
+  configurePhase = ''
+    ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include
+  '';
+
+  # Stripping combined with patchelf breaks the executables (they die
+  # with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
+  dontStrip = true;
+
+  # No building is necessary, but calling make without flags ironically
+  # calls install-strip ...
+  buildPhase = "true";
+
+  postInstall =
+      ''
+        # Sanity check, can ghc create executables?
+        cd $TMP
+        mkdir test-ghc; cd test-ghc
+        cat > main.hs << EOF
+          module Main where
+          main = putStrLn "yes"
+        EOF
+        $out/bin/ghc --make main.hs
+        echo compilation ok
+        [ $(./main) == "yes" ]
+      '';
+
+  meta.platforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"];
+}
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 566e7d80f865..67f2b4f5c7e2 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -1,13 +1,12 @@
 { stdenv, fetchurl, ghc, perl, gmp, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "7.5.20120714";
-
+  version = "7.7.20121106";
   name = "ghc-${version}";
 
   src = fetchurl {
     url = "http://haskell.org/ghc/dist/current/dist/${name}-src.tar.bz2";
-    sha256 = "02jicyqqr18yixf970f1rfrn64bm528aig6s9566galji063p6ah";
+    sha256 = "1n3xj8arkzfvs3q1ymxsnbzs23ndsp8pl67sqirl837pkgcmq263";
   };
 
   buildInputs = [ ghc perl gmp ncurses ];
@@ -17,6 +16,7 @@ stdenv.mkDerivation rec {
   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"
+    DYNAMIC_BY_DEFAULT = NO
   '';
 
   preConfigure = ''
diff --git a/pkgs/development/compilers/ghc/with-packages.nix b/pkgs/development/compilers/ghc/with-packages.nix
index 9313c54b9080..f4f567f30b39 100644
--- a/pkgs/development/compilers/ghc/with-packages.nix
+++ b/pkgs/development/compilers/ghc/with-packages.nix
@@ -59,6 +59,11 @@ stdenv.mkDerivation rec {
           ln -s $f $out/bin
           echo -n .
         done
+        for f in "$currentPath/etc/bash_completion.d/"*; do
+	  mkdir -p $out/etc/bash_completion.d
+          ln -s $f $out/etc/bash_completion.d/
+          echo -n .
+        done
         for f in "$currentPkgDir/"*.conf; do
           ln -s $f $linkedPkgDir
           echo -n .
diff --git a/pkgs/development/compilers/ghc/wrapper.nix b/pkgs/development/compilers/ghc/wrapper.nix
index 4407f16c9e02..bc28fdc91319 100644
--- a/pkgs/development/compilers/ghc/wrapper.nix
+++ b/pkgs/development/compilers/ghc/wrapper.nix
@@ -1,6 +1,10 @@
-{stdenv, ghc, makeWrapper, coreutils}:
+{ stdenv, ghc, makeWrapper, coreutils }:
 
-stdenv.mkDerivation {
+let
+  ghc761OrLater = !stdenv.lib.versionOlder ghc.version "7.6.1";
+  packageDBFlag = if ghc761OrLater then "-package-db" else "-package-conf";
+in
+stdenv.mkDerivation ({
   name = "ghc-${ghc.version}-wrapper";
 
   buildInputs = [makeWrapper];
@@ -15,10 +19,10 @@ stdenv.mkDerivation {
       makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$($out/bin/ghc-get-packages.sh ${ghc.version} \"\$(dirname \$0)\")"
     done
     for prg in runghc runhaskell; do
-      makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$($out/bin/ghc-get-packages.sh ${ghc.version} \"\$(dirname \$0)\" \" -package-conf --ghc-arg=\")"
+      makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$($out/bin/ghc-get-packages.sh ${ghc.version} \"\$(dirname \$0)\" \" ${packageDBFlag} --ghc-arg=\")"
     done
     for prg in ghc-pkg ghc-pkg-${ghc.version}; do
-      makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$($out/bin/ghc-get-packages.sh ${ghc.version} \"\$(dirname \$0)\" --package-conf=)"
+      makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$($out/bin/ghc-get-packages.sh ${ghc.version} \"\$(dirname \$0)\" -${packageDBFlag}=)"
     done
     for prg in hp2ps hpc hasktags hsc2hs; do
       test -x $ghc/bin/$prg && ln -s $ghc/bin/$prg $out/bin/$prg
@@ -29,7 +33,7 @@ stdenv.mkDerivation {
 
     for arg in \$($out/bin/ghc-get-packages.sh ${ghc.version} \"\$(dirname \$0)\"); do
       case "\$arg" in
-        -package-conf) ;;
+        ${packageDBFlag}) ;;
         *)
           CANONICALIZED="\$(${stdenv.lib.optionalString stdenv.isDarwin "${coreutils}/bin/"}readlink -f "\$arg")"
           GHC_PACKAGES_HASH["\$CANONICALIZED"]= ;;
@@ -50,4 +54,4 @@ stdenv.mkDerivation {
   inherit ghc;
   inherit (ghc) meta;
   ghcVersion = ghc.version;
-}
+} // (stdenv.lib.optionalAttrs ghc761OrLater { preFixup = "sed -i -e 's|-package-conf|${packageDBFlag}|' $out/bin/ghc-get-packages.sh"; }))
diff --git a/pkgs/development/compilers/go/default.nix b/pkgs/development/compilers/go/default.nix
index 1d9765539bfc..60ea7981931d 100644
--- a/pkgs/development/compilers/go/default.nix
+++ b/pkgs/development/compilers/go/default.nix
@@ -7,11 +7,11 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "go-1.0.2";
+  name = "go-1.0.3";
 
   src = fetchurl {
-    url = http://go.googlecode.com/files/go1.0.2.src.tar.gz;
-    sha256 = "1a4mpkb3bd9dwp0r3fgrfcyk5lgw0f0cfrbskg2lrhc7a12zpz3h";
+    url = http://go.googlecode.com/files/go1.0.3.src.tar.gz;
+    sha256 = "1pz31az3icwqfqfy3avms05jnqr0qrbrx9yqsclkdwbjs4rkbfkz";
   };
 
   buildInputs = [ bison glibc bash makeWrapper ];
diff --git a/pkgs/development/compilers/gprolog/default.nix b/pkgs/development/compilers/gprolog/default.nix
index f7a64da73096..bbc273365b98 100644
--- a/pkgs/development/compilers/gprolog/default.nix
+++ b/pkgs/development/compilers/gprolog/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "gprolog-1.4.0";
+  name = "gprolog-1.4.1";
 
   src = fetchurl {
     urls = [
       "mirror://gnu/gprolog/${name}.tar.gz"
       "http://www.gprolog.org/${name}.tar.gz"
     ];
-    sha256 = "1l66k66ryfw1nfi2wlvsyq4cmr6mm95f4iay1fxdk3hdk3fjyjl0";
+    sha256 = "e2819ed9c426138d3191e4d97ae5121cf97e132eecf102400f87f1e372a05b72";
   };
 
   configurePhase = "cd src ;"
@@ -17,16 +17,17 @@ stdenv.mkDerivation rec {
     + "--with-examples-dir=$out/share/doc/${name}/examples "
     + "--with-doc-dir=$out/share/doc/${name}";
 
-  doCheck = true;
-
   postInstall = ''
     ln -vs "$out/share/${name}/include" "$out/include"
+    ln -vs "$out/share/${name}/lib" "$out/lib"
   '';
 
-  meta = {
-    homepage = http://www.gnu.org/software/gprolog/;
+  doCheck = true;
 
+  meta = {
+    homepage = "http://www.gnu.org/software/gprolog/";
     description = "GNU Prolog, a free Prolog compiler with constraint solving over finite domains";
+    license = "GPLv2+";
 
     longDescription = ''
       GNU Prolog is a free Prolog compiler with constraint solving
@@ -52,8 +53,6 @@ stdenv.mkDerivation rec {
       declarativity of logic programming.
     '';
 
-    license = "GPLv2+";
-
     maintainers = [ stdenv.lib.maintainers.simons ];
     platforms = stdenv.lib.platforms.gnu;
   };
diff --git a/pkgs/development/compilers/haxe/default.nix b/pkgs/development/compilers/haxe/default.nix
index 8018b478e809..817e4573df24 100644
--- a/pkgs/development/compilers/haxe/default.nix
+++ b/pkgs/development/compilers/haxe/default.nix
@@ -1,141 +1,37 @@
-args: with args;
+{ stdenv, fetchsvn, ocaml, zlib, neko }:
 
-let
+stdenv.mkDerivation {
+  name = "haxe-2.10";
 
-    src_haxe_swflib = {
-      # REGION AUTO UPDATE:                                { name = "haxe_swflib"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/swflib"; groups = "haxe_group"; }
-      src = sourceFromHead "haxe_swflib-F_10-43-46.tar.gz"
-                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_swflib-F_10-43-46.tar.gz"; sha256 = "a63de75e48bf500ef0e8ef715d178d32f0ef113ded8c21bbca698a8cc70e7b58"; });
-      # END
-    }.src;
+  buildInputs = [ocaml zlib neko];
 
-    src_haxe_extc = { 
-      # REGION AUTO UPDATE:                                { name = "haxe_extc"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extc"; groups = "haxe_group"; }
-      src = sourceFromHead "haxe_extc-F_10-43-47.tar.gz"
-                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extc-F_10-43-47.tar.gz"; sha256 = "d0a9980527d62ac6cfe27925ddb0964d334ec382f813fdfb8bd6c59fbbede730"; });
-      # END
-    }.src;
-
-    src_haxe_extlib_dev = { 
-      # REGION AUTO UPDATE:                                { name = "haxe_extlib_dev"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extlib-dev"; groups = "haxe_group"; }
-      src = sourceFromHead "haxe_extlib_dev-F_10-43-48.tar.gz"
-                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extlib_dev-F_10-43-48.tar.gz"; sha256 = "6b9037230e2615dd5e22f4e7f4165c84f2816bc526957683afc945394fcdf67e"; });
-      # END
-    }.src;
-
-    src_haxe_xml_light = { 
-      # REGION AUTO UPDATE:                                { name = "haxe_xml_light"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/xml-light"; groups = "haxe_group"; }
-      src = sourceFromHead "haxe_xml_light-F_10-43-48.tar.gz"
-                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_xml_light-F_10-43-48.tar.gz"; sha256 = "be29d9e22ad0dbcb3d447cbbc14907aff5f89bb562b8db369659d299f3a5b44f"; });
-      # END
-    }.src;
-
-    src_haxe_neko_include = { 
-      # REGION AUTO UPDATE:                                { name = "haxe_neko_include"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko/libs/include/ocaml"; groups = "haxe_group"; }
-      src = sourceFromHead "haxe_neko_include-F_10-43-49.tar.gz"
-                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_neko_include-F_10-43-49.tar.gz"; sha256 = "e49efc1b348fa6e0f6fb40079a2d380b947d9ebda31843bc293f3cc77f8453db"; });
-      # END
-    }.src;
-
-    src_haxe = {
-      # REGION AUTO UPDATE:       { name="haxe-read-only"; type="svn"; url="http://haxe.googlecode.com/svn/trunk"; groups = "haxe_group"; }
-      src = sourceFromHead "haxe-read-only-3220.tar.gz"
-                   (fetchurl { url = "http://mawercer.de/~nix/repos/haxe-read-only-3220.tar.gz"; sha256 = "2b6702dca95d0829e539cea07b8224e3848e584a425ce8f8e0984a7a2bf7b1f8"; });
-      # END
-    }.src;
-
-
-    # the HaXe compiler
-    haxe = stdenv.mkDerivation {
-      name = "haxe-cvs";
-
-      buildInputs = [ocaml zlib makeWrapper];
-
-      src = src_haxe;
-
-      inherit zlib;
-
-      buildPhase = ''
-        set -x
-        mkdir -p ocaml/{swflib,extc,extlib-dev,xml-light} neko/libs
-
-        # strange setup. install.ml seems to co the same repo again into haxe directory!
-        mkdir haxe
-        tar xfz $src --strip-components=1 -C haxe
-
-        t(){ tar xfz $1 -C $2 --strip-components=2; }
-        t ${src_haxe_swflib} ocaml/swflib
-        t ${src_haxe_extc} ocaml/extc
-        t ${src_haxe_extlib_dev} ocaml/extlib-dev
-        t ${src_haxe_xml_light} ocaml/xml-light
-        t ${src_haxe_neko_include} neko/libs
-
-        sed -e '/download();/d' \
-            -e "s@/usr/lib/@''${zlib}/lib/@g" \
-            doc/install.ml > install.ml
-        
-        ocaml install.ml
-      '';
-
-      # probably rpath should be set properly
-      installPhase = ''
-        mkdir -p $out/lib/haxe
-        cp -r bin $out/bin
-        wrapProgram "$out/bin/haxe" \
-          --set "LD_LIBRARY_PATH" $zlib/lib \
-          --set HAXE_LIBRARY_PATH "''${HAXE_LIBRARY_PATH}''${HAXE_LIBRARY_PATH:-:}:$out/lib/haxe/std:."
-        cp -r std $out/lib/haxe/
-      '';
-
-      meta = { 
-        description = "programming language targeting JavaScript, Flash, NekVM, PHP, C++";
-        homepage = http://haxe.org;
-        license = ["GPLv2" "BSD2" /*?*/ ];  # -> docs/license.txt
-        maintainers = [args.lib.maintainers.marcweber];
-        platforms = args.lib.platforms.linux;
-      };
-    };
-
-    # build a tool found in std/tools/${name} source directory
-    # the .hxml files contain a recipe  to cerate a binary.
-    tool = { name, description }: stdenv.mkDerivation {
-
-        inherit name;
-
-        src = src_haxe;
-
-        buildPhase = ''
-          cd std/tools/${name};
-          haxe *.hxml
-          mkdir -p $out/bin
-          mv ${name} $out/bin/
-        '';
-
-        buildInputs = [haxe neko];
-
-        dontStrip=1;
-
-        installPhase=":";
-
-        meta = {
-          inherit description;
-          homepage = http://haxe.org;
-          # license = "?"; TODO
-          maintainers = [args.lib.maintainers.marcweber];
-          platforms = args.lib.platforms.linux;
-        };
-
-      };
-
-in
-
-{
-
-  inherit haxe;
-
-  haxelib = tool {
-    name = "haxelib";
-    description = "haxelib is a HaXe library management tool similar to easyinstall or ruby gems";
+  src = fetchsvn {
+    url = "http://haxe.googlecode.com/svn/tags/v2-10";
+    sha256 = "dbd3c655e4136eb68a165ef83b96bfc1f0f2eb9ec8729603b19bcd717a61a679";
   };
 
+  prePatch = ''
+    sed -i -e 's|com.class_path <- \[|&"'"$out/lib/haxe/std/"'";|' main.ml
+  '';
+
+  postBuild = ''
+    find std/tools -name '*.n' -delete
+    rm std/tools/haxedoc/haxedoc std/tools/haxelib/haxelib
+  '';
+
+  installPhase = ''
+    install -vd "$out/bin" "$out/lib/haxe/std"
+    install -vt "$out/bin" haxe haxelib haxedoc
+    cp -vr std "$out/lib/haxe"
+  '';
+
+  dontStrip = true;
+
+  meta = {
+    description = "Programming language targeting JavaScript, Flash, NekoVM, PHP, C++";
+    homepage = http://haxe.org;
+    license = ["GPLv2" "BSD2" /*?*/ ];  # -> docs/license.txt
+    maintainers = [stdenv.lib.maintainers.marcweber];
+    platforms = stdenv.lib.platforms.linux;
+  };
 }
diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix
index fe9ce209191e..dbd35d9e9482 100644
--- a/pkgs/development/compilers/idris/default.nix
+++ b/pkgs/development/compilers/idris/default.nix
@@ -1,15 +1,15 @@
-{ cabal, binary, Cabal, epic, filepath, happy, haskeline, mtl
-, parsec, transformers
+{ cabal, binary, Cabal, filepath, happy, haskeline, mtl, parsec
+, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "idris";
-  version = "0.9.2.1";
-  sha256 = "16jbmyza57066s3wmkvgwn11kqn0nzkjrrvsinh9xd69a79h2iiy";
+  version = "0.9.5.1";
+  sha256 = "0cy27b2kq696lw354y55mpx1gv66jdax1xjph989kxp0rd1v1sw9";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    binary Cabal epic filepath haskeline mtl parsec transformers
+    binary Cabal filepath haskeline mtl parsec transformers
   ];
   buildTools = [ happy ];
   meta = {
diff --git a/pkgs/development/compilers/jhc/default.nix b/pkgs/development/compilers/jhc/default.nix
new file mode 100644
index 000000000000..4b4d85df8907
--- /dev/null
+++ b/pkgs/development/compilers/jhc/default.nix
@@ -0,0 +1,29 @@
+{ 
+  stdenv, fetchurl, perl, ghc, binary, zlib, utf8String, readline, fgl,
+  regexCompat, HsSyck, random
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "jhc-${version}";
+
+  version = "0.8.0";
+
+  src = fetchurl {
+    url = "http://repetae.net/dist/${name}.tar.gz";
+    sha256 = "0rbv0gpp7glhd9xqy7snbiaiizwnsfg9vzhvyywcvbmb35yivy2a";
+  };
+
+  buildInputs = [
+    perl ghc binary zlib utf8String readline fgl regexCompat HsSyck random
+  ];
+
+  meta = {
+    description = ''
+      A Haskell compiler which aims to produce the most efficient programs
+    '';
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.aforemny ];
+  };
+
+}
diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix
index c1b607b725b8..4fd31d573cef 100644
--- a/pkgs/development/compilers/julia/default.nix
+++ b/pkgs/development/compilers/julia/default.nix
@@ -7,11 +7,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "julia";
-  date = "20120904";
+  date = "20121106";
   name = "${pname}-git-${date}";
 
   grisu_ver = "1.1.1";
-  dsfmt_ver = "2.1";
+  dsfmt_ver = "2.2";
   openblas_ver = "v0.2.2";
   lapack_ver = "3.4.1";
   arpack_ver = "3.1.2";
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   dsfmt_src = fetchurl {
     url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz";
     name = "dsfmt-${dsfmt_ver}.tar.gz";
-    sha256 = "e9d3e04bc984ec3b14033342f5ebdcd5202d8d8e40128dd737f566945612378f";
+    sha256 = "bc3947a9b2253a869fcbab8ff395416cb12958be9dba10793db2cd7e37b26899";
   };
   openblas_src = fetchurl {
     url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}";
@@ -54,8 +54,8 @@ stdenv.mkDerivation rec {
 
   src = fetchgit {
     url = "git://github.com/JuliaLang/julia.git";
-    rev = "b842bf4ae4d80f28803ec54f3da412a0248046a9";
-    sha256 = "4d67f4f4d35c76ea8981198e42feb1c30a50ac7e1e15b752fa41b26ebadcd828";
+    rev = "8f4d073881beb42c9f272b9327efa0a5715bd31c";
+    sha256 = "2df2ba800bd4fd9b0297a0b8cff53174a7c05ffbc889a7df5830a014fed8c433";
   };
 
   buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
@@ -92,14 +92,14 @@ stdenv.mkDerivation rec {
     sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile
     sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile
     
-    export makeFlags="$makeFlags PREFIX=$out" 
+    export makeFlags="$makeFlags PREFIX=$out SHELL=${stdenv.shell}"
 
     export dontPatchELF=1
   '';
 
   preBuild = ''
-    make -C test/unicode all
-    make -C extras glpk_h.jl GLPK_PREFIX="$GLPK_PREFIX"
+    make -C test/unicode all SHELL="${stdenv.shell}"
+    make -C extras glpk_h.jl GLPK_PREFIX="$GLPK_PREFIX" SHELL="${stdenv.shell}"
   '';
 
   postInstall = ''
diff --git a/pkgs/development/compilers/llvm/3.1.nix b/pkgs/development/compilers/llvm/3.1.nix
deleted file mode 100644
index 204c080b871a..000000000000
--- a/pkgs/development/compilers/llvm/3.1.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, perl, groff, cmake, python }:
-
-let version = "3.1"; in
-
-stdenv.mkDerivation {
-  name = "llvm-${version}";
-
-  src = fetchurl {
-    url    = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz";
-    sha256 = "1ea05135197b5400c1f88d00ff280d775ce778f8f9ea042e25a1e1e734a4b9ab";
-  };
-
-  buildInputs = [ perl groff cmake python ];
-
-  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = http://llvm.org/;
-    description = "Collection of modular and reusable compiler and toolchain technologies";
-    license = "BSD";
-    maintainers = with stdenv.lib.maintainers; [viric shlevy raskin];
-    platforms = with stdenv.lib.platforms; all;
-  };
-}
-
diff --git a/pkgs/development/compilers/llvm/clang-include-paths.patch b/pkgs/development/compilers/llvm/clang-include-paths.patch
index 828c554175e5..5e7370718ab4 100644
--- a/pkgs/development/compilers/llvm/clang-include-paths.patch
+++ b/pkgs/development/compilers/llvm/clang-include-paths.patch
@@ -1,49 +1,21 @@
-diff -Naur clang-3.0.src-orig/lib/Driver/ToolChains.cpp clang-3.0.src/lib/Driver/ToolChains.cpp
---- clang-3.0.src-orig/lib/Driver/ToolChains.cpp	2011-11-17 02:40:32.000000000 -0500
-+++ clang-3.0.src/lib/Driver/ToolChains.cpp	2011-12-19 06:29:27.562428830 -0500
-@@ -1926,14 +1926,17 @@
+diff -Naur clang-3.1.src-orig/lib/Driver/ToolChains.cpp clang-3.1.src/lib/Driver/ToolChains.cpp
+--- clang-3.1.src-orig/lib/Driver/ToolChains.cpp	2012-05-11 20:16:02.000000000 -0400
++++ clang-3.1.src/lib/Driver/ToolChains.cpp	2012-10-08 01:13:01.044083509 -0400
+@@ -2146,9 +2146,6 @@
    if (DriverArgs.hasArg(options::OPT_nostdinc))
      return;
  
-+#if 0
-   if (!DriverArgs.hasArg(options::OPT_nostdlibinc))
-     addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/usr/local/include");
- 
-+#endif
+-  if (!DriverArgs.hasArg(options::OPT_nostdlibinc))
+-    addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/usr/local/include");
+-
    if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) {
      llvm::sys::Path P(D.ResourceDir);
      P.appendComponent("include");
-     addSystemInclude(DriverArgs, CC1Args, P.str());
-   }
-+#if 0
- 
-   if (DriverArgs.hasArg(options::OPT_nostdlibinc))
-     return;
-@@ -1998,6 +2001,8 @@
+@@ -2264,6 +2261,7 @@
      return;
  
-   addExternCSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/usr/include");
-+#endif
-+  addExternCSystemInclude(DriverArgs, CC1Args, D.SysRoot + C_INCLUDE_PATH);
- }
- 
- static bool addLibStdCXXIncludePaths(Twine Base, Twine TargetArchDir,
-@@ -2030,6 +2035,7 @@
-   bool IsTarget64Bit = (TargetArch == llvm::Triple::x86_64 ||
-                         TargetArch == llvm::Triple::ppc64);
- 
-+#if 0
-   StringRef CxxIncludeRoot(CXX_INCLUDE_ROOT);
-   if (!CxxIncludeRoot.empty()) {
-     StringRef CxxIncludeArch(CXX_INCLUDE_ARCH);
-@@ -2072,6 +2078,10 @@
-                              GCCInstallation.getTriple() + Suffix,
-                              DriverArgs, CC1Args);
-   }
-+#endif
-+    addLibStdCXXIncludePaths(CPP_INCLUDE_PATH,
-+                             CPP_HOST,
-+                             DriverArgs, CC1Args);
- }
- 
- /// DragonFly - DragonFly tool chain which can call as(1) and ld(1) directly.
+   // Check if libc++ has been enabled and provide its include paths if so.
++  // !!! Will need to modify this if/when nixpkgs uses libc++
+   if (GetCXXStdlibType(DriverArgs) == ToolChain::CST_Libcxx) {
+     // libc++ is always installed at a fixed path on Linux currently.
+     addSystemInclude(DriverArgs, CC1Args,
diff --git a/pkgs/development/compilers/llvm/clang-ld-flags.patch b/pkgs/development/compilers/llvm/clang-ld-flags.patch
index 62b8bc763f9f..ffa67b464eca 100644
--- a/pkgs/development/compilers/llvm/clang-ld-flags.patch
+++ b/pkgs/development/compilers/llvm/clang-ld-flags.patch
@@ -1,38 +1,57 @@
-diff -Naur clang-3.0.src-orig/lib/Driver/ToolChains.cpp clang-3.0.src/lib/Driver/ToolChains.cpp
---- clang-3.0.src-orig/lib/Driver/ToolChains.cpp	2011-11-17 02:40:32.000000000 -0500
-+++ clang-3.0.src/lib/Driver/ToolChains.cpp	2011-12-19 05:32:38.695513475 -0500
-@@ -1800,6 +1800,7 @@
- 
-   Linker = GetProgramPath("ld");
- 
-+#if 0
-   LinuxDistro Distro = DetectLinuxDistro(Arch);
+diff -Naur clang-3.1.src-orig/lib/Driver/ToolChains.cpp clang-3.1.src/lib/Driver/ToolChains.cpp
+--- clang-3.1.src-orig/lib/Driver/ToolChains.cpp	2012-05-11 20:16:02.000000000 -0400
++++ clang-3.1.src/lib/Driver/ToolChains.cpp	2012-10-08 01:22:53.458850737 -0400
+@@ -2077,16 +2077,6 @@
+       addPathIfExists(LibPath + "/../" + Multilib, Paths);
+     }
+   }
+-  addPathIfExists(SysRoot + "/lib/" + MultiarchTriple, Paths);
+-  addPathIfExists(SysRoot + "/lib/../" + Multilib, Paths);
+-  addPathIfExists(SysRoot + "/usr/lib/" + MultiarchTriple, Paths);
+-  addPathIfExists(SysRoot + "/usr/lib/../" + Multilib, Paths);
+-
+-  // Try walking via the GCC triple path in case of multiarch GCC
+-  // installations with strange symlinks.
+-  if (GCCInstallation.isValid())
+-    addPathIfExists(SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() +
+-                    "/../../" + Multilib, Paths);
  
-   if (IsOpenSuse(Distro) || IsUbuntu(Distro)) {
-@@ -1882,6 +1883,7 @@
-   addPathIfExists(SysRoot + "/lib", Paths);
-   addPathIfExists(SysRoot + "/usr/lib/" + MultiarchTriple, Paths);
-   addPathIfExists(SysRoot + "/usr/lib", Paths);
-+#endif
+   // Add the non-multilib suffixed paths (if potentially different).
+   if (GCCInstallation.isValid()) {
+@@ -2100,8 +2090,6 @@
+       addPathIfExists(LibPath, Paths);
+     }
+   }
+-  addPathIfExists(SysRoot + "/lib", Paths);
+-  addPathIfExists(SysRoot + "/usr/lib", Paths);
  }
  
  bool Linux::HasNativeLLVMSupport() const {
-diff -Naur clang-3.0.src-orig/lib/Driver/Tools.cpp clang-3.0.src/lib/Driver/Tools.cpp
---- clang-3.0.src-orig/lib/Driver/Tools.cpp	2011-11-07 05:27:39.000000000 -0500
-+++ clang-3.0.src/lib/Driver/Tools.cpp	2011-12-19 05:34:44.075325534 -0500
-@@ -4306,6 +4306,7 @@
+diff -Naur clang-3.1.src-orig/lib/Driver/Tools.cpp clang-3.1.src/lib/Driver/Tools.cpp
+--- clang-3.1.src-orig/lib/Driver/Tools.cpp	2012-04-18 17:32:25.000000000 -0400
++++ clang-3.1.src/lib/Driver/Tools.cpp	2012-10-08 01:25:23.913501995 -0400
+@@ -5210,24 +5210,6 @@
        ToolChain.getArch() == llvm::Triple::thumb ||
        (!Args.hasArg(options::OPT_static) &&
         !Args.hasArg(options::OPT_shared))) {
-+#if 0
-     CmdArgs.push_back("-dynamic-linker");
-     if (ToolChain.getArch() == llvm::Triple::x86)
-       CmdArgs.push_back("/lib/ld-linux.so.2");
-@@ -4318,6 +4319,7 @@
-       CmdArgs.push_back("/lib64/ld64.so.1");
-     else
-       CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2");
-+#endif
+-    CmdArgs.push_back("-dynamic-linker");
+-    if (ToolChain.getArch() == llvm::Triple::x86)
+-      CmdArgs.push_back("/lib/ld-linux.so.2");
+-    else if (ToolChain.getArch() == llvm::Triple::arm ||
+-             ToolChain.getArch() == llvm::Triple::thumb)
+-      CmdArgs.push_back("/lib/ld-linux.so.3");
+-    else if (ToolChain.getArch() == llvm::Triple::mips ||
+-             ToolChain.getArch() == llvm::Triple::mipsel)
+-      CmdArgs.push_back("/lib/ld.so.1");
+-    else if (ToolChain.getArch() == llvm::Triple::mips64 ||
+-             ToolChain.getArch() == llvm::Triple::mips64el)
+-      CmdArgs.push_back("/lib64/ld.so.1");
+-    else if (ToolChain.getArch() == llvm::Triple::ppc)
+-      CmdArgs.push_back("/lib/ld.so.1");
+-    else if (ToolChain.getArch() == llvm::Triple::ppc64)
+-      CmdArgs.push_back("/lib64/ld64.so.1");
+-    else
+-      CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2");
    }
  
    CmdArgs.push_back("-o");
diff --git a/pkgs/development/compilers/llvm/clang.nix b/pkgs/development/compilers/llvm/clang.nix
index 663e1bfab28b..48e4c4946f30 100644
--- a/pkgs/development/compilers/llvm/clang.nix
+++ b/pkgs/development/compilers/llvm/clang.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, perl, groff, llvm, cmake }:
 
-let version = "3.0"; in
+let version = "3.1"; in
 
 stdenv.mkDerivation {
   name = "clang-${version}";
@@ -10,20 +10,19 @@ stdenv.mkDerivation {
   patches = stdenv.lib.optionals (stdenv.gcc.libc != null) 
     [ ./clang-include-paths.patch ./clang-ld-flags.patch ];
 
-  postPatch = stdenv.lib.optionalString (stdenv.gcc.libc != null) ''
-    sed -i -e 's,C_INCLUDE_PATH,"${stdenv.gcc.libc}/include/",' \
-      -e 's,CPP_HOST,"'$(${stdenv.gcc}/bin/cc -dumpmachine)'",' \
-      -e 's,CPP_INCLUDE_PATH,"${stdenv.gcc.gcc}/include/c++/${stdenv.gcc.gcc.version}",' \
-      lib/Driver/ToolChains.cpp
-  '';
-
-  cmakeFlags = [ "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}" "-DCMAKE_BUILD_TYPE=Release" "-DLLVM_TARGETS_TO_BUILD=all"];
+  cmakeFlags = [
+    "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}"
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DLLVM_TARGETS_TO_BUILD=all"
+  ] ++ stdenv.lib.optionals (stdenv.gcc.libc != null) [
+    "-DC_INCLUDE_DIRS=${stdenv.gcc.libc}/include/"
+  ];
 
   enableParallelBuilding = true;
 
   src = fetchurl {
-      url = "http://llvm.org/releases/${version}/clang-${version}.tar.gz";
-      sha256 = "0v8j9rgmb7w74ihc44zfxa22q17c946n5b6prwl38z3d6pd74kmn";
+      url = "http://llvm.org/releases/${version}/clang-${version}.src.tar.gz";
+      sha256 = "11m7sm9f8qcrayckfg3z91zb3fimilpm0f7azn7q7qnkvhay4qzz";
   };
 
   passthru = { gcc = stdenv.gcc.gcc; };
diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix
index 0fb1cf82cc27..204c080b871a 100644
--- a/pkgs/development/compilers/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, perl, groff, cmake }:
+{ stdenv, fetchurl, perl, groff, cmake, python }:
 
-let version = "3.0"; in
+let version = "3.1"; in
 
 stdenv.mkDerivation {
   name = "llvm-${version}";
 
   src = fetchurl {
-    url    = "http://llvm.org/releases/${version}/llvm-${version}.tar.gz";
-    sha256 = "0xq4gi7lflv8ilfckslhfvnja5693xjii1yvzz39kklr6hfv37ji";
+    url    = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz";
+    sha256 = "1ea05135197b5400c1f88d00ff280d775ce778f8f9ea042e25a1e1e734a4b9ab";
   };
 
-  buildInputs = [ perl groff cmake ];
+  buildInputs = [ perl groff cmake python ];
 
   cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ];
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
     homepage = http://llvm.org/;
     description = "Collection of modular and reusable compiler and toolchain technologies";
     license = "BSD";
-    maintainers = with stdenv.lib.maintainers; [viric shlevy];
+    maintainers = with stdenv.lib.maintainers; [viric shlevy raskin];
     platforms = with stdenv.lib.platforms; all;
   };
 }
diff --git a/pkgs/development/compilers/neko/default.nix b/pkgs/development/compilers/neko/default.nix
index 28a98fe1e258..ddeeb51c25e4 100644
--- a/pkgs/development/compilers/neko/default.nix
+++ b/pkgs/development/compilers/neko/default.nix
@@ -1,69 +1,44 @@
-{ composableDerivation, lib, fetchurl, mysql, apacheHttpd, zlib, sqlite
-, pcre, apr, gtk, boehmgc, pkgconfig, makeWrapper, sourceFromHead }:
+{ stdenv, fetchurl, boehmgc, zlib, sqlite, pcre }:
 
-let
+stdenv.mkDerivation rec {
+  name = "neko-${version}";
+  version = "1.8.2";
 
-  inherit (composableDerivation) edf wwf;
-
-  libs = [ mysql apacheHttpd zlib sqlite pcre apr gtk ];
-
-  includes = lib.concatMapStrings (x: ''"${x}/include",'' ) libs + ''"{gkt}/include/gtk-2.0",'';
-  
-in
-
-composableDerivation.composableDerivation {} ( fixed : {
-
-  name = "neko-cvs";
-
-  # REGION AUTO UPDATE:                        { name="neko"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko"; groups = "haxe_group"; }
-  src = sourceFromHead "neko-F_16-06-48.tar.gz"
-               (fetchurl { url = "http://mawercer.de/~nix/repos/neko-F_16-06-48.tar.gz"; sha256 = "e952582a26099b7a5568d0798839a6d349331510ffe6d7936b4537d60b6ccf26"; });
-  # END
+  src = fetchurl {
+    url = "http://nekovm.org/_media/neko-${version}.tar.gz";
+    sha256 = "099727w6dk689z3pcgbhsqjl74zzrh82a5vb2abxynamcqxcgz1w";
+  };
 
-  # optionally remove apache mysql like gentoo does?
-  # they just remove libs/{apache,mod_neko}
-  buildInputs = [boehmgc pkgconfig makeWrapper] ++ libs;
-  # apr should be in apacheHttpd propagatedBuildInputs
+  prePatch = with stdenv.lib; let
+    libs = concatStringsSep "," (map (lib: "\"${lib}/include\"") buildInputs);
+  in ''
+    sed -i -e '/^search_includes/,/^}/c \
+      search_includes = function(_) { return $array(${libs}) }
+    ' src/tools/install.neko
+    sed -i -e '/allocated = strdup/s|"[^"]*"|"'"$out/lib/neko:$out/bin"'"|' \
+      vm/load.c
+    # temporarily, fixed in 1.8.3
+    sed -i -e 's/^#if defined(_64BITS)/& || defined(__x86_64__)/' vm/neko.h
+
+    for disabled_mod in mod_neko{,2} mod_tora{,2} mysql ui; do
+      sed -i -e '/^libs/,/^}/{/^\s*'"$disabled_mod"'\s*=>/,/^\s*}/d}' \
+        src/tools/install.neko
+    done
+  '';
 
-  preConfigure = ''
-    sed -i \
-      -e 's@"/usr/include",@${includes}@' \
-      src/tools/install.neko
-    sed -i "s@/usr/local@$out@" Makefile vm/load.c
-    # make sure that nekotools boot finds the neko executable and not our wrapper:
-    mkdir -p $out/{bin,lib}
+  makeFlags = "INSTALL_PREFIX=$(out)";
+  buildInputs = [ boehmgc zlib sqlite pcre ];
+  dontStrip = true;
 
-    sed -i "s@\"neko\"@\".neko-wrapped\"@" src/tools/nekoboot.neko
-    ln -s ./neko bin/.neko-wrapped
+  preInstall = ''
+    install -vd "$out/lib" "$out/bin"
   '';
 
-  inherit zlib;
-
-  meta = { 
-    description = "Neko is an high-level dynamicly typed programming language";
+  meta = {
+    description = "A high-level dynamically typed programming language";
     homepage = http://nekovm.org;
-    license = ["GPLv2" ];  # -> docs/license.txt
-    maintainers = [ lib.maintainers.marcweber ];
-    platforms = lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl21;
+    maintainers = [ stdenv.lib.maintainers.marcweber ];
+    platforms = stdenv.lib.platforms.linux;
   };
-
-  # if stripping was done neko and nekoc would be the same. ?!
-  dontStrip = 1;
-
-  # neko-wrapped: nekotools boot has to find it. So don't prefix wrapped executable by "."
-  postInstall = ''
-    for prog in nekotools nekoc; do
-      wrapProgram "$out/bin/$prog" \
-        --prefix "LD_LIBRARY_PATH" $out/lib/neko
-    done
-  
-    wrapProgram "$out/bin/neko" \
-      --prefix "LD_LIBRARY_PATH" $out/lib/neko
-
-    # create symlink so that nekotools boot finds not wrapped neko-wrapped executable
-    ln -s  ln -s ../../bin/.neko-wrapped $out/lib/neko
-  '';
-
-  # TODO make them optional and make them work 
-  patches = [ ./disable-modules.patch ];
-})
+}
diff --git a/pkgs/development/compilers/neko/disable-modules.patch b/pkgs/development/compilers/neko/disable-modules.patch
deleted file mode 100644
index d4d5a8eb30ee..000000000000
--- a/pkgs/development/compilers/neko/disable-modules.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-diff --git a/src/tools/install.neko b/src/tools/install.neko
-index 4cffa5e..5702add 100644
---- a/src/tools/install.neko
-+++ b/src/tools/install.neko
-@@ -39,26 +39,6 @@ buffer_string = $loader.loadprim("std@buffer_string",1);
- // LIBS DATAS
- 
- libs = {
--	mod_neko => {
--		src => $array("../../vm/stats","mod_neko","cgi"),
--		inc => "httpd.h",
--		incname => "Apache 1.3.x"
--	},
--	mod_neko2 => {
--		src => $array("../../vm/stats","mod_neko","cgi"),
--		inc => $array("httpd.h","apr.h"),
--		incname => "Apache 2.2.x",
--		cflags => "-D_LARGEFILE64_SOURCE",
--		realdir => "mod_neko",
--		apache2 => true,
--	},
--	mysql => {
--		src => $array("mysql"),
--		inc => "mysql.h",
--		incname => "MySQL 4.+"
--		lib => "libmysqlclient_r.a",
--		lparams => "-lz -lssl"
--	},
- 	mysql5 => {
- 		src => $array("../common/sha1","../common/socket","my_proto/my_proto","my_proto/my_api","mysql"),
- 		inc => $array(),
-@@ -83,27 +63,6 @@ libs = {
- 		incname => "Sqlite 3",
- 		lparams => "-lsqlite3",
- 	},
--	ui => {
--		src => $array("ui"),
--		inc => switch system { "Mac" => "Carbon.h" default => "gtk/gtk.h" },
--		incname => switch system { "Mac" => "Carbon" default => "GTK+2.0" },
--		cflags => switch system { "Mac" => "" default => "`pkg-config --cflags gtk+-2.0`" },
--		lparams => switch system { "Mac" => "-framework Carbon" default => "`pkg-config --libs gtk+-2.0` -lgthread-2.0" },
--	},
--	mod_tora => {
--		src => $array("../common/socket","protocol","mod_tora"),
--		inc => "httpd.h",
--		incname => "Apache 1.3.x",
--		cflags => "-I../common",
--	},
--	mod_tora2 => {
--		src => $array("../common/socket","protocol","mod_tora"),
--		inc => $array("httpd.h","apr.h"),
--		incname => "Apache 2.2.x",
--		cflags => "-D_LARGEFILE64_SOURCE -I../common",
--		realdir => "mod_tora",
--		apache2 => true,
--	},
- }
- 
- // PLATFORM
diff --git a/pkgs/development/compilers/ocaml/3.12.1.nix b/pkgs/development/compilers/ocaml/3.12.1.nix
index a70ba649d1fe..c719abc4abc7 100644
--- a/pkgs/development/compilers/ocaml/3.12.1.nix
+++ b/pkgs/development/compilers/ocaml/3.12.1.nix
@@ -2,7 +2,7 @@
 
 let
    useX11 = !stdenv.isArm && !stdenv.isMips;
-   useNativeCompilers = !stdenv.isArm && !stdenv.isMips;
+   useNativeCompilers = !stdenv.isMips;
    inherit (stdenv.lib) optionals optionalString;
 in
 
diff --git a/pkgs/development/compilers/ocaml/4.00.0.nix b/pkgs/development/compilers/ocaml/4.00.1.nix
index da065356e851..d7c14e031b35 100644
--- a/pkgs/development/compilers/ocaml/4.00.0.nix
+++ b/pkgs/development/compilers/ocaml/4.00.1.nix
@@ -2,17 +2,17 @@
 
 let
    useX11 = !stdenv.isArm && !stdenv.isMips;
-   useNativeCompilers = !stdenv.isArm && !stdenv.isMips;
+   useNativeCompilers = !stdenv.isMips;
    inherit (stdenv.lib) optionals optionalString;
 in
 
 stdenv.mkDerivation rec {
   
-  name = "ocaml-4.00.0";
+  name = "ocaml-4.00.1";
   
   src = fetchurl {
     url = "http://caml.inria.fr/pub/distrib/ocaml-4.00/${name}.tar.bz2";
-    sha256 = "ec886d7bc587ce472fcbdf294feb4b1fa2d8e7ef78ab6a4e66551699435d5cd7";
+    sha256 = "33c3f4acff51685f5bfd7c260f066645e767d4e865877bf1613c176a77799951";
   };
 
   prefixKey = "-prefix ";
diff --git a/pkgs/development/compilers/openjdk-darwin/default.nix b/pkgs/development/compilers/openjdk-darwin/default.nix
index cbd41033bfca..1e74acfae724 100644
--- a/pkgs/development/compilers/openjdk-darwin/default.nix
+++ b/pkgs/development/compilers/openjdk-darwin/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl, ...}:
 
 stdenv.mkDerivation {
   name = "openjdk6-b16-24_apr_2009-r1";
diff --git a/pkgs/development/compilers/openjdk/default.nix b/pkgs/development/compilers/openjdk/default.nix
index f243baab5919..246696f81e2b 100644
--- a/pkgs/development/compilers/openjdk/default.nix
+++ b/pkgs/development/compilers/openjdk/default.nix
@@ -17,8 +17,13 @@
 , libXrender
 , libXtst
 , libXi
+, libXinerama
+, libXcursor
+, fontconfig
 , cpio
+, cacert
 , jreOnly ? false
+, perl
 }:
 
 let
@@ -82,8 +87,14 @@ stdenv.mkDerivation rec {
     libXrender
     libXtst
     libXi
+    libXinerama
+    libXcursor
+    fontconfig
+    perl
   ];
 
+  NIX_LDFLAGS = "-lfontconfig -lXcursor -lXinerama";
+
   postUnpack = ''
     mkdir -p drops
     cp ${jaxp_src} drops/${jaxp_src_name}
@@ -106,6 +117,7 @@ stdenv.mkDerivation rec {
     ./cppflags-include-fix.patch
     ./printf-fix.patch
     ./linux-version-check-fix.patch
+    ./no-crypto-restrictions.patch
   ];
 
   makeFlags = [
@@ -122,7 +134,6 @@ stdenv.mkDerivation rec {
     "UNIXCOMMAND_PATH="
     "BOOTDIR=${jdk}"
     "DROPS_DIR=$(DROPS_PATH)"
-    "SKIP_BOOT_CYCLE=false"
   ];
 
   configurePhase = ''
@@ -132,6 +143,10 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out
     cp -av build/*/j2${if jreOnly then "re" else "sdk"}-image/* $out
+    pushd $out/${if ! jreOnly then "jre/" else ""}lib/security
+    rm cacerts
+    perl ${./generate-cacerts.pl} $out/bin/keytool ${cacert}/etc/ca-bundle.crt
+    popd
   '';
 #  '' + (if jreOnly then "" else ''
 #    if [ -z $jre ]; then
diff --git a/pkgs/development/compilers/openjdk/generate-cacerts.pl b/pkgs/development/compilers/openjdk/generate-cacerts.pl
new file mode 100644
index 000000000000..3bdd42f7274f
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/generate-cacerts.pl
@@ -0,0 +1,366 @@
+#!/usr/bin/perl
+
+# Copyright (C) 2007, 2008 Red Hat, Inc.
+#
+# 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.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# generate-cacerts.pl generates a JKS keystore named 'cacerts' from
+# OpenSSL's certificate bundle using OpenJDK's keytool.
+
+# First extract each of OpenSSL's bundled certificates into its own
+# aliased filename.
+
+# Downloaded from http://cvs.fedoraproject.org/viewvc/rpms/ca-certificates/F-12/generate-cacerts.pl?revision=1.2
+# Check and prevention of duplicate aliases added by Vlastimil Babka <caster@gentoo.org>
+
+$file = $ARGV[1];
+open(CERTS, $file);
+@certs = <CERTS>;
+close(CERTS);
+
+$pem_file_count = 0;
+$in_cert_block = 0;
+$write_current_cert = 1;
+foreach $cert (@certs)
+{
+    if ($cert =~ /Issuer: /)
+    {
+        $_ = $cert;
+        if ($cert =~ /personal-freemail/)
+        {
+            $cert_alias = "thawtepersonalfreemailca";
+        }
+        elsif ($cert =~ /personal-basic/)
+        {
+            $cert_alias = "thawtepersonalbasicca";
+        }
+        elsif ($cert =~ /personal-premium/)
+        {
+            $cert_alias = "thawtepersonalpremiumca";
+        }
+        elsif ($cert =~ /server-certs/)
+        {
+            $cert_alias = "thawteserverca";
+        }
+        elsif ($cert =~ /premium-server/)
+        {
+            $cert_alias = "thawtepremiumserverca";
+        }
+        elsif ($cert =~ /Class 1 Public Primary Certification Authority$/)
+        {
+            $cert_alias = "verisignclass1ca";
+        }
+        elsif ($cert =~ /Class 1 Public Primary Certification Authority - G2/)
+        {
+            $cert_alias = "verisignclass1g2ca";
+        }
+        elsif ($cert =~
+               /VeriSign Class 1 Public Primary Certification Authority - G3/)
+        {
+            $cert_alias = "verisignclass1g3ca";
+        }
+        elsif ($cert =~ /Class 2 Public Primary Certification Authority$/)
+        {
+            $cert_alias = "verisignclass2ca";
+        }
+        elsif ($cert =~ /Class 2 Public Primary Certification Authority - G2/)
+        {
+            $cert_alias = "verisignclass2g2ca";
+        }
+        elsif ($cert =~
+               /VeriSign Class 2 Public Primary Certification Authority - G3/)
+        {
+            $cert_alias = "verisignclass2g3ca";
+        }
+        elsif ($cert =~ /Class 3 Public Primary Certification Authority$/)
+        {
+            $cert_alias = "verisignclass3ca";
+        }
+        # Version 1 of Class 3 Public Primary Certification Authority
+        # - G2 is added.  Version 3 is excluded.  See below.
+        elsif ($cert =~
+               /VeriSign Class 3 Public Primary Certification Authority - G3/)
+        {
+            $cert_alias = "verisignclass3g3ca";
+        }
+        elsif ($cert =~
+               /RSA Data Security.*Secure Server Certification Authority/)
+        {
+            $cert_alias = "verisignserverca";
+        }
+        elsif ($cert =~ /GTE CyberTrust Global Root/)
+        {
+            $cert_alias = "gtecybertrustglobalca";
+        }
+        elsif ($cert =~ /Baltimore CyberTrust Root/)
+        {
+            $cert_alias = "baltimorecybertrustca";
+        }
+        elsif ($cert =~ /www.entrust.net\/Client_CA_Info\/CPS/)
+        {
+            $cert_alias = "entrustclientca";
+        }
+        elsif ($cert =~ /www.entrust.net\/GCCA_CPS/)
+        {
+            $cert_alias = "entrustglobalclientca";
+        }
+        elsif ($cert =~ /www.entrust.net\/CPS_2048/)
+        {
+            $cert_alias = "entrust2048ca";
+        }
+        elsif ($cert =~ /www.entrust.net\/CPS /)
+        {
+            $cert_alias = "entrustsslca";
+        }
+        elsif ($cert =~ /www.entrust.net\/SSL_CPS/)
+        {
+            $cert_alias = "entrustgsslca";
+        }
+        elsif ($cert =~ /The Go Daddy Group/)
+        {
+            $cert_alias = "godaddyclass2ca";
+        }
+        elsif ($cert =~ /Starfield Class 2 Certification Authority/)
+        {
+            $cert_alias = "starfieldclass2ca";
+        }
+        elsif ($cert =~ /ValiCert Class 2 Policy Validation Authority/)
+        {
+            $cert_alias = "valicertclass2ca";
+        }
+        elsif ($cert =~ /GeoTrust Global CA$/)
+        {
+            $cert_alias = "geotrustglobalca";
+        }
+        elsif ($cert =~ /Equifax Secure Certificate Authority/)
+        {
+            $cert_alias = "equifaxsecureca";
+        }
+        elsif ($cert =~ /Equifax Secure eBusiness CA-1/)
+        {
+            $cert_alias = "equifaxsecureebusinessca1";
+        }
+        elsif ($cert =~ /Equifax Secure eBusiness CA-2/)
+        {
+            $cert_alias = "equifaxsecureebusinessca2";
+        }
+        elsif ($cert =~ /Equifax Secure Global eBusiness CA-1/)
+        {
+            $cert_alias = "equifaxsecureglobalebusinessca1";
+        }
+        elsif ($cert =~ /Sonera Class1 CA/)
+        {
+            $cert_alias = "soneraclass1ca";
+        }
+        elsif ($cert =~ /Sonera Class2 CA/)
+        {
+            $cert_alias = "soneraclass2ca";
+        }
+        elsif ($cert =~ /AAA Certificate Services/)
+        {
+            $cert_alias = "comodoaaaca";
+        }
+        elsif ($cert =~ /AddTrust Class 1 CA Root/)
+        {
+            $cert_alias = "addtrustclass1ca";
+        }
+        elsif ($cert =~ /AddTrust External CA Root/)
+        {
+            $cert_alias = "addtrustexternalca";
+        }
+        elsif ($cert =~ /AddTrust Qualified CA Root/)
+        {
+            $cert_alias = "addtrustqualifiedca";
+        }
+        elsif ($cert =~ /UTN-USERFirst-Hardware/)
+        {
+            $cert_alias = "utnuserfirsthardwareca";
+        }
+        elsif ($cert =~ /UTN-USERFirst-Client Authentication and Email/)
+        {
+            $cert_alias = "utnuserfirstclientauthemailca";
+        }
+        elsif ($cert =~ /UTN - DATACorp SGC/)
+        {
+            $cert_alias = "utndatacorpsgcca";
+        }
+        elsif ($cert =~ /UTN-USERFirst-Object/)
+        {
+            $cert_alias = "utnuserfirstobjectca";
+        }
+        elsif ($cert =~ /America Online Root Certification Authority 1/)
+        {
+            $cert_alias = "aolrootca1";
+        }
+        elsif ($cert =~ /DigiCert Assured ID Root CA/)
+        {
+            $cert_alias = "digicertassuredidrootca";
+        }
+        elsif ($cert =~ /DigiCert Global Root CA/)
+        {
+            $cert_alias = "digicertglobalrootca";
+        }
+        elsif ($cert =~ /DigiCert High Assurance EV Root CA/)
+        {
+            $cert_alias = "digicerthighassuranceevrootca";
+        }
+        elsif ($cert =~ /GlobalSign Root CA$/)
+        {
+            $cert_alias = "globalsignca";
+        }
+        elsif ($cert =~ /GlobalSign Root CA - R2/)
+        {
+            $cert_alias = "globalsignr2ca";
+        }
+        elsif ($cert =~ /Elektronik.*Kas.*2005/)
+        {
+            $cert_alias = "extra-elektronikkas2005";
+        }
+        elsif ($cert =~ /Elektronik/)
+        {
+            $cert_alias = "extra-elektronik2005";
+        }
+        # Mozilla does not provide these certificates:
+        #   baltimorecodesigningca
+        #   gtecybertrust5ca
+        #   trustcenterclass2caii
+        #   trustcenterclass4caii
+        #   trustcenteruniversalcai
+        else
+        {
+            # Generate an alias using the OU and CN attributes of the
+            # Issuer field if both are present, otherwise use only the
+            # CN attribute.  The Issuer field must have either the OU
+            # or the CN attribute.
+            $_ = $cert;
+            if ($cert =~ /OU=/)
+            {
+                s/Issuer:.*?OU=//;
+                # Remove other occurrences of OU=.
+                s/OU=.*CN=//;
+                # Remove CN= if there were not other occurrences of OU=.
+                s/CN=//;
+                s/\/emailAddress.*//;
+                s/Certificate Authority/ca/g;
+                s/Certification Authority/ca/g;
+            }
+            elsif ($cert =~ /CN=/)
+            {
+                s/Issuer:.*CN=//;
+                s/\/emailAddress.*//;
+                s/Certificate Authority/ca/g;
+                s/Certification Authority/ca/g;
+            }
+            s/\W//g;
+            tr/A-Z/a-z/;
+            $cert_alias = "extra-$_";
+
+        }
+        while (-e "$cert_alias.pem")
+        {
+            $cert_alias = "$cert_alias" . "_";
+        }
+    }
+    # When it attempts to parse:
+    #
+    # Class 3 Public Primary Certification Authority - G2, Version 3
+    #
+    # keytool says:
+    #
+    # #2: ObjectId: 1.3.6.1.5.5.7.1.1 Criticality=false
+    # Unparseable AuthorityInfoAccess extension due to
+    # java.io.IOException: Invalid encoding of URI
+    #
+    # If we do not exclude this file
+    # openjdk/jdk/test/lib/security/cacerts/VerifyCACerts.java fails
+    # on this cert, printing:
+    #
+    # Couldn't verify: java.security.SignatureException: Signature
+    # does not match.
+    #
+    elsif ($cert =~
+           /A6:0F:34:C8:62:6C:81:F6:8B:F7:7D:A9:F6:67:58:8A:90:3F:7D:36/)
+    {
+        $write_current_cert = 0;
+        $pem_file_count--;
+    }
+    elsif ($cert eq "-----BEGIN CERTIFICATE-----\n")
+    {
+        $_ = $cert;
+        s/\W//g;
+        tr/A-Z/a-z/;
+        $cert_alias = "extra-$_";
+        while (-e "$cert_alias.pem")
+        {
+            $cert_alias = "$cert_alias" . "_";
+        }
+        if ($in_cert_block != 0)
+        {
+            die "$file is malformed.";
+        }
+        $in_cert_block = 1;
+        if ($write_current_cert == 1)
+        {
+            $pem_file_count++;
+            if (-e "$cert_alias.pem")
+            {
+                print "$cert_alias";
+                die "already exists"
+            }
+            open(PEM, ">$cert_alias.pem");
+            print PEM $cert;
+        }
+    }
+    elsif ($cert eq "-----END CERTIFICATE-----\n")
+    {
+        $in_cert_block = 0;
+        if ($write_current_cert == 1)
+        {
+            print PEM $cert;
+            close(PEM);
+        }
+        $write_current_cert = 1
+    }
+    else
+    {
+        if ($in_cert_block == 1 && $write_current_cert == 1)
+        {
+            print PEM $cert;
+        }
+    }
+}
+
+# Check that the correct number of .pem files were produced.
+@pem_files = <*.pem>;
+if (@pem_files != $pem_file_count)
+{
+    print "$pem_file_count";
+    die "Number of .pem files produced does not match".
+        " number of certs read from $file.";
+}
+
+# Now store each cert in the 'cacerts' file using keytool.
+$certs_written_count = 0;
+foreach $pem_file (@pem_files)
+{
+    system "$ARGV[0] -noprompt -import".
+        " -alias `basename $pem_file .pem`".
+        " -keystore cacerts -storepass 'changeit' -file $pem_file";
+    unlink($pem_file);
+    $certs_written_count++;
+}
+
+# Check that the correct number of certs were added to the keystore.
+if ($certs_written_count != $pem_file_count)
+{
+    die "Number of certs added to keystore does not match".
+        " number of certs read from $file.";
+}
diff --git a/pkgs/development/compilers/openjdk/no-crypto-restrictions.patch b/pkgs/development/compilers/openjdk/no-crypto-restrictions.patch
new file mode 100644
index 000000000000..427ef3534668
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/no-crypto-restrictions.patch
@@ -0,0 +1,12 @@
+diff -Naur openjdk-orig/jdk/make/javax/crypto/Makefile openjdk/jdk/make/javax/crypto/Makefile
+--- openjdk-orig/jdk/make/javax/crypto/Makefile	2011-06-27 13:18:45.000000000 -0400
++++ openjdk/jdk/make/javax/crypto/Makefile	2012-11-08 14:12:01.360718616 -0500
+@@ -156,7 +156,7 @@
+ #
+ 
+ ifdef OPENJDK
+-all: build-jar install-jar build-policy install-limited
++all: build-jar install-jar build-policy install-unlimited
+ else  # OPENJDK
+ ifeq ($(strip $(FILES_java)),)
+ all:
diff --git a/pkgs/development/compilers/pakcs/default.nix b/pkgs/development/compilers/pakcs/default.nix
index 35771f6691f2..817559ffeccb 100644
--- a/pkgs/development/compilers/pakcs/default.nix
+++ b/pkgs/development/compilers/pakcs/default.nix
@@ -76,7 +76,7 @@ stdenv.mkDerivation {
       with dynamic web pages, prototyping embedded systems).
     '';
 
-    maintainers = [ stdenv.lib.maintainers.kkallio stdenv.lib.maintainers.simons ];
+    maintainers = [ stdenv.lib.maintainers.kkallio ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index eb3f47a15c00..adffb7c50742 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -1,7 +1,14 @@
 a :  
 let 
   fetchurl = a.fetchurl;
-  s= import ./src-for-default.nix;
+  s= # Generated upstream information
+  rec {
+    baseName="sbcl";
+    version="1.1.1";
+    name="${baseName}-${version}";
+    hash="1gkwz0248zl2nhx79ck5wiyxj8407c10gcrpgg1c67102pgyiikv";
+    url="mirror://sourceforge/project/sbcl/sbcl/1.1.1/sbcl-1.1.1-source.tar.bz2";
+  };
   buildInputs = with a; [
     clisp makeWrapper
   ];
@@ -73,12 +80,14 @@ rec {
   '') ["doBuild" "minInit" "addInputs"];
 
   inherit(s) name;
+  inherit(s) version;
   meta = {
     description = "Lisp compiler";
     homepage = "http://www.sbcl.org";
     license = "bsd";
     maintainers = [a.lib.maintainers.raskin];
     platforms = with a.lib.platforms; all;
+    inherit(s) version;
   };
 }
 
diff --git a/pkgs/development/compilers/sbcl/default.upstream b/pkgs/development/compilers/sbcl/default.upstream
new file mode 100644
index 000000000000..de69a2828c61
--- /dev/null
+++ b/pkgs/development/compilers/sbcl/default.upstream
@@ -0,0 +1,9 @@
+name sbcl
+target default.nix
+url http://sf.net/projects/sbcl/files/sbcl/
+version_link '/sbcl/[0-9.]+/$'
+link "source.tar.bz2"
+version '.*/sbcl-([0-9.]+)-source.*' '\1'
+redirect
+process 'http://[a-z]+[.]dl[.]sourceforge[.]net/' 'mirror://sourceforge/'
+process '[?].*' ''
diff --git a/pkgs/development/compilers/sbcl/src-for-default.nix b/pkgs/development/compilers/sbcl/src-for-default.nix
deleted file mode 100644
index d56520d29021..000000000000
--- a/pkgs/development/compilers/sbcl/src-for-default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
-   version="1.0.58";
-   name="sbcl-1.0.58";
-   hash="0ifr96hy5ax5c5iv7igwgkwcqb3pwrc4ism957pkfb5yy39p4yc1";
-   url="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.58/sbcl-1.0.58-source.tar.bz2";
-   advertisedUrl="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.58/sbcl-1.0.58-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
deleted file mode 100644
index 597aded17921..000000000000
--- a/pkgs/development/compilers/sbcl/src-info-for-default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  baseName = "sbcl";
-  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/";
-}
diff --git a/pkgs/development/compilers/uhc/default.nix b/pkgs/development/compilers/uhc/default.nix
index 2c812e8842b6..fa66306721d7 100644
--- a/pkgs/development/compilers/uhc/default.nix
+++ b/pkgs/development/compilers/uhc/default.nix
@@ -44,7 +44,6 @@ in stdenv.mkDerivation {
     platforms = stdenv.lib.platforms.linux;
     maintainers = [
       stdenv.lib.maintainers.andres
-      stdenv.lib.maintainers.simons
     ];
   };
 }
diff --git a/pkgs/development/interpreters/clisp/default.nix b/pkgs/development/interpreters/clisp/default.nix
index c985da9a5a2d..23b4e4e9e54d 100644
--- a/pkgs/development/interpreters/clisp/default.nix
+++ b/pkgs/development/interpreters/clisp/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
       --with-module=clx/new-clx --with-module=i18n --with-module=bindings/glibc
       --with-module=pcre --with-module=rawsock --with-module=readline
       --with-module=syscalls --with-module=wildcard --with-module=zlib
+      --with-threads=POSIX_THREADS
     '';
 
   preBuild = ''
diff --git a/pkgs/development/interpreters/erlang/R14B04.nix b/pkgs/development/interpreters/erlang/R14B04.nix
index b5133bd7f83c..1d5c9ae3d395 100644
--- a/pkgs/development/interpreters/erlang/R14B04.nix
+++ b/pkgs/development/interpreters/erlang/R14B04.nix
@@ -1,23 +1,40 @@
 { stdenv, fetchurl, perl, gnum4, ncurses, openssl }:
 
-let version = "R14B04"; in
+let version = "14B04"; in
 
 stdenv.mkDerivation {
   name = "erlang-" + version;
-  
+
   src = fetchurl {
-    url = "http://www.erlang.org/download/otp_src_" + version + ".tar.gz";
+    url = "http://www.erlang.org/download/otp_src_R${version}.tar.gz";
     sha256 = "0vlvjlg8vzcy6inb4vj00bnj0aarvpchzxwhmi492nv31s8kb6q9";
   };
-  
+
   buildInputs = [ perl gnum4 ncurses openssl ];
-  
+
   patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
-  
+
   preConfigure = ''
     export HOME=$PWD/../
     sed -e s@/bin/pwd@pwd@g -i otp_build
   '';
-  
+
   configureFlags = "--with-ssl=${openssl}";
+
+  meta = {
+    homepage = "http://www.erlang.org/";
+    description = "Programming language used for massively scalable soft real-time systems";
+
+    longDescription = ''
+      Erlang is a programming language used to build massively scalable
+      soft real-time systems with requirements on high availability.
+      Some of its uses are in telecoms, banking, e-commerce, computer
+      telephony and instant messaging. Erlang's runtime system has
+      built-in support for concurrency, distribution and fault
+      tolerance.
+    '';
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
 }
diff --git a/pkgs/development/interpreters/erlang/R15B02.nix b/pkgs/development/interpreters/erlang/R15B02.nix
new file mode 100644
index 000000000000..858f77531773
--- /dev/null
+++ b/pkgs/development/interpreters/erlang/R15B02.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, perl, gnum4, ncurses, openssl
+, wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }:
+
+assert wxSupport -> mesa != null && wxGTK != null && xlibs != null;
+
+let version = "15B02"; in
+
+stdenv.mkDerivation {
+  name = "erlang-" + version;
+
+  src = fetchurl {
+    url = "http://www.erlang.org/download/otp_src_R${version}.tar.gz";
+    sha256 = "03eb0bd640916666ff83df1330912225fbf555e0c8cf58bb35d8307a314f1158";
+  };
+
+  buildInputs =
+    [ perl gnum4 ncurses openssl
+    ] ++ stdenv.lib.optional wxSupport [ mesa wxGTK xlibs.libX11 ];
+
+  patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
+
+  preConfigure = ''
+    export HOME=$PWD/../
+    sed -e s@/bin/pwd@pwd@g -i otp_build
+  '';
+
+  configureFlags = "--with-ssl=${openssl}";
+
+  meta = {
+    homepage = "http://www.erlang.org/";
+    description = "Programming language used for massively scalable soft real-time systems";
+
+    longDescription = ''
+      Erlang is a programming language used to build massively scalable
+      soft real-time systems with requirements on high availability.
+      Some of its uses are in telecoms, banking, e-commerce, computer
+      telephony and instant messaging. Erlang's runtime system has
+      built-in support for concurrency, distribution and fault
+      tolerance.
+    '';
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+}
diff --git a/pkgs/development/interpreters/erlang/default.nix b/pkgs/development/interpreters/erlang/default.nix
deleted file mode 100644
index 18cfeca63294..000000000000
--- a/pkgs/development/interpreters/erlang/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, perl, gnum4, ncurses, openssl
-, wxSupport ? false, mesa ? null, wxGTK ? null, xlibs ? null }:
-
-assert wxSupport -> mesa != null && wxGTK != null && xlibs != null;
-
-let version = "R15B01"; in
-
-stdenv.mkDerivation {
-  name = "erlang-" + version;
-  
-  src = fetchurl {
-    url = "http://www.erlang.org/download/otp_src_" + version + ".tar.gz";
-    sha256 = "1pmb3hk51p6dwsspxx40qs7gjfyhxjjc3290qk6w1wwa6bkpskzr";
-  };
-  
-  buildInputs = 
-    [ perl gnum4 ncurses openssl
-    ] ++ stdenv.lib.optional wxSupport [ mesa wxGTK xlibs.libX11 ];
-  
-  patchPhase = '' sed -i "s@/bin/rm@rm@" lib/odbc/configure erts/configure '';
-  
-  preConfigure = ''
-    export HOME=$PWD/../
-    sed -e s@/bin/pwd@pwd@g -i otp_build
-  '';
-  
-  configureFlags = "--with-ssl=${openssl}";
-}
diff --git a/pkgs/development/interpreters/lua-5/5.1.nix b/pkgs/development/interpreters/lua-5/5.1.nix
new file mode 100644
index 000000000000..e3dfd4711a17
--- /dev/null
+++ b/pkgs/development/interpreters/lua-5/5.1.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, readline}:
+
+stdenv.mkDerivation rec {
+  name = "lua-5.1.5";
+
+  src = fetchurl {
+    url = "http://www.lua.org/ftp/${name}.tar.gz";
+    sha256 = "2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333";
+  };
+
+  buildInputs = [ readline ];
+
+  configurePhase = "makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux )";
+
+  meta = {
+    homepage = "http://www.lua.org";
+    description = "Lua is a powerful, fast, lightweight, embeddable scripting language.";
+    longDescription = ''
+      Lua combines simple procedural syntax with powerful data
+      description constructs based on associative arrays and extensible
+      semantics. Lua is dynamically typed, runs by interpreting bytecode
+      for a register-based virtual machine, and has automatic memory
+      management with incremental garbage collection, making it ideal
+      for configuration, scripting, and rapid prototyping.
+    '';
+    license = "MIT";
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/development/interpreters/octave/hg.nix b/pkgs/development/interpreters/octave/hg.nix
index a908ddc0fc88..f414dd719654 100644
--- a/pkgs/development/interpreters/octave/hg.nix
+++ b/pkgs/development/interpreters/octave/hg.nix
@@ -1,5 +1,5 @@
 {stdenv, fetchurl, gfortran, readline, ncurses, perl, flex,
- bison, autoconf, automake, sourceFromHead, getConfig, lib, atlas, gperf, python, glibc, gnuplot, texinfo, texLive, qhull, libX11}:
+ bison, autoconf, automake, sourceFromHead, config, lib, atlas, gperf, python, glibc, gnuplot, texinfo, texLive, qhull, libX11}:
 
 let commonBuildInputs = [gfortran readline ncurses perl glibc qhull libX11 texinfo]; in
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation ({
       license = "GPL-3";
     };
 } // (
-  if (getConfig ["octave" "devVersion"] false) then {
+  if (config.octave.devVersion or false) then {
     name = "octave-hg"; # developement version mercurial repo
     # REGION AUTO UPDATE:   { name="octave"; type = "hg"; url = "http://www.octave.org/hg/octave"; }
     src = sourceFromHead "octave-03b414516dd8.tar.gz"
@@ -27,7 +27,7 @@ stdenv.mkDerivation ({
         export HOME=$TMP
         '';
     buildInputs = commonBuildInputs ++ [ flex bison autoconf automake gperf gnuplot texLive ]
-                  ++ lib.optionals (getConfig ["octave" "atlas"] true) [ python atlas ];
+                  ++ lib.optionals (config.octave.atlas or true) [ python atlas ];
     # it does build, but documentation doesn't.. So just remove that directory
     # from the buildfile
     buildPhase = ''
@@ -44,6 +44,6 @@ stdenv.mkDerivation ({
       sha256 = "1lm4v85kdic4n5yxwzrdb0v6dc6nw06ljgx1q8hfkmi146kpg7s6";
     };
     buildInputs = commonBuildInputs ++ [ flex bison autoconf automake python ]
-                  ++ lib.optionals (getConfig ["octave" "atlas"] true) [ python atlas ];
+                  ++ lib.optionals (config.octave.atlas or true) [ python atlas ];
   }
 ))
diff --git a/pkgs/development/interpreters/php/5.2.nix b/pkgs/development/interpreters/php/5.2.nix
deleted file mode 100644
index f98d178663f1..000000000000
--- a/pkgs/development/interpreters/php/5.2.nix
+++ /dev/null
@@ -1,172 +0,0 @@
-args: with args;
-
-let
-
-  inherit (args.composableDerivation) composableDerivation edf wwf;
-
-in
-
-composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
-
-  version = "5.2.17";
-
-  name = "php-${version}";
-
-  buildInputs = ["flex" "bison" "pkgconfig"];
-
-  flags = {
-
-# much left to do here...
-
-    # SAPI modules:
-    
-      apxs2 = {
-        configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"];
-        buildInputs = [apacheHttpd];
-      };
-
-      # Extensions
-
-      curl = {
-        configureFlags = ["--with-curl=${args.curl}" "--with-curlwrappers"];
-        buildInputs = [curl openssl];
-      };
-      
-      zlib = {
-        configureFlags = ["--with-zlib=${args.zlib}"];
-        buildInputs = [zlib];
-      };
-
-      libxml2 = {
-        configureFlags = [
-          "--with-libxml-dir=${libxml2}"
-          "--with-iconv-dir=${libiconv}"
-          ];
-        buildInputs = [ libxml2 ];
-      };
-
-      readline = {
-        configureFlags = ["--with-readline=${readline}"];
-        buildInputs = [ readline ];
-      };
-    
-      sqlite = {
-        configureFlags = ["--with-pdo-sqlite=${sqlite}"];
-        buildInputs = [ sqlite ];
-      };
-    
-      postgresql = {
-        configureFlags = ["--with-pgsql=${postgresql}"];
-        buildInputs = [ postgresql ];
-      };
-    
-      mysql = {
-        configureFlags = ["--with-mysql=${mysql}"];
-        buildInputs = [ mysql ];
-      };
-
-      mysqli = {
-        configureFlags = ["--with-mysqli=${mysql}/bin/mysql_config"];
-        buildInputs = [ mysql];
-      };
-
-      mysqli_embedded = {
-        configureFlags = ["--enable-embedded-mysqli"];
-        depends = "mysqli";
-        assertion = fixed.mysqliSupport;
-      };
-
-      pdo_mysql = {
-        configureFlags = ["--with-pdo-mysql=${mysql}"];
-        buildInputs = [ mysql ];
-      };
-    
-      bcmath = {
-        configureFlags = ["--enable-bcmath"];
-      };
-
-      gd = {
-        configureFlags = ["--with-gd=${args.gd}"];
-        buildInputs = [gd libpng libjpeg ];
-      };
-
-      soap = {
-        configureFlags = ["--enable-soap"];
-      };
-
-      sockets = {
-        configureFlags = ["--enable-sockets"];
-      };
-
-      openssl = {
-        configureFlags = ["--with-openssl=${args.openssl}"];
-        buildInputs = ["openssl"];
-      };
-
-      mbstring = {
-        configureFlags = ["--enable-mbstring"];
-      };
-
-      /*
-         php is build within this derivation in order to add the xdebug lines to the php.ini.
-         So both Apache and command line php both use xdebug without having to configure anything.
-         Xdebug could be put in its own derivation.
-      * /
-        meta = {
-                description = "debugging support for PHP";
-                homepage = http://xdebug.org;
-                license = "based on the PHP license - as is";
-                };
-      */
-    };
-
-  cfg = {
-    mysqlSupport = getConfig ["php" "mysql"] true;
-    mysqliSupport = getConfig ["php" "mysqli"] true;
-    pdo_mysqlSupport = getConfig ["php" "pdo_mysql"] true;
-    libxml2Support = getConfig ["php" "libxml2"] true;
-    apxs2Support = getConfig ["php" "apxs2"] true;
-    bcmathSupport = getConfig ["php" "bcmath"] true;
-    socketsSupport = getConfig ["php" "sockets"] true;
-    curlSupport = getConfig ["php" "curl"] true;
-    gettextSupport = getConfig ["php" "gettext"] true;
-    postgresqlSupport = getConfig ["php" "postgresql"] true;
-    readlineSupport = getConfig ["php" "readline"] true;
-    sqliteSupport = getConfig ["php" "sqlite"] true;
-    soapSupport = getConfig ["php" "soap"] true;
-    zlibSupport = getConfig ["php" "zlib"] true;
-    opensslSupport = getConfig ["php" "openssl"] true;
-    mbstringSupport = getConfig ["php" "mbstring"] true;
-    gdSupport = getConfig ["php" "gd"] true;
-  };
-
-  configurePhase = ''
-    iniFile=$out/etc/php-recommended.ini
-    [[ -z "$libxml2" ]] || export PATH=$PATH:$libxml2/bin
-    ./configure --with-config-file-scan-dir=/etc --with-config-file-path=$out/etc --prefix=$out  $configureFlags
-    echo configurePhase end
-  '';
-
-  installPhase = ''
-    unset installPhase; installPhase;
-    cp php.ini-${ if builtins.lessThan (builtins.compareVersions version "5.3") 0
-        then "recommended" /* < PHP 5.3 */
-        else "production" /* >= PHP 5.3 */
-    } $iniFile
-  '';
-
-  src = args.fetchurl {
-    url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror";
-    sha256 = "0v0i7zjp1a2c60imn58xjqcczmiglnfnwdkgwl0bfai4xh9yn6z8";
-    name = "php-${version}.tar.bz2";
-  };
-
-  meta = {
-    description = "The PHP language runtime engine";
-    homepage = http://www.php.net/;
-    license = "PHP-3";
-  };
-
-  patches = [./fix.patch];
-
-})
diff --git a/pkgs/development/interpreters/php/5.3.nix b/pkgs/development/interpreters/php/5.3.nix
index b4f00ab1f7d4..e073a51c92da 100644
--- a/pkgs/development/interpreters/php/5.3.nix
+++ b/pkgs/development/interpreters/php/5.3.nix
@@ -1,25 +1,23 @@
-args: with args;
+{ stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison
+, apacheHttpd, mysql, libxml2, readline, zlib, curl, gd, postgresql
+, openssl, pkgconfig, sqlite, config, libiconv, libjpeg, libpng }:
 
-let
+composableDerivation.composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
 
-  inherit (args.composableDerivation) composableDerivation edf wwf;
-
-in
-
-composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
-
-  version = "5.3.15";
+  version = "5.3.18";
 
   name = "php-${version}";
 
+  enableParallelBuilding = true;
+
   buildInputs = ["flex" "bison" "pkgconfig"];
 
   flags = {
 
-# much left to do here...
+    # much left to do here...
 
     # SAPI modules:
-    
+
       apxs2 = {
         configureFlags = ["--with-apxs2=${apacheHttpd}/bin/apxs"];
         buildInputs = [apacheHttpd];
@@ -28,12 +26,12 @@ composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
       # Extensions
 
       curl = {
-        configureFlags = ["--with-curl=${args.curl}" "--with-curlwrappers"];
+        configureFlags = ["--with-curl=${curl}" "--with-curlwrappers"];
         buildInputs = [curl openssl];
       };
-      
+
       zlib = {
-        configureFlags = ["--with-zlib=${args.zlib}"];
+        configureFlags = ["--with-zlib=${zlib}"];
         buildInputs = [zlib];
       };
 
@@ -44,7 +42,7 @@ composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
           ];
         buildInputs = [ libxml2 ];
       };
-    
+
       readline = {
         configureFlags = ["--with-readline=${readline}"];
         buildInputs = [ readline ];
@@ -54,12 +52,12 @@ composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
         configureFlags = ["--with-pdo-sqlite=${sqlite}"];
         buildInputs = [ sqlite ];
       };
-    
+
       postgresql = {
         configureFlags = ["--with-pgsql=${postgresql}"];
         buildInputs = [ postgresql ];
       };
-    
+
       mysql = {
         configureFlags = ["--with-mysql=${mysql}"];
         buildInputs = [ mysql ];
@@ -80,13 +78,13 @@ composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
         configureFlags = ["--with-pdo-mysql=${mysql}"];
         buildInputs = [ mysql ];
       };
-    
+
       bcmath = {
         configureFlags = ["--enable-bcmath"];
       };
 
       gd = {
-        configureFlags = ["--with-gd=${args.gd}"];
+        configureFlags = ["--with-gd=${gd}"];
         buildInputs = [gd libpng libjpeg ];
       };
 
@@ -99,7 +97,7 @@ composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
       };
 
       openssl = {
-        configureFlags = ["--with-openssl=${args.openssl}"];
+        configureFlags = ["--with-openssl=${openssl}"];
         buildInputs = ["openssl"];
       };
 
@@ -121,23 +119,23 @@ composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
     };
 
   cfg = {
-    mysqlSupport = getConfig ["php" "mysql"] true;
-    mysqliSupport = getConfig ["php" "mysqli"] true;
-    pdo_mysqlSupport = getConfig ["php" "pdo_mysql"] true;
-    libxml2Support = getConfig ["php" "libxml2"] true;
-    apxs2Support = getConfig ["php" "apxs2"] true;
-    bcmathSupport = getConfig ["php" "bcmath"] true;
-    socketsSupport = getConfig ["php" "sockets"] true;
-    curlSupport = getConfig ["php" "curl"] true;
-    gettextSupport = getConfig ["php" "gettext"] true;
-    postgresqlSupport = getConfig ["php" "postgresql"] true;
-    readlineSupport = getConfig ["php" "readline"] true;
-    sqliteSupport = getConfig ["php" "sqlite"] true;
-    soapSupport = getConfig ["php" "soap"] true;
-    zlibSupport = getConfig ["php" "zlib"] true;
-    opensslSupport = getConfig ["php" "openssl"] true;
-    mbstringSupport = getConfig ["php" "mbstring"] true;
-    gdSupport = getConfig ["php" "gd"] true;
+    mysqlSupport = config.php.mysql or true;
+    mysqliSupport = config.php.mysqli or true;
+    pdo_mysqlSupport = config.php.pdo_mysql or true;
+    libxml2Support = config.php.libxml2 or true;
+    apxs2Support = config.php.apxs2 or true;
+    bcmathSupport = config.php.bcmath or true;
+    socketsSupport = config.php.sockets or true;
+    curlSupport = config.php.curl or true;
+    gettextSupport = config.php.gettext or true;
+    postgresqlSupport = config.php.postgresql or true;
+    readlineSupport = config.php.readline or true;
+    sqliteSupport = config.php.sqlite or true;
+    soapSupport = config.php.soap or true;
+    zlibSupport = config.php.zlib or true;
+    opensslSupport = config.php.openssl or true;
+    mbstringSupport = config.php.mbstring or true;
+    gdSupport = config.php.gd or true;
   };
 
   configurePhase = ''
@@ -152,9 +150,9 @@ composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in {
     cp php.ini-production $iniFile
   '';
 
-  src = args.fetchurl {
+  src = fetchurl {
     url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror";
-    sha256 = "1vzij845n2akh2lkpacgdc5r0f7nw6pk9l9vi1h8l8k4krjjbdzr";
+    sha256 = "0bqsdwil13m1r449c4rhrc8cmx2a09k8h2g107qqxfwanzndwrgh";
     name = "php-${version}.tar.bz2";
   };
 
diff --git a/pkgs/development/interpreters/ruby/libs.nix b/pkgs/development/interpreters/ruby/libs.nix
index 9aa9203f10f6..1b4b7aec2b1c 100644
--- a/pkgs/development/interpreters/ruby/libs.nix
+++ b/pkgs/development/interpreters/ruby/libs.nix
@@ -1,4 +1,4 @@
-{stdenv, getConfig, fetchurl, callPackage}:
+{ stdenv, config, fetchurl, callPackage }:
 
 let
   inherit (stdenv.lib) fold optional;
@@ -36,7 +36,7 @@ in
           if builtins.pathExists file then import (builtins.toPath file)
           else null;
       in
-      getConfig [ "gems" name ] fallback;
+      stdenv.lib.attrByPath [ "gems" name ] fallback config;
   in
 {
   generated = getLocalGemFun "generated";
diff --git a/pkgs/development/libraries/aacskeys/default.nix b/pkgs/development/libraries/aacskeys/default.nix
index 3bed95e26714..f791ea84f6b2 100644
--- a/pkgs/development/libraries/aacskeys/default.nix
+++ b/pkgs/development/libraries/aacskeys/default.nix
@@ -6,7 +6,7 @@
 
 
 let baseName = "aacskeys";
-    version  = "0.4.0c";
+    version  = "0.4.0e";
 in
 
 stdenv.mkDerivation {
@@ -18,8 +18,8 @@ stdenv.mkDerivation {
   '';
 
   src = fetchurl {
-    url = "http://debian-multimedia.org/pool/main/a/${baseName}/${baseName}_${version}.orig.tar.gz";
-    sha256 = "54ea78898917f4acaf78101dda254de56bc7696bad12cbf22ee6f09d4ee88a43";
+    url = "http://deb-multimedia.org/pool/main/a/${baseName}/${baseName}_${version}.orig.tar.gz";
+    sha256 = "0d3zvwixpkixfkkc16wj37h2xbcq5hsqqhqngzqr6pslmqr67vnr";
   };
 
   buildInputs = [openssl jdk premake];
diff --git a/pkgs/development/libraries/atk/2.2.x.nix b/pkgs/development/libraries/atk/2.6.x.nix
index d0f7e1097953..eba56776bd2b 100644
--- a/pkgs/development/libraries/atk/2.2.x.nix
+++ b/pkgs/development/libraries/atk/2.6.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, perl, glib }:
 
 stdenv.mkDerivation rec {
-  name = "atk-2.2.0";
+  name = "atk-2.6.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/atk/2.2/atk-2.2.0.tar.xz;
-    sha256 = "17bkqg89l9hxbkgc76cxlin1bwczk7m6ikbccx677lrxh3kz08lb";
+    url = "mirror://gnome/sources/atk/2.6/${name}.tar.xz";
+    sha256 = "eff663f90847620bb68c9c2cbaaf7f45e2ff44163b9ab3f10d15be763680491f";
   };
 
   buildNativeInputs = [ pkgconfig perl ];
diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix
index a7300f541c4e..0358e1c982c2 100644
--- a/pkgs/development/libraries/audio/suil/default.nix
+++ b/pkgs/development/libraries/audio/suil/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, lv2, pkgconfig, python, serd, sord, sratom }:
+{ stdenv, fetchurl, gtk, lv2, pkgconfig, python, serd, sord, sratom, qt4 }:
 
 stdenv.mkDerivation rec {
   name = "suil-${version}";
-  version = "0.6.2";
+  version = "0.6.4";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "1rqi16zqnaf30gr2gwb8wbhg8a2l3m5fllf7rabldmgj4b4jlyzp";
+    sha256 = "12pz2w74rhhi6gsskfs6l71vw8qfz8906kbjf5w6jyy1x4kkdca2";
   };
 
-  buildInputs = [ lv2 pkgconfig python serd sord sratom ];
+  buildInputs = [ gtk lv2 pkgconfig python qt4 serd sord sratom ];
 
   configurePhase = "python waf configure --prefix=$out";
 
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix
index 0ad643d9ac41..3b2670d988ae 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/development/libraries/boehm-gc/default.nix
@@ -1,15 +1,20 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation (rec {
-  name = "boehm-gc-7.2alpha6";
+stdenv.mkDerivation rec {
+  name = "boehm-gc-7.2d";
 
   src = fetchurl {
-    url = "http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2alpha6.tar.gz";
-    sha256 = "05jwadjbrv8pr7z9cb4miskicxqpxm0pca4h2rg5cgbpajr2bx7b";
+    url = http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2d.tar.gz;
+    sha256 = "0phwa5driahnpn79zqff14w9yc8sn3599cxz91m78hqdcpl0mznr";
   };
 
+  configureFlags = "--enable-cplusplus";
+
   doCheck = true;
 
+  # Don't run the native `strip' when cross-compiling.
+  dontStrip = stdenv ? cross;
+
   meta = {
     description = "The Boehm-Demers-Weiser conservative garbage collector for C and C++";
 
@@ -39,10 +44,3 @@ stdenv.mkDerivation (rec {
     platforms = stdenv.lib.platforms.all;
   };
 }
-
-//
-
-# Don't run the native `strip' when cross-compiling.
-(if (stdenv ? cross)
- then { dontStrip = true; }
- else { }))
diff --git a/pkgs/development/libraries/boost/1.51-headers.nix b/pkgs/development/libraries/boost/1.51-headers.nix
new file mode 100644
index 000000000000..4b1c1f80c541
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.51-headers.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "boost-1.51.0-headers";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/boost_1_51_0.tar.bz2";
+    sha256 = "fb2d2335a29ee7fe040a197292bfce982af84a645c81688a915c84c925b69696";
+  };
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/include
+    tar xf $src -C $out/include --strip-components=1 ./boost_1_51_0/boost
+  '';
+
+  meta = {
+    homepage = "http://boost.org/";
+    description = "Boost C++ Library Collection";
+    license = "boost-license";
+
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.viric stdenv.lib.maintainers.simons ];
+  };
+}
diff --git a/pkgs/development/libraries/boost/1.50-headers.nix b/pkgs/development/libraries/boost/1.52-headers.nix
index b901d73da733..b89273fdd305 100644
--- a/pkgs/development/libraries/boost/1.50-headers.nix
+++ b/pkgs/development/libraries/boost/1.52-headers.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "boost-1.50.0-headers";
+  name = "boost-1.52.0-headers";
 
   src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_50_0.tar.bz2";
-    sha256 = "0ac5b82g6b5pdhzypgddql0i3i9vvrwf9iqp3lyp19hzr2wf5b69";
+    url = "mirror://sourceforge/boost/boost_1_52_0.tar.bz2";
+    sha256 = "14mc7gsnnahdjaxbbslzk79rc0d12h1i681cd3srdwr3fzynlar2";
   };
 
   phases = [ "installPhase" ];
 
   installPhase = ''
     mkdir -p $out/include
-    tar xvf $src -C $out/include --strip-components=1 boost_1_50_0/boost
+    tar xf $src -C $out/include --strip-components=1 ./boost_1_52_0/boost
   '';
 
   meta = {
diff --git a/pkgs/development/libraries/boost/1.50.nix b/pkgs/development/libraries/boost/1.52.nix
index 3d6c6010a20f..0de11aaed87b 100644
--- a/pkgs/development/libraries/boost/1.50.nix
+++ b/pkgs/development/libraries/boost/1.52.nix
@@ -38,7 +38,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "boost-1.50.0";
+  name = "boost-1.52.0";
 
   meta = {
     homepage = "http://boost.org/";
@@ -50,8 +50,8 @@ stdenv.mkDerivation {
   };
 
   src = fetchurl {
-    url = "mirror://sourceforge/boost/boost_1_50_0.tar.bz2";
-    sha256 = "0ac5b82g6b5pdhzypgddql0i3i9vvrwf9iqp3lyp19hzr2wf5b69";
+    url = "mirror://sourceforge/boost/boost_1_52_0.tar.bz2";
+    sha256 = "14mc7gsnnahdjaxbbslzk79rc0d12h1i681cd3srdwr3fzynlar2";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index fe3fe1e251ca..d21f303e7412 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -5,7 +5,7 @@
 , gobjectSupport ? true, glib
 , stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype, xlibs
 , zlib, libpng, pixman, libxcb ? null, xcbutil ? null
-, gettext
+, gettext, libiconvOrEmpty
 }:
 
 assert postscriptSupport -> zlib != null;
@@ -13,11 +13,11 @@ assert pngSupport -> libpng != null;
 assert xcbSupport -> libxcb != null && xcbutil != null;
 
 stdenv.mkDerivation rec {
-  name = "cairo-1.10.2";
-  
+  name = "cairo-1.12.4";
+
   src = fetchurl {
-    url = "http://cairographics.org/releases/${name}.tar.gz";
-    sha1 = "ccce5ae03f99c505db97c286a0c9a90a926d3c6e";
+    url = "http://cairographics.org/releases/${name}.tar.xz";
+    sha1 = "f4158981ed01e73c94fb8072074b17feee61a68b";
   };
 
   buildInputs =
@@ -25,14 +25,16 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optionals xcbSupport [ libxcb xcbutil ]
 
     # On non-GNU systems we need GNU Gettext for libintl.
-    ++ stdenv.lib.optional (!stdenv.isLinux) gettext;
+    ++ stdenv.lib.optional (!stdenv.isLinux) gettext
+
+    ++ libiconvOrEmpty;
 
   propagatedBuildInputs =
     [ freetype pixman ] ++
     stdenv.lib.optional gobjectSupport glib ++
     stdenv.lib.optional postscriptSupport zlib ++
     stdenv.lib.optional pngSupport libpng;
-    
+
   configureFlags =
     [ "--enable-tee" ]
     ++ stdenv.lib.optional xcbSupport "--enable-xcb"
@@ -43,7 +45,18 @@ stdenv.mkDerivation rec {
     # `-I' flags to be propagated.
     sed -i "src/cairo.pc.in" \
         -es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype}/include/freetype2 -I${freetype}/include|g'
-  '';
+  ''
+
+  # On FreeBSD, `-ldl' doesn't exist.
+  + (stdenv.lib.optionalString stdenv.isFreeBSD
+       '' for i in "util/"*"/Makefile.in" boilerplate/Makefile.in
+          do
+            cat "$i" | sed -es/-ldl//g > t
+            mv t "$i"
+          done
+       '');
+
+  enableParallelBuilding = true;
 
   # The default `--disable-gtk-doc' is ignored.
   postInstall = "rm -rf $out/share/gtk-doc";
diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix
index a03f753a1141..c5aefbe32144 100644
--- a/pkgs/development/libraries/cyrus-sasl/default.nix
+++ b/pkgs/development/libraries/cyrus-sasl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, openssl, db4, gettext }:
+{ stdenv, fetchurl, openssl, db4, gettext, pam }:
 
 stdenv.mkDerivation rec {
   name = "cyrus-sasl-2.1.25";
@@ -8,12 +8,13 @@ stdenv.mkDerivation rec {
     sha256 = "418c16e6240a4f9b637cbe3d62937b9675627bad27c622191d47de8686fe24fe";
   };
 
-  buildInputs = [ openssl db4 gettext ];
+  buildInputs = [ openssl db4 gettext ] ++ stdenv.lib.optional stdenv.isLinux pam;
 
   # Set this variable at build-time to make sure $out can be evaluated.
   preConfigure = ''
     configureFlagsArray=( --with-plugindir=$out/lib/sasl2
                           --with-configdir=$out/lib/sasl2
+			  --with-saslauthd=/run/saslauthd
 			  --enable-login
 			)
   '';
diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix
index c943fe87fb38..0b8029c94dbf 100644
--- a/pkgs/development/libraries/dbus/default.nix
+++ b/pkgs/development/libraries/dbus/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, expat, libX11, libICE, libSM, useX11 ? true }:
 
 let
-  version = "1.4.16";
+  version = "1.6.4";
 
   src = fetchurl {
     url = "http://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz";
-    sha256 = "1ii93d0lzj5xm564dcq6ca4s0nvm5i9fx3jp0s7i9hlc5wkfd3hx";
+    sha256 = "1wacqyfkcpayg7f8rvx9awqg275n5pksxq5q7y21lxjx85x6pfjz";
   };
 
   patches = [ ./ignore-missing-includedirs.patch ];
@@ -21,6 +21,10 @@ in rec {
 
     buildInputs = [ expat ];
 
+    # FIXME: dbus has optional systemd integration when checking
+    # at_console policies.  How to enable this without introducing a
+    # circular dependency between dbus and systemd?
+
     inherit src patches configureFlags;
 
     preConfigure =
@@ -58,6 +62,8 @@ in rec {
       '';
 
     postConfigure = "cd tools";
+
+    installFlags = "localstatedir=$TMPDIR/var";
   };
 
   # I'm too lazy to separate daemon and libs now.
diff --git a/pkgs/development/libraries/expat/cve-2009-3560.patch b/pkgs/development/libraries/expat/cve-2009-3560.patch
deleted file mode 100644
index 71da9e393519..000000000000
--- a/pkgs/development/libraries/expat/cve-2009-3560.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-From: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/expat/files/expat-2.0.1-CVE-2009-3560-revised.patch?revision=1.1
-
-http://nvd.nist.gov/nvd.cfm?cvename=CVE-2009-3560
-http://bugs.gentoo.org/show_bug.cgi?id=303727
-http://cvs.fedoraproject.org/viewvc/rpms/expat/devel/
-
---- a/lib/xmlparse.c
-+++ b/lib/xmlparse.c
-@@ -3703,6 +3703,9 @@ doProlog(XML_Parser parser,
-         return XML_ERROR_UNCLOSED_TOKEN;
-       case XML_TOK_PARTIAL_CHAR:
-         return XML_ERROR_PARTIAL_CHAR;
-+      case -XML_TOK_PROLOG_S:
-+        tok = -tok;
-+        break;
-       case XML_TOK_NONE:
- #ifdef XML_DTD
-         /* for internal PE NOT referenced between declarations */
diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix
index 35a2945207b4..6b675230119e 100644
--- a/pkgs/development/libraries/expat/default.nix
+++ b/pkgs/development/libraries/expat/default.nix
@@ -1,17 +1,15 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "expat-2.0.1";
-  
+stdenv.mkDerivation rec {
+  name = "expat-2.1.0";
+
   src = fetchurl {
-    url = mirror://sourceforge/expat/expat-2.0.1.tar.gz;
-    sha256 = "14sy5qx9hgjyfs743iq8ywldhp5w4n6cscqf2p4hgrw6vys60xl4";
+    url = "mirror://sourceforge/expat/${name}.tar.gz";
+    sha256 = "11pblz61zyxh68s5pdcbhc30ha1b2vfjd83aiwfg4vc15x3hadw2";
   };
 
-  patches = [ ./cve-2009-3560.patch ];
-
   meta = {
-    homepage = http://expat.sourceforge.net/;
+    homepage = http://www.libexpat.org/;
     description = "A stream-oriented XML parser library written in C";
   };
 }
diff --git a/pkgs/development/libraries/farstream/default.nix b/pkgs/development/libraries/farstream/default.nix
index b2b8ca6255b1..3babcb828337 100644
--- a/pkgs/development/libraries/farstream/default.nix
+++ b/pkgs/development/libraries/farstream/default.nix
@@ -1,5 +1,7 @@
 { stdenv, fetchurl, libnice, pkgconfig, python, gstreamer, gst_plugins_base
-, pygobject, gst_python, gupnp_igd }:
+, pygobject, gst_python, gupnp_igd
+, gst_plugins_good, gst_plugins_bad, gst_ffmpeg
+}:
 
 stdenv.mkDerivation rec {
   name = "farstream-0.1.2";
@@ -8,11 +10,13 @@ stdenv.mkDerivation rec {
     sha256 = "1nbkbvq959f70zhr03fwdibhs0sbf1k7zmbz9w99vda7gdcl0nps";
   };
 
-  buildInputs = [ libnice python pygobject gst_python gupnp_igd ];
+  buildInputs = [ libnice python pygobject gupnp_igd ];
 
   buildNativeInputs = [ pkgconfig ];
 
-  propagatedBuildInputs = [ gstreamer gst_plugins_base ];
+  propagatedBuildInputs = [ gstreamer gst_plugins_base gst_python 
+    gst_plugins_good gst_plugins_bad gst_ffmpeg
+    ];
 
   meta = {
     homepage = http://www.freedesktop.org/wiki/Software/Farstream;
diff --git a/pkgs/development/libraries/ffmpeg/1.0.nix b/pkgs/development/libraries/ffmpeg/1.0.nix
new file mode 100644
index 000000000000..7ac77ffdcb7a
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/1.0.nix
@@ -0,0 +1,85 @@
+{ stdenv, fetchurl, pkgconfig, yasm, zlib, bzip2
+, mp3Support ? true, lame ? null
+, speexSupport ? true, speex ? null
+, theoraSupport ? true, libtheora ? null
+, vorbisSupport ? true, libvorbis ? null
+, vpxSupport ? false, libvpx ? null
+, x264Support ? true, x264 ? null
+, xvidSupport ? true, xvidcore ? null
+, vdpauSupport ? true, libvdpau ? null
+, faacSupport ? false, faac ? null
+, dc1394Support ? false, libdc1394 ? null
+, x11grabSupport ? false, libXext ? null, libXfixes ? null
+}:
+
+assert speexSupport -> speex != null;
+assert theoraSupport -> libtheora != null;
+assert vorbisSupport -> libvorbis != null;
+assert vpxSupport -> libvpx != null;
+assert x264Support -> x264 != null;
+assert xvidSupport -> xvidcore != null;
+assert vdpauSupport -> libvdpau != null;
+assert faacSupport -> faac != null;
+assert x11grabSupport -> libXext != null && libXfixes != null;
+
+stdenv.mkDerivation rec {
+  name = "ffmpeg-1.0";
+  
+  src = fetchurl {
+    url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
+    sha256 = "1jbi85z2zkk3fh09l9f1s70kpvsz8706ay4lsw75395q8vic70hd";
+  };
+  
+  # `--enable-gpl' (as well as the `postproc' and `swscale') mean that
+  # the resulting library is GPL'ed, so it can only be used in GPL'ed
+  # applications.
+  configureFlags = [
+    "--enable-gpl"
+    "--enable-postproc"
+    "--enable-swscale"
+    "--disable-ffplay"
+    "--enable-shared"
+    "--enable-runtime-cpudetect"
+  ]
+    ++ stdenv.lib.optional mp3Support "--enable-libmp3lame"
+    ++ stdenv.lib.optional speexSupport "--enable-libspeex"
+    ++ stdenv.lib.optional theoraSupport "--enable-libtheora"
+    ++ stdenv.lib.optional vorbisSupport "--enable-libvorbis"
+    ++ stdenv.lib.optional vpxSupport "--enable-libvpx"
+    ++ stdenv.lib.optional x264Support "--enable-libx264"
+    ++ stdenv.lib.optional xvidSupport "--enable-libxvid"
+    ++ stdenv.lib.optional vdpauSupport "--enable-vdpau"
+    ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree"
+    ++ stdenv.lib.optional dc1394Support "--enable-libdc1394"
+    ++ stdenv.lib.optional x11grabSupport "--enable-x11grab";
+
+  buildInputs = [ pkgconfig lame yasm zlib bzip2 ]
+    ++ stdenv.lib.optional mp3Support lame
+    ++ stdenv.lib.optional speexSupport speex
+    ++ stdenv.lib.optional theoraSupport libtheora
+    ++ stdenv.lib.optional vorbisSupport libvorbis
+    ++ stdenv.lib.optional vpxSupport libvpx
+    ++ stdenv.lib.optional x264Support x264
+    ++ stdenv.lib.optional xvidSupport xvidcore
+    ++ stdenv.lib.optional vdpauSupport libvdpau
+    ++ stdenv.lib.optional faacSupport faac
+    ++ stdenv.lib.optional dc1394Support libdc1394
+    ++ stdenv.lib.optionals x11grabSupport [ libXext libXfixes ];
+
+  enableParallelBuilding = true;
+    
+  crossAttrs = {
+    dontSetConfigureCross = true;
+    configureFlags = configureFlags ++ [
+      "--cross-prefix=${stdenv.cross.config}-"
+      "--enable-cross-compile"
+      "--target_os=linux"
+      "--arch=${stdenv.cross.arch}"
+      ];
+  };
+
+  meta = {
+    homepage = http://www.ffmpeg.org/;
+    description = "A complete, cross-platform solution to record, convert and stream audio and video";
+  };
+}
diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix
index 8e016401e3de..116fe3c0c20f 100644
--- a/pkgs/development/libraries/fontconfig/default.nix
+++ b/pkgs/development/libraries/fontconfig/default.nix
@@ -1,22 +1,21 @@
-{ stdenv, fetchurl, freetype, expat }:
+{ stdenv, fetchurl, pkgconfig, freetype, expat }:
 
 stdenv.mkDerivation rec {
-  name = "fontconfig-2.8.0";
-  
+  name = "fontconfig-2.10.1";
+
   src = fetchurl {
     url = "http://fontconfig.org/release/${name}.tar.gz";
-    sha256 = "0d9370qnn1qzq0jidbycin2frkcr1kqj04jbgb79ykb5x9p1qaps";
+    sha256 = "08h252crb3aqciwdk81jypmz2i7618dzqn3zlr87w1f017wjp4f3";
   };
-  
-  buildInputs = [ freetype ];
+
+  buildInputs = [ pkgconfig freetype ];
+
   propagatedBuildInputs = [ expat ]; # !!! shouldn't be necessary, but otherwise pango breaks
 
   configureFlags = "--with-confdir=/etc/fonts --with-cache-dir=/var/cache/fontconfig --disable-docs --with-default-fonts=";
 
   # We should find a better way to access the arch reliably.
-  crossArch = if (stdenv ? cross && stdenv.cross != null)
-    then stdenv.cross.arch else null;
-
+  crossArch = stdenv.cross.arch or null;
 
   preConfigure = ''
     if test -n "$crossConfig"; then
@@ -24,6 +23,8 @@ stdenv.mkDerivation rec {
     fi
   '';
 
+  enableParallelBuilding = true;
+
   # Don't try to write to /etc/fonts or /var/cache/fontconfig at install time.
   installFlags = "CONFDIR=$(out)/etc/fonts RUN_FC_CACHE_TEST=false fc_cachedir=$(TMPDIR)/dummy";
 
@@ -31,5 +32,5 @@ stdenv.mkDerivation rec {
     description = "A library for font customization and configuration";
     homepage = http://fontconfig.org/;
     license = "bsd";
-  };  
+  };
 }
diff --git a/pkgs/development/libraries/fox/default.nix b/pkgs/development/libraries/fox/default.nix
new file mode 100644
index 000000000000..76cc1d5c3d29
--- /dev/null
+++ b/pkgs/development/libraries/fox/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, x11 }:
+
+let
+  version = "1.7.9";
+in
+
+stdenv.mkDerivation rec {
+  name = "fox-${version}";
+
+  src = fetchurl {
+    url = "ftp://ftp.fox-toolkit.org/pub/${name}.tar.gz";
+    md5 = "b5897e9c664967f5042e57070037ff18";
+  };
+
+  buildInputs = [ x11 ];
+
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "FOX is a C++ based class library for building Graphical User Interfaces";
+    longDescription = ''
+        FOX stands for Free Objects for X.
+        It is a C++ based class library for building Graphical User Interfaces.
+        Initially, it was developed for LINUX, but the scope of this project has in the course of time become somewhat more ambitious.
+        Current aims are to make FOX completely platform independent, and thus programs written against the FOX library will be only a compile away from running on a variety of platforms.
+      '';
+    homepage = "http://fox-toolkit.org";
+    license = "LGPL";
+    maintainers = [ stdenv.lib.maintainers.bbenoist ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/fox/fox-1.6.nix b/pkgs/development/libraries/fox/fox-1.6.nix
new file mode 100644
index 000000000000..e8961621cab1
--- /dev/null
+++ b/pkgs/development/libraries/fox/fox-1.6.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, x11 }:
+
+let
+  version = "1.6.9";
+in
+
+stdenv.mkDerivation rec {
+  name = "fox-${version}";
+
+  src = fetchurl {
+    url = "ftp://ftp.fox-toolkit.org/pub/${name}.tar.gz";
+    md5 = "8ab8274237431865f57b2f5596374a65";
+  };
+
+  buildInputs = [ x11 ];
+
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "FOX is a C++ based class library for building Graphical User Interfaces";
+    longDescription = ''
+        FOX stands for Free Objects for X.
+        It is a C++ based class library for building Graphical User Interfaces.
+        Initially, it was developed for LINUX, but the scope of this project has in the course of time become somewhat more ambitious.
+        Current aims are to make FOX completely platform independent, and thus programs written against the FOX library will be only a compile away from running on a variety of platforms.
+      '';
+    homepage = "http://fox-toolkit.org";
+    license = "LGPL";
+    maintainers = [ stdenv.lib.maintainers.bbenoist ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/freeimage/default.nix b/pkgs/development/libraries/freeimage/default.nix
index ec381dc433a6..c3cfa6e8c87b 100644
--- a/pkgs/development/libraries/freeimage/default.nix
+++ b/pkgs/development/libraries/freeimage/default.nix
@@ -1,9 +1,9 @@
 {stdenv, fetchurl, unzip}:
 stdenv.mkDerivation {
-  name = "freeimage-3.15.0";
+  name = "freeimage-3.15.3";
   src = fetchurl {
-    url = mirror://sourceforge/freeimage/FreeImage3150.zip;
-    sha256 = "0diyj862sdqwjqb7v2nccf8cl6886v937jkw6dgszp86qpwsfx3n";
+    url = mirror://sourceforge/freeimage/FreeImage3153.zip;
+    sha256 = "0i60fn1n9rw55dci0yw92zrw7k1jz3f9kv2z1wxmh84s5ngxa626";
   };
   buildInputs = [ unzip ];
   prePatch = ''
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index e53a3c297ff1..a2d14be50017 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -5,12 +5,12 @@
   useEncumberedCode ? false
 }:
 
-stdenv.mkDerivation (rec {
-  name = "freetype-2.4.4";
-  
+stdenv.mkDerivation rec {
+  name = "freetype-2.4.10";
+
   src = fetchurl {
     url = "mirror://sourceforge/freetype/${name}.tar.bz2";
-    sha256 = "1vqg93473j6jma1bxms7mczk32j8is0g9inkcmmmqdsdvk3q30jb";
+    sha256 = "0bwrkqpygayfc1rf6rr1nb8l3svgn1fmjz8davg2hnf46cn293hc";
   };
 
   configureFlags = "--disable-static";
@@ -21,16 +21,26 @@ stdenv.mkDerivation (rec {
   # The asm for armel is written with the 'asm' keyword.
   CFLAGS = stdenv.lib.optionalString stdenv.isArm "-std=gnu99";
 
+  # FreeType requires GNU Make, which is not part of stdenv on FreeBSD.
+  buildInputs = stdenv.lib.optional (stdenv.system == "i686-freebsd") gnumake;
+
+  enableParallelBuilding = true;
+
+  postInstall =
+    ''
+      ln -s freetype2/freetype $out/include/freetype
+    '';
+
+  crossAttrs = {
+    # Somehow it calls the unwrapped gcc, "i686-pc-linux-gnu-gcc", instead
+    # of gcc. I think it's due to the unwrapped gcc being in the PATH. I don't
+    # know why it's on the PATH.
+    configureFlags = "--disable-static CC_BUILD=gcc";
+  };
+
   meta = {
     description = "A font rendering engine";
     homepage = http://www.freetype.org/;
     license = "GPLv2+"; # or the FreeType License (BSD + advertising clause)
   };
 }
-
-//
-
-# FreeType requires GNU Make, which is not part of stdenv on FreeBSD.
-(if stdenv.system == "i686-freebsd"
- then { buildInputs = [ gnumake ]; }
- else {}))
diff --git a/pkgs/development/libraries/gamin/debian-patches.nix b/pkgs/development/libraries/gamin/debian-patches.nix
index 1da558db141b..f784b8ccfee0 100644
--- a/pkgs/development/libraries/gamin/debian-patches.nix
+++ b/pkgs/development/libraries/gamin/debian-patches.nix
@@ -1,6 +1,6 @@
 # Generated by debian-patches.sh from debian-patches.txt
 let
-  prefix = "http://patch-tracker.debian.org/patch/series/dl/gamin/0.1.10-4";
+  prefix = "http://patch-tracker.debian.org/patch/series/dl/gamin/0.1.10-4.1";
 in
 [
   {
diff --git a/pkgs/development/libraries/gdk-pixbuf/2.24.x.nix b/pkgs/development/libraries/gdk-pixbuf/2.26.x.nix
index 5c0860196d39..07e66df33b57 100644
--- a/pkgs/development/libraries/gdk-pixbuf/2.24.x.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/2.26.x.nix
@@ -1,12 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, libX11, xz
-, jasper }:
+{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, libX11, xz, jasper }:
 
-stdenv.mkDerivation {
-  name = "gdk-pixbuf-2.24.1";
+stdenv.mkDerivation rec {
+  name = "gdk-pixbuf-2.26.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gdk-pixbuf/2.24/gdk-pixbuf-2.24.1.tar.xz;
-    sha256 = "1qdywh1r75lalb7z6s9pm6pmqx82chrrxqb8cdqi629nvc03yyns";
+    url = "mirror://gnome/sources/gdk-pixbuf/2.26/${name}.tar.xz";
+    sha256 = "a60af12b58d9cc15ba4c680c6730ce5d38e8d664af1d575a379385b94b4ec7ba";
   };
 
   # !!! We might want to factor out the gdk-pixbuf-xlib subpackage.
diff --git a/pkgs/development/libraries/glib/2.30.x.nix b/pkgs/development/libraries/glib/2.34.x.nix
index 72baf0154d9f..7fb61ac20e23 100644
--- a/pkgs/development/libraries/glib/2.30.x.nix
+++ b/pkgs/development/libraries/glib/2.34.x.nix
@@ -11,26 +11,25 @@
 #     Reminder: add 'sed -e 's@python2\.[0-9]@python@' -i
 #       $out/bin/gtester-report' to postInstall if this is solved
 
-stdenv.mkDerivation rec {
-  name = "glib-2.30.3";
+stdenv.mkDerivation (rec {
+  name = "glib-2.34.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/glib/2.30/glib-2.30.3.tar.xz;
-    sha256 = "09yxfajynbw78kji48z384lylp67kihfi1g78qrrjif4f5yb5jz6";
+    url = "mirror://gnome/sources/glib/2.34/${name}.tar.xz";
+    sha256 = "f69b112f8848be35139d9099b62bc81649241f78f6a775516f0d4c9b47f65144";
   };
 
   # configure script looks for d-bus but it is only needed for tests
-  buildInputs = [ pcre ]
-    ++ (if libiconvOrNull != null
-        then [ libiconvOrNull ]
-        else []);
+  buildInputs = [ libiconvOrNull ];
 
   buildNativeInputs = [ perl pkgconfig gettext python ];
 
-  propagatedBuildInputs = [ zlib libffi ];
+  propagatedBuildInputs = [ pcre zlib libffi ];
 
   configureFlags = "--with-pcre=system --disable-fam";
 
+  enableParallelBuilding = true;
+
   passthru.gioModuleDir = "lib/gio/modules";
 
   postInstall = ''rm -rvf $out/share/gtk-doc'';
@@ -53,3 +52,13 @@ stdenv.mkDerivation rec {
     platforms = stdenv.lib.platforms.linux;
   };
 }
+
+//
+
+(stdenv.lib.optionalAttrs stdenv.isDarwin {
+  # XXX: Disable the NeXTstep back-end because stdenv.gcc doesn't support
+  # Objective-C.
+  postConfigure =
+    '' sed -i configure -e's/glib_have_cocoa=yes/glib_have_cocoa=no/g'
+    '';
+}))
diff --git a/pkgs/development/libraries/gnu-efi/default.nix b/pkgs/development/libraries/gnu-efi/default.nix
index c43e9f6b4da6..731b44aa0ecd 100644
--- a/pkgs/development/libraries/gnu-efi/default.nix
+++ b/pkgs/development/libraries/gnu-efi/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation {
-  name = "gnu-efi-3.0p";
+  name = "gnu-efi-3.0r";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gnu-efi/gnu-efi_3.0p.orig.tar.gz";
-    sha256 = "1pm4wk1gma7mb8z19js7kb5y31a0zk308mkafmq6gb0b2a0i39cn";
+    url = "mirror://sourceforge/gnu-efi/gnu-efi_3.0r.orig.tar.gz";
+    sha256 = "1zi298wsg8v29xj4azcawqfjbxqi2w7l60agf7x2ph2lnqlga2v5";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix
index 93f5dab537e9..ee566d46b658 100644
--- a/pkgs/development/libraries/gnutls/default.nix
+++ b/pkgs/development/libraries/gnutls/default.nix
@@ -5,29 +5,29 @@ assert guileBindings -> guile != null;
 
 stdenv.mkDerivation (rec {
 
-  name = "gnutls-3.0.22";
+  name = "gnutls-3.1.3";
 
   src = fetchurl {
     url = "mirror://gnu/gnutls/${name}.tar.xz";
-    sha256 = "1pp90fm27qi5cd0pq18xcmnl79xcbfwxc54bg1xi1wv0vryqdpcr";
+    sha256 = "0fff9frz0ycbnppfn0w4a2s9x27k21l4hh9zbax3v7a8cg33dcpw";
   };
 
-  # FIXME: Turn into a Nix list.
+  # Note: GMP is a dependency of Nettle, whose public headers include
+  # GMP headers, hence the hack.
   configurePhase = ''
     ./configure --prefix="$out"                                 \
       --disable-dependency-tracking --enable-fast-install       \
       --without-p11-kit                                         \
-      --with-lzo --with-libtasn1-prefix="${libtasn1}"		\
+      --with-lzo --with-libtasn1-prefix="${libtasn1}"           \
+      --with-libnettle-prefix="${nettle}"                       \
+      CPPFLAGS="-I${gmp}/include"                               \
       ${if guileBindings
         then "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\""
-        else ""}${if stdenv.isSunOS
-          # TODO: Use `--with-libnettle-prefix' on all platforms
-          # Note: GMP is a dependency of Nettle, whose public headers include
-          # GMP headers, hence the hack.
-        then " --with-libnettle-prefix=${nettle} CPPFLAGS=-I${gmp}/include"
         else ""}
   '';
 
+  enableParallelBuilding = true;
+
   buildInputs = [ zlib lzo ]
     ++ stdenv.lib.optional guileBindings guile;
 
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index de9059dbd153..fe1d519f5625 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -1,12 +1,7 @@
 { stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python }:
 
-let
-  baseName = "gobject-introspection";
-  v = "0.10.8";
-in
-
 stdenv.mkDerivation rec {
-  name = "${baseName}-${v}";
+  name = "gobject-introspection-1.34.0";
 
   buildInputs = [ flex bison glib pkgconfig python ];
   propagatedBuildInputs = [ libffi ];
@@ -16,8 +11,8 @@ stdenv.mkDerivation rec {
   configureFlags = "--disable-tests";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${baseName}/0.10/${name}.tar.bz2";
-    sha256 = "5b1387ff37f03db880a2b1cbd6c6b6dfb923a29468d4d8367c458abf7704c61e";
+    url = "mirror://gnome/sources/gobject-introspection/1.34/${name}.tar.xz";
+    sha256 = "80e211ea95404fc7c5fa3b04ba69ee0b29af70847af315155ab06b8cff832c85";
   };
 
   postInstall = "rm -rf $out/share/gtk-doc";
diff --git a/pkgs/development/libraries/goffice/default.nix b/pkgs/development/libraries/goffice/default.nix
index b90cbbad9206..1eaa1baf86d6 100644
--- a/pkgs/development/libraries/goffice/default.nix
+++ b/pkgs/development/libraries/goffice/default.nix
@@ -1,19 +1,18 @@
 { fetchurl, stdenv, pkgconfig, glib, gtk, libglade, bzip2
 , pango, libgsf, libxml2, libart, intltool, gettext
-, cairo, gconf, libgnomeui }:
+, cairo, gconf, libgnomeui, pcre }:
 
 stdenv.mkDerivation rec {
-  name = "goffice-0.6.6";
+  name = "goffice-0.8.17";
 
   src = fetchurl {
-    # An old version, but one that's actually usable for Gnucash.
-    url = "mirror://gnome/sources/goffice/0.6/${name}.tar.bz2";
-    sha256 = "11lzhmk7g6mdsbyn4p4a6q2d9m8j71vad2haw6pmzyjzv2gs4rq7";
+    url = "mirror://gnome/sources/goffice/0.8/${name}.tar.xz";
+    sha256 = "165070beb67b84580afe80a8a100b674a81d553ab791acd72ac0c655f4fadb15";
   };
 
   buildInputs = [
     pkgconfig libglade bzip2 libart intltool gettext
-    gconf libgnomeui
+    gconf libgnomeui pcre
   ];
 
   propagatedBuildInputs = [
@@ -21,6 +20,12 @@ stdenv.mkDerivation rec {
     glib libgsf libxml2 gtk libglade libart cairo pango
   ];
 
+  postInstall =
+    ''
+      # Get GnuCash to build.  Might be unnecessary if we upgrade pkgconfig.
+      substituteInPlace $out/lib/pkgconfig/libgoffice-*.pc --replace Requires.private Requires
+    '';
+
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index 582208f08b67..2f1411a0bdaa 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -1,5 +1,15 @@
-{ stdenv, fetchurl, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan }:
+{ stdenv, fetchurl, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan
+, useGnupg1 ? false, gnupg1 ? null }:
 
+assert useGnupg1 -> gnupg1 != null;
+assert !useGnupg1 -> gnupg != null;
+
+let
+  gpgPath = if useGnupg1 then
+    "${gnupg1}/bin/gpg"
+  else
+    "${gnupg}/bin/gpg2";
+in
 stdenv.mkDerivation rec {
   name = "gpgme-1.3.1";
   
@@ -8,9 +18,9 @@ stdenv.mkDerivation rec {
     sha256 = "1m7l7nicn6gd952cgspv9xr8whqivbg33nbg8kbpj3dffnl2gvqm";
   };
   
-  propagatedBuildInputs = [ libgpgerror glib pth libassuan ];
+  propagatedBuildInputs = [ libgpgerror glib libassuan pth ];
 
   buildNativeInputs = [ pkgconfig ];
 
-  configureFlags = "--with-gpg=${gnupg}/bin/gpg2";
+  configureFlags = "--with-gpg=${gpgPath}";
 }
diff --git a/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix b/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix
index 47762660b29a..2ac325dc2822 100644
--- a/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix
+++ b/pkgs/development/libraries/gstreamer/gst-plugins-base/default.nix
@@ -8,14 +8,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-base-0.10.35";
+  name = "gst-plugins-base-0.10.36";
 
   src = fetchurl {
     urls = [
-      "${meta.homepage}/src/gst-plugins-base/${name}.tar.bz2"
-      "mirror://gentoo/distfiles/${name}.tar.bz2"
+      "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz"
+      "mirror://gentoo/distfiles/${name}.tar.xz"
       ];
-    sha256 = "00vis5kg6km26zaq1ywz7ki9xvkwpc9c5wn41d01z2i5nldz096d";
+    sha256 = "0jp6hjlra98cnkal4n6bdmr577q8mcyp3c08s3a02c4hjhw5rr0z";
   };
 
   patchPhase = ''
@@ -43,3 +43,4 @@ stdenv.mkDerivation rec {
     license = "LGPLv2+";
   };
 }
+
diff --git a/pkgs/development/libraries/gstreamer/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/gstreamer/default.nix
index 01d5487302ce..5d33e7bff03d 100644
--- a/pkgs/development/libraries/gstreamer/gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/gstreamer/default.nix
@@ -1,14 +1,14 @@
 { fetchurl, stdenv, perl, bison, flex, pkgconfig, glib, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-0.10.35";
+  name = "gstreamer-0.10.36";
 
   src = fetchurl {
     urls =
-      [ "${meta.homepage}/src/gstreamer/${name}.tar.bz2"
-        "mirror://gentoo/distfiles/${name}.tar.bz2"
+      [ "${meta.homepage}/src/gstreamer/${name}.tar.xz"
+        "mirror://gentoo/distfiles/${name}.tar.xz"
       ];
-    sha256 = "11lp13lig3c6qys80phyvsik56r9y0c95vg2jxxliqj6rnigwyw1";
+    sha256 = "1nkid1n2l3rrlmq5qrf5yy06grrkwjh3yxl5g0w58w0pih8allci";
   };
 
   buildInputs = [ perl bison flex pkgconfig ];
diff --git a/pkgs/development/libraries/gtk+/2.24.x.nix b/pkgs/development/libraries/gtk+/2.24.x.nix
index 12b270d637b0..2bf657e04e77 100644
--- a/pkgs/development/libraries/gtk+/2.24.x.nix
+++ b/pkgs/development/libraries/gtk+/2.24.x.nix
@@ -7,24 +7,18 @@
 assert xineramaSupport -> xlibs.libXinerama != null;
 assert cupsSupport -> cups != null;
 
-stdenv.mkDerivation {
-  name = "gtk+-2.24.10";
+stdenv.mkDerivation rec {
+  name = "gtk+-2.24.13";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gtk+/2.24/gtk+-2.24.10.tar.xz;
-    sha256 = "128fb8vmsqmfmpf1r8na65281jwkqix4q7wix399xqfnp4dy6mpa";
+    url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz";
+    sha256 = "35e1a01e46b02970b02ee9f299390d0aa57c1215ad2667bcd584b72f4ea6513d";
   };
 
-  patches =
-    [ # Fix broken icons such as the back/forward buttons in Firefox.
-      # http://bugs.gentoo.org/339319
-      ./old-icons.patch
-    ];
-
   enableParallelBuilding = true;
-  
+
   buildNativeInputs = [ perl pkgconfig ];
-  
+
   propagatedBuildInputs =
     [ xlibs.xlibs glib atk pango gdk_pixbuf cairo
       xlibs.libXrandr xlibs.libXrender xlibs.libXcomposite xlibs.libXi
@@ -35,7 +29,7 @@ stdenv.mkDerivation {
   configureFlags = "--with-xinput=yes";
 
   postInstall = "rm -rf $out/share/gtk-doc";
-  
+
   meta = {
     description = "A multi-platform toolkit for creating graphical user interfaces";
 
diff --git a/pkgs/development/libraries/gtk+/3.2.x.nix b/pkgs/development/libraries/gtk+/3.2.x.nix
index df59c0176260..9f333c03fabf 100644
--- a/pkgs/development/libraries/gtk+/3.2.x.nix
+++ b/pkgs/development/libraries/gtk+/3.2.x.nix
@@ -8,11 +8,11 @@ assert xineramaSupport -> xlibs.libXinerama != null;
 assert cupsSupport -> cups != null;
 
 stdenv.mkDerivation rec {
-  name = "gtk+-3.2.3";
+  name = "gtk+-3.2.4";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gtk+/3.2/gtk+-3.2.3.tar.xz;
-    sha256 = "0g8x2kcqq17bccm4yszim837saj73zfk66ia2azcgfqfa7r21kz2";
+    url = "mirror://gnome/sources/gtk+/3.2/${name}.tar.xz";
+    sha256 = "f981bf514858c00d7084bd6f6c34b3c60b8aebdb959e7aca6faa59ed67c136bd";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/gtk+/old-icons.patch b/pkgs/development/libraries/gtk+/old-icons.patch
deleted file mode 100644
index e53d87474d07..000000000000
--- a/pkgs/development/libraries/gtk+/old-icons.patch
+++ /dev/null
@@ -1,270 +0,0 @@
-diff -ru gtk+-2.24.5-orig/gtk/Makefile.in gtk+-2.24.5/gtk/Makefile.in
---- gtk+-2.24.5-orig/gtk/Makefile.in	2011-06-16 01:56:37.000000000 +0200
-+++ gtk+-2.24.5/gtk/Makefile.in	2011-07-07 15:38:06.000000000 +0200
-@@ -1616,7 +1616,173 @@
- 	stock-icons/24/folder-remote.png 		\
- 	stock-icons/24/user-home.png 			\
- 	stock-icons/24/user-desktop.png 		\
--	stock-icons/24/text-x-generic.png
-+	stock-icons/24/text-x-generic.png		\
-+	stock-icons/16/gtk-quit.png			\
-+	stock-icons/16/gtk-info.png			\
-+	stock-icons/16/gtk-file.png			\
-+	stock-icons/16/gtk-open.png			\
-+	stock-icons/16/gtk-print-preview.png		\
-+	stock-icons/16/gtk-print.png			\
-+	stock-icons/16/gtk-properties.png		\
-+	stock-icons/16/gtk-revert-to-saved-ltr.png	\
-+	stock-icons/16/gtk-revert-to-saved-rtl.png	\
-+	stock-icons/16/gtk-save-as.png			\
-+	stock-icons/16/gtk-new.png			\
-+	stock-icons/16/gtk-harddisk.png			\
-+	stock-icons/16/gtk-clear.png			\
-+	stock-icons/16/gtk-copy.png			\
-+	stock-icons/16/gtk-cut.png			\
-+	stock-icons/16/gtk-delete.png			\
-+	stock-icons/16/gtk-find-and-replace.png		\
-+	stock-icons/16/gtk-find.png			\
-+	stock-icons/16/gtk-paste.png			\
-+	stock-icons/16/gtk-redo-ltr.png			\
-+	stock-icons/16/gtk-redo-rtl.png			\
-+	stock-icons/16/gtk-select-all.png		\
-+	stock-icons/16/gtk-undo-ltr.png			\
-+	stock-icons/16/gtk-undo-rtl.png			\
-+	stock-icons/16/gtk-directory.png		\
-+	stock-icons/16/gtk-unindent-ltr.png		\
-+	stock-icons/16/gtk-unindent-rtl.png		\
-+	stock-icons/16/gtk-indent-ltr.png		\
-+	stock-icons/16/gtk-indent-rtl.png		\
-+	stock-icons/16/gtk-justify-center.png		\
-+	stock-icons/16/gtk-justify-fill.png		\
-+	stock-icons/16/gtk-justify-left.png		\
-+	stock-icons/16/gtk-justify-right.png		\
-+	stock-icons/16/gtk-bold.png			\
-+	stock-icons/16/gtk-italic.png			\
-+	stock-icons/16/gtk-strikethrough.png		\
-+	stock-icons/16/gtk-underline.png		\
-+	stock-icons/16/gtk-goto-bottom.png		\
-+	stock-icons/16/gtk-go-down.png			\
-+	stock-icons/16/gtk-goto-first-ltr.png		\
-+	stock-icons/16/gtk-home.png			\
-+	stock-icons/16/gtk-jump-to-ltr.png		\
-+	stock-icons/16/gtk-jump-to-rtl.png		\
-+	stock-icons/16/gtk-goto-last-ltr.png		\
-+	stock-icons/16/gtk-go-forward-ltr.png		\
-+	stock-icons/16/gtk-go-back-ltr.png		\
-+	stock-icons/16/gtk-goto-top.png			\
-+	stock-icons/16/gtk-go-up.png			\
-+	stock-icons/16/gtk-about.png			\
-+	stock-icons/16/gtk-help.png			\
-+	stock-icons/16/gtk-missing-image.png		\
-+	stock-icons/16/gtk-add.png			\
-+	stock-icons/16/gtk-remove.png			\
-+	stock-icons/16/gtk-floppy.png			\
-+	stock-icons/16/gtk-cdrom.png			\
-+	stock-icons/16/gtk-media-pause.png		\
-+	stock-icons/16/gtk-media-play-ltr.png		\
-+	stock-icons/16/gtk-media-play-rtl.png		\
-+	stock-icons/16/gtk-media-stop.png		\
-+	stock-icons/16/gtk-media-record.png		\
-+	stock-icons/16/gtk-media-rewind-ltr.png		\
-+	stock-icons/16/gtk-media-forward-ltr.png	\
-+	stock-icons/16/gtk-media-previous-ltr.png	\
-+	stock-icons/16/gtk-media-next-ltr.png		\
-+	stock-icons/16/gtk-network.png			\
-+	stock-icons/16/gtk-print-error.png		\
-+	stock-icons/16/gtk-print-report.png		\
-+	stock-icons/16/gtk-print-paused.png		\
-+	stock-icons/16/gtk-print-warning.png		\
-+	stock-icons/16/gtk-stop.png			\
-+	stock-icons/16/gtk-execute.png			\
-+	stock-icons/16/gtk-spell-check.png		\
-+	stock-icons/16/gtk-fullscreen.png		\
-+	stock-icons/16/gtk-refresh.png			\
-+	stock-icons/16/gtk-leave-fullscreen.png		\
-+	stock-icons/16/gtk-sort-ascending.png		\
-+	stock-icons/16/gtk-sort-descending.png		\
-+	stock-icons/16/gtk-close.png			\
-+	stock-icons/16/gtk-zoom-fit.png			\
-+	stock-icons/16/gtk-zoom-in.png			\
-+	stock-icons/16/gtk-zoom-100.png			\
-+	stock-icons/16/gtk-zoom-out.png			\
-+	stock-icons/24/gtk-quit.png			\
-+	stock-icons/24/gtk-info.png			\
-+	stock-icons/24/gtk-file.png			\
-+	stock-icons/24/gtk-open.png			\
-+	stock-icons/24/gtk-print-preview.png		\
-+	stock-icons/24/gtk-print.png			\
-+	stock-icons/24/gtk-properties.png		\
-+	stock-icons/24/gtk-revert-to-saved-ltr.png	\
-+	stock-icons/24/gtk-revert-to-saved-rtl.png	\
-+	stock-icons/24/gtk-save-as.png			\
-+	stock-icons/24/gtk-new.png			\
-+	stock-icons/24/gtk-harddisk.png			\
-+	stock-icons/24/gtk-clear.png			\
-+	stock-icons/24/gtk-copy.png			\
-+	stock-icons/24/gtk-cut.png			\
-+	stock-icons/24/gtk-delete.png			\
-+	stock-icons/24/gtk-find-and-replace.png		\
-+	stock-icons/24/gtk-find.png			\
-+	stock-icons/24/gtk-paste.png			\
-+	stock-icons/24/gtk-redo-ltr.png			\
-+	stock-icons/24/gtk-redo-rtl.png			\
-+	stock-icons/24/gtk-select-all.png		\
-+	stock-icons/24/gtk-undo-ltr.png			\
-+	stock-icons/24/gtk-undo-rtl.png			\
-+	stock-icons/24/gtk-directory.png		\
-+	stock-icons/24/gtk-unindent-ltr.png		\
-+	stock-icons/24/gtk-unindent-rtl.png		\
-+	stock-icons/24/gtk-indent-ltr.png		\
-+	stock-icons/24/gtk-indent-rtl.png		\
-+	stock-icons/24/gtk-justify-center.png		\
-+	stock-icons/24/gtk-justify-fill.png		\
-+	stock-icons/24/gtk-justify-left.png		\
-+	stock-icons/24/gtk-justify-right.png		\
-+	stock-icons/24/gtk-bold.png			\
-+	stock-icons/24/gtk-italic.png			\
-+	stock-icons/24/gtk-strikethrough.png		\
-+	stock-icons/24/gtk-underline.png		\
-+	stock-icons/24/gtk-goto-bottom.png		\
-+	stock-icons/24/gtk-go-down.png			\
-+	stock-icons/24/gtk-goto-first-ltr.png		\
-+	stock-icons/24/gtk-home.png			\
-+	stock-icons/24/gtk-jump-to-ltr.png		\
-+	stock-icons/24/gtk-jump-to-rtl.png		\
-+	stock-icons/24/gtk-goto-last-ltr.png		\
-+	stock-icons/24/gtk-go-forward-ltr.png		\
-+	stock-icons/24/gtk-go-back-ltr.png		\
-+	stock-icons/24/gtk-goto-top.png			\
-+	stock-icons/24/gtk-go-up.png			\
-+	stock-icons/24/gtk-about.png			\
-+	stock-icons/24/gtk-help.png			\
-+	stock-icons/24/gtk-missing-image.png		\
-+	stock-icons/24/gtk-add.png			\
-+	stock-icons/24/gtk-remove.png			\
-+	stock-icons/24/gtk-floppy.png			\
-+	stock-icons/24/gtk-cdrom.png			\
-+	stock-icons/24/gtk-media-pause.png		\
-+	stock-icons/24/gtk-media-play-ltr.png		\
-+	stock-icons/24/gtk-media-play-rtl.png		\
-+	stock-icons/24/gtk-media-stop.png		\
-+	stock-icons/24/gtk-media-record.png		\
-+	stock-icons/24/gtk-media-rewind-ltr.png		\
-+	stock-icons/24/gtk-media-forward-ltr.png	\
-+	stock-icons/24/gtk-media-previous-ltr.png	\
-+	stock-icons/24/gtk-media-next-ltr.png		\
-+	stock-icons/24/gtk-network.png			\
-+	stock-icons/24/gtk-print-error.png		\
-+	stock-icons/24/gtk-print-report.png		\
-+	stock-icons/24/gtk-print-paused.png		\
-+	stock-icons/24/gtk-print-warning.png		\
-+	stock-icons/24/gtk-stop.png			\
-+	stock-icons/24/gtk-execute.png			\
-+	stock-icons/24/gtk-spell-check.png		\
-+	stock-icons/24/gtk-fullscreen.png		\
-+	stock-icons/24/gtk-refresh.png			\
-+	stock-icons/24/gtk-leave-fullscreen.png		\
-+	stock-icons/24/gtk-sort-ascending.png		\
-+	stock-icons/24/gtk-sort-descending.png		\
-+	stock-icons/24/gtk-close.png			\
-+	stock-icons/24/gtk-zoom-fit.png			\
-+	stock-icons/24/gtk-zoom-in.png			\
-+	stock-icons/24/gtk-zoom-100.png			\
-+	stock-icons/24/gtk-zoom-out.png			\
-+	stock-icons/48/gtk-dialog-error.png
-+
- 
- @CROSS_COMPILING_FALSE@gtk_update_icon_cache_program = \
- @CROSS_COMPILING_FALSE@	   ./gtk-update-icon-cache
-@@ -2887,7 +3053,91 @@
- 	   && $(LN_S) folder.png user-desktop.png 			\
- 	   && $(RM) user-home.png 					\
- 	   && $(LN_S) folder.png user-home.png 				\
-+	   && $(LN_S) application-exit.png gtk-quit.png			\
-+	   && $(LN_S) dialog-information.png gtk-info.png			\
-+	   && $(LN_S) document-new.png gtk-file.png			\
-+	   && $(LN_S) document-open.png gtk-open.png			\
-+	   && $(LN_S) document-print-preview.png gtk-print-preview.png			\
-+	   && $(LN_S) document-print.png gtk-print.png			\
-+	   && $(LN_S) document-properties.png gtk-properties.png			\
-+	   && $(LN_S) document-revert-ltr.png gtk-revert-to-saved-ltr.png			\
-+	   && $(LN_S) document-revert-rtl.png gtk-revert-to-saved-rtl.png			\
-+	   && $(LN_S) document-save-as.png gtk-save-as.png			\
-+	   && $(LN_S) document-x-generic.png gtk-new.png			\
-+	   && $(LN_S) drive-harddisk.png gtk-harddisk.png			\
-+	   && $(LN_S) edit-clear.png gtk-clear.png			\
-+	   && $(LN_S) edit-copy.png gtk-copy.png			\
-+	   && $(LN_S) edit-cut.png gtk-cut.png			\
-+	   && $(LN_S) edit-delete.png gtk-delete.png			\
-+	   && $(LN_S) edit-find-replace.png gtk-find-and-replace.png			\
-+	   && $(LN_S) edit-find.png gtk-find.png			\
-+	   && $(LN_S) edit-paste.png gtk-paste.png			\
-+	   && $(LN_S) edit-redo-ltr.png gtk-redo-ltr.png			\
-+	   && $(LN_S) edit-redo-rtl.png gtk-redo-rtl.png			\
-+	   && $(LN_S) edit-select-all.png gtk-select-all.png			\
-+	   && $(LN_S) edit-undo-ltr.png gtk-undo-ltr.png			\
-+	   && $(LN_S) edit-undo-rtl.png gtk-undo-rtl.png			\
-+	   && $(LN_S) folder.png gtk-directory.png			\
-+	   && $(LN_S) format-indent-less-ltr.png gtk-unindent-ltr.png			\
-+	   && $(LN_S) format-indent-less-rtl.png gtk-unindent-rtl.png			\
-+	   && $(LN_S) format-indent-more-ltr.png gtk-indent-ltr.png			\
-+	   && $(LN_S) format-indent-more-rtl.png gtk-indent-rtl.png			\
-+	   && $(LN_S) format-justify-center.png gtk-justify-center.png			\
-+	   && $(LN_S) format-justify-fill.png gtk-justify-fill.png			\
-+	   && $(LN_S) format-justify-left.png gtk-justify-left.png			\
-+	   && $(LN_S) format-justify-right.png gtk-justify-right.png			\
-+	   && $(LN_S) format-text-bold.png gtk-bold.png			\
-+	   && $(LN_S) format-text-italic.png gtk-italic.png			\
-+	   && $(LN_S) format-text-strikethrough.png gtk-strikethrough.png			\
-+	   && $(LN_S) format-text-underline.png gtk-underline.png			\
-+	   && $(LN_S) go-bottom.png gtk-goto-bottom.png			\
-+	   && $(LN_S) go-down.png gtk-go-down.png			\
-+	   && $(LN_S) go-first-ltr.png gtk-goto-first-ltr.png			\
-+	   && $(LN_S) go-home.png gtk-home.png			\
-+	   && $(LN_S) go-jump-ltr.png gtk-jump-to-ltr.png			\
-+	   && $(LN_S) go-jump-rtl.png gtk-jump-to-rtl.png			\
-+	   && $(LN_S) go-last-ltr.png gtk-goto-last-ltr.png			\
-+	   && $(LN_S) go-next-ltr.png gtk-go-forward-ltr.png			\
-+	   && $(LN_S) go-previous-ltr.png gtk-go-back-ltr.png			\
-+	   && $(LN_S) go-top.png gtk-goto-top.png			\
-+	   && $(LN_S) go-up.png gtk-go-up.png			\
-+	   && $(LN_S) help-about.png gtk-about.png			\
-+	   && $(LN_S) help-contents.png gtk-help.png			\
-+	   && $(LN_S) image-missing.png gtk-missing-image.png			\
-+	   && $(LN_S) list-add.png gtk-add.png			\
-+	   && $(LN_S) list-remove.png gtk-remove.png			\
-+	   && $(LN_S) media-floppy.png gtk-floppy.png			\
-+	   && $(LN_S) media-optical.png gtk-cdrom.png			\
-+	   && $(LN_S) media-playback-pause.png gtk-media-pause.png			\
-+	   && $(LN_S) media-playback-start-ltr.png gtk-media-play-ltr.png			\
-+	   && $(LN_S) media-playback-start-rtl.png gtk-media-play-rtl.png			\
-+	   && $(LN_S) media-playback-stop.png gtk-media-stop.png			\
-+	   && $(LN_S) media-record.png gtk-media-record.png			\
-+	   && $(LN_S) media-seek-backward-ltr.png gtk-media-rewind-ltr.png			\
-+	   && $(LN_S) media-seek-forward-ltr.png gtk-media-forward-ltr.png			\
-+	   && $(LN_S) media-skip-backward-ltr.png gtk-media-previous-ltr.png			\
-+	   && $(LN_S) media-skip-forward-ltr.png gtk-media-next-ltr.png			\
-+	   && $(LN_S) network-idle.png gtk-network.png			\
-+	   && $(LN_S) printer-error.png gtk-print-error.png			\
-+	   && $(LN_S) printer-info.png gtk-print-report.png			\
-+	   && $(LN_S) printer-paused.png gtk-print-paused.png			\
-+	   && $(LN_S) printer-warning.png gtk-print-warning.png			\
-+	   && $(LN_S) process-stop.png gtk-stop.png			\
-+	   && $(LN_S) system-run.png gtk-execute.png			\
-+	   && $(LN_S) tools-check-spelling.png gtk-spell-check.png			\
-+	   && $(LN_S) view-fullscreen.png gtk-fullscreen.png			\
-+	   && $(LN_S) view-refresh.png gtk-refresh.png			\
-+	   && $(LN_S) view-restore.png gtk-leave-fullscreen.png			\
-+	   && $(LN_S) view-sort-ascending.png gtk-sort-ascending.png			\
-+	   && $(LN_S) view-sort-descending.png gtk-sort-descending.png			\
-+	   && $(LN_S) window-close.png gtk-close.png			\
-+	   && $(LN_S) zoom-fit-best.png gtk-zoom-fit.png			\
-+	   && $(LN_S) zoom-in.png gtk-zoom-in.png			\
-+	   && $(LN_S) zoom-original.png gtk-zoom-100.png			\
-+	   && $(LN_S) zoom-out.png gtk-zoom-out.png			\
- 	) done 								\
-+	&& (cd stock-icons/48						\
-+	   && $(LN_S) dialog-error.png gtk-dialog-error.png)		\
- 	&& touch stamp-icons
- 
- gtkbuiltincache.h: @REBUILD@ stamp-icons
diff --git a/pkgs/development/libraries/gupnp-igd/default.nix b/pkgs/development/libraries/gupnp-igd/default.nix
index bd930e5ecf64..a8bb065d7eb8 100644
--- a/pkgs/development/libraries/gupnp-igd/default.nix
+++ b/pkgs/development/libraries/gupnp-igd/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "gupnp-igd-0.2.1";
 
   src = fetchurl {
-    url = "http://www.gupnp.org/sites/all/files/sources/${name}.tar.gz";
+    url = https://launchpad.net/ubuntu/+archive/primary/+files/gupnp-igd_0.2.1.orig.tar.gz;
     sha256 = "18ia8l24hbylz3dnbg2jf848bmbx0hjkq4fkwzzfn57z021f0fh2";
   };
 
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
new file mode 100644
index 000000000000..5755e747a6b5
--- /dev/null
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, pkgconfig, glib, freetype }:
+
+stdenv.mkDerivation rec {
+  name = "harfbuzz-0.9.4";
+
+  src = fetchurl {
+    url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2";
+    sha256 = "2572f9a810d17a735ef565115463827d075af2371ee5b68e6d77231381f4bddc";
+  };
+
+  buildInputs = [ pkgconfig glib freetype ];
+
+  meta = {
+    description = "An OpenType text shaping engine";
+    homepage = http://www.freedesktop.org/wiki/Software/HarfBuzz;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/haskell/Agda/default.nix b/pkgs/development/libraries/haskell/Agda/default.nix
index b598accffc60..a9d05596495c 100644
--- a/pkgs/development/libraries/haskell/Agda/default.nix
+++ b/pkgs/development/libraries/haskell/Agda/default.nix
@@ -1,19 +1,20 @@
-{ cabal, alex, binary, filepath, happy, hashable, hashtables
-, haskeline, haskellSrcExts, mtl, QuickCheck, syb, xhtml, zlib
+{ cabal, alex, binary, deepseq, filepath, geniplate, happy
+, hashable, hashtables, haskeline, haskellSrcExts, mtl, parallel
+, QuickCheck, text, unorderedContainers, xhtml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "Agda";
-  version = "2.3.0.1";
-  sha256 = "0f2kc3by2z01g8bqc446hyzx9sidx6qi0p7h5bcpjf8iryk1dh2w";
+  version = "2.3.2";
+  sha256 = "1xp0qvag6wx6zjwhmb7nm13hp63vlh8h4a2rkc85rsh610m0nynl";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    binary filepath hashable hashtables haskeline haskellSrcExts mtl
-    QuickCheck syb xhtml zlib
+    binary deepseq filepath geniplate hashable hashtables haskeline
+    haskellSrcExts mtl parallel QuickCheck text unorderedContainers
+    xhtml zlib
   ];
   buildTools = [ alex happy ];
-  jailbreak = true;
   meta = {
     homepage = "http://wiki.portal.chalmers.se/agda/";
     description = "A dependently typed functional programming language and proof assistant";
diff --git a/pkgs/development/libraries/haskell/Boolean/default.nix b/pkgs/development/libraries/haskell/Boolean/default.nix
index 58bdf8b9970a..45661b815b1e 100644
--- a/pkgs/development/libraries/haskell/Boolean/default.nix
+++ b/pkgs/development/libraries/haskell/Boolean/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Boolean";
-  version = "0.0.1";
-  sha256 = "dafcfb2e9d7f7aa24a3d3ceb385424176297cdf6f6044028d42d0fea1cae7765";
+  version = "0.1.1";
+  sha256 = "1id075slxgz67gv382vpr7cr19i59bjajvb60iv2xrhh73gp08yv";
   meta = {
     description = "Generalized booleans";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/Cabal/1.16.0.3.nix b/pkgs/development/libraries/haskell/Cabal/1.16.0.3.nix
new file mode 100644
index 000000000000..68b985507b6f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Cabal/1.16.0.3.nix
@@ -0,0 +1,15 @@
+{ cabal, filepath }:
+
+cabal.mkDerivation (self: {
+  pname = "Cabal";
+  version = "1.16.0.3";
+  sha256 = "11lzqgdjaix8n7nabmafl3jf9gisb04c025cmdycfihfajfn49zg";
+  buildDepends = [ filepath ];
+  meta = {
+    homepage = "http://www.haskell.org/cabal/";
+    description = "A framework for packaging Haskell software";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Crypto/default.nix b/pkgs/development/libraries/haskell/Crypto/default.nix
index f6f06b9c283d..f93fbdcb6796 100644
--- a/pkgs/development/libraries/haskell/Crypto/default.nix
+++ b/pkgs/development/libraries/haskell/Crypto/default.nix
@@ -11,9 +11,6 @@ cabal.mkDerivation (self: {
     description = "Collects together existing Haskell cryptographic functions into a package";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/DAV/default.nix b/pkgs/development/libraries/haskell/DAV/default.nix
new file mode 100644
index 000000000000..2ab6e29e226a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/DAV/default.nix
@@ -0,0 +1,22 @@
+{ cabal, caseInsensitive, cmdargs, httpConduit, httpTypes, lens
+, liftedBase, mtl, network, resourcet, transformers, xmlConduit
+, xmlHamlet
+}:
+
+cabal.mkDerivation (self: {
+  pname = "DAV";
+  version = "0.2";
+  sha256 = "0g9b72ia4h85ykbng6103wc8f218fj9fdvm1896yx999vr95kxw4";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    caseInsensitive cmdargs httpConduit httpTypes lens liftedBase mtl
+    network resourcet transformers xmlConduit xmlHamlet
+  ];
+  meta = {
+    homepage = "http://floss.scru.org/hDAV";
+    description = "RFC 4918 WebDAV support";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/DSH/default.nix b/pkgs/development/libraries/haskell/DSH/default.nix
index 725fe95cc8d8..32cf21242de6 100644
--- a/pkgs/development/libraries/haskell/DSH/default.nix
+++ b/pkgs/development/libraries/haskell/DSH/default.nix
@@ -1,15 +1,10 @@
-{ cabal, convertible, csv, FerryCore, HaXml, HDBC, json, mtl
-, Pathfinder, syb, text, xhtml
-}:
+{ cabal, csv, FerryCore, HaXml, HDBC, mtl, Pathfinder, text }:
 
 cabal.mkDerivation (self: {
   pname = "DSH";
-  version = "0.7.8.1";
-  sha256 = "1yz8rh3hkqc465slfzi7jqhjd1xrmcghjxl7zprxw082p2qvj8g5";
-  buildDepends = [
-    convertible csv FerryCore HaXml HDBC json mtl Pathfinder syb text
-    xhtml
-  ];
+  version = "0.8.2.2";
+  sha256 = "0hjy8c97avi4wwv3p9gyml66n34mbrfrhb19j5y6vcy0y8ysgf0c";
+  buildDepends = [ csv FerryCore HaXml HDBC mtl Pathfinder text ];
   meta = {
     description = "Database Supported Haskell";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/GLFW/default.nix b/pkgs/development/libraries/haskell/GLFW/default.nix
index 59095ba7927d..f204bcdf6554 100644
--- a/pkgs/development/libraries/haskell/GLFW/default.nix
+++ b/pkgs/development/libraries/haskell/GLFW/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "GLFW";
-  version = "0.5.0.1";
-  sha256 = "1zjxw0fn1am9n4bwqn8jwp14cdgyg1cv5v8rrg2bisggw7wdc4c6";
+  version = "0.5.1.0";
+  sha256 = "190d75w84y9gayxvdz13dnzpyflc5qy4vdg5iv9p2dpcamcih3km";
   buildDepends = [ OpenGL ];
   extraLibraries = [ libX11 mesa ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/GLURaw/default.nix b/pkgs/development/libraries/haskell/GLURaw/default.nix
index 459c7b99e5c7..d719e8179d45 100644
--- a/pkgs/development/libraries/haskell/GLURaw/default.nix
+++ b/pkgs/development/libraries/haskell/GLURaw/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "GLURaw";
-  version = "1.2.0.0";
-  sha256 = "06dsazj3zadjahwy926gnjngqg8cb1mhdxh8bg5f3axf3hsvxqp1";
+  version = "1.3.0.0";
+  sha256 = "1sh87jz9161svsf719y63cr21wf4d7wpbz75g2c2xss301qhafg0";
   buildDepends = [ OpenGLRaw ];
   extraLibraries = [ freeglut mesa ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/GLUT/2.3.0.0.nix b/pkgs/development/libraries/haskell/GLUT/2.3.1.0.nix
index 7725d1c8303e..d65dfa15c6f3 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.3.0.0.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.3.1.0.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "GLUT";
-  version = "2.3.0.0";
-  sha256 = "10rh57w3lx8fs0xy24lqilv5a5sgq57kshydja41r6fq9wdvwp99";
+  version = "2.3.1.0";
+  sha256 = "1ijx636py7gpm79r0qjsv8f4pw3m1cgz80gnn3qghs3lw0l8f1ci";
   buildDepends = [ OpenGL OpenGLRaw StateVar Tensor ];
   extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/HStringTemplate/default.nix b/pkgs/development/libraries/haskell/HStringTemplate/default.nix
index 6754c15f3f49..c2c4f70b47ee 100644
--- a/pkgs/development/libraries/haskell/HStringTemplate/default.nix
+++ b/pkgs/development/libraries/haskell/HStringTemplate/default.nix
@@ -1,13 +1,14 @@
-{ cabal, deepseq, filepath, mtl, parsec, syb, sybWithClass, text
-, time, utf8String
+{ cabal, blazeBuilder, deepseq, filepath, mtl, parsec, syb
+, sybWithClass, text, time, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "HStringTemplate";
-  version = "0.6.9";
-  sha256 = "0xa665q5gya51vjkg1i6f6qk67jx28xcbxs5v1d9yr1f8djh5d9v";
+  version = "0.6.12";
+  sha256 = "02jx02qbs4jxpf1s8nzc9lbaz0flkfcy6xj475v77i45xc1hc71p";
   buildDepends = [
-    deepseq filepath mtl parsec syb sybWithClass text time utf8String
+    blazeBuilder deepseq filepath mtl parsec syb sybWithClass text time
+    utf8String
   ];
   meta = {
     description = "StringTemplate implementation in Haskell";
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.4.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.5.nix
index 6f7b57ba64c1..f345e7c98e1c 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.4.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.5.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "HTTP";
-  version = "4000.2.4";
-  sha256 = "1riqz69mnzl2xnbkk8s798xkizvcly3hcpigshbhpa57q016labi";
+  version = "4000.2.5";
+  sha256 = "03ij1zkykc438x2r1szz6ddvfhrjywlx61nrz377srcpbdmhxpb7";
   buildDepends = [ mtl network parsec ];
   meta = {
     homepage = "https://github.com/haskell/HTTP";
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.6.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.6.nix
new file mode 100644
index 000000000000..2c85ec7cd9e6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.6.nix
@@ -0,0 +1,15 @@
+{ cabal, mtl, network, parsec }:
+
+cabal.mkDerivation (self: {
+  pname = "HTTP";
+  version = "4000.2.6";
+  sha256 = "0rycwrn9cq9mrsgxkbx373zjvmzg4hd8hzclya6ipd3jda1w5r92";
+  buildDepends = [ mtl network parsec ];
+  meta = {
+    homepage = "https://github.com/haskell/HTTP";
+    description = "A library for client-side HTTP";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/JuicyPixels/default.nix b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
index a99f8295c60f..1f7d9067e751 100644
--- a/pkgs/development/libraries/haskell/JuicyPixels/default.nix
+++ b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
@@ -4,14 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "JuicyPixels";
-  version = "1.3";
-  sha256 = "07wljfag4ylw16wdi7znjb61pfihdik5d7p4h2lmz6xirm4mjzrm";
+  version = "2.0.2";
+  sha256 = "14nqifdsdhzlfq29waqlwspyy37gp174vw368ph772zp9b0ngyff";
   buildDepends = [
     cereal deepseq mtl primitive transformers vector zlib
   ];
   meta = {
     homepage = "https://github.com/Twinside/Juicy.Pixels";
-    description = "Picture loading/serialization (in png, jpeg and bitmap)";
+    description = "Picture loading/serialization (in png, jpeg, bitmap and gif)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
diff --git a/pkgs/development/libraries/haskell/List/default.nix b/pkgs/development/libraries/haskell/List/default.nix
new file mode 100644
index 000000000000..65c90c0824ea
--- /dev/null
+++ b/pkgs/development/libraries/haskell/List/default.nix
@@ -0,0 +1,14 @@
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "List";
+  version = "0.5.1";
+  sha256 = "1hgkal8jh035bs0z6z8i899dc0888fhdx8940y27aaxxbmlzfy1p";
+  buildDepends = [ transformers ];
+  meta = {
+    homepage = "http://github.com/yairchu/generator/tree";
+    description = "List monad transformer and class";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ListLike/default.nix b/pkgs/development/libraries/haskell/ListLike/default.nix
index 58595edf744a..2fa427b1f57e 100644
--- a/pkgs/development/libraries/haskell/ListLike/default.nix
+++ b/pkgs/development/libraries/haskell/ListLike/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ListLike";
-  version = "3.1.6";
-  sha256 = "0ij6yb80dv841zn23lp6251avzmljzmy4j25r7w6h55y32y7gq46";
+  version = "3.1.7.1";
+  sha256 = "1g3i8iz71x3j41ji9xsbh84v5hj3mxls0zqnx27sb31mx6bic4w1";
   isLibrary = true;
   isExecutable = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/ListZipper/default.nix b/pkgs/development/libraries/haskell/ListZipper/default.nix
new file mode 100644
index 000000000000..d7307bde5d71
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ListZipper/default.nix
@@ -0,0 +1,13 @@
+{ cabal, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "ListZipper";
+  version = "1.2.0.2";
+  sha256 = "0z3izxpl21fxz43jpx7zqs965anb3gp5vidv3pwwznr88ss2j6a9";
+  buildDepends = [ QuickCheck ];
+  meta = {
+    description = "Simple zipper for lists";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/MissingH/default.nix b/pkgs/development/libraries/haskell/MissingH/default.nix
index 52e26fe1f839..659a1158d0f3 100644
--- a/pkgs/development/libraries/haskell/MissingH/default.nix
+++ b/pkgs/development/libraries/haskell/MissingH/default.nix
@@ -1,15 +1,15 @@
 { cabal, filepath, hslogger, HUnit, mtl, network, parsec, random
-, regexCompat
+, regexCompat, time
 }:
 
 cabal.mkDerivation (self: {
   pname = "MissingH";
-  version = "1.1.1.0";
-  sha256 = "1i2fdr6p0jnn9w865ngjcchbsamrvnvdf9c4vzhjhzy500z2k1ry";
+  version = "1.2.0.0";
+  sha256 = "0bqg1j2pvm0ixrbnsxrr5kgibhbp191irhcavqlwfwgaxhrpqnm1";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    filepath hslogger HUnit mtl network parsec random regexCompat
+    filepath hslogger HUnit mtl network parsec random regexCompat time
   ];
   meta = {
     homepage = "http://software.complete.org/missingh";
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.5.0.0.nix b/pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix
index 9d8c1bb29ae7..318bdf197486 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.5.0.0.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "OpenGL";
-  version = "2.5.0.0";
-  sha256 = "1kpakn5i4aka67mqcpfq9jpl38h409x63zd14y35abpm6h3x8m3j";
+  version = "2.6.0.1";
+  sha256 = "1fpabhpjfl1bj0dhlj2sg8zsn3l6py4zw1arplwmqalz3xbkkgdi";
   buildDepends = [ GLURaw ObjectName OpenGLRaw StateVar Tensor ];
   extraLibraries = [ libX11 mesa ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/OpenGLRaw/default.nix b/pkgs/development/libraries/haskell/OpenGLRaw/default.nix
index b51e12eab658..a6a45bf5b248 100644
--- a/pkgs/development/libraries/haskell/OpenGLRaw/default.nix
+++ b/pkgs/development/libraries/haskell/OpenGLRaw/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "OpenGLRaw";
-  version = "1.2.0.0";
-  sha256 = "1nwk93wlwh7gz2lb1dc88frmwik71g61a7k8xfiib2q5a8a8kf9r";
+  version = "1.3.0.0";
+  sha256 = "0ifp5inrm48hzpq0x9hlk5cxh2k64y05phmsdb5hydb7r6dcla32";
   extraLibraries = [ mesa ];
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Opengl";
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.5.nix b/pkgs/development/libraries/haskell/QuickCheck/2.5.1.1.nix
index 127d90ca5e7d..24e16a4955f5 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/2.5.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.5.1.1.nix
@@ -1,10 +1,10 @@
-{ cabal, extensibleExceptions, random }:
+{ cabal, random }:
 
 cabal.mkDerivation (self: {
   pname = "QuickCheck";
-  version = "2.5";
-  sha256 = "0a4ibyw5abm7ds6pds41147phjkccx8v60vqdj05c5n28hbzbgbh";
-  buildDepends = [ extensibleExceptions random ];
+  version = "2.5.1.1";
+  sha256 = "1ff2mhm27l8cc8nrsbw2z65dc9m7h879jykl5g7yqip5l88j0jcq";
+  buildDepends = [ random ];
   meta = {
     homepage = "http://code.haskell.org/QuickCheck";
     description = "Automatic testing of Haskell programs";
diff --git a/pkgs/development/libraries/haskell/RSA/default.nix b/pkgs/development/libraries/haskell/RSA/default.nix
index ed14a3e8d19b..c5257c5b2620 100644
--- a/pkgs/development/libraries/haskell/RSA/default.nix
+++ b/pkgs/development/libraries/haskell/RSA/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "RSA";
-  version = "1.2.1.0";
-  sha256 = "14x53xjy4rqdgin6kyrm2b16hb0k599gfiwiwrsyri9mx3f3s1ca";
+  version = "1.2.2.0";
+  sha256 = "0x4an1060slppyccf18isqrdl548ll33xzzqch3qxg285a0mm12m";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/ReadArgs/default.nix b/pkgs/development/libraries/haskell/ReadArgs/default.nix
new file mode 100644
index 000000000000..4b8a513914a1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ReadArgs/default.nix
@@ -0,0 +1,16 @@
+{ cabal, systemFilepath, text }:
+
+cabal.mkDerivation (self: {
+  pname = "ReadArgs";
+  version = "1.2.1";
+  sha256 = "099gg6nq70yf2pl5ya8f083lw8x5rncnv54y2p5jlkdwfwmpmbnv";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ systemFilepath text ];
+  meta = {
+    homepage = "http://github.com/rampion/ReadArgs";
+    description = "Simple command line argument parsing";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/SDL/default.nix b/pkgs/development/libraries/haskell/SDL/default.nix
index a83518f9e10c..62731657e82a 100644
--- a/pkgs/development/libraries/haskell/SDL/default.nix
+++ b/pkgs/development/libraries/haskell/SDL/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "SDL";
-  version = "0.6.3";
-  sha256 = "0m3ick3rw8623ja42yfj4pa57naa6yb20ym8lv252gwb18ghp4sp";
+  version = "0.6.4";
+  sha256 = "1zrfx2nw0k8lfkr6vnwsp5wr3yz62v0bq60p4sdzj7gm01bz92g0";
   extraLibraries = [ SDL ];
   meta = {
     description = "Binding to libSDL";
diff --git a/pkgs/development/libraries/haskell/SHA/default.nix b/pkgs/development/libraries/haskell/SHA/default.nix
index 956b1a8f8a34..ea353c638038 100644
--- a/pkgs/development/libraries/haskell/SHA/default.nix
+++ b/pkgs/development/libraries/haskell/SHA/default.nix
@@ -1,12 +1,16 @@
-{ cabal, binary }:
+{ cabal, binary, QuickCheck, testFramework
+, testFrameworkQuickcheck2
+}:
 
 cabal.mkDerivation (self: {
   pname = "SHA";
-  version = "1.5.1";
-  sha256 = "009c0nabva0c4aq4yhqdmdqmrrjmg8scpy7yz65bbhqnfwnjvdks";
+  version = "1.6.0";
+  sha256 = "0i5x2irk08yr4p428wyqvdysz22jqc3q5qn08wc38pw2xhmc0zzk";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ binary ];
+  buildDepends = [
+    binary QuickCheck testFramework testFrameworkQuickcheck2
+  ];
   meta = {
     description = "Implementations of the SHA suite of message digest functions";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/SafeSemaphore/default.nix b/pkgs/development/libraries/haskell/SafeSemaphore/default.nix
new file mode 100644
index 000000000000..ad161f971024
--- /dev/null
+++ b/pkgs/development/libraries/haskell/SafeSemaphore/default.nix
@@ -0,0 +1,14 @@
+{ cabal, stm }:
+
+cabal.mkDerivation (self: {
+  pname = "SafeSemaphore";
+  version = "0.9.0";
+  sha256 = "1xa30cciw8wmri675kdsz4pb5qwrh592pzylbhawqsvsarf80gz4";
+  buildDepends = [ stm ];
+  meta = {
+    homepage = "https://github.com/ChrisKuklewicz/SafeSemaphore";
+    description = "Much safer replacement for QSemN, QSem, and SampleVar";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Stream/default.nix b/pkgs/development/libraries/haskell/Stream/default.nix
index 83789765ec72..a95b30761373 100644
--- a/pkgs/development/libraries/haskell/Stream/default.nix
+++ b/pkgs/development/libraries/haskell/Stream/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Stream";
-  version = "0.4.6";
-  sha256 = "0ppjcddm8dxxd260dsnzrdijifg4pa66lm401qj4fiddw0b50wzb";
+  version = "0.4.6.1";
+  sha256 = "19z052rd0varq5cbw0i0f0vkbpb40kqg6i93kz2brk6a101q5llp";
   buildDepends = [ lazysmallcheck QuickCheck ];
   meta = {
     description = "A library for manipulating infinite lists";
diff --git a/pkgs/development/libraries/haskell/X11/1.6.0.1.nix b/pkgs/development/libraries/haskell/X11/1.6.0.2.nix
index 4a558d483a36..dff5bca4400b 100644
--- a/pkgs/development/libraries/haskell/X11/1.6.0.1.nix
+++ b/pkgs/development/libraries/haskell/X11/1.6.0.2.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "X11";
-  version = "1.6.0.1";
-  sha256 = "0crbprh4m48l4yvbamgvvzrmm1d94lgbyqv1xsd37r4a3xh7qakz";
+  version = "1.6.0.2";
+  sha256 = "0z1g93k2zbkb9is2zy6pfwp13bv11cvs30b9cz253wjv2liphshw";
   extraLibraries = [
     libX11 libXext libXinerama libXrandr libXrender
   ];
diff --git a/pkgs/development/libraries/haskell/accelerate-cuda/default.nix b/pkgs/development/libraries/haskell/accelerate-cuda/default.nix
index 3772320b0c22..26f2c0a14c06 100644
--- a/pkgs/development/libraries/haskell/accelerate-cuda/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate-cuda/default.nix
@@ -1,15 +1,15 @@
-{ cabal, accelerate, binary, blazeBuilder, cryptohash, cuda
-, fclabels, filepath, hashable, hashtables, languageCQuote
-, mainlandPretty, mtl, srcloc, transformers, unorderedContainers
+{ cabal, accelerate, binary, cryptohash, cuda, fclabels, filepath
+, hashable, hashtables, languageCQuote, mainlandPretty, mtl, srcloc
+, text, transformers, unorderedContainers
 }:
 
 cabal.mkDerivation (self: {
   pname = "accelerate-cuda";
-  version = "0.12.1.1";
-  sha256 = "1kj9i6djjb46ad3dnzk72mf33r8h1mjxljs7x5rf2d658hqk5yfv";
+  version = "0.12.1.2";
+  sha256 = "184rxdp9idvhrqa0k3fqcm3nrgjcs3f53dz7wrhhpfa3iqrr6vd4";
   buildDepends = [
-    accelerate binary blazeBuilder cryptohash cuda fclabels filepath
-    hashable hashtables languageCQuote mainlandPretty mtl srcloc
+    accelerate binary cryptohash cuda fclabels filepath hashable
+    hashtables languageCQuote mainlandPretty mtl srcloc text
     transformers unorderedContainers
   ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/appar/default.nix b/pkgs/development/libraries/haskell/appar/default.nix
new file mode 100644
index 000000000000..4c2f5a9ce464
--- /dev/null
+++ b/pkgs/development/libraries/haskell/appar/default.nix
@@ -0,0 +1,12 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "appar";
+  version = "0.1.4";
+  sha256 = "09jb9ij78fdkz2qk66rw99q19qnm504dpv0yq0pjsl6xwjmndsjq";
+  meta = {
+    description = "A simple applicative parser";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/async/default.nix b/pkgs/development/libraries/haskell/async/2.0.1.3.nix
index a0da6384e958..a0da6384e958 100644
--- a/pkgs/development/libraries/haskell/async/default.nix
+++ b/pkgs/development/libraries/haskell/async/2.0.1.3.nix
diff --git a/pkgs/development/libraries/haskell/async/2.0.1.4.nix b/pkgs/development/libraries/haskell/async/2.0.1.4.nix
new file mode 100644
index 000000000000..c5caa55e97f0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/async/2.0.1.4.nix
@@ -0,0 +1,15 @@
+{ cabal, stm }:
+
+cabal.mkDerivation (self: {
+  pname = "async";
+  version = "2.0.1.4";
+  sha256 = "1hi40bjwpl65mz7zj0sgh16bp9dwafbm5ysi2q8fzwwq5l0zxpa1";
+  buildDepends = [ stm ];
+  meta = {
+    homepage = "https://github.com/simonmar/async";
+    description = "Run IO operations asynchronously and wait for their results";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/attoparsec-binary/attoparsec-binary-ghc7.6.1.patch b/pkgs/development/libraries/haskell/attoparsec-binary/attoparsec-binary-ghc7.6.1.patch
new file mode 100644
index 000000000000..dae949b25708
--- /dev/null
+++ b/pkgs/development/libraries/haskell/attoparsec-binary/attoparsec-binary-ghc7.6.1.patch
@@ -0,0 +1,20 @@
+diff --git a/Data/Attoparsec/Binary.hs b/Data/Attoparsec/Binary.hs
+index fab76c6..01d6c8b 100644
+--- a/Data/Attoparsec/Binary.hs
++++ b/Data/Attoparsec/Binary.hs
+@@ -23,7 +23,7 @@ import Data.Word
+ byteSize :: (Bits a) => a -> Int
+ byteSize = (`div` 8) . bitSize
+ 
+-pack :: (Bits a) => B.ByteString -> a
++pack :: (Bits a, Num a) => B.ByteString -> a
+ pack = B.foldl' (\n h -> (n `shiftL` 8) .|. fromIntegral h) 0
+ 
+ anyWordN :: (Bits a) => (B.ByteString -> a) -> Parser a
+@@ -84,4 +84,4 @@ word64be = wordN unpack
+ 
+ -- |Match a specific 64-bit little-endian word.
+ word64le :: Word64 -> Parser Word64
+-word64le = wordN $ B.reverse . unpack
+\ No newline at end of file
++word64le = wordN $ B.reverse . unpack
diff --git a/pkgs/development/libraries/haskell/attoparsec-binary/default.nix b/pkgs/development/libraries/haskell/attoparsec-binary/default.nix
new file mode 100644
index 000000000000..623ae1040901
--- /dev/null
+++ b/pkgs/development/libraries/haskell/attoparsec-binary/default.nix
@@ -0,0 +1,13 @@
+{ cabal, attoparsec }:
+
+cabal.mkDerivation (self: {
+  pname = "attoparsec-binary";
+  version = "0.2";
+  sha256 = "02vswxsgayw50xli7mbacsjmk1diifzkfgnyfn9ck5mk41dl9rh5";
+  buildDepends = [ attoparsec ];
+  meta = {
+    description = "Binary processing extensions to Attoparsec";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
index e887b2d539cb..9c969ed858fd 100644
--- a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "attoparsec-conduit";
-  version = "0.5.0.1";
-  sha256 = "1qrg524gr9ajdxaqd9gmxpj45d7ga21q27ykr76kjdwxfpqaq6n8";
+  version = "0.5.0.3";
+  sha256 = "1n35v7mq93marx6ayja7zfk2hib4whspvysf0a7hjikylp4lfydw";
   buildDepends = [ attoparsec conduit text transformers ];
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
diff --git a/pkgs/development/libraries/haskell/authenticate/default.nix b/pkgs/development/libraries/haskell/authenticate/default.nix
index 27edc1e9a9c7..b336a632b9dd 100644
--- a/pkgs/development/libraries/haskell/authenticate/default.nix
+++ b/pkgs/development/libraries/haskell/authenticate/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "authenticate";
-  version = "1.3.1.1";
-  sha256 = "120n7z22x4y4ngxqxsi65zn992f1lksaawcd7rmjvf8m0fysbb4n";
+  version = "1.3.2";
+  sha256 = "1bvgfri0c2nyz06r59rm3slpvm1b0s242s4mznmndpdclgg33d9m";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeBuilderConduit caseInsensitive
     conduit httpConduit httpTypes monadControl network resourcet
diff --git a/pkgs/development/libraries/haskell/basic-prelude/default.nix b/pkgs/development/libraries/haskell/basic-prelude/default.nix
new file mode 100644
index 000000000000..c30f3f5c7e04
--- /dev/null
+++ b/pkgs/development/libraries/haskell/basic-prelude/default.nix
@@ -0,0 +1,19 @@
+{ cabal, hashable, ReadArgs, systemFilepath, text, transformers
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "basic-prelude";
+  version = "0.3.1.0";
+  sha256 = "15k89z78zjhga36wrvfn8b17hsmlwr1na6xq0gmimivfrdlnz5j0";
+  buildDepends = [
+    hashable ReadArgs systemFilepath text transformers
+    unorderedContainers vector
+  ];
+  meta = {
+    homepage = "https://github.com/snoyberg/basic-prelude";
+    description = "An enhanced core prelude; a common foundation for alternate preludes";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/binary/default.nix b/pkgs/development/libraries/haskell/binary/default.nix
index a8fefba02741..303e67c3b99d 100644
--- a/pkgs/development/libraries/haskell/binary/default.nix
+++ b/pkgs/development/libraries/haskell/binary/default.nix
@@ -2,10 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "binary";
-  version = "0.5.1.1";
-  sha256 = "0s62a92a2wwp8hdmkc6j6i9lh5mi6z1yd26fbhsbbm8bxah64pcl";
+  version = "0.6.2.0";
+  sha256 = "0nm4vsgyz7ml6w3lk5hrh34i7s7li32gj7bgs75w636kln338aab";
   meta = {
-    homepage = "http://code.haskell.org/binary/";
+    homepage = "https://github.com/kolmodin/binary";
     description = "Binary serialisation for Haskell values using lazy ByteStrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix
index 14d4498f5858..e6b8785b6a92 100644
--- a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "blaze-builder-conduit";
-  version = "0.5.0.1";
-  sha256 = "1avbgrgqzryqv717714s0418lknm0lqzkis3hia00qhy762amlcn";
+  version = "0.5.0.2";
+  sha256 = "0ynkz822zxp1m02fp9l572d8j8xi5r9j1bg6zs2671m81h22d4in";
   buildDepends = [ blazeBuilder conduit text transformers ];
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
diff --git a/pkgs/development/libraries/haskell/blaze-markup/default.nix b/pkgs/development/libraries/haskell/blaze-markup/default.nix
index 7a5adbf10794..1f6a83894cc6 100644
--- a/pkgs/development/libraries/haskell/blaze-markup/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-markup/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "blaze-markup";
-  version = "0.5.1.0";
-  sha256 = "0vq0xzwa13sjybg6zdi3ynsn6yxyl1q6rbalvb9r6f3plrmik37a";
+  version = "0.5.1.1";
+  sha256 = "14va7db8icf2xj7v4i5z0srgv74pf8z6w7046lxs3cyj5pcjl2r9";
   buildDepends = [ blazeBuilder text ];
   meta = {
     homepage = "http://jaspervdj.be/blaze";
diff --git a/pkgs/development/libraries/haskell/bmp/default.nix b/pkgs/development/libraries/haskell/bmp/default.nix
index 705b462a6d52..e018ac7a8d28 100644
--- a/pkgs/development/libraries/haskell/bmp/default.nix
+++ b/pkgs/development/libraries/haskell/bmp/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "bmp";
-  version = "1.2.1.1";
-  sha256 = "0s5srqkaccrwh9gsxn9kmyh4jf0qf40ix8ipi0b70fbbffr97hmk";
+  version = "1.2.2.1";
+  sha256 = "0yxkkvpgavk9im9i9f6zpzc1n5nj2g4qsk4ck51aqz2fv6z1rhiy";
   buildDepends = [ binary ];
   meta = {
     homepage = "http://code.ouroborus.net/bmp";
diff --git a/pkgs/development/libraries/haskell/boomerang/default.nix b/pkgs/development/libraries/haskell/boomerang/default.nix
new file mode 100644
index 000000000000..963448a56e73
--- /dev/null
+++ b/pkgs/development/libraries/haskell/boomerang/default.nix
@@ -0,0 +1,13 @@
+{ cabal, mtl, text }:
+
+cabal.mkDerivation (self: {
+  pname = "boomerang";
+  version = "1.3.3";
+  sha256 = "1i44j3qyjkq69h65wfsrps5zp097i3nh9fwcb2f1spr8nznb5mff";
+  buildDepends = [ mtl text ];
+  meta = {
+    description = "Library for invertible parsing and printing";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/c2hs/default.nix b/pkgs/development/libraries/haskell/c2hs/default.nix
index d717174902bc..6ad4db61cfdc 100644
--- a/pkgs/development/libraries/haskell/c2hs/default.nix
+++ b/pkgs/development/libraries/haskell/c2hs/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "c2hs";
-  version = "0.16.3";
-  sha256 = "1qqsxfdkf5sfj3mvk265dbng3br9w633y8v1piajqaidki7vwqm5";
+  version = "0.16.4";
+  sha256 = "0m8mzc19cgaqsi1skqimk22770xddxx0j024mgp76hl8vqc5rcgi";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ filepath languageC ];
diff --git a/pkgs/development/libraries/haskell/cabal-file-th/default.nix b/pkgs/development/libraries/haskell/cabal-file-th/default.nix
index c57e46cb8bb5..55b4fea36fec 100644
--- a/pkgs/development/libraries/haskell/cabal-file-th/default.nix
+++ b/pkgs/development/libraries/haskell/cabal-file-th/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal-file-th";
-  version = "0.2.2";
-  sha256 = "1ql2gmg3mdfkmnk1m3966npr6l1in15fzlkbn7dr1cp4s90igqhy";
+  version = "0.2.3";
+  sha256 = "0kawvb5n56rkq4453l6pia3wrr6jvvdwkghi6i176n1gm2zf2ri8";
   buildDepends = [ Cabal ];
   meta = {
     homepage = "http://github.com/nkpart/cabal-file-th";
diff --git a/pkgs/development/libraries/haskell/cairo/default.nix b/pkgs/development/libraries/haskell/cairo/default.nix
index 183e0815f715..59126959bfb5 100644
--- a/pkgs/development/libraries/haskell/cairo/default.nix
+++ b/pkgs/development/libraries/haskell/cairo/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cairo";
-  version = "0.12.3.1";
-  sha256 = "173pql0n51a9z46vzpwd9q67nblhb61qirynjra9vzydiy79bfwi";
+  version = "0.12.4";
+  sha256 = "0gy6nxhxam3yv0caj4psg9dd1a5yazh616fjbmjfh0kbk8vl6fbq";
   buildDepends = [ mtl ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ cairo libc pkgconfig zlib ];
diff --git a/pkgs/development/libraries/haskell/certificate/default.nix b/pkgs/development/libraries/haskell/certificate/default.nix
index d79f6faa3efe..eb40a4744f9c 100644
--- a/pkgs/development/libraries/haskell/certificate/default.nix
+++ b/pkgs/development/libraries/haskell/certificate/default.nix
@@ -1,12 +1,16 @@
-{ cabal, asn1Data, cryptoPubkeyTypes, mtl, pem, time }:
+{ cabal, asn1Data, cryptohash, cryptoPubkeyTypes, filepath, mtl
+, pem, time
+}:
 
 cabal.mkDerivation (self: {
   pname = "certificate";
-  version = "1.2.6";
-  sha256 = "1li65r4zbff7r7p533p5xw2z3rd0xnlb2bbwqdldrnswy4mvlakx";
+  version = "1.3.3";
+  sha256 = "043xj3xd6cfnbg9hw2f8agckww3fasvraa72jw84zqc7l2gq0rq2";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ asn1Data cryptoPubkeyTypes mtl pem time ];
+  buildDepends = [
+    asn1Data cryptohash cryptoPubkeyTypes filepath mtl pem time
+  ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-certificate";
     description = "Certificates and Key Reader/Writer";
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.8.2.nix b/pkgs/development/libraries/haskell/cgi/3001.1.8.3.nix
index d77bd227f8bd..cfe95ab8e1e3 100644
--- a/pkgs/development/libraries/haskell/cgi/3001.1.8.2.nix
+++ b/pkgs/development/libraries/haskell/cgi/3001.1.8.3.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cgi";
-  version = "3001.1.8.2";
-  sha256 = "09ly7bn5ck563jq1wip5w628g74xj4p1ha9rllfdck33pqrl2mgz";
+  version = "3001.1.8.3";
+  sha256 = "1pacv0qxfs7l71xvf9amd7qsw5g725qbrm8r6fgdb2awyl925sf4";
   buildDepends = [
     extensibleExceptions MonadCatchIOMtl mtl network parsec xhtml
   ];
diff --git a/pkgs/development/libraries/haskell/cipher-aes/default.nix b/pkgs/development/libraries/haskell/cipher-aes/default.nix
index e89fc1d6faff..42152bfb0d77 100644
--- a/pkgs/development/libraries/haskell/cipher-aes/default.nix
+++ b/pkgs/development/libraries/haskell/cipher-aes/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cipher-aes";
-  version = "0.1.1";
-  sha256 = "0pyiqsdvvq0qhlin17rijqjq0sc0i9nl9rdwbql01fr4pw46cwwg";
+  version = "0.1.2";
+  sha256 = "1c8drabfmx5wc519kxsr64bdvakfvxwzhfh7ym01kk1dpja0nlnq";
   isLibrary = true;
   isExecutable = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/citeproc-hs/default.nix b/pkgs/development/libraries/haskell/citeproc-hs/default.nix
index 3cd0c09c3b29..027fe75033a4 100644
--- a/pkgs/development/libraries/haskell/citeproc-hs/default.nix
+++ b/pkgs/development/libraries/haskell/citeproc-hs/default.nix
@@ -1,14 +1,14 @@
-{ cabal, filepath, hsBibutils, HTTP, json, mtl, network
-, pandocTypes, parsec, syb, time, utf8String, xml
+{ cabal, filepath, hexpat, hsBibutils, HTTP, json, mtl, network
+, pandocTypes, parsec, syb, time, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "citeproc-hs";
-  version = "0.3.4";
-  sha256 = "17w6fpmlhbfd8jxxz4s6ybz3dswf0i96fjjbs05ykh4i97rs62nv";
+  version = "0.3.6";
+  sha256 = "0zxwca3i7gg1vhdvrxd15c8zgx1gy3y7zjj746bcvf8pwavkq5q2";
   buildDepends = [
-    filepath hsBibutils HTTP json mtl network pandocTypes parsec syb
-    time utf8String xml
+    filepath hexpat hsBibutils HTTP json mtl network pandocTypes parsec
+    syb time utf8String
   ];
   meta = {
     homepage = "http://gorgias.mine.nu/repos/citeproc-hs/";
diff --git a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix
new file mode 100644
index 000000000000..31c7eecaa6ec
--- /dev/null
+++ b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix
@@ -0,0 +1,14 @@
+{ cabal, classyPrelude, conduit, xmlConduit }:
+
+cabal.mkDerivation (self: {
+  pname = "classy-prelude-conduit";
+  version = "0.4.1";
+  sha256 = "0llir0xnnyhgxifay019x64jw7mnn9p1sqs1xwm14gjcqr2nqqg8";
+  buildDepends = [ classyPrelude conduit xmlConduit ];
+  meta = {
+    homepage = "https://github.com/snoyberg/classy-prelude";
+    description = "conduit instances for classy-prelude";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/classy-prelude/default.nix b/pkgs/development/libraries/haskell/classy-prelude/default.nix
new file mode 100644
index 000000000000..8c5a94d4d127
--- /dev/null
+++ b/pkgs/development/libraries/haskell/classy-prelude/default.nix
@@ -0,0 +1,19 @@
+{ cabal, basicPrelude, hashable, systemFilepath, text, transformers
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "classy-prelude";
+  version = "0.4.1";
+  sha256 = "14s1qirss8qbicdw4bc7smdnk1xrpp1xsii8kgmrb1z4ji0h9bf1";
+  buildDepends = [
+    basicPrelude hashable systemFilepath text transformers
+    unorderedContainers vector
+  ];
+  meta = {
+    homepage = "https://github.com/snoyberg/classy-prelude";
+    description = "A typeclass-based Prelude";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cmdargs/default.nix b/pkgs/development/libraries/haskell/cmdargs/default.nix
index 0719bf5a03cc..e6b208b02975 100644
--- a/pkgs/development/libraries/haskell/cmdargs/default.nix
+++ b/pkgs/development/libraries/haskell/cmdargs/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cmdargs";
-  version = "0.10";
-  sha256 = "1xx4cks3hr2ldb0hd5hnc53dpns2zm4gc1dw25gs1vc977kga3hz";
+  version = "0.10.1";
+  sha256 = "0p7fzh65asn1bpzp137vfww97in2mkqfwwsk8hxzsdx32zi1nfz8";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ filepath transformers ];
diff --git a/pkgs/development/libraries/haskell/comonads-fd/default.nix b/pkgs/development/libraries/haskell/comonads-fd/default.nix
new file mode 100644
index 000000000000..26a18c667a2b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/comonads-fd/default.nix
@@ -0,0 +1,18 @@
+{ cabal, comonad, comonadTransformers, mtl, semigroups
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "comonads-fd";
+  version = "3.0";
+  sha256 = "1j5ymj711c49fsk2ilxfpzqr0jr117z8kb5ggyh5nlwjy16m32in";
+  buildDepends = [
+    comonad comonadTransformers mtl semigroups transformers
+  ];
+  meta = {
+    homepage = "http://github.com/ekmett/comonads-fd/";
+    description = "Comonad transformers using functional dependencies";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix
index c383c46f30b5..9263bb0c893e 100644
--- a/pkgs/development/libraries/haskell/conduit/default.nix
+++ b/pkgs/development/libraries/haskell/conduit/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "conduit";
-  version = "0.5.2.4";
-  sha256 = "17959j5frfbl5af4pmxhfb4swrjckk4fh5wmd5bwsbs824glb97a";
+  version = "0.5.4.1";
+  sha256 = "00fx4v9phclyg8ybz22w8053pfvy92nibx5g3c6h37hhn7hnsxh4";
   buildDepends = [
     liftedBase monadControl resourcet text transformers
     transformersBase void
diff --git a/pkgs/development/libraries/haskell/criterion/default.nix b/pkgs/development/libraries/haskell/criterion/default.nix
index 54b6b20dc836..64f03d4dccae 100644
--- a/pkgs/development/libraries/haskell/criterion/default.nix
+++ b/pkgs/development/libraries/haskell/criterion/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "criterion";
-  version = "0.6.1.1";
-  sha256 = "1w5yqcgnx2ij3hmvmz5g4ynj6n8wa3yyk1kfbbwxyh9j5kc2xwiw";
+  version = "0.6.2.0";
+  sha256 = "1xd90qb026niq2sn7ks8bn92ifb6255saic68bzg6kzj7ydwwdmx";
   buildDepends = [
     aeson deepseq filepath hastache mtl mwcRandom parsec statistics
     time transformers vector vectorAlgorithms
diff --git a/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix b/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix
index fa3151d893c2..72ba3d20b021 100644
--- a/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix
@@ -1,10 +1,9 @@
-{ cabal, cryptoApi }:
+{ cabal }:
 
 cabal.mkDerivation (self: {
   pname = "crypto-pubkey-types";
-  version = "0.1.1";
-  sha256 = "0chlz01nlxnh9bk5b97vm6q6ai0ifybkdaynwibj8px418mmbkib";
-  buildDepends = [ cryptoApi ];
+  version = "0.2.0";
+  sha256 = "1arzkyxcm1ffnwk7imxkwvyi20dp8n960vzj7cbl7fhv3j04c9xq";
   meta = {
     homepage = "http://github.com/vincenthz/hs-crypto-pubkey-types";
     description = "Generic cryptography Public keys algorithm types";
diff --git a/pkgs/development/libraries/haskell/cryptocipher/default.nix b/pkgs/development/libraries/haskell/cryptocipher/default.nix
index 1798f4e21a59..b464180ca550 100644
--- a/pkgs/development/libraries/haskell/cryptocipher/default.nix
+++ b/pkgs/development/libraries/haskell/cryptocipher/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cryptocipher";
-  version = "0.3.5";
-  sha256 = "02qc1rr9l51dnk0sn7js8zv2w2qhkha3ik828j5s729h80cyw99s";
+  version = "0.3.6";
+  sha256 = "0r2alw0in0ndaz7y9bzqigla74wbn8h1z43s2zx5rc3sq5p3rp6s";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/cryptohash/default.nix b/pkgs/development/libraries/haskell/cryptohash/default.nix
index 77ecc4ef554a..eed282624704 100644
--- a/pkgs/development/libraries/haskell/cryptohash/default.nix
+++ b/pkgs/development/libraries/haskell/cryptohash/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cryptohash";
-  version = "0.7.5";
-  sha256 = "18x1k22m2mw0jx3p1mc68n0gg1vsnkp50qvmlkh3i34vdnjcdrqg";
+  version = "0.7.8";
+  sha256 = "0n9m5gl3hfkx0p0mg05k7317vjqqx5aynandg428pcgcjkpbfv9g";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ cereal cryptoApi tagged ];
diff --git a/pkgs/development/libraries/haskell/curl/default.nix b/pkgs/development/libraries/haskell/curl/default.nix
index 072b8f2d6e6b..a530044ca6ed 100644
--- a/pkgs/development/libraries/haskell/curl/default.nix
+++ b/pkgs/development/libraries/haskell/curl/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "curl";
-  version = "1.3.7";
-  sha256 = "0i6d7732p5gn1bcvavbxcg4wd18j425mi1yjg0b29zzz3yl0qhgi";
+  version = "1.3.8";
+  sha256 = "0vj4hpaa30jz7c702xpsfvqaqdxz28zslsqnsfx6bf6dpwvck1wh";
   extraLibraries = [ curl ];
   meta = {
     description = "Haskell binding to libcurl";
diff --git a/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix b/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix
index 077e31c683ec..41bd23470124 100644
--- a/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix
+++ b/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "data-accessor-template";
-  version = "0.2.1.9";
-  sha256 = "14zp2zjxlkdi33cjif9lc1kl8m0x4brh0pk3d34wk1g1bfzynijc";
+  version = "0.2.1.10";
+  sha256 = "11a4c0g74ppl7nls0dhx6xs47dfcq1wp7bd8qgdba6hhn645afzy";
   buildDepends = [ dataAccessor utilityHt ];
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Record_access";
diff --git a/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix b/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix
index 6f73cc48817f..7c1de10b20b0 100644
--- a/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix
+++ b/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "data-accessor";
-  version = "0.2.2.2";
-  sha256 = "1q9hx2bkp7dknr9ygx39lj93i846x8g9j7lkhkjijvsicih28yyi";
+  version = "0.2.2.3";
+  sha256 = "1fa1rbbs3m05y61w42vj4vqlcpqmz60v8mv3r0h6lx669k6ka5gj";
   buildDepends = [ transformers ];
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Record_access";
diff --git a/pkgs/development/libraries/haskell/data-binary-ieee754/default.nix b/pkgs/development/libraries/haskell/data-binary-ieee754/default.nix
index 08f6b654f3bd..5066a83c5f60 100644
--- a/pkgs/development/libraries/haskell/data-binary-ieee754/default.nix
+++ b/pkgs/development/libraries/haskell/data-binary-ieee754/default.nix
@@ -2,13 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "data-binary-ieee754";
-  version = "0.4.2.1";
-  sha256 = "0i0nclq8858flpp2sl3czwz6rfaykjrlzpvlfr6vlxzf8zvah9kz";
-  isLibrary = true;
-  isExecutable = true;
+  version = "0.4.3";
+  sha256 = "0aba7qvjvhfp9cpr65j8zs62niv9yccrardk10aaqpkz3ihc86pm";
   buildDepends = [ binary ];
   meta = {
-    homepage = "http://john-millikin.com/software/data-binary-ieee754/";
+    homepage = "https://john-millikin.com/software/data-binary-ieee754/";
     description = "Parser/Serialiser for IEEE-754 floating-point values";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/data-inttrie/default.nix b/pkgs/development/libraries/haskell/data-inttrie/default.nix
index 926d465065d1..ecb0748df6a9 100644
--- a/pkgs/development/libraries/haskell/data-inttrie/default.nix
+++ b/pkgs/development/libraries/haskell/data-inttrie/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "data-inttrie";
-  version = "0.0.7";
-  sha256 = "19d586p2pj38pirrkip9z6yxrdbpiqsbnczmnyvd8slndilqz0ip";
+  version = "0.0.8";
+  sha256 = "0lzp89lq4gb84rcxqi77yarggz94a206da456208rrr7rhlqxg2x";
   meta = {
     homepage = "http://github.com/luqui/data-inttrie";
     description = "A lazy, infinite trie of integers";
diff --git a/pkgs/development/libraries/haskell/data-lens-template/default.nix b/pkgs/development/libraries/haskell/data-lens-template/default.nix
index fc058b92e547..7ba9e3f9da74 100644
--- a/pkgs/development/libraries/haskell/data-lens-template/default.nix
+++ b/pkgs/development/libraries/haskell/data-lens-template/default.nix
@@ -2,11 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "data-lens-template";
-  version = "2.1.5";
-  sha256 = "09i9lby5jd2kcg0l7y4hkga7jxixcpqw4dc7h1kngqdz92a1ydxc";
+  version = "2.1.7";
+  sha256 = "108xvk5glsw016vdvjb1p3a9zh7rgbkjv5xashs1hj25f8k4cw49";
   buildDepends = [ dataLens ];
   meta = {
-    homepage = "http://github.com/ekmett/data-lens-template/";
+    homepage = "http://github.com/roconnor/data-lens-template/";
     description = "Utilities for Data.Lens";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/data-memocombinators/default.nix b/pkgs/development/libraries/haskell/data-memocombinators/default.nix
index 25f063c20acf..2b3adde1d728 100644
--- a/pkgs/development/libraries/haskell/data-memocombinators/default.nix
+++ b/pkgs/development/libraries/haskell/data-memocombinators/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "data-memocombinators";
-  version = "0.4.3";
-  sha256 = "0mzvjgccm23y7mfaz9iwdy64amf69d7i8yq9fc9mjx1nyzxdrgsc";
+  version = "0.4.4";
+  sha256 = "06x79rgxi6cxrpzjzzsjk7yj7i0ajmcgns0n12lxakz9vxbqxyn2";
   buildDepends = [ dataInttrie ];
   meta = {
     homepage = "http://github.com/luqui/data-memocombinators";
diff --git a/pkgs/development/libraries/haskell/dataenc/default.nix b/pkgs/development/libraries/haskell/dataenc/default.nix
index d2428600ce91..2ece14dcfdc3 100644
--- a/pkgs/development/libraries/haskell/dataenc/default.nix
+++ b/pkgs/development/libraries/haskell/dataenc/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dataenc";
-  version = "0.14.0.3";
-  sha256 = "1k6k9cpx5ma32gvzf2mdbz4kfiblwfah9875qr13zkl4has9y0pd";
+  version = "0.14.0.4";
+  sha256 = "0xnn90nyz4m0rbzykkr5p9270s8dq2bfiz5j7qyzyy5m8vbl15bw";
   isLibrary = true;
   isExecutable = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/dbus/default.nix b/pkgs/development/libraries/haskell/dbus/default.nix
new file mode 100644
index 000000000000..16cb2c7ca033
--- /dev/null
+++ b/pkgs/development/libraries/haskell/dbus/default.nix
@@ -0,0 +1,19 @@
+{ cabal, cereal, libxmlSax, network, parsec, random, text
+, transformers, vector, xmlTypes
+}:
+
+cabal.mkDerivation (self: {
+  pname = "dbus";
+  version = "0.10.4";
+  sha256 = "0cv4sgk1mdxc81jlky21k0y3zg7qii585xiapr1m589r5528gj2f";
+  buildDepends = [
+    cereal libxmlSax network parsec random text transformers vector
+    xmlTypes
+  ];
+  meta = {
+    homepage = "https://john-millikin.com/software/haskell-dbus/";
+    description = "A client library for the D-Bus IPC system";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/deepseq-th/default.nix b/pkgs/development/libraries/haskell/deepseq-th/default.nix
index 1072bcb9ca7e..2af4bb9f3f1b 100644
--- a/pkgs/development/libraries/haskell/deepseq-th/default.nix
+++ b/pkgs/development/libraries/haskell/deepseq-th/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "deepseq-th";
-  version = "0.1.0.3";
-  sha256 = "1xx88i55iskyxrpxbdg0srb64y5siqs1b8qj7bh3i1893qs9sha2";
+  version = "0.1.0.4";
+  sha256 = "12wk8higrp12b22zzz1b4ar1q5h7flk22bp2rvswsqri2zkbi965";
   buildDepends = [ deepseq ];
   meta = {
     description = "Template Haskell based deriver for optimised NFData instances";
diff --git a/pkgs/development/libraries/haskell/digest/default.nix b/pkgs/development/libraries/haskell/digest/default.nix
index bd6d249eee31..c315c0813eb9 100644
--- a/pkgs/development/libraries/haskell/digest/default.nix
+++ b/pkgs/development/libraries/haskell/digest/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "digest";
-  version = "0.0.1.1";
-  sha256 = "1m04szf9yabmm6mkjq2x7a57bjdf2i611wm2k99wdcygb5cvif3v";
+  version = "0.0.1.2";
+  sha256 = "04gy2zp8yzvv7j9bdfvmfzcz3sqyqa6rwslqcn4vyair2vmif5v4";
   extraLibraries = [ zlib ];
   meta = {
     description = "Various cryptographic hashes for bytestrings; CRC32 and Adler32 for now";
diff --git a/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix b/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix
index 3d5725e603ff..2d7fdada4285 100644
--- a/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors-snap/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "digestive-functors-snap";
-  version = "0.5.0.0";
-  sha256 = "01lbd42rsryzqzra8ax22iw6c9fyv5az8q7dkdi6yyfxdq976l0x";
+  version = "0.5.0.2";
+  sha256 = "0xx5i09l8n1srdmslq0sq1h366cdq3xqxwjd3kp2ck9s6x65zyjz";
   buildDepends = [ digestiveFunctors filepath mtl snapCore text ];
   meta = {
     homepage = "http://github.com/jaspervdj/digestive-functors";
diff --git a/pkgs/development/libraries/haskell/digestive-functors/default.nix b/pkgs/development/libraries/haskell/digestive-functors/default.nix
index d6d4710f3060..cce033eaf29b 100644
--- a/pkgs/development/libraries/haskell/digestive-functors/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "digestive-functors";
-  version = "0.5.0.2";
-  sha256 = "1phakcljl6ri2p9lfzjnn001jw0inyxa5zd7lp2k9lhq1yq0byb0";
+  version = "0.5.0.4";
+  sha256 = "0diaj1pmfmhwbyjmw49kna59f7dckwrp16cbar5xpcn9k2pf19nv";
   buildDepends = [ mtl text ];
   meta = {
     homepage = "http://github.com/jaspervdj/digestive-functors";
diff --git a/pkgs/development/libraries/haskell/directory-tree/default.nix b/pkgs/development/libraries/haskell/directory-tree/default.nix
index 65148f10a22d..5c8b357593e4 100644
--- a/pkgs/development/libraries/haskell/directory-tree/default.nix
+++ b/pkgs/development/libraries/haskell/directory-tree/default.nix
@@ -2,11 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "directory-tree";
-  version = "0.10.1";
-  sha256 = "02acmfdw1yjb0h9dpjy04xxclsasm1p0m6w1dvccd4x2aqc6ybbw";
+  version = "0.11.0";
+  sha256 = "07vqwnzbwfjvlwcl50x5jl9yzvqfln0m4k4lam9r5n49wv7p01c9";
   buildDepends = [ filepath ];
   meta = {
-    homepage = "http://coder.bsimmons.name/blog/2009/05/directory-tree-module-released/";
+    homepage = "http://brandon.si/code/directory-tree-module-released/";
     description = "A simple directory-like tree datatype, with useful IO functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/distributed-process-simplelocalnet/default.nix b/pkgs/development/libraries/haskell/distributed-process-simplelocalnet/default.nix
new file mode 100644
index 000000000000..bb48c394414e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/distributed-process-simplelocalnet/default.nix
@@ -0,0 +1,23 @@
+{ cabal, binary, dataAccessor, distributedProcess, network
+, networkMulticast, networkTransport, networkTransportTcp
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "distributed-process-simplelocalnet";
+  version = "0.2.0.7";
+  sha256 = "0jxbxacvdg4pf65s6r48nck45g8dfsarks3m2pdn73gjn4cd81c7";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    binary dataAccessor distributedProcess network networkMulticast
+    networkTransport networkTransportTcp transformers
+  ];
+  meta = {
+    homepage = "http://github.com/haskell-distributed/distributed-process";
+    description = "Simple zero-configuration backend for Cloud Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/distributed-process/default.nix b/pkgs/development/libraries/haskell/distributed-process/default.nix
new file mode 100644
index 000000000000..b38ae0c46c81
--- /dev/null
+++ b/pkgs/development/libraries/haskell/distributed-process/default.nix
@@ -0,0 +1,24 @@
+{ cabal, binary, dataAccessor, distributedStatic, mtl
+, networkTransport, random, rank1dynamic, stm, syb, time
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "distributed-process";
+  version = "0.4.0.2";
+  sha256 = "0wjxai5z6m84blrgic1pd0jgivqcc8ymjya3m0dhqbmsljwh6ynw";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    binary dataAccessor distributedStatic mtl networkTransport random
+    rank1dynamic stm syb time transformers
+  ];
+  noHaddock = true;
+  meta = {
+    homepage = "http://github.com/haskell-distributed/distributed-process";
+    description = "Cloud Haskell: Erlang-style concurrency in Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/distributed-static/default.nix b/pkgs/development/libraries/haskell/distributed-static/default.nix
new file mode 100644
index 000000000000..c09558449dfe
--- /dev/null
+++ b/pkgs/development/libraries/haskell/distributed-static/default.nix
@@ -0,0 +1,15 @@
+{ cabal, binary, rank1dynamic }:
+
+cabal.mkDerivation (self: {
+  pname = "distributed-static";
+  version = "0.2.1";
+  sha256 = "0cdwizm4fr2akw7hsqdrvqk06h1lybpxjiczv3kmd0lyc4cb7kyc";
+  buildDepends = [ binary rank1dynamic ];
+  meta = {
+    homepage = "http://www.github.com/haskell-distributed/distributed-process";
+    description = "Compositional, type-safe, polymorphic static values and closures";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/dns/default.nix b/pkgs/development/libraries/haskell/dns/default.nix
new file mode 100644
index 000000000000..0854f39efcef
--- /dev/null
+++ b/pkgs/development/libraries/haskell/dns/default.nix
@@ -0,0 +1,18 @@
+{ cabal, attoparsec, attoparsecConduit, binary, blazeBuilder
+, conduit, iproute, mtl, network, networkConduit, random
+}:
+
+cabal.mkDerivation (self: {
+  pname = "dns";
+  version = "0.3.6";
+  sha256 = "0dpwy94id9rxxjpji47nazinm8i1ihm0606dmi5iqqhbl5h2jara";
+  buildDepends = [
+    attoparsec attoparsecConduit binary blazeBuilder conduit iproute
+    mtl network networkConduit random
+  ];
+  meta = {
+    description = "DNS library in Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/dstring/default.nix b/pkgs/development/libraries/haskell/dstring/default.nix
index e025b00f8372..4b5dd2b38883 100644
--- a/pkgs/development/libraries/haskell/dstring/default.nix
+++ b/pkgs/development/libraries/haskell/dstring/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dstring";
-  version = "0.4.0.3";
-  sha256 = "0wzj1wzls7w79ac84sc5msblh2dmfmcxm77drpdqdirl1pwdlq9c";
+  version = "0.4.0.4";
+  sha256 = "15zy1dhfs87hxq1qm54ym0pdhvg7l76m7vy5y06dnksb1sblhaqm";
   buildDepends = [ baseUnicodeSymbols dlist ];
   meta = {
     homepage = "https://github.com/basvandijk/dstring";
diff --git a/pkgs/development/libraries/haskell/edit-distance/default.nix b/pkgs/development/libraries/haskell/edit-distance/default.nix
index 07744765adba..b6d0b4668f8e 100644
--- a/pkgs/development/libraries/haskell/edit-distance/default.nix
+++ b/pkgs/development/libraries/haskell/edit-distance/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "edit-distance";
-  version = "0.2.1";
-  sha256 = "1zhiyzgqmxi4mn7zn5q6rg03hgff9y5f9xizbs00069v7ncygi38";
+  version = "0.2.1.1";
+  sha256 = "1d8h38cn3azvsp2dp5gycglm5bwwd8plbag8ypi38yj6c35a82yn";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ random ];
diff --git a/pkgs/development/libraries/haskell/elerea/default.nix b/pkgs/development/libraries/haskell/elerea/default.nix
new file mode 100644
index 000000000000..8ba4687d3e3b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/elerea/default.nix
@@ -0,0 +1,12 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "elerea";
+  version = "2.7.0.2";
+  sha256 = "1n45q1hx548c6yqbj3321lky3xxsffpqvmcq0m9hw36d3cvwbvg0";
+  meta = {
+    description = "A minimalistic FRP library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/exception-mtl/default.nix b/pkgs/development/libraries/haskell/exception-mtl/default.nix
index 9b378751ebf3..2c64598d1d01 100644
--- a/pkgs/development/libraries/haskell/exception-mtl/default.nix
+++ b/pkgs/development/libraries/haskell/exception-mtl/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "exception-mtl";
-  version = "0.3.0.2";
-  sha256 = "1mhk1z7hz50h8ssr4s7dzdxzn02rr0njxijdddfjjw71fln3nl5h";
+  version = "0.3.0.3";
+  sha256 = "1mmkp16c5ixknhm69a2zjrs9q0dd5ragmljnjjd6lxpakdlw64ww";
   buildDepends = [ exceptionTransformers mtl transformers ];
   meta = {
     homepage = "http://www.eecs.harvard.edu/~mainland/";
diff --git a/pkgs/development/libraries/haskell/exception-transformers/default.nix b/pkgs/development/libraries/haskell/exception-transformers/default.nix
index b1e0fcec5e0e..5c4a9402020b 100644
--- a/pkgs/development/libraries/haskell/exception-transformers/default.nix
+++ b/pkgs/development/libraries/haskell/exception-transformers/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "exception-transformers";
-  version = "0.3.0.2";
-  sha256 = "1ah3dimnc980vkr2lycpl4nsb615gxqws6mv9j90mz6g165h9khf";
+  version = "0.3.0.3";
+  sha256 = "0z3z5pppaqqbndd4fgv1czr8f9f4a8r86bwc3bcv88yf7y8cfbwz";
   buildDepends = [ stm transformers ];
   meta = {
     homepage = "http://www.eecs.harvard.edu/~mainland/";
diff --git a/pkgs/development/libraries/haskell/explicit-exception/default.nix b/pkgs/development/libraries/haskell/explicit-exception/default.nix
index 86d4cc50c3ba..0f2385a004ff 100644
--- a/pkgs/development/libraries/haskell/explicit-exception/default.nix
+++ b/pkgs/development/libraries/haskell/explicit-exception/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "explicit-exception";
-  version = "0.1.7";
-  sha256 = "0pqh97fxs55554bd16dknggkr0yayqj1dz0sddp9b2svjy2q4vrm";
+  version = "0.1.7.1";
+  sha256 = "15p5pndam6byd3p8qlnn8pjdhb7rvn93fxa2m40x3wxh58ymkh14";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ transformers ];
diff --git a/pkgs/development/libraries/haskell/file-embed/default.nix b/pkgs/development/libraries/haskell/file-embed/default.nix
index 0a6fdf6c8cce..a36d333e9099 100644
--- a/pkgs/development/libraries/haskell/file-embed/default.nix
+++ b/pkgs/development/libraries/haskell/file-embed/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "file-embed";
-  version = "0.0.4.5";
-  sha256 = "18rhcjll5gj790g5balk3xhnmmgjh2bixik8vna5drs7y9i0innp";
+  version = "0.0.4.6";
+  sha256 = "0p2vs56s1jy5xaw3axzfsir925z2a46624n32x797lga9khm3qvp";
   meta = {
     homepage = "https://github.com/snoyberg/file-embed";
     description = "Use Template Haskell to embed file contents directly";
diff --git a/pkgs/development/libraries/haskell/filestore/default.nix b/pkgs/development/libraries/haskell/filestore/default.nix
index 752037698ca1..f56db649fc7a 100644
--- a/pkgs/development/libraries/haskell/filestore/default.nix
+++ b/pkgs/development/libraries/haskell/filestore/default.nix
@@ -4,15 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "filestore";
-  version = "0.5";
-  sha256 = "0cppm8iksz4dnh4kafyfy0cqbidw83rdpgc1mksiwh9c9gaxrlq7";
+  version = "0.5.0.1";
+  sha256 = "1wbiw3skbbcqi9p97xnhg5lnakq3vyan9v4f68wd3g4swk09xp7l";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     Diff filepath HUnit mtl parsec split time utf8String xml
   ];
-  noHaddock = true;
-  jailbreak = true;
   meta = {
     description = "Interface for versioning file stores";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/filesystem-conduit/default.nix b/pkgs/development/libraries/haskell/filesystem-conduit/default.nix
new file mode 100644
index 000000000000..fd20b7c7547d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/filesystem-conduit/default.nix
@@ -0,0 +1,17 @@
+{ cabal, conduit, systemFileio, systemFilepath, text, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "filesystem-conduit";
+  version = "0.5.0.2";
+  sha256 = "0vpxl32k6734vli8nky9cwyabw9alvpjm0g5q822yj9rk2439yfq";
+  buildDepends = [
+    conduit systemFileio systemFilepath text transformers
+  ];
+  meta = {
+    homepage = "http://github.com/snoyberg/conduit";
+    description = "Use system-filepath data types with conduits";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/fsnotify/default.nix b/pkgs/development/libraries/haskell/fsnotify/default.nix
new file mode 100644
index 000000000000..2b8378803b9f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/fsnotify/default.nix
@@ -0,0 +1,13 @@
+{ cabal, hinotify, systemFileio, systemFilepath, text, time }:
+
+cabal.mkDerivation (self: {
+  pname = "fsnotify";
+  version = "0.0.4";
+  sha256 = "0s71zxj48jimzhl7wz9j22g9c09z64g61nfmpy4mlrhpkzn1f8sz";
+  buildDepends = [ hinotify systemFileio systemFilepath text time ];
+  meta = {
+    description = "Cross platform library for file creation, modification, and deletion notification";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/generic-deriving/default.nix b/pkgs/development/libraries/haskell/generic-deriving/default.nix
index ffc44542976e..27eecd552a60 100644
--- a/pkgs/development/libraries/haskell/generic-deriving/default.nix
+++ b/pkgs/development/libraries/haskell/generic-deriving/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "generic-deriving";
-  version = "1.2.1";
-  sha256 = "0ld4kh3p3lmavxi4y25fpxvq75qk7bd87yvwcbj63j6af1v60h2z";
+  version = "1.3.1";
+  sha256 = "1z02j86lgn57ws0rfq2m0zb0m866k9afh9346k8bbwb5c4914wm3";
   meta = {
     description = "Generic programming library for generalised deriving";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/geniplate/default.nix b/pkgs/development/libraries/haskell/geniplate/default.nix
new file mode 100644
index 000000000000..eff79afa416c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/geniplate/default.nix
@@ -0,0 +1,13 @@
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "geniplate";
+  version = "0.6.0.3";
+  sha256 = "1n73p57gkn9qf7jn54izypc7zycd9i6y9z9i1gc8yn1wd8sv7vkn";
+  buildDepends = [ mtl ];
+  meta = {
+    description = "Use template Haskell to generate Uniplate-like functions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ghc-core/default.nix b/pkgs/development/libraries/haskell/ghc-core/default.nix
index fd1e45d1e2e8..8c2f481122bc 100644
--- a/pkgs/development/libraries/haskell/ghc-core/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-core/default.nix
@@ -2,13 +2,13 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-core";
-  version = "0.5.4";
-  sha256 = "1s68m2zkpz0n927rgzg0l0r5v8pk3z03rlkd82h83agw0hzb9ng7";
+  version = "0.5.6";
+  sha256 = "11byidxq2mcqams9a7df0hwwlzir639mr1s556sw5rrbi7jz6d7c";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ colorizeHaskell filepath pcreLight ];
   meta = {
-    homepage = "http://code.haskell.org/~dons/code/ghc-core";
+    homepage = "https://github.com/shachaf/ghc-core";
     description = "Display GHC's core and assembly output in a pager";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/ghc-events/default.nix b/pkgs/development/libraries/haskell/ghc-events/default.nix
index 0b5fc5c107ab..7eb49668e3cb 100644
--- a/pkgs/development/libraries/haskell/ghc-events/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-events/default.nix
@@ -2,13 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-events";
-  version = "0.4.0.0";
-  sha256 = "0q1r5jxk8ma8rg65n4iixl5zyk4nxpzi4ywf0jz8y1nbbhbas7g2";
+  version = "0.4.2.0";
+  sha256 = "0209r9g5w4ifsaw3dkfra6kma1vyk50dc306an72mcwnp4l7dv4l";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ binary mtl ];
-  noHaddock = true;
-  jailbreak = true;
   meta = {
     description = "Library and tool for parsing .eventlog files from GHC";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/ghc-mod/default.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix
index b4412c35421c..6ef59a4451bc 100644
--- a/pkgs/development/libraries/haskell/ghc-mod/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-mod/default.nix
@@ -1,16 +1,16 @@
-{ cabal, Cabal, emacs, filepath, ghcPaths, ghcSybUtils, hlint
-, ioChoice, regexPosix, syb, transformers
+{ cabal, Cabal, convertible, emacs, filepath, ghcPaths, ghcSybUtils
+, hlint, ioChoice, regexPosix, syb, time, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "ghc-mod";
-  version = "1.11.0";
-  sha256 = "19cx6jhciww2xgad3q35h3jlwiv9s9b6na2qi1cbga7p77swarsv";
+  version = "1.11.2";
+  sha256 = "0df1g57mwgd9avd2smnc7j97n14553p3zdmnbjanhnzin2fqj0dc";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    Cabal filepath ghcPaths ghcSybUtils hlint ioChoice regexPosix syb
-    transformers
+    Cabal convertible filepath ghcPaths ghcSybUtils hlint ioChoice
+    regexPosix syb time transformers
   ];
   buildTools = [ emacs ];
   postInstall = ''
diff --git a/pkgs/development/libraries/haskell/ghc-mtl/default.nix b/pkgs/development/libraries/haskell/ghc-mtl/default.nix
index f885b9a53134..ea2495f6586a 100644
--- a/pkgs/development/libraries/haskell/ghc-mtl/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-mtl/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-mtl";
-  version = "1.0.1.1";
-  sha256 = "04lm1g27xwwph02k3d8b51nbhi2sw8jx7arqczcqc3rygak10fpn";
+  version = "1.0.1.2";
+  sha256 = "06m8ynqlbvvs37w211ikldwvlvg4ry27x9l7idnwa1m8w2jkbkva";
   buildDepends = [ MonadCatchIOMtl mtl ];
   meta = {
     homepage = "http://darcsden.com/jcpetruzza/ghc-mtl";
diff --git a/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix b/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix
index 804e55a22452..6f5f14585074 100644
--- a/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-syb-utils";
-  version = "0.2.1.0";
-  sha256 = "02wmd4zkng38z3bhsk4w4dqj1lzznhg2p0ijwr1a0dgx8cqr490z";
+  version = "0.2.1.1";
+  sha256 = "1fwlzqbkjn592jh01nccn99iii6047fg9f3hh255586nzngihh1l";
   buildDepends = [ syb ];
   meta = {
     homepage = "http://github.com/nominolo/ghc-syb";
diff --git a/pkgs/development/libraries/haskell/gio/default.nix b/pkgs/development/libraries/haskell/gio/default.nix
index 98a3d32348e5..e9d295798b63 100644
--- a/pkgs/development/libraries/haskell/gio/default.nix
+++ b/pkgs/development/libraries/haskell/gio/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gio";
-  version = "0.12.3";
-  sha256 = "0kmqldlgxwj8sh0b5k5gicc5z2n6mc9h3fmdby4wx1l4ska7rajn";
+  version = "0.12.4";
+  sha256 = "0npvq77z72c9z009krvs4n9vv3gqj6g8fdqd777kzw1dbkhp9ziy";
   buildDepends = [ glib mtl ];
   buildTools = [ gtk2hsBuildtools ];
   pkgconfigDepends = [ glib ];
diff --git a/pkgs/development/libraries/haskell/gitit/default.nix b/pkgs/development/libraries/haskell/gitit/default.nix
index 7de302aee6de..a77c122985ee 100644
--- a/pkgs/development/libraries/haskell/gitit/default.nix
+++ b/pkgs/development/libraries/haskell/gitit/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gitit";
-  version = "0.10.0.1";
-  sha256 = "0dx4jq7j0s6h5lfl8qrr4qnyb3j0cnnc1c786yf8kcmhk04n028f";
+  version = "0.10.0.2";
+  sha256 = "0cnql35h4laqpaymg32dmszwzc74qmbmmjas44gcsd8v5n6f701i";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/glib/default.nix b/pkgs/development/libraries/haskell/glib/default.nix
index 86ce395f1ff2..29d2f92d7bac 100644
--- a/pkgs/development/libraries/haskell/glib/default.nix
+++ b/pkgs/development/libraries/haskell/glib/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "glib";
-  version = "0.12.3.1";
-  sha256 = "1k5s1d05kv0amvkjr644pqvicvmcgr5fffsz0xyljbj5jk4iv0py";
+  version = "0.12.4";
+  sha256 = "0s92phy1xlgjzqc7y5plviipb98m13h5lj4n9g6lbv4i106z97ax";
   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 a4b613dd756d..7d2319df08a4 100644
--- a/pkgs/development/libraries/haskell/gloss/default.nix
+++ b/pkgs/development/libraries/haskell/gloss/default.nix
@@ -2,9 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "gloss";
-  version = "1.7.5.2";
-  sha256 = "1lasq106slq57k832pqhaq5wh7hwxn5bzg7rjk95rf3rrq5xb9f5";
+  version = "1.7.6.6";
+  sha256 = "1by8zr1194mjnnia0ackhd48yqxh79k752c5jwxx6nsk1diwrvl9";
   buildDepends = [ bmp GLUT OpenGL ];
+  jailbreak = true;
   meta = {
     homepage = "http://gloss.ouroborus.net";
     description = "Painless 2D vector graphics, animations and simulations";
diff --git a/pkgs/development/libraries/haskell/gnuidn/default.nix b/pkgs/development/libraries/haskell/gnuidn/default.nix
new file mode 100644
index 000000000000..6ae78cf49b6a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gnuidn/default.nix
@@ -0,0 +1,17 @@
+{ cabal, c2hs, libidn, text }:
+
+cabal.mkDerivation (self: {
+  pname = "gnuidn";
+  version = "0.2";
+  sha256 = "0xk72p3z1lwlmab0jcf7m48p5pncgz00hb7l96naz1gdkbq7xizd";
+  buildDepends = [ text ];
+  buildTools = [ c2hs ];
+  extraLibraries = [ libidn ];
+  pkgconfigDepends = [ libidn ];
+  meta = {
+    homepage = "http://john-millikin.com/software/bindings/gnuidn/";
+    description = "Bindings for GNU IDN";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gnutls/default.nix b/pkgs/development/libraries/haskell/gnutls/default.nix
new file mode 100644
index 000000000000..72f98677ce66
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gnutls/default.nix
@@ -0,0 +1,16 @@
+{ cabal, gnutls, monadsTf, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "gnutls";
+  version = "0.1.4";
+  sha256 = "0xgjp274m4z005z77lhmh7blg6rw9g28jm0sd376rr49hykbxwd1";
+  buildDepends = [ monadsTf transformers ];
+  extraLibraries = [ gnutls ];
+  pkgconfigDepends = [ gnutls ];
+  meta = {
+    homepage = "https://john-millikin.com/software/haskell-gnutls/";
+    description = "Bindings for GNU libgnutls";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/graphviz/default.nix b/pkgs/development/libraries/haskell/graphviz/default.nix
index 7986ef07c1ee..e48f92e5b818 100644
--- a/pkgs/development/libraries/haskell/graphviz/default.nix
+++ b/pkgs/development/libraries/haskell/graphviz/default.nix
@@ -9,6 +9,7 @@ cabal.mkDerivation (self: {
   buildDepends = [
     colour dlist fgl filepath polyparse text transformers wlPprintText
   ];
+  patchPhase = "sed -i -e 's|bytestring.*,|bytestring,|' graphviz.cabal";
   meta = {
     homepage = "http://projects.haskell.org/graphviz/";
     description = "Bindings to Graphviz for graph visualisation";
diff --git a/pkgs/development/libraries/haskell/gsasl/default.nix b/pkgs/development/libraries/haskell/gsasl/default.nix
new file mode 100644
index 000000000000..5a654cdd11de
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gsasl/default.nix
@@ -0,0 +1,15 @@
+{ cabal, gsasl, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "gsasl";
+  version = "0.3.5";
+  sha256 = "1797rs6syrgs82akbj7nkmj0nni4w83fhwrl1zy2l3jqkcacvbm3";
+  buildDepends = [ transformers ];
+  pkgconfigDepends = [ gsasl ];
+  meta = {
+    homepage = "https://john-millikin.com/software/haskell-gsasl/";
+    description = "Bindings for GNU libgsasl";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gtk/default.nix b/pkgs/development/libraries/haskell/gtk/default.nix
index 57e6e20f78d5..ed5244d72629 100644
--- a/pkgs/development/libraries/haskell/gtk/default.nix
+++ b/pkgs/development/libraries/haskell/gtk/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gtk";
-  version = "0.12.3.1";
-  sha256 = "0v9sh07lpvih2gk4ivy0jx2slw7rpvbf75xp20plzgzmay1y978s";
+  version = "0.12.4";
+  sha256 = "0w6ffi9fdz44kb6g1kipk5780r2wc2l3f5cgxjx5nd60qz1xh7p2";
   buildDepends = [ cairo glib mtl pango ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
diff --git a/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix b/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
index aea067af9047..677c6c15214b 100644
--- a/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
+++ b/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gtk2hs-buildtools";
-  version = "0.12.3.1";
-  sha256 = "0a5lay1zy1pi6inaqjvhn8v0by2z5dpy3dssqsxwbq2hkfxizzy6";
+  version = "0.12.4";
+  sha256 = "0xh5z8pix5q48d9liicl021kq9py4rj5612va6lfjkj813p5zq2z";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ filepath random ];
diff --git a/pkgs/development/libraries/haskell/hackage-db/default.nix b/pkgs/development/libraries/haskell/hackage-db/default.nix
index 37698cebb38a..82175abb17e1 100644
--- a/pkgs/development/libraries/haskell/hackage-db/default.nix
+++ b/pkgs/development/libraries/haskell/hackage-db/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hackage-db";
-  version = "1.3";
-  sha256 = "17l2aw2kzjpjzyrg0c5vlaglx0vl475g3wxwavvzrd60z9lb3cp9";
+  version = "1.4";
+  sha256 = "12z1ak21xc9v373j956gz8l4ryj0582lgbl9ykp8q46n9b8sxfph";
   buildDepends = [ Cabal filepath tar ];
   meta = {
     homepage = "http://github.com/peti/hackage-db";
diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index 4224bfe1216a..ef2cc128e04f 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hakyll";
-  version = "3.4.1.0";
-  sha256 = "028wq61kvh2nkz8dxbpcnvic1vlqnz1a2l1xrvficmvk25qyqmvy";
+  version = "3.5.1.0";
+  sha256 = "16aaxnknxbpzdlm6dlmsq8pfssp63ywqim0zm3kvf7zic3hvq2xr";
   buildDepends = [
     binary blazeHtml blazeMarkup citeprocHs cryptohash filepath hamlet
     lrucache mtl pandoc parsec regexBase regexTdfa snapCore snapServer
diff --git a/pkgs/development/libraries/haskell/hamlet/default.nix b/pkgs/development/libraries/haskell/hamlet/default.nix
index 31d1ad66d2ec..0fc9d7b59f3f 100644
--- a/pkgs/development/libraries/haskell/hamlet/default.nix
+++ b/pkgs/development/libraries/haskell/hamlet/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hamlet";
-  version = "1.1.0.2";
-  sha256 = "0knkc43ldz3jhn3pmsysqbzlsp8akh9kiyy2jncra9y0xhminpqy";
+  version = "1.1.1.1";
+  sha256 = "0vxnvh9npsf1jxh471fnr2d13bdi7p8sxn5b2w86bla3q273jxp8";
   buildDepends = [
     blazeBuilder blazeHtml blazeMarkup 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 cf71dde30c34..fad611798e9d 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix
@@ -2,10 +2,9 @@
 
 cabal.mkDerivation (self: {
   pname = "happstack-hamlet";
-  version = "7.0.1";
-  sha256 = "13ayypl2x402h6a7yq7fvgd2mn21gl5gcw2hk7f5vr2bdlvwv53n";
+  version = "7.0.2";
+  sha256 = "0hsmvv5rggyl7sa4sp30zyr43k6zj7dlpd0mb916wzcqrnyxa34a";
   buildDepends = [ hamlet happstackServer text ];
-  jailbreak = true;
   meta = {
     homepage = "http://www.happstack.com/";
     description = "Support for Hamlet HTML templates in Happstack";
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
index 06b882c20bb1..e864075b42a5 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-server.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
@@ -1,19 +1,19 @@
 { cabal, base64Bytestring, blazeHtml, extensibleExceptions
 , filepath, hslogger, html, monadControl, mtl, network, parsec
-, sendfile, syb, systemFilepath, text, time, transformers
+, sendfile, syb, systemFilepath, text, threads, time, transformers
 , transformersBase, utf8String, xhtml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "happstack-server";
-  version = "7.0.4";
-  sha256 = "168201z5slm6mrkckpdpshgaiz29k9j1j97vmbrybprj0zhcrl7r";
+  version = "7.0.7";
+  sha256 = "0r9bk82zjzlsi6j6dnz5b73qacpfdyhsn5ds98cn7gkqyf4yg7cj";
   buildDepends = [
     base64Bytestring blazeHtml extensibleExceptions filepath hslogger
     html monadControl mtl network parsec sendfile syb systemFilepath
-    text time transformers transformersBase utf8String xhtml zlib
+    text threads time transformers transformersBase utf8String xhtml
+    zlib
   ];
-  jailbreak = true;
   meta = {
     homepage = "http://happstack.com";
     description = "Web related tools and services";
diff --git a/pkgs/development/libraries/haskell/hashed-storage/default.nix b/pkgs/development/libraries/haskell/hashed-storage/default.nix
index 04f465bb9fe3..161e81eb3754 100644
--- a/pkgs/development/libraries/haskell/hashed-storage/default.nix
+++ b/pkgs/development/libraries/haskell/hashed-storage/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hashed-storage";
-  version = "0.5.9";
-  sha256 = "1ycn0zwk5jqm6wwgs8nxpdg7fh5wx0i2058i0a924whj196kkhk2";
+  version = "0.5.10";
+  sha256 = "1k7drnk0y5apjvwsiw85032yvxllbi7ndg6h9x207gnjxm64m0h5";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/hashtables/default.nix b/pkgs/development/libraries/haskell/hashtables/default.nix
index 1f9e4b418e28..8b8616fce208 100644
--- a/pkgs/development/libraries/haskell/hashtables/default.nix
+++ b/pkgs/development/libraries/haskell/hashtables/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hashtables";
-  version = "1.0.1.6";
-  sha256 = "071msa15447rk2zc5jbpms8sc1ml8yi1n5pycycrcik8dhsm3slb";
+  version = "1.0.1.8";
+  sha256 = "0skrzvzasm0hg4631nhfppsb7mn60pnxk4v31gipzz780sbx9zi8";
   buildDepends = [ hashable primitive vector ];
   meta = {
     homepage = "http://github.com/gregorycollins/hashtables";
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix
new file mode 100644
index 000000000000..c9f269eebefa
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix
@@ -0,0 +1,44 @@
+{cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, async, cgi, fgl,
+ haskellSrc, html, network, parallel, parsec, primitive,
+ regexBase, regexCompat, regexPosix,
+ split, stm, syb, deepseq, text, transformers, mtl, vector, xhtml, zlib, random,
+ cabalInstall, alex, happy, haddock, ghc}:
+
+# This is just a meta-package. Because upstream fails to provide proper versioned
+# release tarballs that can be used for the purpose of verifying this package, we
+# just create it on the fly from a simple Setup.hs file and a .cabal file that we
+# store directly in the nixpkgs repository.
+
+cabal.mkDerivation (self : {
+  pname = "haskell-platform";
+  version = "2012.4.0.0";
+  cabalFile = ./haskell-platform-2012.4.0.0.cabal;
+  setupFile = ./Setup.hs;
+  src = null;
+  propagatedBuildInputs = [
+    GLUT HTTP HUnit OpenGL QuickCheck async cgi fgl
+    haskellSrc html network parallel parsec primitive
+    regexBase regexCompat regexPosix
+    split stm syb deepseq text transformers mtl vector xhtml zlib random
+    cabalInstall alex happy ghc haddock
+  ];
+  unpackPhase = ''
+    sourceRoot=haskell-platform
+    mkdir $sourceRoot
+    cp ${self.cabalFile} $sourceRoot/${self.pname}.cabal
+    cp ${self.setupFile} $sourceRoot/Setup.hs
+    touch $sourceRoot/LICENSE
+  '';
+  noHaddock = true;
+  meta = {
+    homepage = "http://haskell.org/platform";
+    description = "Haskell Platform meta package";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
+
diff --git a/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.4.0.0.cabal b/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.4.0.0.cabal
new file mode 100644
index 000000000000..23d1f7a0a7d9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.4.0.0.cabal
@@ -0,0 +1,113 @@
+name:                haskell-platform
+version:             2012.4.0.0
+homepage:            http://haskell.org/platform
+license:             BSD3
+license-file:        LICENSE
+author:              libraries@haskell.org
+maintainer:          haskell-platform@projects.haskell.org
+category:            System
+synopsis:            The Haskell Platform
+description:
+    The Haskell Platform (HP) is the blessed set of libraries and tools on
+    which to build further Haskell libraries and applications. It is
+    intended to provide a comprehensive, stable, and quality tested base for
+    Haskell projects to work from.
+    .
+    This version specifies the following additional developer tools be
+    installed, for a system to be in full compliance:
+    .
+    * cabal-install
+    * alex
+    * happy
+    * haddock
+
+cabal-version:       >= 1.8
+build-type:          Custom
+tested-with:         GHC ==7.4.2
+
+flag include-ghc-depends
+  description: Include all the GHC provided packages in the dependencies
+  default:     False
+
+library
+  if flag(include-ghc-depends)
+    build-depends:
+      ghc                      ==7.4.2,
+
+      -- Core libraries: provided by every ghc installation
+      -- We don't include "non-API" packages here.
+      --                                        begin core packages
+      array                    ==0.4.0.0,
+      base                     ==4.5.1.0,
+      bytestring               ==0.9.2.1,
+      Cabal                    ==1.14.0,
+      containers               ==0.4.2.1,
+      deepseq                  ==1.3.0.0,
+      directory                ==1.1.0.2,
+      extensible-exceptions    ==0.1.1.4,
+      filepath                 ==1.3.0.0,
+      haskell2010              ==1.1.0.1,
+      haskell98                ==2.0.0.1,
+      hpc                      ==0.5.1.1,
+      old-locale               ==1.0.0.4,
+      old-time                 ==1.1.0.0,
+      pretty                   ==1.1.1.0,
+      process                  ==1.1.0.1,
+      template-haskell         ==2.7.0.0,
+      time                     ==1.4
+  if !os(windows)
+    build-depends:
+      unix                     ==2.5.1.1
+      --                                        end core packages
+  else
+    build-depends:
+      Win32                    ==2.2.2.0
+
+  build-depends:
+    -- Libraries in addition to what GHC provides:
+    -- Note: newer versions of cgi need monad-catchio.
+    --                                          begin platform packages
+    async                       ==2.0.1.3,
+    cgi                         ==3001.1.7.4,
+    fgl                         ==5.4.2.4,
+    GLUT                        ==2.1.2.1,
+    haskell-src                 ==1.0.1.5,
+    html                        ==1.0.1.2,
+    HTTP                        ==4000.2.5,
+    HUnit                       ==1.2.5.1,
+    mtl                         ==2.1.2,
+    network                     ==2.3.1.0,
+    OpenGL                      ==2.2.3.1,
+    parallel                    ==3.2.0.3,
+    parsec                      ==3.1.3,
+    QuickCheck                  ==2.5.1.1,
+    random                      ==1.0.1.1,
+    regex-base                  ==0.93.2,
+    regex-compat                ==0.95.1,
+    regex-posix                 ==0.95.2,
+    split                       ==0.2.1.1,
+    stm                         ==2.4,
+    syb                         ==0.3.7,
+    text                        ==0.11.2.3,
+    transformers                ==0.3.0.0,
+    vector                      ==0.10.0.1,
+    xhtml                       ==3000.2.1,
+    zlib                        ==0.5.4.0,
+
+    -- Libraries that are needed to support the above,
+    -- though are not officially part of the platform
+    primitive                   ==0.5.0.1
+
+  -- Depending on programs does not work, they are not registered
+  -- We list them to help distro packaging.
+  build-tools:
+    cabal-install               ==0.14.0,
+    alex                        ==3.0.2,
+    happy                       ==1.18.10
+    --                                          end platform packages
+    -- hscolour                 ==1.19   -- ???
+    -- haddock                  ==2.11.0 -- need to use the one shipped with ghc
+
+-- N.B.: The begin/end comment annotations are used to build the source
+-- installer: Packages that are part of the core are checked at build time.
+-- Source of packages that are part of the platform are included in the tarball.
diff --git a/pkgs/development/libraries/haskell/heist/default.nix b/pkgs/development/libraries/haskell/heist/default.nix
index 44ba8ba15ee5..d87f4fe239e9 100644
--- a/pkgs/development/libraries/haskell/heist/default.nix
+++ b/pkgs/development/libraries/haskell/heist/default.nix
@@ -1,16 +1,16 @@
 { cabal, aeson, attoparsec, blazeBuilder, blazeHtml, directoryTree
 , filepath, MonadCatchIOTransformers, mtl, random, text, time
-, transformers, unorderedContainers, vector, xmlhtml
+, unorderedContainers, vector, xmlhtml
 }:
 
 cabal.mkDerivation (self: {
   pname = "heist";
-  version = "0.8.1.1";
-  sha256 = "0ad56izskafpc1dx2nq0a8w71ayppwx8dc7kdaw1by972kh3nflh";
+  version = "0.8.2";
+  sha256 = "0zamggvfq9054vxznbnfq1fihk110ih8q0dza1rmsjb1h2s88rkj";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeHtml directoryTree filepath
-    MonadCatchIOTransformers mtl random text time transformers
-    unorderedContainers vector xmlhtml
+    MonadCatchIOTransformers mtl random text time unorderedContainers
+    vector xmlhtml
   ];
   meta = {
     homepage = "http://snapframework.com/";
diff --git a/pkgs/development/libraries/haskell/hexpat/default.nix b/pkgs/development/libraries/haskell/hexpat/default.nix
new file mode 100644
index 000000000000..5a656bc19c78
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hexpat/default.nix
@@ -0,0 +1,18 @@
+{ cabal, deepseq, extensibleExceptions, List, text, transformers
+, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hexpat";
+  version = "0.20.3";
+  sha256 = "13dh0cvcmp6yi4nncsn6q9pkisld9xvz6j4xabng5ax67vdgdvrs";
+  buildDepends = [
+    deepseq extensibleExceptions List text transformers utf8String
+  ];
+  meta = {
+    homepage = "http://haskell.org/haskellwiki/Hexpat/";
+    description = "XML parser/formatter based on expat";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hfuse/default.nix b/pkgs/development/libraries/haskell/hfuse/default.nix
index 8ff4f7fd2757..64943d5e1c1c 100644
--- a/pkgs/development/libraries/haskell/hfuse/default.nix
+++ b/pkgs/development/libraries/haskell/hfuse/default.nix
@@ -17,7 +17,6 @@ cabal.mkDerivation (self: {
     platforms = self.ghc.meta.platforms;
     maintainers = [
       self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
index 21497f3252a2..4b2e32d23520 100644
--- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix
+++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
@@ -1,12 +1,13 @@
-{ cabal, blazeHtml, filepath, mtl, parsec, regexPcreBuiltin }:
+{ cabal, blazeHtml, filepath, mtl, parsec, regexPcre }:
 
 cabal.mkDerivation (self: {
   pname = "highlighting-kate";
-  version = "0.5.3.2";
-  sha256 = "09yvqxvjzahz0y6yhsfgkx5xm39a74arv294w14sgmhay1wnlwvj";
+  version = "0.5.3.3";
+  sha256 = "08jxl2ba0kb4vj1qbdf4sas8bwbxzayzwsxnjvq358x57i5l302n";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ blazeHtml filepath mtl parsec regexPcreBuiltin ];
+  buildDepends = [ blazeHtml filepath mtl parsec regexPcre ];
+  prePatch = "sed -i -e 's|regex-pcre-builtin|regex-pcre|' highlighting-kate.cabal";
   meta = {
     homepage = "http://github.com/jgm/highlighting-kate";
     description = "Syntax highlighting";
diff --git a/pkgs/development/libraries/haskell/hinotify/default.nix b/pkgs/development/libraries/haskell/hinotify/default.nix
index 8cbf3f20a72d..de1c0e127597 100644
--- a/pkgs/development/libraries/haskell/hinotify/default.nix
+++ b/pkgs/development/libraries/haskell/hinotify/default.nix
@@ -2,13 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "hinotify";
-  version = "0.3.2";
-  sha256 = "0gr9rv1af6w7g2hbjhz1livi5zfhzdswjyapvjz3d7cga906bj48";
+  version = "0.3.5";
+  sha256 = "00pzvqw2w3gbz8j4hiz8zxm7rki07g1iamjlbazz3kmpwcgjxi0l";
   meta = {
-    homepage = "http://code.haskell.org/hinotify/README.html";
-    description = "Haskell binding to INotify";
+    homepage = "https://github.com/kolmodin/hinotify.git";
+    description = "Haskell binding to inotify";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hint/default.nix b/pkgs/development/libraries/haskell/hint/default.nix
index 795d8c1d674e..106b85917782 100644
--- a/pkgs/development/libraries/haskell/hint/default.nix
+++ b/pkgs/development/libraries/haskell/hint/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hint";
-  version = "0.3.3.4";
-  sha256 = "0pmvhlj9m0s1wvw8ppx1wx879lwzg38bcvhy1ma1d4wnrpq3bhiy";
+  version = "0.3.3.5";
+  sha256 = "09pd4b105c2ikf4ap96fz8091qra7hypq3k3ik0kay3bb532hmlq";
   buildDepends = [
     extensibleExceptions filepath ghcMtl ghcPaths haskellSrc
     MonadCatchIOMtl mtl random utf8String
diff --git a/pkgs/development/libraries/haskell/hjsmin/default.nix b/pkgs/development/libraries/haskell/hjsmin/default.nix
index 6d749feea3a0..35eed1de3f0f 100644
--- a/pkgs/development/libraries/haskell/hjsmin/default.nix
+++ b/pkgs/development/libraries/haskell/hjsmin/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hjsmin";
-  version = "0.1.2";
-  sha256 = "04yk383504blg8x10x5j1fd5mzyybqkhz7jfsyimvz2wz2v86qsb";
+  version = "0.1.3";
+  sha256 = "0lz7qsm74hbs8qa5d3khw43ipiimjbvxsrqqmxvp44605ib22y4d";
   buildDepends = [ blazeBuilder languageJavascript text ];
   meta = {
     homepage = "http://github.com/alanz/hjsmin";
diff --git a/pkgs/development/libraries/haskell/hledger-lib/default.nix b/pkgs/development/libraries/haskell/hledger-lib/default.nix
index af230b2e6448..05a1c04fe599 100644
--- a/pkgs/development/libraries/haskell/hledger-lib/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-lib/default.nix
@@ -4,13 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "hledger-lib";
-  version = "0.18.2";
-  sha256 = "0lcs58bdix4m7sslrdi38rqw5x5fb4ip0n5is0phxdrbp0nggd4z";
+  version = "0.19.1";
+  sha256 = "19ccbf9g1garwg56ig4qckz1zky89g1z71nwfbwi4v57bjw53ab4";
   buildDepends = [
     cmdargs csv filepath HUnit mtl parsec regexpr safe shakespeareText
     split time transformers utf8String
   ];
-  jailbreak = true;
   meta = {
     homepage = "http://hledger.org";
     description = "Core data types, parsers and utilities for the hledger accounting tool";
diff --git a/pkgs/development/libraries/haskell/hledger-web/default.nix b/pkgs/development/libraries/haskell/hledger-web/default.nix
index cc4ccc186c63..825b79ae1592 100644
--- a/pkgs/development/libraries/haskell/hledger-web/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-web/default.nix
@@ -1,21 +1,23 @@
-{ cabal, blazeHtml, cabalFileTh, clientsession, cmdargs, filepath
-, hamlet, hledger, hledgerLib, HUnit, ioStorage, networkConduit
-, parsec, regexpr, safe, shakespeareText, text, time, transformers
-, wai, waiExtra, warp, yaml, yesod, yesodCore, yesodDefault
-, yesodStatic
+{ cabal, blazeHtml, blazeMarkup, clientsession, cmdargs
+, dataDefault, filepath, hamlet, hjsmin, hledger, hledgerLib
+, httpConduit, HUnit, ioStorage, monadControl, networkConduit
+, parsec, regexpr, safe, shakespeareCss, shakespeareJs
+, shakespeareText, text, time, transformers, wai, waiExtra, warp
+, yaml, yesod, yesodCore, yesodDefault, yesodForm, yesodStatic
 }:
 
 cabal.mkDerivation (self: {
   pname = "hledger-web";
-  version = "0.18.2";
-  sha256 = "1bhah29why34qaiy7mgzpzjd5dm94izcf3jmgflix56gkgzk86p1";
+  version = "0.19";
+  sha256 = "0p820pwx4javzfvzhz02930adx6w7246hdk802wz1g4937rlq8p3";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    blazeHtml cabalFileTh clientsession cmdargs filepath hamlet hledger
-    hledgerLib HUnit ioStorage networkConduit parsec regexpr safe
-    shakespeareText text time transformers wai waiExtra warp yaml yesod
-    yesodCore yesodDefault yesodStatic
+    blazeHtml blazeMarkup clientsession cmdargs dataDefault filepath
+    hamlet hjsmin hledger hledgerLib httpConduit HUnit ioStorage
+    monadControl networkConduit parsec regexpr safe shakespeareCss
+    shakespeareJs shakespeareText text time transformers wai waiExtra
+    warp yaml yesod yesodCore yesodDefault yesodForm yesodStatic
   ];
   meta = {
     homepage = "http://hledger.org";
diff --git a/pkgs/development/libraries/haskell/hledger/default.nix b/pkgs/development/libraries/haskell/hledger/default.nix
index 46ae378d738c..30427f2cddde 100644
--- a/pkgs/development/libraries/haskell/hledger/default.nix
+++ b/pkgs/development/libraries/haskell/hledger/default.nix
@@ -1,19 +1,18 @@
-{ cabal, cabalFileTh, cmdargs, filepath, haskeline, hledgerLib
-, HUnit, mtl, parsec, regexpr, safe, shakespeareText, split, text
-, time, utf8String
+{ cabal, cmdargs, filepath, haskeline, hledgerLib, HUnit, mtl
+, parsec, regexpr, safe, shakespeareText, split, text, time
+, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "hledger";
-  version = "0.18.2";
-  sha256 = "1i0rix3h5vrq9j01fzgwyhs2n8nfzhidi4rjlvn402ps0w6j15ld";
+  version = "0.19.1";
+  sha256 = "0ad7wmcpwi7a9nag4j27rhffhai6a5zgzaafss7sfr7yia00cpgg";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    cabalFileTh cmdargs filepath haskeline hledgerLib HUnit mtl parsec
-    regexpr safe shakespeareText split text time utf8String
+    cmdargs filepath haskeline hledgerLib HUnit mtl parsec regexpr safe
+    shakespeareText split text time utf8String
   ];
-  jailbreak = true;
   meta = {
     homepage = "http://hledger.org";
     description = "The main command-line interface for the hledger accounting tool";
diff --git a/pkgs/development/libraries/haskell/hoogle/default.nix b/pkgs/development/libraries/haskell/hoogle/default.nix
index e13ab47beaac..8ebc698892ff 100644
--- a/pkgs/development/libraries/haskell/hoogle/default.nix
+++ b/pkgs/development/libraries/haskell/hoogle/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hoogle";
-  version = "4.2.13";
-  sha256 = "0asw9lr22d8jxr58b7w2j5hgllxhw2w8kllh5aq5jjs272hjiy9i";
+  version = "4.2.14";
+  sha256 = "1ymmf8zxp2nbygnavhr3ay0fidhd3vhrdqb7mg0qgk8y9kx25brj";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -17,7 +17,7 @@ cabal.mkDerivation (self: {
   meta = {
     homepage = "http://www.haskell.org/hoogle/";
     description = "Haskell API Search";
-    license = "GPL";
+    license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
diff --git a/pkgs/development/libraries/haskell/hopenssl/default.nix b/pkgs/development/libraries/haskell/hopenssl/default.nix
index 5c62cbf3fe08..fec3f5dccf49 100644
--- a/pkgs/development/libraries/haskell/hopenssl/default.nix
+++ b/pkgs/development/libraries/haskell/hopenssl/default.nix
@@ -11,6 +11,9 @@ cabal.mkDerivation (self: {
     description = "FFI bindings to OpenSSL's EVP digest interface";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hs-bibutils/default.nix b/pkgs/development/libraries/haskell/hs-bibutils/default.nix
index c96e6aeaac64..8acb621fe3f0 100644
--- a/pkgs/development/libraries/haskell/hs-bibutils/default.nix
+++ b/pkgs/development/libraries/haskell/hs-bibutils/default.nix
@@ -2,11 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "hs-bibutils";
-  version = "4.12";
-  sha256 = "0akxi69as7k5c0955yla9wcl1xvcvgzpzy3p1jj781w1lf89p537";
+  version = "4.15";
+  sha256 = "1h2vqi6ymhx9wpfv5qzvq4fhc4iand93shsncp8nszk64acmz9z9";
   buildDepends = [ syb ];
   meta = {
-    homepage = "http://code.haskell.org/hs-bibutils";
+    homepage = "http://gorgias.mine.nu/repos/hs-bibutils/";
     description = "Haskell bindings to bibutils, the bibliography conversion utilities";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/hspec-expectations/default.nix b/pkgs/development/libraries/haskell/hspec-expectations/default.nix
new file mode 100644
index 000000000000..e7d5756b7599
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hspec-expectations/default.nix
@@ -0,0 +1,14 @@
+{ cabal, HUnit }:
+
+cabal.mkDerivation (self: {
+  pname = "hspec-expectations";
+  version = "0.3.0.3";
+  sha256 = "1ppcbfmcgrd1lwswa293fxwny6khhg4blygfbcsawrvgc5ji0q74";
+  buildDepends = [ HUnit ];
+  meta = {
+    homepage = "https://github.com/sol/hspec-expectations#readme";
+    description = "Catchy combinators for HUnit";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hspec/default.nix b/pkgs/development/libraries/haskell/hspec/default.nix
new file mode 100644
index 000000000000..4c43513e229e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hspec/default.nix
@@ -0,0 +1,21 @@
+{ cabal, ansiTerminal, filepath, hspecExpectations, HUnit
+, QuickCheck, setenv, silently, time, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hspec";
+  version = "1.4.2";
+  sha256 = "0qlm6p5i1fkgyca704bsjc1nm1ks19pfq6l3vmzsszjzbdl8p5cq";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    ansiTerminal filepath hspecExpectations HUnit QuickCheck setenv
+    silently time transformers
+  ];
+  meta = {
+    homepage = "http://hspec.github.com/";
+    description = "Behavior-Driven Development for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/html-conduit/default.nix b/pkgs/development/libraries/haskell/html-conduit/default.nix
new file mode 100644
index 000000000000..28216a54815c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/html-conduit/default.nix
@@ -0,0 +1,19 @@
+{ cabal, conduit, filesystemConduit, resourcet, systemFilepath
+, tagstreamConduit, text, transformers, xmlConduit, xmlTypes
+}:
+
+cabal.mkDerivation (self: {
+  pname = "html-conduit";
+  version = "0.1.0.4";
+  sha256 = "1g217856dz1ad545slk020n5w0la4yyd5ygva2gg2g0999padi78";
+  buildDepends = [
+    conduit filesystemConduit resourcet systemFilepath tagstreamConduit
+    text transformers xmlConduit xmlTypes
+  ];
+  meta = {
+    homepage = "https://github.com/snoyberg/xml";
+    description = "Parse HTML documents using xml-conduit datatypes";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/http-conduit/default.nix b/pkgs/development/libraries/haskell/http-conduit/default.nix
index b1cb2bac6abc..b13926f75278 100644
--- a/pkgs/development/libraries/haskell/http-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/http-conduit/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-conduit";
-  version = "1.6.0.3";
-  sha256 = "101h4ba92h8gh74pl9kkgfg94sx3nivv6cc2lfm7i85lrp2fwyjr";
+  version = "1.8.4";
+  sha256 = "1gs4ac5qhrx8xdz4zbhwalkycspl28lkk23m16pdpf2gkmbhh58a";
   buildDepends = [
     asn1Data attoparsec attoparsecConduit base64Bytestring blazeBuilder
     blazeBuilderConduit caseInsensitive certificate conduit cookie
diff --git a/pkgs/development/libraries/haskell/http-date/default.nix b/pkgs/development/libraries/haskell/http-date/default.nix
index 82e6d8477b6a..a0168a519581 100644
--- a/pkgs/development/libraries/haskell/http-date/default.nix
+++ b/pkgs/development/libraries/haskell/http-date/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-date";
-  version = "0.0.2";
-  sha256 = "18nijf3hswbvcd5amhbccqmgnanmslsmqpd2iixlvwz5hqb3ncvj";
+  version = "0.0.3";
+  sha256 = "12iylfzz1d0v0gl4cf31dxcmlg0x7bq5f7acacy2pb0ilrxmzsnn";
   buildDepends = [ attoparsec ];
   meta = {
     description = "HTTP Date parser/formatter";
diff --git a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
new file mode 100644
index 000000000000..9c44971688dc
--- /dev/null
+++ b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
@@ -0,0 +1,21 @@
+{ cabal, blazeBuilder, caseInsensitive, classyPreludeConduit
+, conduit, httpConduit, httpTypes, liftedBase, monadControl
+, network, networkConduit, text, wai, warp, word8
+}:
+
+cabal.mkDerivation (self: {
+  pname = "http-reverse-proxy";
+  version = "0.1.0.5";
+  sha256 = "1x1m9vklgg6x8niry8c5fxcjpmsmrpxv7j2i5h38hp1hbka3mpr0";
+  buildDepends = [
+    blazeBuilder caseInsensitive classyPreludeConduit conduit
+    httpConduit httpTypes liftedBase monadControl network
+    networkConduit text wai warp word8
+  ];
+  meta = {
+    homepage = "https://github.com/fpco/http-reverse-proxy";
+    description = "Reverse proxy HTTP requests, either over raw sockets or with WAI";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hxt/default.nix b/pkgs/development/libraries/haskell/hxt/default.nix
index 203bb89ef092..35783c7762ef 100644
--- a/pkgs/development/libraries/haskell/hxt/default.nix
+++ b/pkgs/development/libraries/haskell/hxt/default.nix
@@ -4,12 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "hxt";
-  version = "9.2.2";
-  sha256 = "0ichjpshq10b11dyfv1q7rs2m190x3gplx6k54amlxv45nwd1s6r";
+  version = "9.3.1.1";
+  sha256 = "1x0z85vx49s2b9bgjm14c2152cwr0vzf02rlxrla5dj5g565985y";
   buildDepends = [
     binary deepseq filepath HUnit hxtCharproperties hxtRegexXmlschema
     hxtUnicode mtl network parsec
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html";
     description = "A collection of tools for processing XML with Haskell";
diff --git a/pkgs/development/libraries/haskell/instant-generics/default.nix b/pkgs/development/libraries/haskell/instant-generics/default.nix
index f4dfc4848a61..61e580b6293d 100644
--- a/pkgs/development/libraries/haskell/instant-generics/default.nix
+++ b/pkgs/development/libraries/haskell/instant-generics/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "instant-generics";
-  version = "0.3.5";
-  sha256 = "15j41krvabf541vm4vpn2jvlg3nbi6pywcig9zbjjpckzwp5vj9x";
+  version = "0.3.7";
+  sha256 = "0kkfx009ij3pwga7x18vr8p0ffhahlp8sb6ykzfh8rhcqd4ryzyv";
   buildDepends = [ syb ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/InstantGenerics";
diff --git a/pkgs/development/libraries/haskell/iproute/default.nix b/pkgs/development/libraries/haskell/iproute/default.nix
new file mode 100644
index 000000000000..d323bece64c4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/iproute/default.nix
@@ -0,0 +1,14 @@
+{ cabal, appar, byteorder, network }:
+
+cabal.mkDerivation (self: {
+  pname = "iproute";
+  version = "1.2.7";
+  sha256 = "07ixxq45w5wzvfrvsv2b206kygiqn1v3bcclkd98afjpc6mv3ld3";
+  buildDepends = [ appar byteorder network ];
+  meta = {
+    homepage = "http://www.mew.org/~kazu/proj/iproute/";
+    description = "IP Routing Table";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/json/default.nix b/pkgs/development/libraries/haskell/json/default.nix
index 5bfbb59d83f4..9a56f412fe2b 100644
--- a/pkgs/development/libraries/haskell/json/default.nix
+++ b/pkgs/development/libraries/haskell/json/default.nix
@@ -1,18 +1,14 @@
-{ cabal, mtl, parsec, syb }:
+{ cabal, mtl, parsec, syb, text }:
 
 cabal.mkDerivation (self: {
   pname = "json";
-  version = "0.5";
-  sha256 = "12jbvq0lp7z5q6g94pv8s5455yydfyh9h2xlr76wqzfh3myvy6fl";
-  buildDepends = [ mtl parsec syb ];
-  patchPhase = "sed -i json.cabal -e '1iExtensions: FlexibleInstances'";
+  version = "0.7";
+  sha256 = "18v8vbx3pyskf3ap4lpy2d3461gghfsq5bzjyrjvqsd2r9r44rfk";
+  buildDepends = [ mtl parsec syb text ];
   meta = {
     description = "Support for serialising Haskell to and from JSON";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/lambdacube-engine/default.nix b/pkgs/development/libraries/haskell/lambdacube-engine/default.nix
new file mode 100644
index 000000000000..f3c9a8af4eab
--- /dev/null
+++ b/pkgs/development/libraries/haskell/lambdacube-engine/default.nix
@@ -0,0 +1,19 @@
+{ cabal, binary, bitmap, bytestringTrie, filepath, mtl, OpenGLRaw
+, stbImage, uulib, vect, vector, vectorAlgorithms, xml, zipArchive
+}:
+
+cabal.mkDerivation (self: {
+  pname = "lambdacube-engine";
+  version = "0.2.4";
+  sha256 = "1xdp10nylndmfw16dywqrxj30g99rf9qbcx5qiglvzm1c1kxid3f";
+  buildDepends = [
+    binary bitmap bytestringTrie filepath mtl OpenGLRaw stbImage uulib
+    vect vector vectorAlgorithms xml zipArchive
+  ];
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/LambdaCubeEngine";
+    description = "3D rendering engine written entirely in Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/language-c-quote/default.nix b/pkgs/development/libraries/haskell/language-c-quote/default.nix
index 7cf0aae9596e..77396e3cf555 100644
--- a/pkgs/development/libraries/haskell/language-c-quote/default.nix
+++ b/pkgs/development/libraries/haskell/language-c-quote/default.nix
@@ -4,14 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "language-c-quote";
-  version = "0.3.2";
-  sha256 = "1pxrag9ws93rsqrsxcyxg07pvp2qw0f19yj2b40ynwzk112nkd16";
+  version = "0.4.3";
+  sha256 = "13xpmj3jrqkcgilkh4p8ycxhlk5yvfsisx4c1ax7n7aafg1n7phf";
   buildDepends = [
     exceptionMtl exceptionTransformers filepath haskellSrcMeta
     mainlandPretty mtl srcloc syb symbol
   ];
   buildTools = [ alex happy ];
-  jailbreak = true;
   meta = {
     homepage = "http://www.eecs.harvard.edu/~mainland/";
     description = "C/CUDA/OpenCL quasiquoting library";
diff --git a/pkgs/development/libraries/haskell/language-haskell-extract/default.nix b/pkgs/development/libraries/haskell/language-haskell-extract/default.nix
index 7cbbce517f66..461c790c88b3 100644
--- a/pkgs/development/libraries/haskell/language-haskell-extract/default.nix
+++ b/pkgs/development/libraries/haskell/language-haskell-extract/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "language-haskell-extract";
-  version = "0.2.1";
-  sha256 = "0lmg16g3z8cx0vb037bk4j2nr3qvybfcqfsr8l6jk57b2nz3yhbf";
+  version = "0.2.3";
+  sha256 = "0fz1nin596ihlh77pafzpdf46br1k3pxcxyml2rvly6g0h3yjgpr";
   buildDepends = [ haskellSrcExts regexPosix ];
   meta = {
     homepage = "http://github.com/finnsson/template-helper";
diff --git a/pkgs/development/libraries/haskell/language-javascript/default.nix b/pkgs/development/libraries/haskell/language-javascript/default.nix
index 3f04b3a92893..e05b93655e41 100644
--- a/pkgs/development/libraries/haskell/language-javascript/default.nix
+++ b/pkgs/development/libraries/haskell/language-javascript/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "language-javascript";
-  version = "0.5.4";
-  sha256 = "0hjx12n3pkxcdkppqalv6sl68vjlib37gby89ksay807ndslvb9q";
+  version = "0.5.7";
+  sha256 = "0mndz0bqxkayzm7g92cvai9ahb9msr99syp9djhaya1d45595ad3";
   buildDepends = [ blazeBuilder mtl utf8Light utf8String ];
   buildTools = [ happy ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/lens/default.nix b/pkgs/development/libraries/haskell/lens/default.nix
new file mode 100644
index 000000000000..c849665b1c80
--- /dev/null
+++ b/pkgs/development/libraries/haskell/lens/default.nix
@@ -0,0 +1,22 @@
+{ cabal, comonad, comonadsFd, comonadTransformers, filepath
+, hashable, mtl, parallel, semigroups, split, text, transformers
+, unorderedContainers, vector, void
+}:
+
+cabal.mkDerivation (self: {
+  pname = "lens";
+  version = "3.3";
+  sha256 = "0gq24y1727ml5lpr0b67hqw3vwanvx6hpk3lsfx3nk6csscn1lvk";
+  buildDepends = [
+    comonad comonadsFd comonadTransformers filepath hashable mtl
+    parallel semigroups split text transformers unorderedContainers
+    vector void
+  ];
+  noHaddock = true;
+  meta = {
+    homepage = "http://github.com/ekmett/lens/";
+    description = "Lenses, Folds and Traversals";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/liblastfm/default.nix b/pkgs/development/libraries/haskell/liblastfm/default.nix
index c625fc444796..70ba29830c68 100644
--- a/pkgs/development/libraries/haskell/liblastfm/default.nix
+++ b/pkgs/development/libraries/haskell/liblastfm/default.nix
@@ -2,11 +2,14 @@
 
 cabal.mkDerivation (self: {
   pname = "liblastfm";
-  version = "0.0.3.4";
-  sha256 = "1d8fypl9s64jpsr8hygyfqq6jzv1bvd22zq4f93xsffpvv7nqnyk";
+  version = "0.0.3.6";
+  sha256 = "0xmrciv489dvksgpg9g83kna34x1amsx45wvpngcpnx4m44fcp4w";
   buildDepends = [
     aeson curl mtl pureMD5 urlencoded utf8String xml
   ];
+  patchPhase = ''
+    sed -i -e 's|curl == .*,|curl,|' -e 's|urlencoded .*,|urlencoded,|' liblastfm.cabal
+  '';
   meta = {
     description = "Wrapper to Lastfm API";
     license = self.stdenv.lib.licenses.mit;
diff --git a/pkgs/development/libraries/haskell/libmpd/default.nix b/pkgs/development/libraries/haskell/libmpd/default.nix
index c0ba821d5f1c..f6185597af17 100644
--- a/pkgs/development/libraries/haskell/libmpd/default.nix
+++ b/pkgs/development/libraries/haskell/libmpd/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "libmpd";
-  version = "0.8.0";
-  sha256 = "0sn9yqiqr011glb7q0f3xj24wkkvnib0khzf833npcas4420d0ya";
+  version = "0.8.0.1";
+  sha256 = "16j2c0dnwllsb979gqf1cl4ylvpldcj8k32ddpp4wf62lbb1mqxm";
   buildDepends = [ filepath mtl network text time utf8String ];
   meta = {
     homepage = "http://github.com/joachifm/libmpd-haskell";
diff --git a/pkgs/development/libraries/haskell/libxml-sax/default.nix b/pkgs/development/libraries/haskell/libxml-sax/default.nix
new file mode 100644
index 000000000000..b41ca8dfa543
--- /dev/null
+++ b/pkgs/development/libraries/haskell/libxml-sax/default.nix
@@ -0,0 +1,16 @@
+{ cabal, libxml2, text, xmlTypes }:
+
+cabal.mkDerivation (self: {
+  pname = "libxml-sax";
+  version = "0.7.3";
+  sha256 = "1514ix5n8y1dwjdm0kmr17fdigc0ic89gzwdvfgh542sjm11100r";
+  buildDepends = [ text xmlTypes ];
+  extraLibraries = [ libxml2 ];
+  pkgconfigDepends = [ libxml2 ];
+  meta = {
+    homepage = "https://john-millikin.com/software/haskell-libxml/";
+    description = "Bindings for the libXML2 SAX interface";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/lifted-base/default.nix b/pkgs/development/libraries/haskell/lifted-base/default.nix
index 09264ab57f44..e5c334e1b22b 100644
--- a/pkgs/development/libraries/haskell/lifted-base/default.nix
+++ b/pkgs/development/libraries/haskell/lifted-base/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "lifted-base";
-  version = "0.1.2";
-  sha256 = "0js94dlfy2wjl026jcj2l399ly4zgw0cgxkmil6lsm34gcy9vrvq";
+  version = "0.2";
+  sha256 = "12ai34wb1sd6fza50arlpvsdc6l2nwrrcik0xakf2q0ddzjmhjfb";
   buildDepends = [
     baseUnicodeSymbols monadControl transformersBase
   ];
diff --git a/pkgs/development/libraries/haskell/lrucache/default.nix b/pkgs/development/libraries/haskell/lrucache/default.nix
index d92bd8203487..2d494f4a8969 100644
--- a/pkgs/development/libraries/haskell/lrucache/default.nix
+++ b/pkgs/development/libraries/haskell/lrucache/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "lrucache";
-  version = "1.1.1";
-  sha256 = "05y0b2dbbp017hkbr0pz943956dm31g5xhma4bqnh49yd4lyn5l9";
+  version = "1.1.1.3";
+  sha256 = "1djjxlyfrk3wpgc4h6xljpray09v7lc956202k9bxra24vj5f1lm";
   meta = {
     homepage = "http://github.com/chowells79/lrucache";
     description = "a simple, pure LRU cache";
diff --git a/pkgs/development/libraries/haskell/mainland-pretty/default.nix b/pkgs/development/libraries/haskell/mainland-pretty/default.nix
index d64a6c761800..5da3e47a333e 100644
--- a/pkgs/development/libraries/haskell/mainland-pretty/default.nix
+++ b/pkgs/development/libraries/haskell/mainland-pretty/default.nix
@@ -1,10 +1,10 @@
-{ cabal, srcloc, symbol }:
+{ cabal, srcloc, text }:
 
 cabal.mkDerivation (self: {
   pname = "mainland-pretty";
-  version = "0.1.3.0";
-  sha256 = "1grfsn066z11737dxdk1bdhyvz9vjxxn6krfgx9bc8jin6n9h6aq";
-  buildDepends = [ srcloc symbol ];
+  version = "0.2.4";
+  sha256 = "0x481k36rz4zvj1nwvrfw1d10vbmmx8gb5f2nc8alnxcbc2y7xwq";
+  buildDepends = [ srcloc text ];
   meta = {
     homepage = "http://www.eecs.harvard.edu/~mainland/";
     description = "Pretty printing designed for printing source code";
diff --git a/pkgs/development/libraries/haskell/monad-logger/default.nix b/pkgs/development/libraries/haskell/monad-logger/default.nix
index 740b68edb968..0a5f52512c69 100644
--- a/pkgs/development/libraries/haskell/monad-logger/default.nix
+++ b/pkgs/development/libraries/haskell/monad-logger/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monad-logger";
-  version = "0.2.0.1";
-  sha256 = "151brb5h92xc0mhfqcapmxib7vh2k36rsw493fxbn3256xkzc8gk";
+  version = "0.2.1";
+  sha256 = "00ssh60rxw7dg1dcfh8kr4mg9p7pvvvmjf9xd8kvxbrb9s3nkc4s";
   buildDepends = [ fastLogger resourcet text transformers ];
   meta = {
     homepage = "https://github.com/kazu-yamamoto/logger";
diff --git a/pkgs/development/libraries/haskell/monad-peel/default.nix b/pkgs/development/libraries/haskell/monad-peel/default.nix
index 69ab9b0365ba..39f911dae938 100644
--- a/pkgs/development/libraries/haskell/monad-peel/default.nix
+++ b/pkgs/development/libraries/haskell/monad-peel/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monad-peel";
-  version = "0.1";
-  sha256 = "0q56hdjgbj7ykpjx5z8qlqqkngmgm5wzm9vwcd7v675k2ywcl3ys";
+  version = "0.1.1";
+  sha256 = "0n3cxa94wd3hjvy9jgf3d8p7qfb9jaaf29simjya7rlcb673pg3l";
   buildDepends = [ extensibleExceptions transformers ];
   meta = {
     homepage = "http://andersk.mit.edu/haskell/monad-peel/";
diff --git a/pkgs/development/libraries/haskell/monadcryptorandom/default.nix b/pkgs/development/libraries/haskell/monadcryptorandom/default.nix
index c1901f470fd3..b702f10354cd 100644
--- a/pkgs/development/libraries/haskell/monadcryptorandom/default.nix
+++ b/pkgs/development/libraries/haskell/monadcryptorandom/default.nix
@@ -1,12 +1,12 @@
-{ cabal, cryptoApi, mtl, transformers }:
+{ cabal, cryptoApi, mtl, tagged, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "monadcryptorandom";
-  version = "0.4.1";
-  sha256 = "01x3zfr4m93bgx062rhxqk1d8qhn6s7rkfkm4yf00p89fclyjsg1";
-  buildDepends = [ cryptoApi mtl transformers ];
+  version = "0.5";
+  sha256 = "19sb9mgfvmmmx1sn0aiq6dn5nl0201xwgs6xqakn7pz5vsqcww2b";
+  buildDepends = [ cryptoApi mtl tagged transformers ];
   meta = {
-    homepage = "http://trac.haskell.org/crypto-api/wiki";
+    homepage = "https://github.com/TomMD/monadcryptorandom";
     description = "A monad for using CryptoRandomGen";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/monads-tf/default.nix b/pkgs/development/libraries/haskell/monads-tf/default.nix
index 53c0a2cad8e9..f51fd8c840ae 100644
--- a/pkgs/development/libraries/haskell/monads-tf/default.nix
+++ b/pkgs/development/libraries/haskell/monads-tf/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monads-tf";
-  version = "0.1.0.0";
-  sha256 = "1d38rddm9h8crs96zhzj87a3ygix0ipyxy0qcyas88k60fgavg5i";
+  version = "0.1.0.1";
+  sha256 = "19za12iazwrbqwpxy6lkj01dwm921386ryxgdqvcqisn8cj6jm1v";
   buildDepends = [ transformers ];
   meta = {
     description = "Monad classes, using type families";
diff --git a/pkgs/development/libraries/haskell/mongoDB/default.nix b/pkgs/development/libraries/haskell/mongoDB/default.nix
index aec216ea59d1..32187c39963d 100644
--- a/pkgs/development/libraries/haskell/mongoDB/default.nix
+++ b/pkgs/development/libraries/haskell/mongoDB/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mongoDB";
-  version = "1.3.0";
-  sha256 = "1l6r55bicjdybn8jn9rp94aamjqy5j5qs2775m05aba8svsl4kma";
+  version = "1.3.1";
+  sha256 = "1qvsb993n5gmchym4zz2pv68mdyir439cfindqdqlvjwam0jf4l5";
   buildDepends = [
     binary bson cryptohash liftedBase monadControl mtl network parsec
     random randomShuffle text transformersBase
diff --git a/pkgs/development/libraries/haskell/multiarg/default.nix b/pkgs/development/libraries/haskell/multiarg/default.nix
index c376ab0cbd61..8b2871c3ce4f 100644
--- a/pkgs/development/libraries/haskell/multiarg/default.nix
+++ b/pkgs/development/libraries/haskell/multiarg/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "multiarg";
-  version = "0.4.0.0";
-  sha256 = "04m4ynf6x8rlnlmnl6a7jj42fszjc1bly4h3jyjxxsqjdynrv81q";
+  version = "0.6.0.0";
+  sha256 = "1qrw1rajdvrvd297a7lpfkxm5qqhwmnnl5jiagjwzb9lckgpy87y";
   buildDepends = [ explicitException utf8String ];
   meta = {
     homepage = "https://github.com/massysett/multiarg";
diff --git a/pkgs/development/libraries/haskell/murmur-hash/default.nix b/pkgs/development/libraries/haskell/murmur-hash/default.nix
index 8f1ee9fa6a38..0c4058eb1119 100644
--- a/pkgs/development/libraries/haskell/murmur-hash/default.nix
+++ b/pkgs/development/libraries/haskell/murmur-hash/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "murmur-hash";
-  version = "0.1.0.5";
-  sha256 = "1m7rm57bxkrl4i9fbvmx5m29axyxddrs4ss7plbd19pw3wsvgmr0";
+  version = "0.1.0.6";
+  sha256 = "0wnkwl3a9x0f4rvsj4wf129n03vpw8qk4kzx6vmrapwwb4r80npz";
   meta = {
     homepage = "http://github.com/nominolo/murmur-hash";
     description = "MurmurHash2 implementation for Haskell";
diff --git a/pkgs/development/libraries/haskell/network-conduit/default.nix b/pkgs/development/libraries/haskell/network-conduit/default.nix
index 4c989e176982..3b86b0699ca4 100644
--- a/pkgs/development/libraries/haskell/network-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/network-conduit/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "network-conduit";
-  version = "0.5.0.1";
-  sha256 = "1rk8a8n1yily20y3jr51zbd00m2c6ic8gxw9rnmkr2cfs963l2v5";
+  version = "0.6.1.1";
+  sha256 = "00x5ks1qcq5smmd2g4bm23lb3ngdxmdlz822qkkj9l9c27lkn67n";
   buildDepends = [
     conduit liftedBase monadControl network transformers
   ];
diff --git a/pkgs/development/libraries/haskell/network-info/default.nix b/pkgs/development/libraries/haskell/network-info/default.nix
new file mode 100644
index 000000000000..c1bfea43bde6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network-info/default.nix
@@ -0,0 +1,13 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "network-info";
+  version = "0.2.0.3";
+  sha256 = "04nwl5akrsppxkqqq7a7qi5sixvrzvj4njl8rbz7sglbh9393rs2";
+  meta = {
+    homepage = "http://github.com/jystic/network-info";
+    description = "Access the local computer's basic network configuration";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/network-multicast/default.nix b/pkgs/development/libraries/haskell/network-multicast/default.nix
new file mode 100644
index 000000000000..3a461a51f53b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network-multicast/default.nix
@@ -0,0 +1,14 @@
+{ cabal, network }:
+
+cabal.mkDerivation (self: {
+  pname = "network-multicast";
+  version = "0.0.7";
+  sha256 = "18qlg4cg7ci1z3mbqh5z16mxkjir0079a0rgm4qk6jbmsnvfsq43";
+  buildDepends = [ network ];
+  meta = {
+    description = "Simple multicast library";
+    license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/network-protocol-xmpp/default.nix b/pkgs/development/libraries/haskell/network-protocol-xmpp/default.nix
new file mode 100644
index 000000000000..304017d3d240
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network-protocol-xmpp/default.nix
@@ -0,0 +1,20 @@
+{ cabal, gnuidn, gnutls, gsasl, libxmlSax, monadsTf, network, text
+, transformers, xmlTypes
+}:
+
+cabal.mkDerivation (self: {
+  pname = "network-protocol-xmpp";
+  version = "0.4.4";
+  sha256 = "0l2s412aazli80jszdl1am01z14a0q2z8fsxxjawk4cy70d6f4ry";
+  buildDepends = [
+    gnuidn gnutls gsasl libxmlSax monadsTf network text transformers
+    xmlTypes
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://john-millikin.com/software/haskell-xmpp/";
+    description = "Client library for the XMPP protocol";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/network-transport-tcp/default.nix b/pkgs/development/libraries/haskell/network-transport-tcp/default.nix
new file mode 100644
index 000000000000..fb313005bdaf
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network-transport-tcp/default.nix
@@ -0,0 +1,15 @@
+{ cabal, dataAccessor, network, networkTransport }:
+
+cabal.mkDerivation (self: {
+  pname = "network-transport-tcp";
+  version = "0.3.1";
+  sha256 = "15i4qbx1s3dxaixn6kd2z1hsymfvpqzf4jpqd3mcbpjlgrn6craf";
+  buildDepends = [ dataAccessor network networkTransport ];
+  meta = {
+    homepage = "http://github.com/haskell-distributed/distributed-process";
+    description = "TCP instantiation of Network.Transport";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/network-transport/default.nix b/pkgs/development/libraries/haskell/network-transport/default.nix
new file mode 100644
index 000000000000..813e8372cfc7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network-transport/default.nix
@@ -0,0 +1,15 @@
+{ cabal, binary, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "network-transport";
+  version = "0.3.0";
+  sha256 = "1i6sn5x3z1r9l7xwag68s5gsii137d5dajwr0abcbv6143ph3bvm";
+  buildDepends = [ binary transformers ];
+  meta = {
+    homepage = "http://github.com/haskell-distributed/distributed-process";
+    description = "Network abstraction layer";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/network/2.4.0.1.nix b/pkgs/development/libraries/haskell/network/2.4.0.1.nix
new file mode 100644
index 000000000000..e0aa44c38bde
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network/2.4.0.1.nix
@@ -0,0 +1,15 @@
+{ cabal, parsec }:
+
+cabal.mkDerivation (self: {
+  pname = "network";
+  version = "2.4.0.1";
+  sha256 = "00jj3pf2gchkx5wmipm2ijxcmhy37g86ggnp6pb92i5nmb93h1iw";
+  buildDepends = [ parsec ];
+  meta = {
+    homepage = "https://github.com/haskell/network";
+    description = "Low-level networking interface";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/numbers/default.nix b/pkgs/development/libraries/haskell/numbers/default.nix
index 8b57b3d7e968..d1485b7cf1f1 100644
--- a/pkgs/development/libraries/haskell/numbers/default.nix
+++ b/pkgs/development/libraries/haskell/numbers/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "numbers";
-  version = "3000.0.0.0";
-  sha256 = "073xjrnbv6z16va2h3arlxq3z8kywb961dwh4jcm8g7w5m84b2xb";
+  version = "3000.1.0.1";
+  sha256 = "0r2s47nfdxasnp8j7giwpxls9v48f6ld0gc2hg2p7y2ar5xfrcc4";
   meta = {
     homepage = "https://github.com/DanBurton/numbers";
     description = "Various number types";
diff --git a/pkgs/development/libraries/haskell/optparse-applicative/default.nix b/pkgs/development/libraries/haskell/optparse-applicative/default.nix
new file mode 100644
index 000000000000..75f801eee18d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/optparse-applicative/default.nix
@@ -0,0 +1,14 @@
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "optparse-applicative";
+  version = "0.4.1";
+  sha256 = "00byv248662n6pr8gn5b777l0fjg6f0wcxfkbhw0qyhd1ciq8d38";
+  buildDepends = [ transformers ];
+  meta = {
+    homepage = "https://github.com/pcapriotti/optparse-applicative";
+    description = "Utilities and combinators for parsing command line options";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pandoc/default.nix b/pkgs/development/libraries/haskell/pandoc/default.nix
index 85a8338e4319..de6b29ff9cc0 100644
--- a/pkgs/development/libraries/haskell/pandoc/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc/default.nix
@@ -1,4 +1,4 @@
-{ cabal, base64Bytestring, blazeHtml, citeprocHs
+{ cabal, base64Bytestring, blazeHtml, blazeMarkup, citeprocHs
 , extensibleExceptions, filepath, highlightingKate, HTTP, json, mtl
 , network, pandocTypes, parsec, random, syb, tagsoup, temporary
 , texmath, time, utf8String, xml, zipArchive, zlib
@@ -6,16 +6,17 @@
 
 cabal.mkDerivation (self: {
   pname = "pandoc";
-  version = "1.9.4.2";
-  sha256 = "1zr2qx6bimyhzia5maqpb454hgdwjvgs234mcki4f1z3dgbq0lsk";
+  version = "1.9.4.5";
+  sha256 = "05k8i537756m07xlb6kgshpfxa4sp2jxidb1c8m72ilpai13r6fb";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    base64Bytestring blazeHtml citeprocHs extensibleExceptions filepath
-    highlightingKate HTTP json mtl network pandocTypes parsec random
-    syb tagsoup temporary texmath time utf8String xml zipArchive zlib
+    base64Bytestring blazeHtml blazeMarkup citeprocHs
+    extensibleExceptions filepath highlightingKate HTTP json mtl
+    network pandocTypes parsec random syb tagsoup temporary texmath
+    time utf8String xml zipArchive zlib
   ];
-  jailbreak = true;
+  configureFlags = "-fblaze_html_0_5";
   meta = {
     homepage = "http://johnmacfarlane.net/pandoc";
     description = "Conversion between markup formats";
diff --git a/pkgs/development/libraries/haskell/pango/default.nix b/pkgs/development/libraries/haskell/pango/default.nix
index ca764844c16f..bbd935eb043f 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.3";
-  sha256 = "0203z59c9dsqp6mgb12h2iwjs52m2cqdxa7arwi1sccc3cz86cai";
+  version = "0.12.4";
+  sha256 = "08c7kmbnga6lijv7hpxgs766lsvaqpbqbph1gsxncqsl8haq4v5c";
   buildDepends = [ cairo glib mtl ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
diff --git a/pkgs/development/libraries/haskell/parallel-io/default.nix b/pkgs/development/libraries/haskell/parallel-io/default.nix
new file mode 100644
index 000000000000..d16f42f52ff2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/parallel-io/default.nix
@@ -0,0 +1,16 @@
+{ cabal, extensibleExceptions, random }:
+
+cabal.mkDerivation (self: {
+  pname = "parallel-io";
+  version = "0.3.2.1";
+  sha256 = "0wrmz0i5s8p87840pacdnpf2fi12nips4yc72vymifrc1wvlc42q";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ extensibleExceptions random ];
+  meta = {
+    homepage = "http://batterseapower.github.com/parallel-io";
+    description = "Combinators for executing IO actions in parallel on a thread pool";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/path-pieces/default.nix b/pkgs/development/libraries/haskell/path-pieces/default.nix
index d4f52aef58e9..5abc63091464 100644
--- a/pkgs/development/libraries/haskell/path-pieces/default.nix
+++ b/pkgs/development/libraries/haskell/path-pieces/default.nix
@@ -2,11 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "path-pieces";
-  version = "0.1.1";
-  sha256 = "17ymk2azgz2c1hwnzqd9xy77hh51mvrgz4zs7lz4ik6rnvvihraz";
+  version = "0.1.2";
+  sha256 = "1cxsa8lq1f2jf86iv6f17nraiav8k2vzjxln1y7z45qhcp1sbbaa";
   buildDepends = [ text time ];
   meta = {
-    homepage = "http://github.com/snoyberg/path-pieces";
     description = "Components of paths";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/pathtype/default.nix b/pkgs/development/libraries/haskell/pathtype/default.nix
index f08ded729689..f0be81e64ae3 100644
--- a/pkgs/development/libraries/haskell/pathtype/default.nix
+++ b/pkgs/development/libraries/haskell/pathtype/default.nix
@@ -1,10 +1,10 @@
-{ cabal, QuickCheck }:
+{ cabal, QuickCheck, time }:
 
 cabal.mkDerivation (self: {
   pname = "pathtype";
-  version = "0.5.2";
-  sha256 = "0rbmq6kzz2l07q9a5k888scpn62hnw2hmzz4ysprhfgdnn5b2cvi";
-  buildDepends = [ QuickCheck ];
+  version = "0.5.3";
+  sha256 = "11plb7xw4j8vjziw1q0ymx33p6185cxd2hqrxw2hgsfzf2b9dvqg";
+  buildDepends = [ QuickCheck time ];
   meta = {
     homepage = "http://code.haskell.org/pathtype";
     description = "Type-safe replacement for System.FilePath etc";
diff --git a/pkgs/development/libraries/haskell/persistent-template/default.nix b/pkgs/development/libraries/haskell/persistent-template/default.nix
index f87e63489635..8d09c5931708 100644
--- a/pkgs/development/libraries/haskell/persistent-template/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-template/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent-template";
-  version = "1.0.0.1";
-  sha256 = "0dvhxcyzqv4h3n5nnaglgq2pipynax2nrsdsgj3wgyk1a5k8wdrw";
+  version = "1.0.0.2";
+  sha256 = "0skd1gfrxq8mpa2g56b2wn83zw4zca5q2dxyjf6d7k6sh9sc9iz8";
   buildDepends = [ aeson monadControl persistent text transformers ];
   meta = {
     homepage = "http://www.yesodweb.com/book/persistent";
diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix
index 73bb01d7075e..449debe0405e 100644
--- a/pkgs/development/libraries/haskell/persistent/default.nix
+++ b/pkgs/development/libraries/haskell/persistent/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent";
-  version = "1.0.1.1";
-  sha256 = "05jzraw8g87vbd5qqrpvivzaz8k50sm9dlabd86a6n1hpcd7xaka";
+  version = "1.0.1.3";
+  sha256 = "156iv1iv807wm39sr98z0f10sbw4q0ac3lafgai0mq3ph5xysi80";
   buildDepends = [
     aeson attoparsec base64Bytestring blazeHtml blazeMarkup conduit
     liftedBase monadControl monadLogger pathPieces poolConduit
diff --git a/pkgs/development/libraries/haskell/primitive/default.nix b/pkgs/development/libraries/haskell/primitive/0.4.1.nix
index 9daef669c577..9daef669c577 100644
--- a/pkgs/development/libraries/haskell/primitive/default.nix
+++ b/pkgs/development/libraries/haskell/primitive/0.4.1.nix
diff --git a/pkgs/development/libraries/haskell/primitive/0.5.0.1.nix b/pkgs/development/libraries/haskell/primitive/0.5.0.1.nix
new file mode 100644
index 000000000000..af6778ccd141
--- /dev/null
+++ b/pkgs/development/libraries/haskell/primitive/0.5.0.1.nix
@@ -0,0 +1,14 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "primitive";
+  version = "0.5.0.1";
+  sha256 = "04s33xqxz68ddppig5pjf7ki1y5y62xzzzmg3b5pkcxp0r6rsv2j";
+  meta = {
+    homepage = "http://code.haskell.org/primitive";
+    description = "Primitive memory-related operations";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/primitive/0.5.nix b/pkgs/development/libraries/haskell/primitive/0.5.nix
new file mode 100644
index 000000000000..d09359aaeb92
--- /dev/null
+++ b/pkgs/development/libraries/haskell/primitive/0.5.nix
@@ -0,0 +1,14 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "primitive";
+  version = "0.5";
+  sha256 = "0m2gv7lac7q24cy02bbc7hq41awjxzs8dcjc6j2nv8xiq14cp3mk";
+  meta = {
+    homepage = "http://code.haskell.org/primitive";
+    description = "Primitive memory-related operations";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/process-extras/default.nix b/pkgs/development/libraries/haskell/process-extras/default.nix
index ac2950d49272..1d9cb4f80620 100644
--- a/pkgs/development/libraries/haskell/process-extras/default.nix
+++ b/pkgs/development/libraries/haskell/process-extras/default.nix
@@ -1,10 +1,10 @@
-{ cabal, text }:
+{ cabal, deepseq, text }:
 
 cabal.mkDerivation (self: {
   pname = "process-extras";
-  version = "0.1.3";
-  sha256 = "16hm1w34qnrpb6x8gaqv1bs1cd4p98kayf23275s6vd48kw9v0b0";
-  buildDepends = [ text ];
+  version = "0.2.0";
+  sha256 = "0mr4f2v19qz6d6jhffz9gky0ykdqwl8c11adbdm04wm2a3xsvf7g";
+  buildDepends = [ deepseq text ];
   meta = {
     homepage = "https://github.com/davidlazar/process-extras";
     description = "Process extras";
diff --git a/pkgs/development/libraries/haskell/project-template/default.nix b/pkgs/development/libraries/haskell/project-template/default.nix
new file mode 100644
index 000000000000..62058e8737b2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/project-template/default.nix
@@ -0,0 +1,19 @@
+{ cabal, base64Bytestring, classyPreludeConduit, conduit, mtl
+, systemFileio, systemFilepath, text, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "project-template";
+  version = "0.1.0.1";
+  sha256 = "0ahmdlfn48yz8fj7199w0qsa1dbbxr21bs9hq1lnm3s2p4qiki23";
+  buildDepends = [
+    base64Bytestring classyPreludeConduit conduit mtl systemFileio
+    systemFilepath text transformers
+  ];
+  meta = {
+    homepage = "https://github.com/fpco/haskell-ide";
+    description = "Specify Haskell project templates and generate files";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pwstore-fast/default.nix b/pkgs/development/libraries/haskell/pwstore-fast/default.nix
index add66a0bed2a..d75823d6025e 100644
--- a/pkgs/development/libraries/haskell/pwstore-fast/default.nix
+++ b/pkgs/development/libraries/haskell/pwstore-fast/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pwstore-fast";
-  version = "2.2";
-  sha256 = "03b9vr5j6cadvi6w3lr8b9km4jq6jh0vzcmkxzq9qvvly89lx96a";
+  version = "2.3";
+  sha256 = "014l4n00lpg5037fkdwnxnv7xjfc3vlz1dphr7hfbqnjwf1z9ibw";
   buildDepends = [ base64Bytestring cryptohash random ];
   meta = {
     homepage = "https://github.com/PeterScott/pwstore";
diff --git a/pkgs/development/libraries/haskell/random-fu/default.nix b/pkgs/development/libraries/haskell/random-fu/default.nix
index 729363084642..520f232d81fe 100644
--- a/pkgs/development/libraries/haskell/random-fu/default.nix
+++ b/pkgs/development/libraries/haskell/random-fu/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "random-fu";
-  version = "0.2.3.0";
-  sha256 = "17vn1dz4z00xjpsxjx2dfjnz4qhbn5cbkm2s142kdskiphgxi2f8";
+  version = "0.2.3.1";
+  sha256 = "06b4v7012fj1kmnz6i63vbwl9gkhzgk556gmcc62k14299ks8pci";
   buildDepends = [
     erf gamma monadLoops mtl randomShuffle randomSource rvar syb
     transformers vector
diff --git a/pkgs/development/libraries/haskell/rank1dynamic/default.nix b/pkgs/development/libraries/haskell/rank1dynamic/default.nix
new file mode 100644
index 000000000000..602f0cc25747
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rank1dynamic/default.nix
@@ -0,0 +1,15 @@
+{ cabal, binary }:
+
+cabal.mkDerivation (self: {
+  pname = "rank1dynamic";
+  version = "0.1.0.1";
+  sha256 = "18rlih5bndlm5v4nnv8g2rgvab5n22vd8mcjd0m4wq8fmqkb3x9d";
+  buildDepends = [ binary ];
+  meta = {
+    homepage = "http://github.com/haskell-distributed/distributed-process";
+    description = "Like Data.Dynamic/Data.Typeable but with support for rank-1 polymorphic types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix b/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix
index 2d46992ddab4..ee408fea4805 100644
--- a/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix
+++ b/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "reactive-banana-wx";
-  version = "0.7.0.0";
-  sha256 = "06qln09d57l084nvh1js3k6074vl8yzih5kwfpp43gsy8in2dspx";
+  version = "0.7.1.0";
+  sha256 = "06hkb8v6rjpw95vf16xh547igxxzddr6wpjiwhqwpwhz2alavk2v";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ cabalMacosx reactiveBanana wx wxcore ];
diff --git a/pkgs/development/libraries/haskell/reactive-banana/default.nix b/pkgs/development/libraries/haskell/reactive-banana/default.nix
index a80e911eefa7..467addefeebd 100644
--- a/pkgs/development/libraries/haskell/reactive-banana/default.nix
+++ b/pkgs/development/libraries/haskell/reactive-banana/default.nix
@@ -1,14 +1,10 @@
-{ cabal, hashable, QuickCheck, transformers, unorderedContainers
-, vault
-}:
+{ cabal, hashable, transformers, unorderedContainers, vault }:
 
 cabal.mkDerivation (self: {
   pname = "reactive-banana";
-  version = "0.7.0.1";
-  sha256 = "0nd6j2782x7i12xw480qgk42jkya9qi0xdas15ik6cmg4c9z1dyk";
-  buildDepends = [
-    hashable QuickCheck transformers unorderedContainers vault
-  ];
+  version = "0.7.1.0";
+  sha256 = "0diklfkc4fq05g5fhgcdkx8y0vmq26zfnmfkj95yvmwks8p9k22r";
+  buildDepends = [ hashable transformers unorderedContainers vault ];
   meta = {
     homepage = "http://haskell.org/haskellwiki/Reactive-banana";
     description = "Practical library for functional reactive programming (FRP)";
diff --git a/pkgs/development/libraries/haskell/readline/default.nix b/pkgs/development/libraries/haskell/readline/default.nix
index 898b005c4da8..0e65740b47e8 100644
--- a/pkgs/development/libraries/haskell/readline/default.nix
+++ b/pkgs/development/libraries/haskell/readline/default.nix
@@ -16,7 +16,6 @@ cabal.mkDerivation (self : {
     platforms = self.ghc.meta.platforms;
     maintainers = [
       self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix b/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix
deleted file mode 100644
index 67180215fde6..000000000000
--- a/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, regexBase }:
-
-cabal.mkDerivation (self: {
-  pname = "regex-pcre-builtin";
-  version = "0.94.2.1.7.7";
-  sha256 = "1c4zxfild1fbpxwqcp2jnf6iwfs0z6nc8dry09gmjykxlhisxi8s";
-  buildDepends = [ regexBase ];
-  meta = {
-    homepage = "http://sourceforge.net/projects/lazy-regex";
-    description = "Replaces/Enhances Text.Regex";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/regular/default.nix b/pkgs/development/libraries/haskell/regular/default.nix
index c37c54e8bfa9..8a3e740491cb 100644
--- a/pkgs/development/libraries/haskell/regular/default.nix
+++ b/pkgs/development/libraries/haskell/regular/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "regular";
-  version = "0.3.4";
-  sha256 = "10gfid99xcqv3i9rp4x8hykk91qq3h7b7lxzsl7ii58vmifa4kgq";
+  version = "0.3.4.2";
+  sha256 = "0fshjpbgabdcsa9a4cjmvfrzy7db4s679rprdbrhhfwf5xiszs2s";
   meta = {
     description = "Generic programming library for regular datatypes";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/repa-algorithms/default.nix b/pkgs/development/libraries/haskell/repa-algorithms/default.nix
index d8a1e61c5d71..39f0682e4ba8 100644
--- a/pkgs/development/libraries/haskell/repa-algorithms/default.nix
+++ b/pkgs/development/libraries/haskell/repa-algorithms/default.nix
@@ -2,10 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "repa-algorithms";
-  version = "3.2.1.1";
-  sha256 = "19gc2vbkqxysnm0argksn8c3cv7vf30hkdycgv8fdfn0yc95xz0v";
+  version = "3.2.2.3";
+  sha256 = "1maxkl7plxzdkmbak4c7qj68chbpkbarjmw454kjx544pbkn9xhb";
   buildDepends = [ repa vector ];
   extraLibraries = [ llvm ];
+  jailbreak = true;
   meta = {
     homepage = "http://repa.ouroborus.net";
     description = "Algorithms using the Repa array library";
diff --git a/pkgs/development/libraries/haskell/repa-examples/default.nix b/pkgs/development/libraries/haskell/repa-examples/default.nix
index 1f3e66e5e08c..0320eea7c629 100644
--- a/pkgs/development/libraries/haskell/repa-examples/default.nix
+++ b/pkgs/development/libraries/haskell/repa-examples/default.nix
@@ -2,12 +2,13 @@
 
 cabal.mkDerivation (self: {
   pname = "repa-examples";
-  version = "3.2.1.1";
-  sha256 = "0nbdp3vwg7ha9vhz7f2kys3jxdlwiihxz031cfpkv2si5ci3gy1b";
+  version = "3.2.2.3";
+  sha256 = "0v21f8zzn05j3pjwvnb7x08q0sd375kbf450zjgsv8fzsypclr51";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ random repa repaAlgorithms repaIo vector ];
   extraLibraries = [ llvm ];
+  jailbreak = true;
   meta = {
     homepage = "http://repa.ouroborus.net";
     description = "Examples using the Repa array library";
diff --git a/pkgs/development/libraries/haskell/repa-io/default.nix b/pkgs/development/libraries/haskell/repa-io/default.nix
index 293a7bc6d58c..f410595d8959 100644
--- a/pkgs/development/libraries/haskell/repa-io/default.nix
+++ b/pkgs/development/libraries/haskell/repa-io/default.nix
@@ -2,9 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "repa-io";
-  version = "3.2.1.1";
-  sha256 = "156amnlqsxhwalnc4nypcd66znv2f8c71d5xi8ja5g8d9f1yg02g";
+  version = "3.2.2.3";
+  sha256 = "1rzis7gp9dq06czqmnj9p7hpyfkdbirx2bldhg5mz3glmqf4xvw5";
   buildDepends = [ binary bmp repa vector ];
+  jailbreak = true;
   meta = {
     homepage = "http://repa.ouroborus.net";
     description = "Read and write Repa arrays in various formats";
diff --git a/pkgs/development/libraries/haskell/repa/default.nix b/pkgs/development/libraries/haskell/repa/default.nix
index b6102d45572b..de8f9cd4f956 100644
--- a/pkgs/development/libraries/haskell/repa/default.nix
+++ b/pkgs/development/libraries/haskell/repa/default.nix
@@ -2,9 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "repa";
-  version = "3.2.1.1";
-  sha256 = "0jzcy3xdlwmcjq1mpfqh0axcgbj3i03nxg7blw2sly8qrgfl0ri1";
+  version = "3.2.2.3";
+  sha256 = "04y8yrfh0khk7w9wv61fh2rfygw8r6g9c3spzki6kw63byr01m5c";
   buildDepends = [ QuickCheck vector ];
+  jailbreak = true;
   meta = {
     homepage = "http://repa.ouroborus.net";
     description = "High performance, regular, shape polymorphic parallel arrays";
diff --git a/pkgs/development/libraries/haskell/repr/default.nix b/pkgs/development/libraries/haskell/repr/default.nix
index 2558f4fbd314..c44735eda00b 100644
--- a/pkgs/development/libraries/haskell/repr/default.nix
+++ b/pkgs/development/libraries/haskell/repr/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "repr";
-  version = "0.4.1.2";
-  sha256 = "09rv23p1hvvfw5wnhiawgrpqgqa4i0d00skyj9z1jj6bfxk5avjs";
+  version = "0.4.1.3";
+  sha256 = "1y1zl81yjc9jrci83bm6bn8hrfqf6x25vxzkhrkydhhwcwqfqaj5";
   buildDepends = [
     baseUnicodeSymbols dstring random stringCombinators
   ];
diff --git a/pkgs/development/libraries/haskell/resourcet/default.nix b/pkgs/development/libraries/haskell/resourcet/default.nix
index e3190749f1cb..e5df582bad0d 100644
--- a/pkgs/development/libraries/haskell/resourcet/default.nix
+++ b/pkgs/development/libraries/haskell/resourcet/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "resourcet";
-  version = "0.4.0.1";
-  sha256 = "0idyb2xvjk9cbz9gy1gr6sw1mz6v9d8fgk0kw778n6k3h488dw9x";
+  version = "0.4.3";
+  sha256 = "0j3sr4xl30nszy79akzzn8aws40bmhd2dyw8ispirnx004i6ay3b";
   buildDepends = [
     liftedBase monadControl mtl transformers transformersBase
   ];
diff --git a/pkgs/development/libraries/haskell/semigroupoids/default.nix b/pkgs/development/libraries/haskell/semigroupoids/default.nix
index 4ffc3c2badce..c2e8deefbad5 100644
--- a/pkgs/development/libraries/haskell/semigroupoids/default.nix
+++ b/pkgs/development/libraries/haskell/semigroupoids/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "semigroupoids";
-  version = "3.0";
-  sha256 = "0wsax14ck363nby0xrhcpvdzf0pzspayl7gsm0br0lr6ipmpcrag";
+  version = "3.0.0.1";
+  sha256 = "0ilqmpywiwp9m1k8lrw0mxb0pzc9l8bs2hgzrp8k5iln1yq1fh6i";
   buildDepends = [ comonad contravariant semigroups transformers ];
   meta = {
     homepage = "http://github.com/ekmett/semigroupoids";
diff --git a/pkgs/development/libraries/haskell/sendfile/default.nix b/pkgs/development/libraries/haskell/sendfile/default.nix
index a4b410f45617..455328ec9cb2 100644
--- a/pkgs/development/libraries/haskell/sendfile/default.nix
+++ b/pkgs/development/libraries/haskell/sendfile/default.nix
@@ -2,11 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "sendfile";
-  version = "0.7.6";
-  sha256 = "0wqbnr07s3g7f6p4x27ips9nzjjz1ii5hw1q54i31g40jzv8rs7z";
+  version = "0.7.8";
+  sha256 = "0xy9ciikr444gblh3r8z3w4h4rcrfjfciw3dvxgzbygqs5dy6yxl";
   buildDepends = [ network ];
   meta = {
-    homepage = "http://patch-tag.com/r/mae/sendfile";
+    homepage = "http://hub.darcs.net/stepcut/sendfile";
     description = "A portable sendfile library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/setenv/default.nix b/pkgs/development/libraries/haskell/setenv/default.nix
new file mode 100644
index 000000000000..8ce0b1254166
--- /dev/null
+++ b/pkgs/development/libraries/haskell/setenv/default.nix
@@ -0,0 +1,12 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "setenv";
+  version = "0.1.0";
+  sha256 = "04w42bpfbrs5crjp19zzi9dg61xpz4wvmjs2vc7q7qxblyhdfdsy";
+  meta = {
+    description = "A cross-platform library for setting environment variables";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/shakespeare-css/default.nix b/pkgs/development/libraries/haskell/shakespeare-css/default.nix
index a64e9acc7d79..61c783c6727b 100644
--- a/pkgs/development/libraries/haskell/shakespeare-css/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-css/default.nix
@@ -1,10 +1,10 @@
-{ cabal, parsec, shakespeare, text }:
+{ cabal, parsec, shakespeare, text, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "shakespeare-css";
-  version = "1.0.1.4";
-  sha256 = "0avixf7z3hcvgcijgrm7hisr8i8waa8nb435gv8lv5vvz8yq3k0n";
-  buildDepends = [ parsec shakespeare text ];
+  version = "1.0.2";
+  sha256 = "02sk9ql357ybj1h5a4xjn06di5zdafibabhy32j5vs9kpyamvck3";
+  buildDepends = [ parsec shakespeare text transformers ];
   meta = {
     homepage = "http://www.yesodweb.com/book/shakespearean-templates";
     description = "Stick your haskell variables into css at compile time";
diff --git a/pkgs/development/libraries/haskell/shakespeare-js/default.nix b/pkgs/development/libraries/haskell/shakespeare-js/default.nix
index ff2f0c09e0c2..228e35bab467 100644
--- a/pkgs/development/libraries/haskell/shakespeare-js/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-js/default.nix
@@ -1,10 +1,10 @@
-{ cabal, shakespeare, text }:
+{ cabal, aeson, shakespeare, text }:
 
 cabal.mkDerivation (self: {
   pname = "shakespeare-js";
-  version = "1.0.0.5";
-  sha256 = "1d4na2q1q798ki5f84gpf89ri26qmrxqrwbw7mmlrfwkj1qw69rs";
-  buildDepends = [ shakespeare text ];
+  version = "1.1.0";
+  sha256 = "0rb1fim6xvpgc2in71drxgimh1z75p72zj0k6hwh2hyfwkj2yh9p";
+  buildDepends = [ aeson shakespeare text ];
   meta = {
     homepage = "http://www.yesodweb.com/book/shakespearean-templates";
     description = "Stick your haskell variables into javascript/coffeescript at compile time";
diff --git a/pkgs/development/libraries/haskell/shakespeare-text/default.nix b/pkgs/development/libraries/haskell/shakespeare-text/default.nix
index fbc31e3eda1e..4e9516d107cb 100644
--- a/pkgs/development/libraries/haskell/shakespeare-text/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-text/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shakespeare-text";
-  version = "1.0.0.4";
-  sha256 = "14kas2m7kbv1f49qpx6z097r707l3gqp9lwvh0q42cc6rlwab5l7";
+  version = "1.0.0.5";
+  sha256 = "176yzx43sh0fnxpszn8kximd6i96yf2s374z55kvc1kspf7jk736";
   buildDepends = [ shakespeare text ];
   meta = {
     homepage = "http://www.yesodweb.com/book/shakespearean-templates";
diff --git a/pkgs/development/libraries/haskell/shakespeare/default.nix b/pkgs/development/libraries/haskell/shakespeare/default.nix
index 3cc2456a7d5a..11a03eaa9b28 100644
--- a/pkgs/development/libraries/haskell/shakespeare/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shakespeare";
-  version = "1.0.1.3";
-  sha256 = "1m0ca3b73fiph939kpd94mxh4a606mv3hafbwg9j4is38mv5kn8d";
+  version = "1.0.2";
+  sha256 = "1n7qymrn2f83a11zdh2950pf8rsqnc52blwi02amjxsvy2piidzm";
   buildDepends = [ parsec text ];
   meta = {
     homepage = "http://www.yesodweb.com/book/shakespearean-templates";
diff --git a/pkgs/development/libraries/haskell/shelly/default.nix b/pkgs/development/libraries/haskell/shelly/default.nix
index 0c266ab1b29c..9ac5b3555836 100644
--- a/pkgs/development/libraries/haskell/shelly/default.nix
+++ b/pkgs/development/libraries/haskell/shelly/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shelly";
-  version = "0.14.0.1";
-  sha256 = "062c3zqr6ad61p0s423h8rhimqfld6p95z3qzrmag9f29a5f4fbz";
+  version = "0.14.3";
+  sha256 = "0nlspgk5svc9zr2gry96sykhd8i7vdmqxpsvfsz22khw8climqzj";
   buildDepends = [
     mtl systemFileio systemFilepath text time unixCompat
   ];
diff --git a/pkgs/development/libraries/haskell/silently/default.nix b/pkgs/development/libraries/haskell/silently/default.nix
new file mode 100644
index 000000000000..658fe4fc6939
--- /dev/null
+++ b/pkgs/development/libraries/haskell/silently/default.nix
@@ -0,0 +1,14 @@
+{ cabal, deepseq }:
+
+cabal.mkDerivation (self: {
+  pname = "silently";
+  version = "1.2.4";
+  sha256 = "0ac75b4n9566vpvv6jfcqafnyplv8dd7bgak89b16wy032z1xl5j";
+  buildDepends = [ deepseq ];
+  meta = {
+    homepage = "https://github.com/trystan/silently";
+    description = "Prevent or capture writing to stdout and other handles";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/simple-sendfile/default.nix b/pkgs/development/libraries/haskell/simple-sendfile/default.nix
index d99762df2b24..2a55427a6aae 100644
--- a/pkgs/development/libraries/haskell/simple-sendfile/default.nix
+++ b/pkgs/development/libraries/haskell/simple-sendfile/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "simple-sendfile";
-  version = "0.2.7";
-  sha256 = "0chjcn6j5irzjqid3nhh2ya395aqavcar3ygzd01z96ha1nl4dbw";
+  version = "0.2.8";
+  sha256 = "11lw8m21cy40hd9nzp80d9jawgv9hd3sfvizjcfbvdc2lpq6m17j";
   buildDepends = [ network ];
   meta = {
     description = "Cross platform library for the sendfile system call";
diff --git a/pkgs/development/libraries/haskell/snap/core.nix b/pkgs/development/libraries/haskell/snap/core.nix
index 1d51b9d99330..16df3f347563 100644
--- a/pkgs/development/libraries/haskell/snap/core.nix
+++ b/pkgs/development/libraries/haskell/snap/core.nix
@@ -1,21 +1,19 @@
-{ cabal, attoparsec, attoparsecEnumerator, base16Bytestring
-, blazeBuilder, blazeBuilderEnumerator, bytestringMmap
-, bytestringNums, caseInsensitive, deepseq, dlist, enumerator
-, filepath, HUnit, MonadCatchIOTransformers, mtl, mwcRandom
-, regexPosix, text, time, transformers, unixCompat
-, unorderedContainers, vector, zlibEnum
+{ cabal, attoparsec, attoparsecEnumerator, blazeBuilder
+, blazeBuilderEnumerator, bytestringMmap, caseInsensitive, deepseq
+, enumerator, filepath, HUnit, MonadCatchIOTransformers, mtl
+, random, regexPosix, text, time, unixCompat, unorderedContainers
+, vector, zlibEnum
 }:
 
 cabal.mkDerivation (self: {
   pname = "snap-core";
-  version = "0.9.0";
-  sha256 = "1fsjamv9sl19in2ws97v246sbvlnj05rm9dljc0pz7kasawyqsb7";
+  version = "0.9.2.2";
+  sha256 = "0svahih2piaj87xfysgjvqqh11gmwz9icrh2g819h68kzh10imlf";
   buildDepends = [
-    attoparsec attoparsecEnumerator base16Bytestring blazeBuilder
-    blazeBuilderEnumerator bytestringMmap bytestringNums
-    caseInsensitive deepseq dlist enumerator filepath HUnit
-    MonadCatchIOTransformers mtl mwcRandom regexPosix text time
-    transformers unixCompat unorderedContainers vector zlibEnum
+    attoparsec attoparsecEnumerator blazeBuilder blazeBuilderEnumerator
+    bytestringMmap caseInsensitive deepseq enumerator filepath HUnit
+    MonadCatchIOTransformers mtl random regexPosix text time unixCompat
+    unorderedContainers vector zlibEnum
   ];
   meta = {
     homepage = "http://snapframework.com/";
diff --git a/pkgs/development/libraries/haskell/snap/loader-dynamic.nix b/pkgs/development/libraries/haskell/snap/loader-dynamic.nix
index 5815496695cc..3f6c5db004b7 100644
--- a/pkgs/development/libraries/haskell/snap/loader-dynamic.nix
+++ b/pkgs/development/libraries/haskell/snap/loader-dynamic.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap-loader-dynamic";
-  version = "0.9.0";
-  sha256 = "1pbpvi20an077klvha1dflnlxpfb6m81n9d50hjhidf6430cmmhm";
+  version = "0.9.0.1";
+  sha256 = "1pzn8lfqngn8cqm1dpxn5wsx70xcd7r90rd2948n4p5309qgh9mq";
   buildDepends = [ directoryTree hint mtl snapCore time ];
   meta = {
     homepage = "http://snapframework.com/";
diff --git a/pkgs/development/libraries/haskell/snap/server.nix b/pkgs/development/libraries/haskell/snap/server.nix
index 20a6af0ba90c..7f8dc8780243 100644
--- a/pkgs/development/libraries/haskell/snap/server.nix
+++ b/pkgs/development/libraries/haskell/snap/server.nix
@@ -1,19 +1,17 @@
-{ cabal, attoparsec, attoparsecEnumerator, binary, blazeBuilder
-, blazeBuilderEnumerator, bytestringNums, caseInsensitive
-, directoryTree, enumerator, filepath, MonadCatchIOTransformers
-, mtl, murmurHash, network, snapCore, text, time, transformers
-, unixCompat, vector, vectorAlgorithms
+{ cabal, attoparsec, attoparsecEnumerator, blazeBuilder
+, blazeBuilderEnumerator, caseInsensitive, enumerator
+, MonadCatchIOTransformers, mtl, network, snapCore, text, time
+, unixCompat
 }:
 
 cabal.mkDerivation (self: {
   pname = "snap-server";
-  version = "0.9.0";
-  sha256 = "12mjy1w6gsnw93bcpsnxnw7kc2v73dfps7gk542iw73lldfhh3va";
+  version = "0.9.2.4";
+  sha256 = "1kwmrlk9dr033h6q05afnr916wnw5wlxrr87z1myv0a6nzqmdhzl";
   buildDepends = [
-    attoparsec attoparsecEnumerator binary blazeBuilder
-    blazeBuilderEnumerator bytestringNums caseInsensitive directoryTree
-    enumerator filepath MonadCatchIOTransformers mtl murmurHash network
-    snapCore text time transformers unixCompat vector vectorAlgorithms
+    attoparsec attoparsecEnumerator blazeBuilder blazeBuilderEnumerator
+    caseInsensitive enumerator MonadCatchIOTransformers mtl network
+    snapCore text time unixCompat
   ];
   meta = {
     homepage = "http://snapframework.com/";
diff --git a/pkgs/development/libraries/haskell/snap/snap.nix b/pkgs/development/libraries/haskell/snap/snap.nix
index e40aee63bc19..1676de1e8404 100644
--- a/pkgs/development/libraries/haskell/snap/snap.nix
+++ b/pkgs/development/libraries/haskell/snap/snap.nix
@@ -2,14 +2,14 @@
 , dataLens, dataLensTemplate, directoryTree, filepath, hashable
 , heist, logict, MonadCatchIOTransformers, mtl, mwcRandom
 , pwstoreFast, snapCore, snapServer, stm, syb, text, time
-, transformers, unorderedContainers, utf8String, vector
-, vectorAlgorithms, xmlhtml
+, transformers, unorderedContainers, vector, vectorAlgorithms
+, xmlhtml
 }:
 
 cabal.mkDerivation (self: {
   pname = "snap";
-  version = "0.9.1.1";
-  sha256 = "1g8jvnwrhna5g064dmv4v4khrpwwn0vcqw8l7rcpkp75l46fq29z";
+  version = "0.9.2.2";
+  sha256 = "1ql9c8b9arcd8zwlwsiipl4diah87sp339ljc5bc7yls1g4d9zsw";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -17,12 +17,11 @@ cabal.mkDerivation (self: {
     dataLensTemplate directoryTree filepath hashable heist logict
     MonadCatchIOTransformers mtl mwcRandom pwstoreFast snapCore
     snapServer stm syb text time transformers unorderedContainers
-    utf8String vector vectorAlgorithms xmlhtml
+    vector vectorAlgorithms xmlhtml
   ];
-  jailbreak = true;
   meta = {
     homepage = "http://snapframework.com/";
-    description = "Snap: A Haskell Web Framework: project starter executable and glue code library";
+    description = "Top-level package for the Snap Web Framework";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/split/default.nix b/pkgs/development/libraries/haskell/split/0.2.1.1.nix
index 42d33d10a066..e106b2687f53 100644
--- a/pkgs/development/libraries/haskell/split/default.nix
+++ b/pkgs/development/libraries/haskell/split/0.2.1.1.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "split";
-  version = "0.2.0.0";
-  sha256 = "1gk0nx6bw5j9gxaa6ki70wqszbllz7c1ccfnwg49fl3qfabg1i7c";
+  version = "0.2.1.1";
+  sha256 = "1zzp4dwf846s74a4lhw2gf4awsk9iblhl5zcg2zccgv1lr4w2dmz";
   meta = {
     description = "Combinator library for splitting lists";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/srcloc/default.nix b/pkgs/development/libraries/haskell/srcloc/default.nix
index d76309bc7956..c867a353cd6f 100644
--- a/pkgs/development/libraries/haskell/srcloc/default.nix
+++ b/pkgs/development/libraries/haskell/srcloc/default.nix
@@ -1,10 +1,10 @@
-{ cabal, syb, symbol }:
+{ cabal, syb }:
 
 cabal.mkDerivation (self: {
   pname = "srcloc";
-  version = "0.1.2";
-  sha256 = "08awipz6al7jk7d974am5v9fkp87i5dy6d457mx1rv7lczlyhws9";
-  buildDepends = [ syb symbol ];
+  version = "0.3.0";
+  sha256 = "1ymk8k0r9ckk7dalz3virvvpyrf4nw8xvb23cs6ibdjjbzsphpiz";
+  buildDepends = [ syb ];
   meta = {
     homepage = "http://www.eecs.harvard.edu/~mainland/";
     description = "Data types for managing source code locations";
diff --git a/pkgs/development/libraries/haskell/stm/2.4.2.nix b/pkgs/development/libraries/haskell/stm/2.4.2.nix
new file mode 100644
index 000000000000..a3fa76e4a519
--- /dev/null
+++ b/pkgs/development/libraries/haskell/stm/2.4.2.nix
@@ -0,0 +1,13 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "stm";
+  version = "2.4.2";
+  sha256 = "1nsq92z7y0w227fyig0xz4365xp50hnzzkqr4s836q969kb3rvn8";
+  meta = {
+    description = "Software Transactional Memory";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/string-combinators/default.nix b/pkgs/development/libraries/haskell/string-combinators/default.nix
index 03587d24d024..bfc38fb07e89 100644
--- a/pkgs/development/libraries/haskell/string-combinators/default.nix
+++ b/pkgs/development/libraries/haskell/string-combinators/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "string-combinators";
-  version = "0.6.0.3";
-  sha256 = "18jawxqvcj7zpvb0wf1zln12s03mp6nglhv5ccywrkb5x0r0557j";
+  version = "0.6.0.4";
+  sha256 = "0r1za5ypx9fz073h1yljjdkxmz0h77vg94bk827ndwkfgzgpzvh7";
   buildDepends = [ baseUnicodeSymbols ];
   meta = {
     homepage = "https://github.com/basvandijk/string-combinators";
diff --git a/pkgs/development/libraries/haskell/stringsearch/default.nix b/pkgs/development/libraries/haskell/stringsearch/default.nix
index fb31ab76a2c5..f8032f8cde41 100644
--- a/pkgs/development/libraries/haskell/stringsearch/default.nix
+++ b/pkgs/development/libraries/haskell/stringsearch/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "stringsearch";
-  version = "0.3.6.3";
-  sha256 = "1f0sl1zjya8glvlscf3g5i0in0ai1knls7kg9dp82grg2k287sgz";
+  version = "0.3.6.4";
+  sha256 = "16g0x0n8x3bg3mij7w3r5m3h2i2dn3bd298n14iccdwhfnlzm91b";
   meta = {
     homepage = "https://bitbucket.org/dafis/stringsearch";
     description = "Fast searching, splitting and replacing of ByteStrings";
diff --git a/pkgs/development/libraries/haskell/strptime/default.nix b/pkgs/development/libraries/haskell/strptime/default.nix
new file mode 100644
index 000000000000..bb30fe71cc37
--- /dev/null
+++ b/pkgs/development/libraries/haskell/strptime/default.nix
@@ -0,0 +1,13 @@
+{ cabal, time }:
+
+cabal.mkDerivation (self: {
+  pname = "strptime";
+  version = "1.0.8";
+  sha256 = "0cd4wzrg9zpnwrfpp6lxs1ib06h0fcsdqd3idsw663wr5lllfgdq";
+  buildDepends = [ time ];
+  meta = {
+    description = "Efficient parsing of LocalTime using a binding to C's strptime, with some extra features (i.e. fractional seconds)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/stylish-haskell/default.nix b/pkgs/development/libraries/haskell/stylish-haskell/default.nix
index eca99a8c4405..fc875d75bd0b 100644
--- a/pkgs/development/libraries/haskell/stylish-haskell/default.nix
+++ b/pkgs/development/libraries/haskell/stylish-haskell/default.nix
@@ -4,9 +4,9 @@
 
 cabal.mkDerivation (self: {
   pname = "stylish-haskell";
-  version = "0.4.0.0";
-  sha256 = "1d5a7a5f1lbyf7if0sb9vhmnbi5ry28wakhsgh75hvgzd999vbhx";
-  isLibrary = false;
+  version = "0.5.4.0";
+  sha256 = "1bnsjs5s760xnk3s1l7kjqr2svxp4a881p9z2slaywi5kn0v5mwf";
+  isLibrary = true;
   isExecutable = true;
   buildDepends = [
     aeson cmdargs filepath haskellSrcExts mtl strict syb yaml
diff --git a/pkgs/development/libraries/haskell/symbol/default.nix b/pkgs/development/libraries/haskell/symbol/default.nix
index b8dd2aa69a2d..d82a19688782 100644
--- a/pkgs/development/libraries/haskell/symbol/default.nix
+++ b/pkgs/development/libraries/haskell/symbol/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "symbol";
-  version = "0.1.3";
-  sha256 = "1kz4kzbv6bara31pv4vc75r6wvjln6md8gjlsxx8hf50ab8vb68j";
+  version = "0.1.4";
+  sha256 = "00318syprv1ixfbr4v7xq86z10f0psxk0b8kaxvawvacm8hp61bn";
   buildDepends = [ deepseq syb ];
   meta = {
     homepage = "http://www.eecs.harvard.edu/~mainland/";
diff --git a/pkgs/development/libraries/haskell/system-fileio/default.nix b/pkgs/development/libraries/haskell/system-fileio/default.nix
index 7534ce4a1d13..7b1f7d7bcfd5 100644
--- a/pkgs/development/libraries/haskell/system-fileio/default.nix
+++ b/pkgs/development/libraries/haskell/system-fileio/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "system-fileio";
-  version = "0.3.9";
-  sha256 = "0mfmijwnkp92s58jb51lk0p1p3418f6qskr95phc1zp40yrcw8nx";
+  version = "0.3.10";
+  sha256 = "1f8si6m62nxzj71jgyhxl38szmw8wr3frvgih596vfjxwdhqpkq4";
   buildDepends = [ systemFilepath text time ];
   meta = {
     homepage = "https://john-millikin.com/software/haskell-filesystem/";
diff --git a/pkgs/development/libraries/haskell/tagged/default.nix b/pkgs/development/libraries/haskell/tagged/default.nix
index dde949686bd2..e435671fe227 100644
--- a/pkgs/development/libraries/haskell/tagged/default.nix
+++ b/pkgs/development/libraries/haskell/tagged/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tagged";
-  version = "0.4.2.1";
-  sha256 = "0acd0wyyl6nx8i6r5h6smb7apmnmic6kn7ks9pc8nfmhlzhgfk57";
+  version = "0.4.4";
+  sha256 = "0bc88q33pyz4sx429awhxmnjzvmsg7vwwsqi2w7yf8lrmz5ph08x";
   meta = {
     homepage = "http://github.com/ekmett/tagged";
     description = "Haskell 98 phantom types to avoid unsafely passing dummy arguments";
diff --git a/pkgs/development/libraries/haskell/tagsoup/default.nix b/pkgs/development/libraries/haskell/tagsoup/default.nix
index 78f52a3ad325..3258267f0120 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.7";
-  sha256 = "0f4f0552n9qkycvh01jyk52190nk4frlp9za8vyczayrm3vmw268";
+  version = "0.12.8";
+  sha256 = "05cm9h80qmxvk7xhlgly9zcmpbsajagspaa8p6k4ddch6q9lj7m3";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ text ];
diff --git a/pkgs/development/libraries/haskell/tagstream-conduit/default.nix b/pkgs/development/libraries/haskell/tagstream-conduit/default.nix
new file mode 100644
index 000000000000..84187bb4c1f4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tagstream-conduit/default.nix
@@ -0,0 +1,18 @@
+{ cabal, attoparsec, blazeBuilder, blazeBuilderConduit, conduit
+, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "tagstream-conduit";
+  version = "0.5.3";
+  sha256 = "08g34dbb59mrpj0lym5a0zlygvj7in57nkhbk84kxvggrhl0jndl";
+  buildDepends = [
+    attoparsec blazeBuilder blazeBuilderConduit conduit text
+  ];
+  meta = {
+    homepage = "http://github.com/yihuang/tagstream-conduit";
+    description = "streamlined html tag parser";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/temporary/default.nix b/pkgs/development/libraries/haskell/temporary/default.nix
index 99ce29b1991f..df93cae198a0 100644
--- a/pkgs/development/libraries/haskell/temporary/default.nix
+++ b/pkgs/development/libraries/haskell/temporary/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "temporary";
-  version = "1.1.2.3";
-  sha256 = "1x4jljggbcdq90h578yyvc8z1i9zmlhvqfz2dym8kj8pq4qiwixd";
+  version = "1.1.2.4";
+  sha256 = "1j8kc22rz2wqg90n5wcxb06ylqv3lnz764077kvwhrw7mhmbp7jz";
   buildDepends = [ filepath ];
   meta = {
     homepage = "http://www.github.com/batterseapower/temporary";
diff --git a/pkgs/development/libraries/haskell/test-framework-th-prime/default.nix b/pkgs/development/libraries/haskell/test-framework-th-prime/default.nix
new file mode 100644
index 000000000000..ebcd608eb6a6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/test-framework-th-prime/default.nix
@@ -0,0 +1,13 @@
+{ cabal, cpphs, haskellSrcExts, testFramework }:
+
+cabal.mkDerivation (self: {
+  pname = "test-framework-th-prime";
+  version = "0.0.5";
+  sha256 = "0lsxnbckh88cq38azml86szdcvx3rhs3is13ib4z0ryfqnv4hhpl";
+  buildDepends = [ cpphs haskellSrcExts testFramework ];
+  meta = {
+    description = "Template Haskell for test framework";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/test-framework-th/default.nix b/pkgs/development/libraries/haskell/test-framework-th/default.nix
index 64164c7f1613..57b4302938be 100644
--- a/pkgs/development/libraries/haskell/test-framework-th/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework-th/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "test-framework-th";
-  version = "0.2.2";
-  sha256 = "0nzfvxr5bnxinx41a5w5mwhyxzz2936dl0xhd80cv9plx19ylh0w";
+  version = "0.2.3";
+  sha256 = "1xls8034zkfnvkv2p6jd6kc1x3xrr0sm5c6hl0mp7ym2w2ww9f1w";
   buildDepends = [
     haskellSrcExts languageHaskellExtract regexPosix testFramework
   ];
diff --git a/pkgs/development/libraries/haskell/threads/default.nix b/pkgs/development/libraries/haskell/threads/default.nix
new file mode 100644
index 000000000000..8f5008032f6b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/threads/default.nix
@@ -0,0 +1,14 @@
+{ cabal, baseUnicodeSymbols, stm }:
+
+cabal.mkDerivation (self: {
+  pname = "threads";
+  version = "0.5.0.1";
+  sha256 = "0amyaxa70q6v021nab6v3cfqc40mwj5dr2fwla9d4bm6ppmq6lyy";
+  buildDepends = [ baseUnicodeSymbols stm ];
+  meta = {
+    homepage = "https://github.com/basvandijk/threads";
+    description = "Fork threads and wait for their result";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tls-extra/default.nix b/pkgs/development/libraries/haskell/tls-extra/default.nix
index 349c4e057543..6a7b24f1fe2c 100644
--- a/pkgs/development/libraries/haskell/tls-extra/default.nix
+++ b/pkgs/development/libraries/haskell/tls-extra/default.nix
@@ -1,19 +1,19 @@
-{ cabal, certificate, cryptoApi, cryptocipher, cryptohash, mtl
-, network, pem, text, time, tls, vector
+{ cabal, certificate, cipherAes, cryptoApi, cryptocipher
+, cryptohash, mtl, network, pem, text, time, tls, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "tls-extra";
-  version = "0.4.6";
-  sha256 = "1xl55i4nr7kyc3qxi8zmq18m0xhlwlrx9fwkck22krshqgq2i6nn";
+  version = "0.5.0";
+  sha256 = "1r645qljn3ql7jcphsqf4cm259cl8fsva64q4p2x37mafi01bkr8";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    certificate cryptoApi cryptocipher cryptohash mtl network pem text
-    time tls vector
+    certificate cipherAes cryptoApi cryptocipher cryptohash mtl network
+    pem text time tls vector
   ];
   meta = {
-    homepage = "http://github.com/vincenthz/hs-tls-extra";
+    homepage = "http://github.com/vincenthz/hs-tls";
     description = "TLS extra default values and helpers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/tls/default.nix b/pkgs/development/libraries/haskell/tls/default.nix
index 2154aa347d22..082a4b75cc6e 100644
--- a/pkgs/development/libraries/haskell/tls/default.nix
+++ b/pkgs/development/libraries/haskell/tls/default.nix
@@ -1,15 +1,15 @@
 { cabal, cereal, certificate, cryptoApi, cryptocipher, cryptohash
-, mtl
+, mtl, network
 }:
 
 cabal.mkDerivation (self: {
   pname = "tls";
-  version = "0.9.10";
-  sha256 = "1kiwb5skirdla32gjicgmjyk09p8f701jgs6krxbi38gmmfj1dxf";
+  version = "1.0.2";
+  sha256 = "0fkbh89j4gpwq45hv88axcdy7hxhvj1wj14nf7ma8wzaga2p4m75";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    cereal certificate cryptoApi cryptocipher cryptohash mtl
+    cereal certificate cryptoApi cryptocipher cryptohash mtl network
   ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-tls";
diff --git a/pkgs/development/libraries/haskell/unix-compat/default.nix b/pkgs/development/libraries/haskell/unix-compat/default.nix
index df329ba1d902..7c5cb6c63c4f 100644
--- a/pkgs/development/libraries/haskell/unix-compat/default.nix
+++ b/pkgs/development/libraries/haskell/unix-compat/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "unix-compat";
-  version = "0.3.0.2";
-  sha256 = "0rikix2l8d0n948pzri2rdis9k5q0m73h7vxsxjz1vh24ryjj59f";
+  version = "0.4.0.0";
+  sha256 = "0xhhvqdjcmcyavf0g2q2sjghj2h4si1ijg4nc4s8kidbd957z9r8";
   meta = {
     homepage = "http://github.com/jystic/unix-compat";
     description = "Portable POSIX-compatibility layer";
diff --git a/pkgs/development/libraries/haskell/unlambda/default.nix b/pkgs/development/libraries/haskell/unlambda/default.nix
index c0cfc72bd9e3..474bb1a8b092 100644
--- a/pkgs/development/libraries/haskell/unlambda/default.nix
+++ b/pkgs/development/libraries/haskell/unlambda/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "unlambda";
-  version = "0.1";
-  sha256 = "0xmn5w5vza6z2i3fs2hv2jgmb1lyk918viknsx3lk36i1dbyivgi";
+  version = "0.1.3";
+  sha256 = "0clcpkhg23a7ma72rjjpl2w8jpg2mdn4rgm3vf0vqr7lbyma1h89";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ mtl ];
diff --git a/pkgs/development/libraries/haskell/urlencoded/default.nix b/pkgs/development/libraries/haskell/urlencoded/default.nix
index 45891bb45b12..05bd2ab09bbd 100644
--- a/pkgs/development/libraries/haskell/urlencoded/default.nix
+++ b/pkgs/development/libraries/haskell/urlencoded/default.nix
@@ -2,12 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "urlencoded";
-  version = "0.3.0.1";
-  sha256 = "1i6r05d5libcilngsa6illcazfv6g4rhibzgk8c2jsjq9cg53ihz";
+  version = "0.4.0";
+  sha256 = "0idh70apfxx8bkbsxda4xhb0b5xf4x237dwi4v55ildrhxx4b68k";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ mtl network split ];
-  jailbreak = true;
   meta = {
     homepage = "https://github.com/pheaver/urlencoded";
     description = "Generate or process x-www-urlencoded data";
diff --git a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
index 1bb3cb76dac9..02356789bc30 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.3.4";
-  sha256 = "1f582cr17qxwrhxx6pdv503ldm4ccbnbv9pcksibgparfyc25bnv";
+  version = "2.7.4";
+  sha256 = "1cznyn09a3glfkvvzqma3bhjinddkp6v2xwiy5x403v0wy8y565j";
   buildDepends = [ ListLike time ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/bin/view/HUT/ParserCombinators";
diff --git a/pkgs/development/libraries/haskell/vacuum/default.nix b/pkgs/development/libraries/haskell/vacuum/default.nix
index 11f74432be63..8506e5805022 100644
--- a/pkgs/development/libraries/haskell/vacuum/default.nix
+++ b/pkgs/development/libraries/haskell/vacuum/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "vacuum";
-  version = "2.0.0.0";
-  sha256 = "0a810ql4lp1pyvys9a5aw28gxn7h2p4hkc0by4pmpw5d7kdhn9y3";
+  version = "2.1.0.1";
+  sha256 = "0gzh5v9mr0mgz9hxjnm8n3jcl2702wad7qaqaar1zc95lkabpf65";
   extraLibraries = [ ghcPaths ];
   meta = {
     homepage = "http://thoughtpolice.github.com/vacuum";
diff --git a/pkgs/development/libraries/haskell/vcs-revision/default.nix b/pkgs/development/libraries/haskell/vcs-revision/default.nix
new file mode 100644
index 000000000000..a1cd2783931f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vcs-revision/default.nix
@@ -0,0 +1,12 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "vcs-revision";
+  version = "0.0.1";
+  sha256 = "1zfv9b02ml8622kz755azhi4ajyxrqniiachd92znfrry4n8z1mn";
+  meta = {
+    description = "Facilities for accessing the version control revision of the current directory";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vect/default.nix b/pkgs/development/libraries/haskell/vect/default.nix
new file mode 100644
index 000000000000..2d81a0131766
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vect/default.nix
@@ -0,0 +1,14 @@
+{ cabal, random }:
+
+cabal.mkDerivation (self: {
+  pname = "vect";
+  version = "0.4.7";
+  sha256 = "1049jh8rcxfnyckz5m5asdlyafqszlig96k387raldyfzbrf8f4d";
+  buildDepends = [ random ];
+  meta = {
+    homepage = "http://code.haskell.org/~bkomuves/";
+    description = "A low-dimensional linear algebra library, tailored to computer graphics";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vector-algorithms/default.nix b/pkgs/development/libraries/haskell/vector-algorithms/default.nix
index 2704942b3609..dc8c9dd35bae 100644
--- a/pkgs/development/libraries/haskell/vector-algorithms/default.nix
+++ b/pkgs/development/libraries/haskell/vector-algorithms/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "vector-algorithms";
-  version = "0.5.4.1";
-  sha256 = "00dikjmy1pyyn3mmq7sjnmd91xcg7q3n3yiil3dqi1fgr0787xng";
+  version = "0.5.4.2";
+  sha256 = "08pb6mkghf9h5011vxrfdrfq6g26jk4gxmjh9s3hpdiwybf3ab64";
   buildDepends = [ primitive vector ];
   meta = {
     homepage = "http://code.haskell.org/~dolio/";
diff --git a/pkgs/development/libraries/haskell/vector-space-points/default.nix b/pkgs/development/libraries/haskell/vector-space-points/default.nix
index 7497ed59c4f9..1debf3f0f713 100644
--- a/pkgs/development/libraries/haskell/vector-space-points/default.nix
+++ b/pkgs/development/libraries/haskell/vector-space-points/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "vector-space-points";
-  version = "0.1.1.1";
-  sha256 = "08lar9ydni87w79y86xk2blddsgx5n6gwz3262w8z32dgy9lrmwx";
+  version = "0.1.2.0";
+  sha256 = "19azl6g14rsxs0qbik6x637qw9jv4xl01w65xd0xh7833mypmj6d";
   buildDepends = [ newtype vectorSpace ];
   meta = {
     description = "A type for points, as distinct from vectors";
diff --git a/pkgs/development/libraries/haskell/vector-space/default.nix b/pkgs/development/libraries/haskell/vector-space/default.nix
index 2957959f005b..60762ce3f9b9 100644
--- a/pkgs/development/libraries/haskell/vector-space/default.nix
+++ b/pkgs/development/libraries/haskell/vector-space/default.nix
@@ -2,11 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "vector-space";
-  version = "0.8.2";
-  sha256 = "09gndxxscyc9w85fih370gag8yd1xbfg94nxkwdvhzvbkns9k2ad";
+  version = "0.8.4";
+  sha256 = "1hrilbv44lrqm9p3z97xw8nlgxam98abll4iqik8a4d6ky225bwq";
   buildDepends = [ Boolean MemoTrie NumInstances ];
   meta = {
-    homepage = "http://haskell.org/haskellwiki/vector-space";
     description = "Vector & affine spaces, linear maps, and derivatives";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/vector/0.10.0.1.nix b/pkgs/development/libraries/haskell/vector/0.10.0.1.nix
new file mode 100644
index 000000000000..7acc89d6a91c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vector/0.10.0.1.nix
@@ -0,0 +1,15 @@
+{ cabal, deepseq, primitive }:
+
+cabal.mkDerivation (self: {
+  pname = "vector";
+  version = "0.10.0.1";
+  sha256 = "1bq8am8qnpnsla315i21f1kikikalyz9ps1izxgpr9q1ic2lbsgc";
+  buildDepends = [ deepseq primitive ];
+  meta = {
+    homepage = "http://code.haskell.org/vector";
+    description = "Efficient Arrays";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vector/0.10.nix b/pkgs/development/libraries/haskell/vector/0.10.nix
new file mode 100644
index 000000000000..8fac71eed4b3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vector/0.10.nix
@@ -0,0 +1,15 @@
+{ cabal, deepseq, primitive }:
+
+cabal.mkDerivation (self: {
+  pname = "vector";
+  version = "0.10";
+  sha256 = "0lwhsdg7wv6gwjswakf2d1h9w7lp4pznab0mz6xg5q48pgknrcig";
+  buildDepends = [ deepseq primitive ];
+  meta = {
+    homepage = "http://code.haskell.org/vector";
+    description = "Efficient Arrays";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vector/default.nix b/pkgs/development/libraries/haskell/vector/0.9.1.nix
index 63add64226d6..63add64226d6 100644
--- a/pkgs/development/libraries/haskell/vector/default.nix
+++ b/pkgs/development/libraries/haskell/vector/0.9.1.nix
diff --git a/pkgs/development/libraries/haskell/void/default.nix b/pkgs/development/libraries/haskell/void/default.nix
index 581d2f8c9ae7..e19a0450c027 100644
--- a/pkgs/development/libraries/haskell/void/default.nix
+++ b/pkgs/development/libraries/haskell/void/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "void";
-  version = "0.5.7";
-  sha256 = "1rkc32122mkyxl0a4spbcqz908wh49l5ab8gfvsy0y02d3lldfd4";
+  version = "0.5.8";
+  sha256 = "1iqwndpc77i4i1977z7lxj20viplr2f5pwxwa2kibyhy556bs27z";
   buildDepends = [ semigroups ];
   meta = {
     homepage = "http://github.com/ekmett/void";
diff --git a/pkgs/development/libraries/haskell/vty/default.nix b/pkgs/development/libraries/haskell/vty/default.nix
index 684fbd2eed0d..2642af7457e7 100644
--- a/pkgs/development/libraries/haskell/vty/default.nix
+++ b/pkgs/development/libraries/haskell/vty/default.nix
@@ -4,14 +4,14 @@
 
 cabal.mkDerivation (self: {
   pname = "vty";
-  version = "4.7.0.14";
-  sha256 = "0wgn2jbr7lih9znkpa09nvb4qjd0801c0r4mwwrw4pd9n9mkjqn9";
+  version = "4.7.0.20";
+  sha256 = "15slw4zpvfkx9qwj2g5ndcxwbw0kkhyq8frvh9kharqd0zqzgqzb";
   buildDepends = [
     deepseq mtl parallel parsec terminfo utf8String vector
   ];
   meta = {
     homepage = "https://github.com/coreyoconnor/vty";
-    description = "A simple terminal access library";
+    description = "A simple terminal UI library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
diff --git a/pkgs/development/libraries/haskell/wai-app-static/default.nix b/pkgs/development/libraries/haskell/wai-app-static/default.nix
index f073d36f5024..427efd4d9bf3 100644
--- a/pkgs/development/libraries/haskell/wai-app-static/default.nix
+++ b/pkgs/development/libraries/haskell/wai-app-static/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-app-static";
-  version = "1.3.0.1";
-  sha256 = "0rgbqbcj4jd6xpjm3nqa5hdf3an7208in536dl6x9n88w9a6qngp";
+  version = "1.3.0.4";
+  sha256 = "1dcgw6b10j5y2xa1jpqfsgcq8w6c7cdbp4pfc8nb6n54bys4linn";
   buildDepends = [
     base64Bytestring blazeBuilder blazeHtml blazeMarkup cereal
     cryptoConduit cryptohash fileEmbed httpDate httpTypes mimeTypes
diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix
index 0debe101b4f2..1c681a39ef50 100644
--- a/pkgs/development/libraries/haskell/wai-extra/default.nix
+++ b/pkgs/development/libraries/haskell/wai-extra/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-extra";
-  version = "1.3.0.1";
-  sha256 = "0mclhaxdgj1vcqa6q22zl5zv4znfis1zyivwypl1pwv0r267siy5";
+  version = "1.3.0.4";
+  sha256 = "1i909qipmnwx161c0xlqzrwcpbv6si2rrbhfs524dicgr1jdijcc";
   buildDepends = [
     ansiTerminal blazeBuilder blazeBuilderConduit caseInsensitive
     conduit dataDefault dateCache fastLogger httpTypes network
diff --git a/pkgs/development/libraries/haskell/wai-test/default.nix b/pkgs/development/libraries/haskell/wai-test/default.nix
new file mode 100644
index 000000000000..0c9b8eb2eb81
--- /dev/null
+++ b/pkgs/development/libraries/haskell/wai-test/default.nix
@@ -0,0 +1,19 @@
+{ cabal, blazeBuilder, blazeBuilderConduit, caseInsensitive
+, conduit, cookie, httpTypes, HUnit, text, transformers, wai
+}:
+
+cabal.mkDerivation (self: {
+  pname = "wai-test";
+  version = "1.3.0";
+  sha256 = "15y0aw5c4sh1mns4ss39l0wsxrd1b6yq6m5r638x23zl6y7d9j40";
+  buildDepends = [
+    blazeBuilder blazeBuilderConduit caseInsensitive conduit cookie
+    httpTypes HUnit text transformers wai
+  ];
+  meta = {
+    homepage = "http://www.yesodweb.com/book/wai";
+    description = "Unit test framework (built on HUnit) for WAI applications";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/wai/default.nix b/pkgs/development/libraries/haskell/wai/default.nix
index a67da394a654..56421b213d5b 100644
--- a/pkgs/development/libraries/haskell/wai/default.nix
+++ b/pkgs/development/libraries/haskell/wai/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai";
-  version = "1.3.0";
-  sha256 = "08y0s7b5db5nyvxv0bvraj6ih7054h5n4lkwdlm3nkbm8s9k8hwv";
+  version = "1.3.0.1";
+  sha256 = "0z6byx71awhjb7fycz1ixsyzzlsrv1i69qwjrfzh9y5wnbchj9yl";
   buildDepends = [
     blazeBuilder conduit httpTypes network text transformers vault
   ];
diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix
index 30bbbef9a0b2..56cdbd9adc10 100644
--- a/pkgs/development/libraries/haskell/warp/default.nix
+++ b/pkgs/development/libraries/haskell/warp/default.nix
@@ -1,16 +1,16 @@
 { cabal, blazeBuilder, blazeBuilderConduit, caseInsensitive
-, conduit, httpTypes, liftedBase, network, networkConduit
+, conduit, hashable, httpTypes, liftedBase, network, networkConduit
 , simpleSendfile, transformers, unixCompat, void, wai
 }:
 
 cabal.mkDerivation (self: {
   pname = "warp";
-  version = "1.3.1";
-  sha256 = "12f4v080v8jgm02swqbbgq9yvbajmbr8ja2p6ljc7bhf3rkpwplr";
+  version = "1.3.4.4";
+  sha256 = "0i6mjadw87f9c949wg9lcbld0yfvnrxn7bhapf71gk36sh7llxaj";
   buildDepends = [
-    blazeBuilder blazeBuilderConduit caseInsensitive conduit httpTypes
-    liftedBase network networkConduit simpleSendfile transformers
-    unixCompat void wai
+    blazeBuilder blazeBuilderConduit caseInsensitive conduit hashable
+    httpTypes liftedBase network networkConduit simpleSendfile
+    transformers unixCompat void wai
   ];
   meta = {
     homepage = "http://github.com/yesodweb/wai";
diff --git a/pkgs/development/libraries/haskell/word8/default.nix b/pkgs/development/libraries/haskell/word8/default.nix
new file mode 100644
index 000000000000..d86ef72d2cbf
--- /dev/null
+++ b/pkgs/development/libraries/haskell/word8/default.nix
@@ -0,0 +1,12 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "word8";
+  version = "0.0.2";
+  sha256 = "0ij8l5h9kj93srsizwxiss4jcgj0hy2gsskw88l58lgd2v4c9dnb";
+  meta = {
+    description = "Word8 library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/xml-conduit/default.nix b/pkgs/development/libraries/haskell/xml-conduit/default.nix
index 3f2e6e6af4fa..09c5a5563bcf 100644
--- a/pkgs/development/libraries/haskell/xml-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/xml-conduit/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xml-conduit";
-  version = "1.0.3.1";
-  sha256 = "1000gbdwfp98s44kkp793lmqrdm046phwxcvlik20b2485ml8yrj";
+  version = "1.0.3.3";
+  sha256 = "0jw1r4vmcbxj8kgkdj4pgibihcdmbdj15g06i9p8mdklmmd7gqnz";
   buildDepends = [
     attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit
     blazeHtml blazeMarkup conduit dataDefault failure monadControl
diff --git a/pkgs/development/libraries/haskell/xml-hamlet/default.nix b/pkgs/development/libraries/haskell/xml-hamlet/default.nix
new file mode 100644
index 000000000000..41a5c710d6af
--- /dev/null
+++ b/pkgs/development/libraries/haskell/xml-hamlet/default.nix
@@ -0,0 +1,14 @@
+{ cabal, parsec, shakespeare, text, xmlConduit }:
+
+cabal.mkDerivation (self: {
+  pname = "xml-hamlet";
+  version = "0.4.0.3";
+  sha256 = "1923c2jg162jab01mcbpy52xs1pzxkrgny6sq8v0p758n8hjazwc";
+  buildDepends = [ parsec shakespeare text xmlConduit ];
+  meta = {
+    homepage = "http://www.yesodweb.com/";
+    description = "Hamlet-style quasiquoter for XML content";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/xmlhtml/default.nix b/pkgs/development/libraries/haskell/xmlhtml/default.nix
index 654da2e76b52..adbf68655caf 100644
--- a/pkgs/development/libraries/haskell/xmlhtml/default.nix
+++ b/pkgs/development/libraries/haskell/xmlhtml/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xmlhtml";
-  version = "0.2.0.2";
-  sha256 = "0dqlqx3cnrqap3ficdkmwm8661j8i7qknb8xhjqvfmnb9pwqdks2";
+  version = "0.2.0.3";
+  sha256 = "03bwsm3dazc01cwndlm92nr35a4fllsxx17rp72d2vnf1571a1vb";
   buildDepends = [
     blazeBuilder blazeHtml blazeMarkup parsec text unorderedContainers
   ];
diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix
index 52460c8246be..0271f6874f34 100644
--- a/pkgs/development/libraries/haskell/yaml/default.nix
+++ b/pkgs/development/libraries/haskell/yaml/default.nix
@@ -4,15 +4,15 @@
 
 cabal.mkDerivation (self: {
   pname = "yaml";
-  version = "0.8.0.2";
-  sha256 = "14blcsylbf9wx4yw8fsk8ddjvg844x97xfc1h7r4ls9l9ar7k95j";
+  version = "0.8.1.1";
+  sha256 = "0n2m205f0jq8v4g84bw642vdqqr68m3jklv98rr21s8r2fyy7937";
   buildDepends = [
     aeson attoparsec conduit resourcet text transformers
     unorderedContainers vector
   ];
   meta = {
     homepage = "http://github.com/snoyberg/yaml/";
-    description = "Low-level binding to the libyaml C library";
+    description = "Support for parsing and rendering YAML documents";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix
index ac5c87d76132..712fd44fbf08 100644
--- a/pkgs/development/libraries/haskell/yesod-auth/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-auth";
-  version = "1.1.1.1";
-  sha256 = "1ryq3jxcgb55ijjmcv0j234n9nay2ianifb59gz9akyv0sc3zcl9";
+  version = "1.1.1.6";
+  sha256 = "0xbr8q7rv73hsh90pdb5cl00pd4mx3q74q0dqampha0y2lpq6124";
   buildDepends = [
     aeson authenticate blazeHtml blazeMarkup hamlet httpConduit
     liftedBase mimeMail persistent persistentTemplate pureMD5
diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix
index 5a6d6e1c41cc..c7cd1466072f 100644
--- a/pkgs/development/libraries/haskell/yesod-core/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-core/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-core";
-  version = "1.1.1.2";
-  sha256 = "1q0p4hnmd0mg3pqkydqcv61p3hrmnqnrsya005dyvxf320anya0y";
+  version = "1.1.5";
+  sha256 = "1mnmszka6fy5gps1y4bwpn0aq5vzxdxqyh2vrl7vii1lfl51yly7";
   buildDepends = [
     aeson blazeBuilder blazeHtml blazeMarkup caseInsensitive cereal
     clientsession conduit cookie failure fastLogger hamlet httpTypes
diff --git a/pkgs/development/libraries/haskell/yesod-default/default.nix b/pkgs/development/libraries/haskell/yesod-default/default.nix
index c3dce8ca7d38..0ff1c2028267 100644
--- a/pkgs/development/libraries/haskell/yesod-default/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-default/default.nix
@@ -1,15 +1,16 @@
-{ cabal, dataDefault, hamlet, networkConduit, shakespeareCss
+{ cabal, dataDefault, hamlet, networkConduit, safe, shakespeareCss
 , shakespeareJs, text, transformers, unorderedContainers, wai
 , waiExtra, warp, yaml, yesodCore
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-default";
-  version = "1.1.0";
-  sha256 = "124407a0in474l71jja04ds0xh84ac5i3jv62iswxlcp1y9f52bq";
+  version = "1.1.2";
+  sha256 = "0asz9daf7by0d8sx8zqjsbxbzbyy59bvrdkq4f533fbn0nm1bn38";
   buildDepends = [
-    dataDefault hamlet networkConduit shakespeareCss shakespeareJs text
-    transformers unorderedContainers wai waiExtra warp yaml yesodCore
+    dataDefault hamlet networkConduit safe shakespeareCss shakespeareJs
+    text transformers unorderedContainers wai waiExtra warp yaml
+    yesodCore
   ];
   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 8f3cf37149fc..787fa78f828c 100644
--- a/pkgs/development/libraries/haskell/yesod-form/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-form/default.nix
@@ -1,4 +1,4 @@
-{ cabal, attoparsec, blazeBuilder, blazeHtml, blazeMarkup
+{ cabal, aeson, attoparsec, blazeBuilder, blazeHtml, blazeMarkup
 , cryptoApi, dataDefault, emailValidate, hamlet, network
 , persistent, shakespeareCss, shakespeareJs, text, time
 , transformers, wai, xssSanitize, yesodCore, yesodPersistent
@@ -6,11 +6,11 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-form";
-  version = "1.1.1.1";
-  sha256 = "0239sbnpl022g53iwbg9pnphiyadxysdwrqz3f8spf6x3w2gs6vg";
+  version = "1.2.0";
+  sha256 = "1p5c75dcbhcc90chwzhsk5sk86x3i2ipz6krrqrkx0zx7ykbf94m";
   buildDepends = [
-    attoparsec blazeBuilder blazeHtml blazeMarkup cryptoApi dataDefault
-    emailValidate hamlet network persistent shakespeareCss
+    aeson attoparsec blazeBuilder blazeHtml blazeMarkup cryptoApi
+    dataDefault emailValidate hamlet network persistent shakespeareCss
     shakespeareJs text time transformers wai xssSanitize yesodCore
     yesodPersistent
   ];
diff --git a/pkgs/development/libraries/haskell/yesod-json/default.nix b/pkgs/development/libraries/haskell/yesod-json/default.nix
index 4a2a2346a873..1c46d7977aa7 100644
--- a/pkgs/development/libraries/haskell/yesod-json/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-json/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-json";
-  version = "1.1.0";
-  sha256 = "13dbajs51nyrvch13xz05h6jrnhc097s0iykw5z43x05a6xwj20n";
+  version = "1.1.2";
+  sha256 = "0vbjg038vgdwd5a4w7r5261xgvylzzk4gikk4285ns471x8n0vrf";
   buildDepends = [
     aeson attoparsecConduit blazeBuilder conduit safe shakespeareJs
     text transformers vector wai waiExtra yesodCore yesodRoutes
diff --git a/pkgs/development/libraries/haskell/yesod-routes/default.nix b/pkgs/development/libraries/haskell/yesod-routes/default.nix
index 9a801d62df83..ec09a68e32c7 100644
--- a/pkgs/development/libraries/haskell/yesod-routes/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-routes/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-routes";
-  version = "1.1.0";
-  sha256 = "0r0a3s1dngqp2vcq0cdsbqf1lsyhygj2x4a93csr2iyn244zgxnx";
+  version = "1.1.1.1";
+  sha256 = "10cy50dnhbhwi0yspq0x06gzqpmhkalqq1sww2wjpv13hp53pq3m";
   buildDepends = [ pathPieces text vector ];
   meta = {
     homepage = "http://www.yesodweb.com/";
diff --git a/pkgs/development/libraries/haskell/yesod-static/default.nix b/pkgs/development/libraries/haskell/yesod-static/default.nix
index ddd0f24d9af4..ada24ea3193e 100644
--- a/pkgs/development/libraries/haskell/yesod-static/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-static/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-static";
-  version = "1.1.0.1";
-  sha256 = "1hlg32bhmhc5npd0bm317mssrddf7jzhwr0z3ns0dpiynz9mh0vy";
+  version = "1.1.1.1";
+  sha256 = "1wp3ijiwsai9npf6zl0bq3fi4rbh0qjy8bii3d178sariv7588js";
   buildDepends = [
     base64Bytestring cereal conduit cryptoConduit cryptohash fileEmbed
     httpTypes systemFilepath text transformers unixCompat wai
diff --git a/pkgs/development/libraries/haskell/yesod-test/default.nix b/pkgs/development/libraries/haskell/yesod-test/default.nix
new file mode 100644
index 000000000000..bd0e3c17c862
--- /dev/null
+++ b/pkgs/development/libraries/haskell/yesod-test/default.nix
@@ -0,0 +1,22 @@
+{ cabal, attoparsec, blazeHtml, blazeMarkup, caseInsensitive, hspec
+, htmlConduit, httpTypes, HUnit, monadControl, network, persistent
+, poolConduit, text, transformers, wai, waiTest, xmlConduit
+, xmlTypes
+}:
+
+cabal.mkDerivation (self: {
+  pname = "yesod-test";
+  version = "0.3.1.1";
+  sha256 = "0p3490yw0xcc62vzjk2vq32vv2ij7mcs6h28szp7y04gn6xc5nbg";
+  buildDepends = [
+    attoparsec blazeHtml blazeMarkup caseInsensitive hspec htmlConduit
+    httpTypes HUnit monadControl network persistent poolConduit text
+    transformers wai waiTest xmlConduit xmlTypes
+  ];
+  meta = {
+    homepage = "http://www.yesodweb.com";
+    description = "integration testing for WAI/Yesod Applications";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/yesod/default.nix b/pkgs/development/libraries/haskell/yesod/default.nix
index 46ebf6c8b850..7c592cb7efe4 100644
--- a/pkgs/development/libraries/haskell/yesod/default.nix
+++ b/pkgs/development/libraries/haskell/yesod/default.nix
@@ -1,23 +1,30 @@
-{ cabal, attoparsec, blazeBuilder, blazeHtml, blazeMarkup, Cabal
-, filepath, hamlet, httpTypes, monadControl, parsec, shakespeareCss
-, shakespeareJs, shakespeareText, systemFileio, systemFilepath, tar
-, text, time, transformers, unixCompat, unorderedContainers, wai
-, waiExtra, warp, yaml, yesodAuth, yesodCore, yesodForm, yesodJson
-, yesodPersistent, zlib
+{ cabal, attoparsec, base64Bytestring, blazeBuilder, blazeHtml
+, blazeMarkup, Cabal, conduit, fileEmbed, filepath, fsnotify
+, ghcPaths, hamlet, httpConduit, httpReverseProxy, httpTypes
+, liftedBase, monadControl, network, optparseApplicative, parsec
+, projectTemplate, resourcet, shakespeare, shakespeareCss
+, shakespeareJs, shakespeareText, split, systemFileio
+, systemFilepath, tar, text, time, transformers, unixCompat
+, unorderedContainers, wai, waiExtra, warp, yaml, yesodAuth
+, yesodCore, yesodDefault, yesodForm, yesodJson, yesodPersistent
+, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod";
-  version = "1.1.0.3";
-  sha256 = "07rj7dyicnklp6hs1m0kjj6xz983d1zryv2f3sqhf620bc2d70fx";
+  version = "1.1.4";
+  sha256 = "1na50j7cd89mxk7ss67xlj703spvkpzcwgp7qs1pn2x3xsm7vrm2";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    attoparsec blazeBuilder blazeHtml blazeMarkup Cabal filepath hamlet
-    httpTypes monadControl parsec shakespeareCss shakespeareJs
-    shakespeareText systemFileio systemFilepath tar text time
-    transformers unixCompat unorderedContainers wai waiExtra warp yaml
-    yesodAuth yesodCore yesodForm yesodJson yesodPersistent zlib
+    attoparsec base64Bytestring blazeBuilder blazeHtml blazeMarkup
+    Cabal conduit fileEmbed filepath fsnotify ghcPaths hamlet
+    httpConduit httpReverseProxy httpTypes liftedBase monadControl
+    network optparseApplicative parsec projectTemplate resourcet
+    shakespeare shakespeareCss shakespeareJs shakespeareText split
+    systemFileio systemFilepath tar text time transformers unixCompat
+    unorderedContainers wai waiExtra warp yaml yesodAuth yesodCore
+    yesodDefault yesodForm yesodJson yesodPersistent zlib
   ];
   meta = {
     homepage = "http://www.yesodweb.com/";
diff --git a/pkgs/development/libraries/haskell/yst/default.nix b/pkgs/development/libraries/haskell/yst/default.nix
index 6a94987ba918..5cb5fb6a2099 100644
--- a/pkgs/development/libraries/haskell/yst/default.nix
+++ b/pkgs/development/libraries/haskell/yst/default.nix
@@ -1,16 +1,16 @@
-{ cabal, csv, filepath, HsSyck, HStringTemplate, pandoc, parsec
-, split, time, utf8String, xhtml
+{ cabal, csv, filepath, HDBC, HDBCSqlite3, HsSyck, HStringTemplate
+, pandoc, parsec, split, time, utf8String, xhtml
 }:
 
 cabal.mkDerivation (self: {
   pname = "yst";
-  version = "0.2.4.1";
-  sha256 = "0y620p6kn1mky30fia63na5idppfjfmc828jcaa0ads08rmj5wgy";
+  version = "0.3.0.1";
+  sha256 = "17jp9vdbpp82wzsj8rhp5nh6fbmgm2xrclfnb7jl4gjwls7xggrv";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    csv filepath HsSyck HStringTemplate pandoc parsec split time
-    utf8String xhtml
+    csv filepath HDBC HDBCSqlite3 HsSyck HStringTemplate pandoc parsec
+    split time utf8String xhtml
   ];
   meta = {
     homepage = "http://github.com/jgm/yst";
diff --git a/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix b/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix
new file mode 100644
index 000000000000..44b04397c3f4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/zeromq3-haskell/default.nix
@@ -0,0 +1,14 @@
+{ cabal, zeromq }:
+
+cabal.mkDerivation (self: {
+  pname = "zeromq3-haskell";
+  version = "0.1.4";
+  sha256 = "026b18ligbrfbg4x7vivk6r2gj9rj3vy6pm3h0s81571h6lk3dhx";
+  extraLibraries = [ zeromq ];
+  meta = {
+    homepage = "http://github.com/twittner/zeromq-haskell/";
+    description = "Bindings to ZeroMQ 3.x";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/zip-archive/default.nix b/pkgs/development/libraries/haskell/zip-archive/default.nix
index 050d48280d2e..5ee2377147ed 100644
--- a/pkgs/development/libraries/haskell/zip-archive/default.nix
+++ b/pkgs/development/libraries/haskell/zip-archive/default.nix
@@ -1,12 +1,12 @@
-{ cabal, binary, digest, filepath, mtl, utf8String, zlib }:
+{ cabal, binary, digest, filepath, mtl, time, utf8String, zlib }:
 
 cabal.mkDerivation (self: {
   pname = "zip-archive";
-  version = "0.1.1.8";
-  sha256 = "0rq4jk1sxi6lrc7d7sh500lh83v2fxxrfh2gknqiyzxd3wh364y1";
+  version = "0.1.2.1";
+  sha256 = "1c0pjbrkfv44nbpz60b1c4xdbkdk8qaxlkfxl51rb2183gj1gkph";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ binary digest filepath mtl utf8String zlib ];
+  buildDepends = [ binary digest filepath mtl time utf8String zlib ];
   meta = {
     homepage = "http://github.com/jgm/zip-archive";
     description = "Library for creating and modifying zip archives";
diff --git a/pkgs/development/libraries/haskell/zlib-bindings/default.nix b/pkgs/development/libraries/haskell/zlib-bindings/default.nix
index c78ca3f68ee9..d0ffcecaaebe 100644
--- a/pkgs/development/libraries/haskell/zlib-bindings/default.nix
+++ b/pkgs/development/libraries/haskell/zlib-bindings/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "zlib-bindings";
-  version = "0.1.1.1";
-  sha256 = "1r502gskbm36smd5nj0f53ildv9rkm3k79zmwdmrskg6z1n7jmfh";
+  version = "0.1.1.2";
+  sha256 = "0p4713craq59vbyf3rr6kzv53rrfycbnlfs57i78fjrgwv6bd1ln";
   buildDepends = [ zlib ];
   meta = {
     homepage = "http://github.com/snoyberg/zlib-bindings";
diff --git a/pkgs/development/libraries/haskell/zlib-conduit/default.nix b/pkgs/development/libraries/haskell/zlib-conduit/default.nix
index 728d2d202f1a..89a22b6b8896 100644
--- a/pkgs/development/libraries/haskell/zlib-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/zlib-conduit/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "zlib-conduit";
-  version = "0.5.0.1";
-  sha256 = "138wag9fjq3hx48nzr0nvvclcyjwcd0ykjbbgms2h9msmz9vflk5";
+  version = "0.5.0.2";
+  sha256 = "1jgj3x4z1901bm1618753hqyrjragzrpyhy9h02qj9kplqswh878";
   buildDepends = [ conduit transformers void zlibBindings ];
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
diff --git a/pkgs/development/libraries/haskell/zlib-enum/default.nix b/pkgs/development/libraries/haskell/zlib-enum/default.nix
index d4ec47410fc8..f799194c0f69 100644
--- a/pkgs/development/libraries/haskell/zlib-enum/default.nix
+++ b/pkgs/development/libraries/haskell/zlib-enum/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "zlib-enum";
-  version = "0.2.2.1";
-  sha256 = "02ava6h40bqfmby33683nxasfw5fmrgfvbx6kqgz1gqz5921gjx9";
+  version = "0.2.3";
+  sha256 = "0lr72h4wlclav0p0j5wwaxifq97lw7rh3612lva73fg45akl9di1";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ enumerator transformers zlibBindings ];
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.4.0.nix b/pkgs/development/libraries/haskell/zlib/0.5.4.0.nix
new file mode 100644
index 000000000000..abeed295e035
--- /dev/null
+++ b/pkgs/development/libraries/haskell/zlib/0.5.4.0.nix
@@ -0,0 +1,14 @@
+{ cabal, zlib }:
+
+cabal.mkDerivation (self: {
+  pname = "zlib";
+  version = "0.5.4.0";
+  sha256 = "18hc4wr8brzbl9qapjbjyb9kyqrznv2xbw7rv1a6k8i3392ilxv1";
+  extraLibraries = [ zlib ];
+  meta = {
+    description = "Compression and decompression in the gzip and zlib formats";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix
index ace271b7a357..ad3af7778ff3 100644
--- a/pkgs/development/libraries/json-glib/default.nix
+++ b/pkgs/development/libraries/json-glib/default.nix
@@ -5,8 +5,8 @@ stdenv.mkDerivation rec {
 
   src = fetchurl_gnome {
     project = "json-glib";
-    major = "0"; minor = "14"; patchlevel = "0"; extension = "xz";
-    sha256 = "0mpw996cyidspjwns281l5haj9i8azpkfpl4jf98lh3kcqcr07l2";
+    major = "0"; minor = "14"; patchlevel = "2"; extension = "xz";
+    sha256 = "19wlpsbdnm3mq2a6yjpzj0cwrmlkarp2m5x6g63b0r2n7vxaa5mq";
   };
 
   propagatedBuildInputs = [ glib ];
diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix
index fc554dcd8756..64d769fab75b 100644
--- a/pkgs/development/libraries/libarchive/default.nix
+++ b/pkgs/development/libraries/libarchive/default.nix
@@ -1,21 +1,29 @@
-{ fetchurl, stdenv, acl, openssl, libxml2, attr, zlib, bzip2, e2fsprogs
+{ fetchurl, stdenv, acl, openssl, libxml2, attr, zlib, bzip2, e2fsprogs, xz
 , sharutils }:
 
 stdenv.mkDerivation rec {
-  name = "libarchive-2.8.3";
+  name = "libarchive-3.0.4";
 
   src = fetchurl {
-    url = "http://libarchive.googlecode.com/files/${name}.tar.gz";
-    sha256 = "16095d15334b3c8dbb02db5af3d415f12c1c3bdd4eb43af7bbc36ab7572c0b7a";
+    url = "https://github.com/downloads/libarchive/libarchive/${name}.tar.gz";
+    sha256 = "76e8d7c7b100ec4071e48c1b7d3f3ea1d22b39db3e45b7189f75b5ff4df90fac";
   };
 
-  propagatedBuildInputs = [ libxml2 zlib bzip2 openssl ] ++
+  propagatedBuildInputs = [ libxml2 zlib bzip2 openssl xz ] ++
     stdenv.lib.optionals stdenv.isLinux [ e2fsprogs attr acl ];
 
   buildInputs = [ sharutils ];
 
   meta = {
-    description = "A library for reading and writing streaming archives";
-    homepage = http://people.freebsd.org/~kientzle/libarchive;
+    description = "Multi-format archive and compression library";
+    longDescription = ''
+      This library has code for detecting and reading many archive formats and
+      compressions formats including (but not limited to) tar, shar, cpio, zip, and
+      compressed with gzip, bzip2, lzma, xz, .. 
+    '';
+    homepage = http://libarchive.github.com/;
+    license = stdenv.lib.licenses.bsd3;
+    platforms = with stdenv.lib.platforms; all;
+    maintainers = with stdenv.lib.maintainers; [ jcumming ];
   };
 }
diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix
index 362ecd403d2e..f93a44c2e1d1 100644
--- a/pkgs/development/libraries/libassuan/default.nix
+++ b/pkgs/development/libraries/libassuan/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "06xckkvxxlx7cj77803m8x58gxksap4k8yhspc5cqsy7fhinimds";
   };
 
-  propagatedBuildInputs = [ pth libgpgerror ];
+  propagatedBuildInputs = [ libgpgerror pth ];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/libbluray/default.nix b/pkgs/development/libraries/libbluray/default.nix
index 03bbcc933f4a..b0252617d7d7 100644
--- a/pkgs/development/libraries/libbluray/default.nix
+++ b/pkgs/development/libraries/libbluray/default.nix
@@ -19,7 +19,8 @@ stdenv.mkDerivation {
     sha256 = "551b623e76c2dba44b5490fb42ccdc491b28cd42841de28237b8edbed0f0711c";
   };
 
-  buildInputs = [autoconf automake libtool] ++ stdenv.lib.optionals withAACS [jdk ant libaacs];
+  buildNativeInputs = [autoconf automake libtool];
+  buildInputs = stdenv.lib.optionals withAACS [jdk ant libaacs];
   NIX_LDFLAGS = stdenv.lib.optionalString withAACS "-laacs";
 
   preConfigure = "./bootstrap";
diff --git a/pkgs/development/libraries/libc++/default.nix b/pkgs/development/libraries/libc++/default.nix
new file mode 100644
index 000000000000..bed953119151
--- /dev/null
+++ b/pkgs/development/libraries/libc++/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchsvn, cmake }:
+
+let rev = "165151"; in
+
+stdenv.mkDerivation {
+  name = "libc++-pre${rev}";
+
+  src = fetchsvn {
+    url = "http://llvm.org/svn/llvm-project/libcxx/trunk";
+    inherit rev;
+    sha256 = "00l8xx5nc3cjlmln7c1sy1i4v844has9kbfxrsziwkalzbgwaslz";
+  };
+
+  buildInputs = [ cmake ];
+
+  cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://libcxx.llvm.org/;
+    description = "A new implementation of the C++ standard library, targeting C++11";
+    license = "BSD";
+    maintainers = stdenv.lib.maintainers.shlevy;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
+
diff --git a/pkgs/development/libraries/libdiscid/default.nix b/pkgs/development/libraries/libdiscid/default.nix
index bd39ea9464cd..3ee43ba3bee0 100644
--- a/pkgs/development/libraries/libdiscid/default.nix
+++ b/pkgs/development/libraries/libdiscid/default.nix
@@ -1,8 +1,9 @@
-{ stdenv, fetchurl, cmake }:
+{ stdenv, fetchurl, cmake, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "libdiscid-0.2.2";
 
+  buildNativeInputs = [ pkgconfig ];
   buildInputs = [ cmake ];
 
   src = fetchurl {
@@ -10,6 +11,13 @@ stdenv.mkDerivation rec {
     sha256 = "00l4ln9rk0vqf67iccwqrgc9qx1al92i05zylh85kd1zn9d5sjwp";
   };
 
+  # developer forgot to update his version number
+  # this is propagated to pkg-config
+  preConfigure = ''
+    substituteInPlace "CMakeLists.txt" \
+      --replace "PROJECT_VERSION 0.1.1" "PROJECT_VERSION 0.2.2"
+  '';
+
   meta = {
     description = "A C library for creating MusicBrainz DiscIDs from audio CDs";
     homepage = http://musicbrainz.org/doc/libdiscid;
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index a6b39e170bd3..3a1e101aa431 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -1,20 +1,20 @@
-{stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, cairo, udev}:
+{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, udev }:
 
 stdenv.mkDerivation rec {
-  name = "libdrm-2.4.29";
+  name = "libdrm-2.4.33";
   
   src = fetchurl {
     url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-    sha256 = "0bj5ihmnzpbbgdrvp5f8bgsk0k19haixr893449pjd4k7v4jshz2";
+    sha256 = "1slgi61n4dlsfli47ql354fd1ppj7n40jd94wvnsdqx0mna9syrd";
   };
 
   buildNativeInputs = [ pkgconfig ];
-  buildInputs = [ libpthreadstubs libpciaccess cairo udev ];
+  buildInputs = [ libpthreadstubs libpciaccess udev ];
 
   patches = stdenv.lib.optional stdenv.isDarwin ./libdrm-apple.patch;
 
   preConfigure = stdenv.lib.optionalString stdenv.isDarwin
-  "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache";
+    "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache";
 
   configureFlags = [ "--enable-nouveau-experimental-api"
                      "--enable-radeon-experimental-api"
diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix
index 16001e689ddb..b55da62c9fb2 100644
--- a/pkgs/development/libraries/libgphoto2/default.nix
+++ b/pkgs/development/libraries/libgphoto2/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, pkgconfig, libusb, libtool, libexif, libjpeg, gettext}:
 
 stdenv.mkDerivation rec {
-  name = "libgphoto2-2.4.11";
+  name = "libgphoto2-2.4.14";
 
   src = fetchurl {
     url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
-    sha256 = "08y40mqy714cg0160lny13z9kyxm63m3ksg8hljy5pspxanbn5ji";
+    sha256 = "14h20s0kwqr1nsj90dgjwzs0r3h7z1cpmnivrikd0rrg4m2jvcsr";
   };
   
   buildNativeInputs = [ pkgconfig gettext ];
@@ -17,6 +17,14 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.gphoto.org/proj/libgphoto2/;
     description = "A library for accessing digital cameras";
-    license = "LGPL 2.1";
+    longDescription = ''
+      This is the library backend for gphoto2. It contains the code for PTP,
+      MTP, and other vendor specific protocols for controlling and transferring data
+      from digital cameras. 
+    '';
+    # XXX: the homepage claims LGPL, but several src files are lgpl21Plus
+    license = stdenv.lib.licenses.lgpl21Plus; 
+    platforms = with stdenv.lib.platforms; unix;
+    maintainers = with stdenv.lib.maintainers; [ jcumming ];
   };
 }
diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix
index 3941fd4d694d..0acd4a77b46d 100644
--- a/pkgs/development/libraries/libgsf/default.nix
+++ b/pkgs/development/libraries/libgsf/default.nix
@@ -7,11 +7,11 @@ assert gnomeSupport -> gdk_pixbuf != null && gnome_vfs != null && libbonobo != n
   && glib != null;
 
 stdenv.mkDerivation rec {
-  name = "libgsf-1.14.22";
+  name = "libgsf-1.14.23";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libgsf/1.14/libgsf-1.14.22.tar.xz;
-    sha256 = "0gvq1gbbcl078s3kgdc508jp7p3a3ps34fj4pf8vsamprbikpwm5";
+    url = "mirror://gnome/sources/libgsf/1.14/${name}.tar.xz";
+    sha256 = "05zvaazf0d584nfirwsz7889lbsl4v781hslv3kda6akiwbwdhdz";
   };
 
   buildNativeInputs = [ intltool pkgconfig ];
@@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  patches = [ ./syscall-name-clash.patch ];
+
   meta = {
     homepage = http://www.gnome.org/projects/libgsf;
     license = "LGPLv2";
diff --git a/pkgs/development/libraries/libgsf/syscall-name-clash.patch b/pkgs/development/libraries/libgsf/syscall-name-clash.patch
new file mode 100644
index 000000000000..01543ade4fdd
--- /dev/null
+++ b/pkgs/development/libraries/libgsf/syscall-name-clash.patch
@@ -0,0 +1,120 @@
+diff -Naur libgsf-1.14.23-orig/tests/test-cp-msole.c libgsf-1.14.23/tests/test-cp-msole.c
+--- libgsf-1.14.23-orig/tests/test-cp-msole.c	2009-05-18 21:55:48.000000000 -0400
++++ libgsf-1.14.23/tests/test-cp-msole.c	2012-07-15 03:52:03.858382670 -0400
+@@ -34,7 +34,7 @@
+ static void clone_dir (GsfInfile *in, GsfOutfile *out);
+ 
+ static void
+-clone (GsfInput *input, GsfOutput *output)
++clone_is_a_stupid_name_for_a_function_compiled_on_linux (GsfInput *input, GsfOutput *output)
+ {
+ 	if (gsf_input_size (input) > 0) {
+ 		guint8 const *data;
+@@ -87,7 +87,7 @@
+ 				gsf_infile_name_by_index  (in, i),
+ 				is_dir);
+ 
+-		clone (new_input, new_output);
++		clone_is_a_stupid_name_for_a_function_compiled_on_linux (new_input, new_output);
+ 	}
+ 	/* An observation: when you think about the explanation to is_dir
+ 	 * above, you realize that clone_dir is called even for regular files.
+@@ -137,7 +137,7 @@
+ 
+ 	outfile = gsf_outfile_msole_new (output);
+ 	g_object_unref (G_OBJECT (output));
+-	clone (GSF_INPUT (infile), GSF_OUTPUT (outfile));
++	clone_is_a_stupid_name_for_a_function_compiled_on_linux (GSF_INPUT (infile), GSF_OUTPUT (outfile));
+ 
+ 	return 0;
+ }
+diff -Naur libgsf-1.14.23-orig/tests/test-cp-zip.c libgsf-1.14.23/tests/test-cp-zip.c
+--- libgsf-1.14.23-orig/tests/test-cp-zip.c	2009-05-18 21:55:48.000000000 -0400
++++ libgsf-1.14.23/tests/test-cp-zip.c	2012-07-15 03:54:53.719198559 -0400
+@@ -32,7 +32,7 @@
+ #include <stdio.h>
+ 
+ static void
+-clone (GsfInfile *in, GsfOutfile *out)
++clone_is_a_stupid_name_for_a_function_compiled_on_linux (GsfInfile *in, GsfOutfile *out)
+ {
+ 	GsfInput *input = GSF_INPUT (in);
+ 	GsfOutput *output = GSF_OUTPUT (out);
+@@ -85,7 +85,7 @@
+ 			output = gsf_outfile_new_child_full  (out, name, is_dir,
+ 							      "compression-level", level,
+ 							      NULL);
+-			clone (GSF_INFILE (input), GSF_OUTFILE (output));
++			clone_is_a_stupid_name_for_a_function_compiled_on_linux (GSF_INFILE (input), GSF_OUTFILE (output));
+ 		}
+ 	}
+ 	gsf_output_close (GSF_OUTPUT (out));
+@@ -137,7 +137,7 @@
+ 
+ 	outfile = gsf_outfile_zip_new (output, &err);
+ 	g_object_unref (G_OBJECT (output));
+-	clone (infile, outfile);
++	clone_is_a_stupid_name_for_a_function_compiled_on_linux (infile, outfile);
+ 
+ 	return 0;
+ }
+diff -Naur libgsf-1.14.23-orig/tests/test-dump-msole.c libgsf-1.14.23/tests/test-dump-msole.c
+--- libgsf-1.14.23-orig/tests/test-dump-msole.c	2011-12-07 18:05:18.000000000 -0500
++++ libgsf-1.14.23/tests/test-dump-msole.c	2012-07-15 03:56:15.581110536 -0400
+@@ -32,7 +32,7 @@
+ #include <stdio.h>
+ 
+ static void
+-clone (GsfInput *input, GsfOutput *output)
++clone_is_a_stupid_name_for_a_function_compiled_on_linux (GsfInput *input, GsfOutput *output)
+ {
+ 	guint8 const *data;
+ 	size_t len;
+@@ -72,7 +72,7 @@
+ 			dst = gsf_outfile_new_child  (out,
+ 				gsf_infile_name_by_index  (in, i),
+ 				is_dir);
+-			clone (src, dst);
++			clone_is_a_stupid_name_for_a_function_compiled_on_linux (src, dst);
+ 		}
+ 	}
+ 
+@@ -118,7 +118,7 @@
+ 		g_error_free (err);
+ 		return 1;
+ 	}
+-	clone (GSF_INPUT (infile), GSF_OUTPUT (outfile));
++	clone_is_a_stupid_name_for_a_function_compiled_on_linux (GSF_INPUT (infile), GSF_OUTPUT (outfile));
+ 
+ 	return 0;
+ }
+diff -Naur libgsf-1.14.23-orig/tests/test-restore-msole.c libgsf-1.14.23/tests/test-restore-msole.c
+--- libgsf-1.14.23-orig/tests/test-restore-msole.c	2011-12-07 18:05:18.000000000 -0500
++++ libgsf-1.14.23/tests/test-restore-msole.c	2012-07-15 03:57:39.972017963 -0400
+@@ -32,7 +32,7 @@
+ #include <stdio.h>
+ 
+ static void
+-clone (GsfInput *input, GsfOutput *output)
++clone_is_a_stupid_name_for_a_function_compiled_on_linux (GsfInput *input, GsfOutput *output)
+ {
+ 	guint8 const *data;
+ 	size_t len;
+@@ -72,7 +72,7 @@
+ 			dst = gsf_outfile_new_child  (out,
+ 				gsf_infile_name_by_index (in, i),
+ 				is_dir);
+-			clone (src, dst);
++			clone_is_a_stupid_name_for_a_function_compiled_on_linux (src, dst);
+ 		}
+ 	}
+ 
+@@ -111,7 +111,7 @@
+ 
+ 	outfile = gsf_outfile_msole_new (output);
+ 	g_object_unref (G_OBJECT (output));
+-	clone (GSF_INPUT (infile), GSF_OUTPUT (outfile));
++	clone_is_a_stupid_name_for_a_function_compiled_on_linux (GSF_INPUT (infile), GSF_OUTPUT (outfile));
+ 
+ 	return 0;
+ }
diff --git a/pkgs/development/libraries/libicns/default.nix b/pkgs/development/libraries/libicns/default.nix
index 0e582c903c59..970a7a874979 100644
--- a/pkgs/development/libraries/libicns/default.nix
+++ b/pkgs/development/libraries/libicns/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libpng, jasper }:
 
-stdenv.mkDerivation {
-  name = "libicns-0.8.0";
+stdenv.mkDerivation rec {
+  name = "libicns-0.8.1";
 
   src = fetchurl {
-    url = mirror://sourceforge/icns/libicns-0.8.0.tar.gz;
-    sha256 = "0jh67nm07jr1nfkfjid3jjw7fyw5hvj6a2fqan1bhg6gyr2hswla";
+    url = "mirror://sourceforge/icns/${name}.tar.gz";
+    sha256 = "1hjm8lwap7bjyyxsyi94fh5817xzqhk4kb5y0b7mb6675xw10prk";
   };
 
   buildInputs = [ libpng jasper ];
diff --git a/pkgs/development/libraries/libinfinity/default.nix b/pkgs/development/libraries/libinfinity/default.nix
index 3d34f6303e39..b8a815e4a6f9 100644
--- a/pkgs/development/libraries/libinfinity/default.nix
+++ b/pkgs/development/libraries/libinfinity/default.nix
@@ -3,7 +3,7 @@
 , documentation ? false # build documentation
 , avahiSupport ? false # build support for Avahi in libinfinity
 , stdenv, fetchurl, pkgconfig, glib, libxml2, gnutls, gsasl
-, gtk ? null, gtkdoc ? null, avahi ? null, libdaemon ? null }:
+, gtk ? null, gtkdoc ? null, avahi ? null, libdaemon ? null, libidn, gss }:
 
 let
   edf = flag: feature: (if flag then "--with-" else "--without-") + feature;
@@ -11,13 +11,13 @@ let
 
 in stdenv.mkDerivation rec {
 
-  name = "libinfinity-0.4.1";
+  name = "libinfinity-0.5.3";
   src = fetchurl {
     url = "http://releases.0x539.de/libinfinity/${name}.tar.gz";
-    sha256 = "1vdyj6xvwkisrc222i84mq93gasywad4i0ismafdjq2wapxn30r6";
+    sha256 = "04qa3ky2skhc9b5f9i9sc8hci3ykklqznmgy616yzs3n22bmax9j";
   };
 
-  buildInputs = [ pkgconfig glib libxml2 gsasl ]
+  buildInputs = [ pkgconfig glib libxml2 gsasl libidn gss ]
     ++ optional gtkWidgets gtk
     ++ optional documentation gtkdoc
     ++ optional avahiSupport avahi
diff --git a/pkgs/development/libraries/libmnl/default.nix b/pkgs/development/libraries/libmnl/default.nix
new file mode 100644
index 000000000000..fb6eacc366b0
--- /dev/null
+++ b/pkgs/development/libraries/libmnl/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libmnl-1.0.3";
+
+  src = fetchurl {
+    url = "http://netfilter.org/projects/libmnl/files/${name}.tar.bz2";
+    sha1 = "c27e25f67c6422ebf893fc3a844af8085a1c5b63";
+  };
+
+  meta = {
+    description = "minimalistic user-space library oriented to Netlink developers";
+    longDescription = ''
+      libmnl is a minimalistic user-space library oriented to Netlink developers.
+      There are a lot of common tasks in parsing, validating, constructing of both the Netlink
+      header and TLVs that are repetitive and easy to get wrong.
+      This library aims to provide simple helpers that allows you to re-use code and to avoid
+      re-inventing the wheel.
+    '';
+    homepage = http://netfilter.org/projects/libmnl/index.html;
+    license = "GPLv2+";
+
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libnetfilter_conntrack/default.nix b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
new file mode 100644
index 000000000000..99624911077d
--- /dev/null
+++ b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, pkgconfig, libnfnetlink, libmnl }:
+
+stdenv.mkDerivation rec {
+  name = "libnetfilter_conntrack-1.0.2";
+
+  src = fetchurl {
+    url = "http://netfilter.org/projects/libnetfilter_conntrack/files/${name}.tar.bz2";
+    md5 = "447114b5d61bb9a9617ead3217c3d3ff";
+  };
+
+  buildInputs = [ pkgconfig libnfnetlink libmnl ];
+
+  meta = {
+    description = "userspace library providing an API to the in-kernel connection tracking state table.";
+    longDescription = ''
+      libnetfilter_conntrack is a userspace library providing a programming interface (API) to the
+      in-kernel connection tracking state table. The library libnetfilter_conntrack has been
+      previously known as libnfnetlink_conntrack and libctnetlink. This library is currently used
+      by conntrack-tools among many other applications
+    '';
+    homepage = http://netfilter.org/projects/libnetfilter_conntrack/;
+    license = "GPLv2+";
+
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libnfnetlink/default.nix b/pkgs/development/libraries/libnfnetlink/default.nix
new file mode 100644
index 000000000000..07a182dff10f
--- /dev/null
+++ b/pkgs/development/libraries/libnfnetlink/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libnfnetlink-1.0.1";
+
+  src = fetchurl {
+    url = "http://www.netfilter.org/projects/libnfnetlink/files/${name}.tar.bz2";
+    md5 = "98927583d2016a9fb1936fed992e2c5e";
+  };
+
+  meta = {
+    description = "low-level library for netfilter related kernel/userspace communication.";
+    longDescription = ''
+      libnfnetlink is the low-level library for netfilter related kernel/userspace communication.
+      It provides a generic messaging infrastructure for in-kernel netfilter subsystems
+      (such as nfnetlink_log, nfnetlink_queue, nfnetlink_conntrack) and their respective users
+      and/or management tools in userspace.
+
+      This library is not meant as a public API for application developers.
+      It is only used by other netfilter.org projects, like the aforementioned ones.
+    '';
+    homepage = http://www.netfilter.org/projects/libnfnetlink/index.html;
+    license = "GPLv2";
+
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libopus/default.nix b/pkgs/development/libraries/libopus/default.nix
new file mode 100644
index 000000000000..d4c90ee33fbe
--- /dev/null
+++ b/pkgs/development/libraries/libopus/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, fixedPoint ? false }:
+
+stdenv.mkDerivation rec {
+  name = "libopus-1.0.1";
+  
+  src = fetchurl {
+    url = "http://downloads.xiph.org/releases/opus/opus-1.0.1.tar.gz";
+    sha256 = "1vs133z6c03xi1a7b8bkqxlb6ipwchawwb52z1lgvh1amwy5ryl0";
+  };
+
+  configureFlags = stdenv.lib.optionalString fixedPoint "--enable-fixed-point";
+
+  meta = {
+    description = "Open, royalty-free, highly versatile audio codec";
+    license = "BSD";
+    homepage = http://www.opus-codec.org/;
+  };
+}
diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix
index 5d6e439484d5..ebdb9e756aaa 100644
--- a/pkgs/development/libraries/libpng/12.nix
+++ b/pkgs/development/libraries/libpng/12.nix
@@ -3,11 +3,11 @@
 assert zlib != null;
 
 stdenv.mkDerivation rec {
-  name = "libpng-1.2.47";
+  name = "libpng-1.2.50";
 
   src = fetchurl {
     url = "mirror://sourceforge/libpng/${name}.tar.xz";
-    sha256 = "1lai3dnzw81y40jr17bdj1qh08hwv9mc1v74yybl7jdx2hiilsvx";
+    sha256 = "1rz8v3cvy1zzpagxn91lj8swb9vf75rz3yyi18v7zb4jihgzh927";
   };
 
   propagatedBuildInputs = [ zlib ];
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index a06e8e12543a..ce23cf48587a 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -3,11 +3,11 @@
 assert zlib != null;
 
 stdenv.mkDerivation rec {
-  name = "libpng-1.5.10";
+  name = "libpng-1.5.13";
 
   src = fetchurl {
     url = "mirror://sourceforge/libpng/${name}.tar.xz";
-    sha256 = "0pb096zn6iyza28js4j7krvcw23b979igfi315aqmvx622bw6jfx";
+    sha256 = "1vks4mqv4140b10kp53qrywsx9m4xan5ibwsrlmf42ni075zjhxq";
   };
 
   propagatedBuildInputs = [ zlib ];
diff --git a/pkgs/development/libraries/libraw1394/default.nix b/pkgs/development/libraries/libraw1394/default.nix
index 2ca4d1bd0904..81cac5be709e 100644
--- a/pkgs/development/libraries/libraw1394/default.nix
+++ b/pkgs/development/libraries/libraw1394/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libraw1394-2.0.8";
+  name = "libraw1394-2.1.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/libs/ieee1394/${name}.tar.gz";
-    sha256 = "0cwd8xn7wsm7nddbz7xgynxcjb1m4v2vjw1ky4dd6r5cv454hslk";
+    sha256 = "0w5sw06p51wfq2ahgql93ljkkp3hqprifzcxq8dq71c8zcbgyg58";
   };
 
   meta = { 
diff --git a/pkgs/development/libraries/libre/default.nix b/pkgs/development/libraries/libre/default.nix
new file mode 100644
index 000000000000..cc9139d664ea
--- /dev/null
+++ b/pkgs/development/libraries/libre/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, zlib, openssl}:
+stdenv.mkDerivation rec {
+  version = "0.4.2";
+  name = "libre-${version}";
+  src=fetchurl {
+    url = "http://www.creytiv.com/pub/re-${version}.tar.gz";
+    sha256 = "1c99ygs46qhd4a0ardxhdyjaw5p8clhzmsm8jydqxnmbakwy518m";
+  };
+  buildInputs = [zlib openssl];
+  makeFlags = [
+    "USE_ZLIB=1" "USE_OPENSSL=1" 
+    ''PREFIX=$(out)''
+  ]
+  ++ stdenv.lib.optional (stdenv.gcc.gcc != null) "SYSROOT_ALT=${stdenv.gcc.gcc}"
+  ++ stdenv.lib.optional (stdenv.gcc.libc != null) "SYSROOT=${stdenv.gcc.libc}"
+  ;
+  meta = {
+    homepage = "http://www.creytiv.com/re.html";
+    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [raskin];
+    license = with stdenv.lib.licenses; bsd3;
+  };
+}
diff --git a/pkgs/development/libraries/librem/default.nix b/pkgs/development/libraries/librem/default.nix
new file mode 100644
index 000000000000..04f3cc97bf33
--- /dev/null
+++ b/pkgs/development/libraries/librem/default.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchurl, zlib, openssl, libre}:
+stdenv.mkDerivation rec {
+  version = "0.4.2";
+  name = "librem-${version}";
+  src=fetchurl {
+    url = "http://www.creytiv.com/pub/rem-${version}.tar.gz";
+    sha256 = "55c66118e3026c5ed42d8b9e0c668149baefe83f1aa76394cddba2d72f45d5c7";
+  };
+  buildInputs = [zlib openssl libre];
+  makeFlags = [
+    "LIBRE_MK=${libre}/share/re/re.mk"
+    "LIBRE_INC=${libre}/include/re"
+    ''PREFIX=$(out)''
+  ]
+  ++ stdenv.lib.optional (stdenv.gcc.gcc != null) "SYSROOT_ALT=${stdenv.gcc.gcc}"
+  ++ stdenv.lib.optional (stdenv.gcc.libc != null) "SYSROOT=${stdenv.gcc.libc}"
+  ;
+  meta = {
+    homepage = "http://www.creytiv.com/rem.html";
+    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [raskin];
+    license = with stdenv.lib.licenses; bsd3;
+  };
+}
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 86b818cd5a98..3f84a69e3f46 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -11,6 +11,19 @@ stdenv.mkDerivation {
   propagatedBuildInputs = [ glib gtk ];
   buildNativeInputs = [ pkgconfig ];
 
-  # It tries to install the loader to $gdk_pixbuf
-  configureFlags = "--disable-pixbuf-loader";
+  # It wants to add loaders and update the loaders.cache in gdk-pixbuf
+  # Patching the Makefiles to it creates rsvg specific loaders and the
+  # relevant loader.cache here.
+  # The loaders.cache can be used by setting GDK_PIXBUF_MODULE_FILE to
+  # point to this file in a wrapper.
+  postConfigure = ''
+    GDK_PIXBUF=$out/lib/gdk-pixbuf
+    mkdir -p $GDK_PIXBUF/loaders
+    sed -e "s#gdk_pixbuf_moduledir = .*#gdk_pixbuf_moduledir = $GDK_PIXBUF/loaders#" \
+        -i gdk-pixbuf-loader/Makefile
+    sed -e "s#gdk_pixbuf_cache_file = .*#gdk_pixbuf_cache_file = $GDK_PIXBUF/loaders.cache#" \
+        -i gdk-pixbuf-loader/Makefile
+    sed -e "s#\$(GDK_PIXBUF_QUERYLOADERS)#GDK_PIXBUF_MODULEDIR=$GDK_PIXBUF/loaders \$(GDK_PIXBUF_QUERYLOADERS)#" \
+         -i gdk-pixbuf-loader/Makefile
+  '';
 }
diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix
index 861f41cb7a4d..87aaafabcc4b 100644
--- a/pkgs/development/libraries/libsoup/default.nix
+++ b/pkgs/development/libraries/libsoup/default.nix
@@ -2,11 +2,11 @@
 , gnomeSupport ? true, libgnome_keyring, sqlite, glib_networking }:
 
 stdenv.mkDerivation {
-  name = "libsoup-2.36.1";
+  name = "libsoup-2.38.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libsoup/2.36/libsoup-2.36.1.tar.xz;
-    sha256 = "0r8zkr0a328jkww4dv9z1q691rw59nh4lf5f5pzzr9szzw3j8wkk";
+    url = mirror://gnome/sources/libsoup/2.38/libsoup-2.38.1.tar.xz;
+    sha256 = "16iza4y8pmc4sn90iid88fgminvgcqypy3s2qnmzkzm5qwzr5f3i";
   };
 
 
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index d170c2fd2314..ba5966d13d4b 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -1,18 +1,22 @@
 { stdenv, fetchurl, zlib, libjpeg }:
 
-stdenv.mkDerivation {
-  name = "libtiff-3.9.4";
-  
+let version = "3.9.7"; in
+
+stdenv.mkDerivation rec {
+  name = "libtiff-${version}";
+
   src = fetchurl {
     urls =
-      [ ftp://ftp.remotesensing.org/pub/libtiff/tiff-3.9.4.tar.gz
-        http://download.osgeo.org/libtiff/tiff-3.9.4.tar.gz
+      [ "ftp://ftp.remotesensing.org/pub/libtiff/tiff-${version}.tar.gz"
+        "http://download.osgeo.org/libtiff/tiff-${version}.tar.gz"
       ];
-    sha256 = "19hxd773yxcs4lxlc3zfdkz5aiv705vj2jvy5srpqkxpbw3nvdv7";
+    sha256 = "0spg1hr5rsrmg88sfzb05qnf0haspq7r5hvdkxg5zib1rva4vmpm";
   };
-  
+
   propagatedBuildInputs = [ zlib libjpeg ];
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "Library and utilities for working with the TIFF image file format";
     homepage = http://www.libtiff.org/;
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index dcdd9f46d763..8a1580d4fbe8 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libusb-1.0.8";
+  name = "libusb-1.0.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/libusb/${name}.tar.bz2";
-    sha256 = "1afvpaqnl5plqg95nkvsl4sj9d6ckrmjq44mql8l4zqgf6jx7l11";
+    sha256 = "16sz34ix6hw2wwl3kqx6rf26fg210iryr68wc439dc065pffw879";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/libvpx/default.nix b/pkgs/development/libraries/libvpx/default.nix
index 0d1a2cacc460..1c225aa7853d 100644
--- a/pkgs/development/libraries/libvpx/default.nix
+++ b/pkgs/development/libraries/libvpx/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, bash, yasm, which, perl}:
 
 stdenv.mkDerivation rec {
-  name = "libvpx-1.0.0";
+  name = "libvpx-1.1.0";
   
   src = fetchurl {
-    url = http://webm.googlecode.com/files/libvpx-v1.0.0.tar.bz2;
-    sha256 = "08gyx90ndv0v8dhbhp3jdh6g37pmcjlfwljzsy0nskm4345dpkh7";
+    url = http://webm.googlecode.com/files/libvpx-v1.1.0.tar.bz2;
+    sha256 = "1ibjxcdsazqfbbjhb8w56vy3n9qwny2m9q4kzx4rmk9v9g7p9q4w";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index defba390cf14..e25074f8d126 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -1,28 +1,39 @@
-{stdenv, fetchurl, zlib, python ? null, pythonSupport ? true }:
+{ stdenv, fetchurl, zlib, xz, python ? null, pythonSupport ? true }:
 
 assert pythonSupport -> python != null;
 
-stdenv.mkDerivation {
-  name = "libxml2-2.7.8";
+stdenv.mkDerivation rec {
+  name = "libxml2-2.9.0";
 
   src = fetchurl {
-    url = ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.8.tar.gz;
-    sha256 = "6a33c3a2d18b902cd049e0faa25dd39f9b554a5b09a3bb56ee07dd7938b11c54";
+    url = "ftp://xmlsoft.org/libxml2/${name}.tar.gz";
+    sha256 = "10ib8bpar2pl68aqksfinvfmqknwnk7i35ibq6yjl8dpb0cxj9dd";
   };
 
-  configureFlags = ''                                                  
-    ${if pythonSupport then "--with-python=${python}" else ""}         
-  '';
-  
-  propagatedBuildInputs = [zlib];
+  patches = [ ./pthread-once-init.patch ];
+
+  configureFlags = stdenv.lib.optionalString pythonSupport "--with-python=${python}";
+
+  buildInputs = (stdenv.lib.optional pythonSupport [ python ])
+
+    # Libxml2 has an optional dependency on liblzma.  However, on impure
+    # platforms, it may end up using that from /usr/lib, and thus lack a
+    # RUNPATH for that, leading to undefined references for its users.
+    ++ (stdenv.lib.optional stdenv.isFreeBSD xz);
+
+  propagatedBuildInputs = [ zlib ];
 
   setupHook = ./setup-hook.sh;
 
-  passthru = {inherit pythonSupport;};
+  passthru = { inherit pythonSupport; };
+
+  enableParallelBuilding = true;
 
   meta = {
     homepage = http://xmlsoft.org/;
-    description = "A XML parsing library for C";
+    description = "An XML parsing library for C";
     license = "bsd";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/development/libraries/libxml2/pthread-once-init.patch b/pkgs/development/libraries/libxml2/pthread-once-init.patch
new file mode 100644
index 000000000000..fadfc27a9118
--- /dev/null
+++ b/pkgs/development/libraries/libxml2/pthread-once-init.patch
@@ -0,0 +1,35 @@
+http://git.gnome.org/browse/libxml2/commit/?id=3f6cfbd1d38d0634a2ddcb9a0a13e1b5a2195a5e
+
+From 3f6cfbd1d38d0634a2ddcb9a0a13e1b5a2195a5e Mon Sep 17 00:00:00 2001
+From: Friedrich Haubensak <hsk@fli-leibniz.de>
+Date: Wed, 12 Sep 2012 15:34:53 +0000
+Subject: Fix a thread portability problem
+
+cannot compile libxml2-2.9.0 using studio 12.1 compiler on solaris 10
+
+I.M.O. structure initializer (as PTHREAD_ONCE_INIT) cannot be used in
+a structure assignment anyway
+---
+diff --git a/threads.c b/threads.c
+index f206149..7e85a26 100644
+--- a/threads.c
++++ b/threads.c
+@@ -146,6 +146,7 @@ struct _xmlRMutex {
+ static pthread_key_t globalkey;
+ static pthread_t mainthread;
+ static pthread_once_t once_control = PTHREAD_ONCE_INIT;
++static pthread_once_t once_control_init = PTHREAD_ONCE_INIT;
+ static pthread_mutex_t global_init_lock = PTHREAD_MUTEX_INITIALIZER;
+ #elif defined HAVE_WIN32_THREADS
+ #if defined(HAVE_COMPILER_TLS)
+@@ -915,7 +916,7 @@ xmlCleanupThreads(void)
+ #ifdef HAVE_PTHREAD_H
+     if ((libxml_is_threaded)  && (pthread_key_delete != NULL))
+         pthread_key_delete(globalkey);
+-    once_control = PTHREAD_ONCE_INIT;
++    once_control = once_control_init;
+ #elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
+     if (globalkey != TLS_OUT_OF_INDEXES) {
+         xmlGlobalStateCleanupHelperParams *p;
+--
+cgit v0.9.0.2
diff --git a/pkgs/development/libraries/libxml2/setup-hook.sh b/pkgs/development/libraries/libxml2/setup-hook.sh
index d87c226506a8..f8e4f5e0fd64 100644
--- a/pkgs/development/libraries/libxml2/setup-hook.sh
+++ b/pkgs/development/libraries/libxml2/setup-hook.sh
@@ -1,10 +1,10 @@
 addXMLCatalogs () {
     for kind in dtd xsl; do
-	if test -d $1/xml/$kind; then
+        if test -d $1/xml/$kind; then
             for i in $(find $1/xml/$kind -name catalog.xml); do
-		export XML_CATALOG_FILES="$XML_CATALOG_FILES $i"
+                export XML_CATALOG_FILES="$XML_CATALOG_FILES $i"
             done
-	fi
+        fi
     done
 }
 
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index 05ce8019c4ec..d3b7769754e9 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -1,15 +1,15 @@
-{stdenv, fetchurl, libxml2 }:
+{ stdenv, fetchurl, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "libxslt-1.1.26";
-  
+  name = "libxslt-1.1.27";
+
   src = fetchurl {
     url = "ftp://xmlsoft.org/libxml2/${name}.tar.gz";
-    sha256 = "1c9xdv39jvq1hp16gsbi56hbz032dmqyy0fpi4ls1y3152s55pam";
+    sha256 = "09ky3vhlaahvsb0q9gp6h3as53pfj70gincirachjqzj46jdka5n";
   };
-  
-  buildInputs = [libxml2];
-  
+
+  buildInputs = [ libxml2 ];
+
   postInstall = ''
     mkdir -p $out/nix-support
     ln -s ${libxml2}/nix-support/setup-hook $out/nix-support/
@@ -19,5 +19,7 @@ stdenv.mkDerivation rec {
     homepage = http://xmlsoft.org/XSLT/;
     description = "A C library and tools to do XSL transformations";
     license = "bsd";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/development/libraries/loudmouth/default.nix b/pkgs/development/libraries/loudmouth/default.nix
index ffa3ebdef926..ae9f3fc6c18d 100644
--- a/pkgs/development/libraries/loudmouth/default.nix
+++ b/pkgs/development/libraries/loudmouth/default.nix
@@ -1,16 +1,22 @@
-{stdenv, fetchurl, openssl, libidn, glib, pkgconfig, zlib}:
+{ stdenv, fetchurl, openssl, libidn, glib, pkgconfig, zlib }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "loudmouth-1.4.3";
-    
+
   src = fetchurl {
-    url = mirror://gnome/sources/loudmouth/1.4/loudmouth-1.4.3.tar.bz2;
+    url = "mirror://gnome/sources/loudmouth/1.4/${name}.tar.bz2";
     md5 = "55339ca42494690c3942ee1465a96937";
   };
-    
+
+  patches = [ ./glib-2.32.patch ];
+
   configureFlags = "--with-ssl=openssl";
-  
-  propagatedBuildInputs = [openssl libidn glib zlib];
-  
-  buildInputs = [pkgconfig];
+
+  propagatedBuildInputs = [ openssl libidn glib zlib ];
+
+  buildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "A lightweight C library for the Jabber protocol";
+  };
 }
diff --git a/pkgs/development/libraries/loudmouth/glib-2.32.patch b/pkgs/development/libraries/loudmouth/glib-2.32.patch
new file mode 100644
index 000000000000..87fc170c80da
--- /dev/null
+++ b/pkgs/development/libraries/loudmouth/glib-2.32.patch
@@ -0,0 +1,13 @@
+Index: loudmouth-1.4.3/loudmouth/lm-error.c
+===================================================================
+--- loudmouth-1.4.3.orig/loudmouth/lm-error.c
++++ loudmouth-1.4.3/loudmouth/lm-error.c
+@@ -19,7 +19,7 @@
+  */
+ 
+ #include <config.h>
+-#include <glib/gerror.h>
++#include <glib.h>
+ #include "lm-error.h"
+ 
+ /**
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 219dc161761b..f72638677d1c 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -7,27 +7,24 @@ if ! stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms then
   throw "unsupported platform for Mesa"
 else
 
-let version = "7.11.2"; in
+let version = "8.0.4"; in
 
 stdenv.mkDerivation {
   name = "mesa-${version}";
 
   src = fetchurl {
     url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2";
-    sha256 = "0msk1fh4yw4yi7z37v75vhpa23z49lkwgin6drczbihbqsl6lx2p";
+    md5 = "d546f988adfdf986cff45b1efa2d8a46";
   };
 
-  patches = [ ./swrast-settexbuffer.patch ] ++ stdenv.lib.optional
-    (stdenv.system == "mips64el-linux") ./mips_wmb.patch;
+  patches =
+    stdenv.lib.optional (stdenv.system == "mips64el-linux") ./mips_wmb.patch;
 
   prePatch = "patchShebangs .";
 
-# r300
   configureFlags =
-      " --with-driver=dri --enable-gl-osmesa --enable-gles1"
+      " --enable-gles1 --enable-gles2 --enable-gallium-egl"
     + " --with-gallium-drivers=i915,nouveau,r600,svga,swrast"
-    + " --enable-gles2 --enable-gallium-egl --disable-glx-tls"
-    + " --enable-xcb --enable-egl --disable-glut"
     # Texture floats are patented, see docs/patents.txt
     + stdenv.lib.optionalString enableTextureFloats " --enable-texture-float";
 
@@ -44,7 +41,6 @@ stdenv.mkDerivation {
     description = "An open source implementation of OpenGL";
     homepage = http://www.mesa3d.org/;
     license = "bsd";
-
     platforms = stdenv.lib.platforms.mesaPlatforms;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
diff --git a/pkgs/development/libraries/nettle/default.nix b/pkgs/development/libraries/nettle/default.nix
index 6c7383435a8a..2a4d89bb4f0c 100644
--- a/pkgs/development/libraries/nettle/default.nix
+++ b/pkgs/development/libraries/nettle/default.nix
@@ -1,12 +1,11 @@
 { fetchurl, stdenv, gmp, gnum4 }:
 
 stdenv.mkDerivation (rec {
-  name = "nettle-2.4";
+  name = "nettle-2.5";
 
   src = fetchurl {
-    # Eventually use `mirror://gnu/'.
-    url = "ftp://ftp.lysator.liu.se/pub/security/lsh/${name}.tar.gz";
-    sha256 = "0gwwcipmjxkv7p2p01m19n4c3jiczg682w58l5dgg0b8vw494056";
+    url = "mirror://gnu/nettle/${name}.tar.gz";
+    sha256 = "0wicr7amx01l03rm0pzgr1qvw3f9blaw17vjsy1301dh13ll58aa";
   };
 
   buildInputs = [ gnum4 ];
@@ -14,6 +13,8 @@ stdenv.mkDerivation (rec {
 
   doCheck = (stdenv.system != "i686-cygwin");
 
+  enableParallelBuilding = true;
+
   patches = stdenv.lib.optional (stdenv.system == "i686-cygwin")
               ./cygwin.patch;
 
diff --git a/pkgs/development/libraries/npth/default.nix b/pkgs/development/libraries/npth/default.nix
index a9f80fa9348b..c9b685aa05b9 100644
--- a/pkgs/development/libraries/npth/default.nix
+++ b/pkgs/development/libraries/npth/default.nix
@@ -1,18 +1,13 @@
-{ stdenv, fetchgit, autoconf, automake, libtool }:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "npth-git20120407";
+  name = "npth-0.91";
 
-  src = fetchgit {
-    url = "git://git.gnupg.org/npth.git";
-    rev = "cbb52bd5ada02bbd914869f4540221831358d077";
-    sha256 = "1789b15bc49171d47bbd5a3bccbadc7dde1ae095bb2c205c7ec5d7a36573876d";
+  src = fetchurl {
+    url = "ftp://ftp.gnupg.org/gcrypt/npth/${name}.tar.bz2";
+    sha256 = "1qgs1n70x83dyyysabg50dh8s3464jwsa63qi5if2cd3sk78dvya";
   };
 
-  buildInputs = [ autoconf automake libtool ];
-
-  preConfigure = "autoreconf -vfi";
-
   meta = {
     description = "The New GNU Portable Threads Library";
     longDescription = ''
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index c570688de210..77003961fd92 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl }:
 
-let version = "4.9.1"; in
+let version = "4.9.3"; in
 
 stdenv.mkDerivation {
   name = "nspr-${version}";
 
   src = fetchurl {
     url = "http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha1 = "1d52282668f2f8f5aabf7a5a3e7f6ba9a5df9710";
+    sha256 = "1igkfb7dm3fd59swa5m961rgc53z98l3jadk42c4yy76b85z78ww";
   };
 
   preConfigure = "cd mozilla/nsprpub";
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
     '';
 
   enableParallelBuilding = true;
-    
+
   meta = {
     homepage = http://www.mozilla.org/projects/nspr/;
     description = "Netscape Portable Runtime, a platform-neutral API for system-level and libc-like functions";
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 38e9d80d5b71..e0bd1d2a53ed 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -11,20 +11,21 @@ let
   };
 
   secLoadPatch = fetchurl {
-    url = "http://patch-tracker.debian.org/patch/series/dl/nss/2:3.13.5-1/85_security_load.patch";
+    name = "security_load.patch";
+    urls = [
+      "http://patch-tracker.debian.org/patch/series/dl/nss/2:3.13.6-1/85_security_load.patch"
+      "http://anonscm.debian.org/gitweb/?p=pkg-mozilla/nss.git;a=blob_plain;f=debian/patches/85_security_load.patch;hb=HEAD"
+    ];
     sha256 = "8a8d0ae4ebbd7c389973fa5d26d8bc5f473046c6cb1d8283cb9a3c1f4c565c47";
   };
 
 in stdenv.mkDerivation rec {
   name = "nss-${version}";
-  version = "3.13.6";
+  version = "3.14";
 
-  src = let
-    uscoreVersion = stdenv.lib.replaceChars ["."] ["_"] version;
-    releasePath = "releases/NSS_${uscoreVersion}_RTM/src/nss-${version}.tar.gz";
-  in fetchurl {
-    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/${releasePath}";
-    sha256 = "f7e90727e0ecc1c29de10da39a79bc9c53b814ccfbf40720e053b29c683d43a0";
+  src = fetchurl {
+    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_14_RTM/src/${name}.tar.gz";
+    sha1 = "ace3642fb2ca67854ea7075d053ca01a6d81e616";
   };
 
   buildInputs = [ nspr perl zlib sqlite ];
diff --git a/pkgs/development/libraries/openjpeg/default.nix b/pkgs/development/libraries/openjpeg/default.nix
index 575d580faf65..6024456652c6 100644
--- a/pkgs/development/libraries/openjpeg/default.nix
+++ b/pkgs/development/libraries/openjpeg/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl }: 
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "openjpeg-1.5.1";
 
-stdenv.mkDerivation {
-  name = "openjpeg-1.5.0";
-  
   src = fetchurl {
-    url = http://openjpeg.googlecode.com/files/openjpeg-1.5.0.tar.gz;
-    sha256 = "1kja6s9dk0hh7p9064kg69y6vninwyvpqi8cap92waj38jmqz469";
+    url = "http://openjpeg.googlecode.com/files/${name}.tar.gz";
+    sha256 = "13dbyf3jwr4h2dn1k11zph3jgx17z7d66xmi640mbsf8l6bk1yvc";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 3b2f224e6a95..923c24a51ebf 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, perl }:
+{ stdenv, fetchurl, perl
+, withCryptodev ? false, cryptodevHeaders }:
 
 let
   name = "openssl-1.0.1c";
@@ -45,6 +46,8 @@ stdenv.mkDerivation {
 
   patches = patchesCross false;
 
+  buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders;
+
   buildNativeInputs = [ perl ];
 
   # On x86_64-darwin, "./config" misdetects the system as
@@ -52,7 +55,8 @@ stdenv.mkDerivation {
   configureScript =
     if stdenv.system == "x86_64-darwin" then "./Configure darwin64-x86_64-cc" else "./config";
 
-  configureFlags = "shared --libdir=lib";
+  configureFlags = "shared --libdir=lib" +
+    stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS";
 
   makeFlags = "MANDIR=$(out)/share/man";
 
diff --git a/pkgs/development/libraries/pango/1.29.x.nix b/pkgs/development/libraries/pango/1.30.x.nix
index 6c5d0f4cebcc..7168c1b6c9d6 100644
--- a/pkgs/development/libraries/pango/1.29.x.nix
+++ b/pkgs/development/libraries/pango/1.30.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gettext, x11, glib, cairo, libpng }:
 
 stdenv.mkDerivation rec {
-  name = "pango-1.29.4";
+  name = "pango-1.30.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/pango/1.29/pango-1.29.4.tar.xz;
-    sha256 = "0zqjq6ccv6mbah74rcvb03ksq1jwan21z37mdmqa56307sax3s3s";
+    url = "mirror://gnome/sources/pango/1.30/${name}.tar.xz";
+    sha256 = "3a8c061e143c272ddcd5467b3567e970cfbb64d1d1600a8f8e62435556220cbe";
   };
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin gettext;
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ x11 glib cairo libpng ];
 
+  enableParallelBuilding = true;
+
   postInstall = "rm -rf $out/share/gtk-doc";
 
   meta = {
diff --git a/pkgs/development/libraries/phat/default.nix b/pkgs/development/libraries/phat/default.nix
deleted file mode 100644
index 6e68e3d9da8c..000000000000
--- a/pkgs/development/libraries/phat/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, gtk, libgnomecanvas, pkgconfig }:
- 
-stdenv.mkDerivation rec {
-  name = "phat-${version}";
-  version = "0.4.1";
-
-  src = fetchurl {
-    url = "http://download.berlios.de/phat/${name}.tar.gz";
-    sha256 = "1icncp2d8hbarzz8mmflkw13blg7blgwfic8q2wll7s6n01ii2av";
-  };
-
-  buildInputs = [ gtk libgnomecanvas pkgconfig ];
-
-  meta = with stdenv.lib; {
-    description = "GTK+ widgets geared toward pro-audio apps";
-    homepage = http://phat.berlios.de;
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.goibhniu ];
-  };
-}
diff --git a/pkgs/development/libraries/podofo/default.nix b/pkgs/development/libraries/podofo/default.nix
index ad447207a14a..44ae11a6317b 100644
--- a/pkgs/development/libraries/podofo/default.nix
+++ b/pkgs/development/libraries/podofo/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0icpxh1l1dpviq2zwy764dhg8y03zwyf4pgw4s7kb165nvh9v5kv";
   };
   propagatedBuildInputs = [ zlib freetype libjpeg libtiff fontconfig openssl libpng ];
-  buildInputs = [ cmake lua5 stdenv.gcc.libc ];
+  buildNativeInputs = [ cmake ];
+  buildInputs = [ lua5 stdenv.gcc.libc ];
   cmakeFlags = "-DPODOFO_BUILD_SHARED=ON -DPODOFO_BUILD_STATIC=OFF";
 
   meta = {
diff --git a/pkgs/development/libraries/protobufc/default.nix b/pkgs/development/libraries/protobufc/default.nix
new file mode 100644
index 000000000000..58c639ee604c
--- /dev/null
+++ b/pkgs/development/libraries/protobufc/default.nix
@@ -0,0 +1,22 @@
+{ fetchurl, stdenv, zlib, protobuf }:
+
+stdenv.mkDerivation rec {
+  name = "protobuf-c-0.15";
+
+  src = fetchurl {
+    url = "http://protobuf-c.googlecode.com/files/${name}.tar.gz";
+    sha256 = "0dh0180lzqk6n1r0qk38kgdy4x15mpkg5j4g2r31qhx52f757jwg";
+  };
+
+  buildInputs = [ protobuf ];
+
+  doCheck = true;
+
+  meta = {
+    description = "C bindings for Google's Protocol Buffers";
+
+    license = "BSD";
+
+    homepage = http://code.google.com/p/protobuf-c/;
+  };
+}
diff --git a/pkgs/development/libraries/pth/default.nix b/pkgs/development/libraries/pth/default.nix
index ffd81f84489d..b7b09caed9b3 100644
--- a/pkgs/development/libraries/pth/default.nix
+++ b/pkgs/development/libraries/pth/default.nix
@@ -8,6 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "0ckjqw5kz5m30srqi87idj7xhpw6bpki43mj07bazjm2qmh3cdbj";
   };
 
+  preConfigure = stdenv.lib.optionalString stdenv.isArm ''
+    configureFlagsArray=("CFLAGS=-DJB_SP=8 -DJB_PC=9")
+  '';
+
   meta = {
     description = "The GNU Portable Threads library";
     homepage = http://www.gnu.org/software/pth;
diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix
index f56886259a63..87cec5bb3d9a 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -7,13 +7,13 @@
 , perl, coreutils, libXi
 , buildMultimedia ? true, alsaLib, gstreamer, gst_plugins_base
 , buildWebkit ? true
-, flashplayerFix ? true, gdk_pixbuf
+, flashplayerFix ? false, gdk_pixbuf
 , gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs
 }:
 
-let
-  v = "4.8.2";
-in
+with stdenv.lib;
+
+let v = "4.8.3"; in
 
 # TODO:
 #  * move some plugins (e.g., SQL plugins) to dedicated derivations to avoid
@@ -24,27 +24,26 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-${v}.tar.gz";
-    sha256 = "0y93vkkn44md37gyg4y8sc9ylk27xkniaimfcpdcwd090qnjl6wj";
+    sha256 = "0a67riy4i0xj6j7vmckd0nakras3rl3rzx0r83h1p1i4z5s2kxzi";
   };
 
-  patches = [ ( substituteAll {
+  patches =
+    [ ./glib-2.32.patch
+      (substituteAll {
         src = ./dlopen-absolute-paths.diff;
         inherit cups icu libXfixes;
         glibc = stdenv.gcc.libc;
       })
-    ] ++ stdenv.lib.optional gtkStyle (
-      substituteAll {
+    ] ++ stdenv.lib.optional gtkStyle (substituteAll {
         src = ./dlopen-gtkstyle.diff;
         # substituteAll ignores env vars starting with capital letter
-        gconf = GConf; 
+        gconf = GConf;
         inherit gnome_vfs libgnomeui gtk;
-      }
-    ) ++ stdenv.lib.optional flashplayerFix (
-      substituteAll {
+      })
+    ++ stdenv.lib.optional flashplayerFix (substituteAll {
         src = ./dlopen-webkit-nsplugin.diff;
         inherit gtk gdk_pixbuf;
-      }
-    );
+      });
 
   preConfigure =
     ''
@@ -81,18 +80,16 @@ stdenv.mkDerivation rec {
     [ libXrender libXrandr libXinerama libXcursor libXext libXfixes
       libXv libXi libSM
     ]
-    ++ (stdenv.lib.optional (stdenv.lib.lists.elem stdenv.system
-                              stdenv.lib.platforms.mesaPlatforms)
-         mesa)
-    ++ (stdenv.lib.optional (buildWebkit || buildMultimedia) alsaLib)
+    ++ optional (stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms) mesa
+    ++ optional (buildWebkit || buildMultimedia) alsaLib
     ++ [ zlib libpng openssl dbus.libs freetype fontconfig glib ]
-    ++ (stdenv.lib.optionals (buildWebkit || buildMultimedia)
-        [ gstreamer gst_plugins_base ]);
+    ++ optionals (buildWebkit || buildMultimedia) [ gstreamer gst_plugins_base ];
 
   # The following libraries are only used in plugins
-  buildInputs = [ cups # Qt dlopen's libcups instead of linking to it
-    mysql postgresql sqlite libjpeg libmng libtiff icu ]
-    ++ stdenv.lib.optionals gtkStyle [ gtk gdk_pixbuf ];
+  buildInputs =
+    [ cups # Qt dlopen's libcups instead of linking to it
+      mysql postgresql sqlite libjpeg libmng libtiff icu ]
+    ++ optionals gtkStyle [ gtk gdk_pixbuf ];
 
   buildNativeInputs = [ perl pkgconfig which ];
 
@@ -119,7 +116,7 @@ stdenv.mkDerivation rec {
       -no-svg
       -make qmake -make libs -nomake tools
       -nomake demos -nomake examples -nomake docs
-    '' + stdenv.lib.optionalString isMingw " -xplatform win32-g++-4.6";
+    '' + optionalString isMingw " -xplatform win32-g++-4.6";
     patches = [];
     preConfigure = ''
       sed -i -e 's/ g++/ ${stdenv.cross.config}-g++/' \
@@ -136,13 +133,12 @@ stdenv.mkDerivation rec {
     '';
     dontSetConfigureCross = true;
     dontStrip = true;
-  } // (if isMingw then
-  {
+  } // optionalAttrs isMingw {
     propagatedBuildInputs = [ ];
-  } else {});
+  };
 
-  meta = with stdenv.lib; {
-    homepage = http://qt.nokia.com/products;
+  meta = {
+    homepage = http://qt-project.org/;
     description = "A cross-platform application framework for C++";
     license = "GPL/LGPL";
     maintainers = with maintainers; [ urkud sander ];
diff --git a/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff b/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff
index 9823d6493652..fe691996277e 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff
+++ b/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff
@@ -1,5 +1,27 @@
---- a/src/gui/painting/qcups.cpp	2011-12-08 09:06:02.000000000 +0400
-+++ b/src/gui/painting/qcups.cpp	2011-12-18 12:17:07.000000000 +0400
+diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/corelib/tools/qlocale_icu.cpp qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp
+--- qt-everywhere-opensource-src-4.8.3-orig/src/corelib/tools/qlocale_icu.cpp	2012-09-10 21:36:50.000000000 -0400
++++ qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp	2012-09-28 22:57:40.764153828 -0400
+@@ -81,7 +81,7 @@
+     if (status == NotLoaded) {
+ 
+         // resolve libicui18n
+-        QLibrary lib(QLatin1String("icui18n"), QLatin1String(U_ICU_VERSION_SHORT));
++        QLibrary lib(QLatin1String("@icu@/lib/libicui18n"), QLatin1String(U_ICU_VERSION_SHORT));
+         lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
+         if (!lib.load()) {
+             qWarning() << "Unable to load library icui18n" << lib.errorString();
+@@ -111,7 +111,7 @@
+         }
+ 
+         // resolve libicuuc
+-        QLibrary ucLib(QLatin1String("icuuc"), QLatin1String(U_ICU_VERSION_SHORT));
++        QLibrary ucLib(QLatin1String("@icu@/lib/libicuuc"), QLatin1String(U_ICU_VERSION_SHORT));
+         ucLib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
+         if (!ucLib.load()) {
+             qWarning() << "Unable to load library icuuc" << ucLib.errorString();
+diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/gui/painting/qcups.cpp qt-everywhere-opensource-src-4.8.3/src/gui/painting/qcups.cpp
+--- qt-everywhere-opensource-src-4.8.3-orig/src/gui/painting/qcups.cpp	2012-09-10 21:36:51.000000000 -0400
++++ qt-everywhere-opensource-src-4.8.3/src/gui/painting/qcups.cpp	2012-09-28 18:08:26.600720491 -0400
 @@ -87,7 +87,7 @@
  
  static void resolveCups()
@@ -9,8 +31,9 @@
      if(cupsLib.load()) {
          _cupsGetDests = (CupsGetDests) cupsLib.resolve("cupsGetDests");
          _cupsFreeDests = (CupsFreeDests) cupsLib.resolve("cupsFreeDests");
---- a/src/gui/painting/qprinterinfo_unix.cpp	2011-12-08 09:06:02.000000000 +0400
-+++ b/src/gui/painting/qprinterinfo_unix.cpp	2011-12-23 16:22:15.000000000 +0400
+diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/gui/painting/qprinterinfo_unix.cpp qt-everywhere-opensource-src-4.8.3/src/gui/painting/qprinterinfo_unix.cpp
+--- qt-everywhere-opensource-src-4.8.3-orig/src/gui/painting/qprinterinfo_unix.cpp	2012-09-10 21:36:51.000000000 -0400
++++ qt-everywhere-opensource-src-4.8.3/src/gui/painting/qprinterinfo_unix.cpp	2012-09-28 18:08:26.601720488 -0400
 @@ -454,7 +454,7 @@
      char *domain;
      int err;
@@ -20,39 +43,21 @@
      typedef int (*ypGetDefaultDomain)(char **);
      ypGetDefaultDomain _ypGetDefaultDomain = (ypGetDefaultDomain)lib.resolve("yp_get_default_domain");
      typedef int (*ypAll)(const char *, const char *, const struct ypall_callback *);
---- a/src/network/kernel/qhostinfo_unix.cpp	2011-12-23 16:26:07.000000000 +0400
-+++ b/src/network/kernel/qhostinfo_unix.cpp	2011-12-23 16:25:55.000000000 +0400
+diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/network/kernel/qhostinfo_unix.cpp qt-everywhere-opensource-src-4.8.3/src/network/kernel/qhostinfo_unix.cpp
+--- qt-everywhere-opensource-src-4.8.3-orig/src/network/kernel/qhostinfo_unix.cpp	2012-09-10 21:36:51.000000000 -0400
++++ qt-everywhere-opensource-src-4.8.3/src/network/kernel/qhostinfo_unix.cpp	2012-09-28 18:08:53.186643755 -0400
 @@ -95,7 +95,7 @@
  static void resolveLibrary()
  {
  #ifndef QT_NO_LIBRARY
 -    QLibrary lib(QLatin1String("resolv"));
 +    QLibrary lib(QLatin1String("@glibc@/lib/libresolv"));
+     lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
      if (!lib.load())
          return;
- 
---- a/src/corelib/tools/qlocale_icu.cpp	2011-12-08 09:06:03.000000000 +0400
-+++ b/src/corelib/tools/qlocale_icu.cpp	2011-12-23 16:29:15.000000000 +0400
-@@ -81,7 +81,7 @@
-     if (status == NotLoaded) {
- 
-         // resolve libicui18n
--        QLibrary lib(QLatin1String("icui18n"), QLatin1String(U_ICU_VERSION_SHORT));
-+        QLibrary lib(QLatin1String("@icu@/lib/libicui18n"), QLatin1String(U_ICU_VERSION_SHORT));
-         if (!lib.load()) {
-             qWarning() << "Unable to load library icui18n" << lib.errorString();
-             status = ErrorLoading;
-@@ -110,7 +110,7 @@
-         }
- 
-         // resolve libicuuc
--        QLibrary ucLib(QLatin1String("icuuc"), QLatin1String(U_ICU_VERSION_SHORT));
-+        QLibrary ucLib(QLatin1String("@icu@/lib/libicuuc"), QLatin1String(U_ICU_VERSION_SHORT));
-         if (!ucLib.load()) {
-             qWarning() << "Unable to load library icuuc" << ucLib.errorString();
-             status = ErrorLoading;
---- a/src/plugins/platforms/xlib/qxlibstatic.cpp	2011-12-08 09:06:02.000000000 +0400
-+++ b/src/plugins/platforms/xlib/qxlibstatic.cpp	2011-12-23 20:38:49.000000000 +0400
+diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/plugins/platforms/xlib/qxlibstatic.cpp qt-everywhere-opensource-src-4.8.3/src/plugins/platforms/xlib/qxlibstatic.cpp
+--- qt-everywhere-opensource-src-4.8.3-orig/src/plugins/platforms/xlib/qxlibstatic.cpp	2012-09-10 21:36:51.000000000 -0400
++++ qt-everywhere-opensource-src-4.8.3/src/plugins/platforms/xlib/qxlibstatic.cpp	2012-09-28 18:08:26.601720488 -0400
 @@ -242,7 +242,7 @@
  }
  
diff --git a/pkgs/development/libraries/qt-4.x/4.8/dlopen-gtkstyle.diff b/pkgs/development/libraries/qt-4.x/4.8/dlopen-gtkstyle.diff
index 522676a2b311..a1c9238be1ae 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/dlopen-gtkstyle.diff
+++ b/pkgs/development/libraries/qt-4.x/4.8/dlopen-gtkstyle.diff
@@ -1,15 +1,17 @@
---- a/src/gui/styles/qgtkstyle_p.cpp	2011-12-08 09:06:02.000000000 +0400
-+++ b/src/gui/styles/qgtkstyle_p.cpp	2011-12-24 17:56:46.000000000 +0400
-@@ -312,7 +312,7 @@
+diff --git a/src/gui/styles/qgtkstyle_p.cpp b/src/gui/styles/qgtkstyle_p.cpp
+index 3b128e6..39434db 100644
+--- a/src/gui/styles/qgtkstyle_p.cpp
++++ b/src/gui/styles/qgtkstyle_p.cpp
+@@ -312,7 +312,7 @@ GtkStyle* QGtkStylePrivate::gtkStyle(const QHashableLatin1Literal &path)
  void QGtkStylePrivate::resolveGtk() const
  {
      // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
 -    QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
 +    QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
+     libgtk.setLoadHints(QLibrary::ImprovedSearchHeuristics);
  
      gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
-     gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new");
-@@ -434,8 +434,8 @@
+@@ -435,8 +435,8 @@ void QGtkStylePrivate::resolveGtk() const
      pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family");
      pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style");
  
@@ -20,7 +22,7 @@
  }
  
  /* \internal
-@@ -607,9 +607,9 @@
+@@ -608,9 +608,9 @@ void QGtkStylePrivate::cleanupGtkWidgets()
  static bool resolveGConf()
  {
      if (!QGtkStylePrivate::gconf_client_get_default) {
diff --git a/pkgs/development/libraries/qt-4.x/4.8/glib-2.32.patch b/pkgs/development/libraries/qt-4.x/4.8/glib-2.32.patch
new file mode 100644
index 000000000000..4593c1b4ba8d
--- /dev/null
+++ b/pkgs/development/libraries/qt-4.x/4.8/glib-2.32.patch
@@ -0,0 +1,12 @@
+diff -Naur qt-everywhere-opensource-src-4.8.2-orig/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h qt-everywhere-opensource-src-4.8.2/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
+--- qt-everywhere-opensource-src-4.8.2-orig/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h	2012-04-26 15:46:22.000000000 -0400
++++ qt-everywhere-opensource-src-4.8.2/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h	2012-07-14 22:47:02.145152876 -0400
+@@ -89,7 +89,7 @@
+ #include <pthread.h>
+ #elif PLATFORM(GTK)
+ #include <wtf/gtk/GOwnPtr.h>
+-typedef struct _GMutex GMutex;
++typedef union _GMutex GMutex;
+ typedef struct _GCond GCond;
+ #endif
+ 
diff --git a/pkgs/development/libraries/science/math/blas/default.nix b/pkgs/development/libraries/science/math/blas/default.nix
index 55654586eddf..7066ebad87c0 100644
--- a/pkgs/development/libraries/science/math/blas/default.nix
+++ b/pkgs/development/libraries/science/math/blas/default.nix
@@ -32,10 +32,14 @@ stdenv.mkDerivation {
     echo >>make.inc "RANLIB = ranlib"
     make
   '';
- 
-  installPhase = ''
-    install -D -m755 libblas.a "$out/lib/libblas.a"
-    install -D -m755 libblas.so.3.0.3 "$out/lib/libblas.so.3.0.3"
+
+  installPhase =
+    # FreeBSD's stdenv doesn't use Coreutils.
+    let dashD = if stdenv.isFreeBSD then "" else "-D"; in
+    (stdenv.lib.optionalString stdenv.isFreeBSD "mkdir -p $out/lib ;")
+    + ''
+    install ${dashD} -m755 libblas.a "$out/lib/libblas.a"
+    install ${dashD} -m755 libblas.so.3.0.3 "$out/lib/libblas.so.3.0.3"
     ln -s libblas.so.3.0.3 "$out/lib/libblas.so.3"
     ln -s libblas.so.3.0.3 "$out/lib/libblas.so"
   '';
diff --git a/pkgs/development/libraries/smpeg/default.nix b/pkgs/development/libraries/smpeg/default.nix
index 3e7baf77df8e..e259e22ff018 100644
--- a/pkgs/development/libraries/smpeg/default.nix
+++ b/pkgs/development/libraries/smpeg/default.nix
@@ -10,11 +10,13 @@ stdenv.mkDerivation rec {
     sha256 = "0ynwn7ih5l2b1kpzpibns9bb9wzfjak7mgrb1ji0dkn2q5pv6lr0";
   };
 
+  enableParallelBuilding = true;
+
   buildInputs = [ SDL autoconf automake libtool gtk m4 pkgconfig mesa ];
 
   preConfigure = ''
     touch NEWS AUTHORS ChangeLog
-    autoreconf -fvi -I acinclude
+    sh autogen.sh
   '';
 
   postInstall = ''
diff --git a/pkgs/development/libraries/spandsp/default.nix b/pkgs/development/libraries/spandsp/default.nix
new file mode 100644
index 000000000000..f88ab48e027e
--- /dev/null
+++ b/pkgs/development/libraries/spandsp/default.nix
@@ -0,0 +1,18 @@
+{stdenv, fetchurl, audiofile, libtiff}:
+stdenv.mkDerivation rec {
+  version = "0.0.5";
+  name = "spandsp-${version}";
+  src=fetchurl {
+    url = "http://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tgz";
+    sha256 = "07f42a237c77b08fa765c3a148c83cdfa267bf24c0ab681d80b90d30dd0b3dbf";
+  };
+  buildInputs = [];
+  propagatedBuildInputs = [audiofile libtiff];
+  meta = {
+    homepage = "http://www.creytiv.com/baresip.html";
+    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [raskin];
+    license = with stdenv.lib.licenses; gpl2;
+  };
+}
+
diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix
index cba5d9107837..52726f017abf 100644
--- a/pkgs/development/libraries/spice/default.nix
+++ b/pkgs/development/libraries/spice/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, pixman, celt, alsaLib, openssl
 , libXrandr, libXfixes, libXext, libXrender, libXinerama, libjpeg, zlib
-, spiceProtocol }:
+, spice_protocol }:
 
 with stdenv.lib;
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
                   libXrandr libXfixes libXrender libXext libXinerama
                 ];
 
-  buildNativeInputs = [ pkgconfig spiceProtocol ];
+  buildNativeInputs = [ pkgconfig spice_protocol ];
 
   # NIX_CFLAGS_COMPILE = "-fno-stack-protector";
 
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index de154964fe57..be3a24c1e4ce 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -3,15 +3,15 @@
 assert readline != null -> ncurses != null;
 
 stdenv.mkDerivation {
-  name = "sqlite-3.7.13";
+  name = "sqlite-3.7.14.1";
 
   src = fetchurl {
-    url = http://www.sqlite.org/sqlite-autoconf-3071300.tar.gz;
-    sha1 = "d3833b6ad68db8505d1044f761dd962f415cd302";
+    url = http://www.sqlite.org/sqlite-autoconf-3071401.tar.gz;
+    sha1 = "c464e0e3efe98227c6546b9b1e786b51b8b642fc";
   };
 
   buildInputs = [ readline ncurses ];
-  
+
   configureFlags = "--enable-threadsafe";
 
   CFLAGS = "-DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1";
diff --git a/pkgs/development/libraries/srtp/default.nix b/pkgs/development/libraries/srtp/default.nix
index 887c0c7c1a3c..1b8b654ca808 100644
--- a/pkgs/development/libraries/srtp/default.nix
+++ b/pkgs/development/libraries/srtp/default.nix
@@ -27,8 +27,12 @@ rec {
   inherit buildInputs;
 
   /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
+  phaseNames = ["setVars" "doConfigure" "doMakeInstall"];
+
+  setVars = a.fullDepEntry ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC"
+  '' ["minInit"];
+
   meta = {
     description = "Secure RTP";
     maintainers = with a.lib.maintainers;
diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix
index af0e6426b811..5cd083a7e330 100644
--- a/pkgs/development/libraries/v8/default.nix
+++ b/pkgs/development/libraries/v8/default.nix
@@ -5,7 +5,7 @@ assert readline != null;
 let
   system = stdenv.system;
   arch = if system == "i686-linux" then "ia32" else if system == "x86_64-linux" || system == "x86_64-darwin" then "x64" else "";
-  version = "3.11.10.15";
+  version = "3.11.10.22";
 in
 
 assert arch != "";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     name = "v8-${version}";
     src = fetchsvn {
       url = "http://v8.googlecode.com/svn/tags/${version}";
-      sha256 = "0pdw4r6crsb07gshww4kbfbavxgkal8yaxkaggnkz62lrwbcwrwi";
+      sha256 = "1bm3hg4pa17xvs8s895bwklxpaihl3f3vzghdg55s1wd0y4dj96j";
     };
 
     configurePhase = ''
diff --git a/pkgs/development/libraries/vtk/default.nix b/pkgs/development/libraries/vtk/default.nix
index db7d0d77f69f..9e4816cab0af 100644
--- a/pkgs/development/libraries/vtk/default.nix
+++ b/pkgs/development/libraries/vtk/default.nix
@@ -1,18 +1,32 @@
-{stdenv, fetchurl, cmake, mesa, libX11, xproto, libXt }:
+{ stdenv, fetchurl, cmake, mesa, libX11, xproto, libXt
+, useQt4 ? false, qt4 }:
+
+with stdenv.lib;
+
+let
+  os = stdenv.lib.optionalString;
+  majorVersion = "5.10";
+  minorVersion = "0";
+  version = "${majorVersion}.${minorVersion}";
+in
 
 stdenv.mkDerivation rec {
-  name = "vtk-5.4.2";
+  name = "vtk-${os useQt4 "qvtk-"}${version}";
   src = fetchurl {
-    url = "http://www.vtk.org/files/release/5.4/${name}.tar.gz";
-    sha256 = "0gd7xlxiqww6xxcs2kicz0g6k147y3200np4jnsf10vlxs10az03";
+    url = "${meta.homepage}files/release/${majorVersion}/vtk-${version}.tar.gz";
+    md5 = "a0363f78910f466ba8f1bd5ab5437cb9";
   };
-  buildInputs = [ cmake mesa libX11 xproto libXt ];
+  buildInputs = [ cmake mesa libX11 xproto libXt ]
+    ++ optional useQt4 qt4;
+
+  cmakeFlags = optional useQt4
+    [ "-DVTK_USE_QT:BOOL=ON" ];
 
   meta = {
     description = "Open source libraries for 3D computer graphics, image processing and visualization";
     homepage = http://www.vtk.org/;
     license = "BSD";
-    maintainers = with stdenv.lib.maintainers; [viric];
+    maintainers = with stdenv.lib.maintainers; [ viric bbenoist ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/development/libraries/webkit/default.nix b/pkgs/development/libraries/webkit/default.nix
index c0fd878e0bb5..d229228b94f7 100644
--- a/pkgs/development/libraries/webkit/default.nix
+++ b/pkgs/development/libraries/webkit/default.nix
@@ -14,7 +14,7 @@ rec {
     sqlite icu gperf bison flex autoconf automake libtool 
     perl intltool pkgconfig libsoup gtkdoc libXt libproxy
     enchant python ruby which renderproto libXrender geoclue
-    kbproto
+    kbproto mesa
     ];
 
   propagatedBuildInputs = [
@@ -54,7 +54,7 @@ rec {
     ];
 
   /* doConfigure should be specified separately */
-  phaseNames = ["setVars" /* "paranoidFixComments" */ "doConfigure" (doPatchShebangs ".") 
+  phaseNames = ["setVars" "fixConfigure" /* "paranoidFixComments" */ "doConfigure" (doPatchShebangs ".") 
     "doReplaceUsrBin" "doMakeInstall" "doAddPrograms"];
 
   setVars = fullDepEntry (''
@@ -78,6 +78,13 @@ rec {
     sed -re 's@( |^)//.*@/* & */@' -i $(find . -name '*.c' -o -name '*.h')
   '') ["minInit" "doUnpack"];
 
+  # See http://archive.linuxfromscratch.org/mail-archives/blfs-dev/2012-April/022893.html
+  fixConfigure = fullDepEntry (''
+    sed   -i -e 's/=GSTREAMER_0_10_REQUIRED_VERSION/=\$GSTREAMER_0_10_REQUIRED_VERSION/' \
+      -e 's/=GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/=\$GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/' \
+      configure{,.ac}
+  '') ["minInit" "doUnpack"];
+
   name = s.name;
   meta = {
     description = "WebKit - a fast and correct HTML renderer";
diff --git a/pkgs/development/libraries/webkit/gtk2.nix b/pkgs/development/libraries/webkit/gtk2.nix
index 5c755c193a52..0b836cd08f00 100644
--- a/pkgs/development/libraries/webkit/gtk2.nix
+++ b/pkgs/development/libraries/webkit/gtk2.nix
@@ -61,6 +61,7 @@ rec {
 
   setVars = fullDepEntry (''
     export NIX_LDFLAGS="$NIX_LDFLAGS -lXt"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fpermissive"
   '') ["minInit"];
 
   doReplaceUsrBin = fullDepEntry (''
diff --git a/pkgs/development/libraries/webkit/src-for-default.nix b/pkgs/development/libraries/webkit/src-for-default.nix
index 30e129e2faef..65bcd4350960 100644
--- a/pkgs/development/libraries/webkit/src-for-default.nix
+++ b/pkgs/development/libraries/webkit/src-for-default.nix
@@ -1,9 +1,10 @@
 rec {
-   version="1.6.3";
-   name="webkit-1.6.3";
-   hash="1hvph13ak7a85qmj1ikanwxf2nn53m5f6a50j627lp49db7dpl0j";
-   url="http://webkitgtk.org/webkit-1.6.3.tar.xz";
-   advertisedUrl="http://webkitgtk.org/webkit-1.6.3.tar.xz";
+   version="1.8.1";
+   name="webkit-1.8.1";
+   hash="0a1v3v8dp2cl332qr51j4fpl0rwpgxbf29hn3zdim9hcniv6l4ls";
+   url="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz";
+   advertisedUrl="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz";
   
   
 }
+
diff --git a/pkgs/development/libraries/zeromq/default.nix b/pkgs/development/libraries/zeromq/2.x.nix
index 06beb9254f95..06beb9254f95 100644
--- a/pkgs/development/libraries/zeromq/default.nix
+++ b/pkgs/development/libraries/zeromq/2.x.nix
diff --git a/pkgs/development/libraries/zeromq/3.x.nix b/pkgs/development/libraries/zeromq/3.x.nix
new file mode 100644
index 000000000000..fbb3b5ad74f7
--- /dev/null
+++ b/pkgs/development/libraries/zeromq/3.x.nix
@@ -0,0 +1,17 @@
+{stdenv, fetchurl, libuuid}:
+
+stdenv.mkDerivation rec {
+  name = "zeromq-3.2.1-rc2";
+
+  src = fetchurl {
+    url = "http://download.zeromq.org/${name}.tar.gz";
+    sha256 = "b0a70da77e39537120a1fa058c49434982741ecef5211edcd7aeab4caffb82b7";
+  };
+
+  buildInputs = [ libuuid ];
+
+  meta = {
+    homepage = "http://www.zeromq.org";
+    description = "The Intelligent Transport Layer";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix
index a520f8196d8a..d59dbae45fe9 100644
--- a/pkgs/development/ocaml-modules/extlib/default.nix
+++ b/pkgs/development/ocaml-modules/extlib/default.nix
@@ -4,11 +4,10 @@ stdenv.mkDerivation {
   name = "ocaml-extlib-1.5.2";
 
   src = fetchurl {
-    url = "http://ocaml-extlib.googlecode.com/files/extlib-1.5.2.tar.gz";
-    sha256 = "ca6d69adeba4242ce41c02a23746ba1e464c0bbec66e2d16b02c3c6e85dc10aa";
+    url = http://ocaml-extlib.googlecode.com/files/extlib-1.5.3.tar.gz;
+    sha256 = "c095eef4202a8614ff1474d4c08c50c32d6ca82d1015387785cf03d5913ec021";
   };
 
-  patches = [ ./hashtable-ocaml4-compat.patch ];
   buildInputs = [ocaml findlib];
 
   createFindlibDestdir = true;
@@ -19,9 +18,9 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = "http://code.google.com/p/ocaml-extlib/";
+    homepage = http://code.google.com/p/ocaml-extlib/;
     description = "Enhancements to the OCaml Standard Library modules";
-    license = "LGPL";
+    license = stdenv.lib.licenses.lgpl21;
     platforms = ocaml.meta.platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/extlib/hashtable-ocaml4-compat.patch b/pkgs/development/ocaml-modules/extlib/hashtable-ocaml4-compat.patch
deleted file mode 100644
index c587f2b6cd3b..000000000000
--- a/pkgs/development/ocaml-modules/extlib/hashtable-ocaml4-compat.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Revision 396 from the official extlib repository.
-
---- extlib/extHashtbl.ml	(revision 395)
-+++ extlib/extHashtbl.ml	(working copy)
-@@ -32,6 +32,7 @@
- 	}
- 
- 	include Hashtbl
-+	let create n = Hashtbl.create (* no seed *) n
- 
- 	external h_conv : ('a, 'b) t -> ('a, 'b) h_t = "%identity"
- 	external h_make : ('a, 'b) h_t -> ('a, 'b) t = "%identity"
\ No newline at end of file
diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix
index e4dc43743f32..4d9e934b6283 100644
--- a/pkgs/development/ocaml-modules/ocamlnet/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix
@@ -2,15 +2,14 @@
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  version = "3.1";
 in
 
 stdenv.mkDerivation {
-  name = "ocamlnet-${version}";
+  name = "ocamlnet-3.6";
 
   src = fetchurl {
-    url = "http://download.camlcity.org/download/ocamlnet-${version}.tar.gz";
-    sha256 = "0kdc2540ad84j6haj9jxlwryz9cb8q8kjdr48f2wgvcaii38v9f5";
+    url = http://download.camlcity.org/download/ocamlnet-3.6.tar.gz;
+    sha256 = "306c20aee6512be3564c0f39872b70f929c06e1e893cfcf528ac47ae35cf7a69";
   };
 
   buildInputs = [ncurses ocaml findlib ocaml_pcre camlzip openssl ocaml_ssl];
diff --git a/pkgs/development/ocaml-modules/ounit/default.nix b/pkgs/development/ocaml-modules/ounit/default.nix
index 8f21ba649bf7..533f1ec8d1cd 100644
--- a/pkgs/development/ocaml-modules/ounit/default.nix
+++ b/pkgs/development/ocaml-modules/ounit/default.nix
@@ -5,11 +5,11 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "ounit-1.1.0";
+  name = "ounit-1.1.2";
 
   src = fetchurl {
-    url = http://forge.ocamlcore.org/frs/download.php/495/ounit-1.1.0.tar.gz;
-    sha256 = "12vybg9xlw5c8ip23p8cljfzhkdsm25482sf1yh46fcqq8p2jmqx";
+    url = http://forge.ocamlcore.org/frs/download.php/886/ounit-1.1.2.tar.gz;
+    sha256 = "e6bc1b0cdbb5b5552d85bee653e23aafe20bb97fd7cd229c867d01ff999888e3";
   };
 
   buildInputs = [ocaml findlib];
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.xs4all.nl/~mmzeeman/ocaml/;
     description = "Unit test framework for OCaml";
-    license = "MIT/X11";
+    license = stdenv.lib.licenses.mit;
     platforms = ocaml.meta.platforms;
     maintainers = [
       stdenv.lib.maintainers.z77z
diff --git a/pkgs/development/perl-modules/DBD-SQLite/default.nix b/pkgs/development/perl-modules/DBD-SQLite/default.nix
index bbe50182b903..5afa889f5433 100644
--- a/pkgs/development/perl-modules/DBD-SQLite/default.nix
+++ b/pkgs/development/perl-modules/DBD-SQLite/default.nix
@@ -17,6 +17,11 @@ buildPerlPackage rec {
     ./external-sqlite.patch
   ];
 
+  preBuild =
+    ''
+      substituteInPlace Makefile --replace -L/usr/lib ""
+    '';
+
   postInstall =
     ''
       # Prevent warnings from `strip'.
diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix
index 0e282cf71f3f..1d4fe53117ce 100644
--- a/pkgs/development/python-modules/pyopenssl/default.nix
+++ b/pkgs/development/python-modules/pyopenssl/default.nix
@@ -2,15 +2,15 @@ a :
 let
   fetchurl = a.fetchurl;
 
-  version = a.lib.attrByPath ["version"] "0.10" a;
+  version = a.lib.attrByPath ["version"] "0.13" a;
   propagatedBuildInputs = with a; [
     openssl python
   ];
 in
 rec {
   src = fetchurl {
-    url = "http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-0.10.tar.gz";
-    sha256 = "4514f8960389042ca2587f9cb801a13f7990387753fc678680b0c084719b5b60";
+    url = "http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-${version}.tar.gz";
+    sha256 = "21e12b03abaa0e04ecc8cd9c251598f71bae11c9f385304234e4ea5618c6163b";
   };
 
   inherit propagatedBuildInputs;
diff --git a/pkgs/development/qtcreator/default.nix b/pkgs/development/qtcreator/default.nix
new file mode 100644
index 000000000000..b57b9884e613
--- /dev/null
+++ b/pkgs/development/qtcreator/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, qt4 }:
+
+let
+  version = "2.5.2";
+in
+
+stdenv.mkDerivation rec {
+  name = "qtcreator-${version}";
+
+  src = fetchurl {
+    url = "http://origin.releases.qt-project.org/qtcreator/${version}/qt-creator-${version}-src.tar.gz";
+    md5 = "4a9c09cdf4609753283c31451c84ceb8";
+  };
+
+  buildInputs = [ qt4 ];
+
+  doCheck = false;
+
+  enableParallelBuilding = true;
+
+  preConfigure = "qmake";
+  installFlags = "INSTALL_ROOT=$(out)";
+
+  meta = {
+    description = "Qt Creator is a cross-platform IDE tailored to the needs of Qt developers.";
+    longDescription = ''
+        Qt Creator is a cross-platform IDE (integrated development environment) tailored to the needs of Qt developers.
+        It includes features such as an advanced code editor, a visual debugger and a GUI designer.
+      '';
+    homepage = "http://qt-project.org/wiki/Category:Tools::QtCreator";
+    license = "LGPL";
+
+    maintainers = [ stdenv.lib.maintainers.bbenoist ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/analysis/smatch/default.nix b/pkgs/development/tools/analysis/smatch/default.nix
new file mode 100644
index 000000000000..1d1bf7a818ab
--- /dev/null
+++ b/pkgs/development/tools/analysis/smatch/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit, sqlite, pkgconfig, perl
+, buildllvmsparse ? true
+, buildc2xml ? true
+, llvm ? null, libxml2 ? null
+}:
+
+assert buildllvmsparse -> llvm != null;
+assert buildc2xml -> libxml2 != null;
+
+stdenv.mkDerivation {
+  name = "smatch";
+
+  src = fetchgit {
+    url = git://repo.or.cz/smatch.git;
+    rev = "23656e3e578b700cbf96d043f039e6341a3ba5b9";
+    sha256 = "09a44967d4cff026c67062f778e251d0b432af132e9d59a47b7d3167f379adfa";
+  };
+
+  buildInputs = [sqlite pkgconfig perl]
+   ++ stdenv.lib.optional buildllvmsparse llvm
+   ++ stdenv.lib.optional buildc2xml libxml2;
+
+  preBuild =
+    '' sed -i Makefile \
+           -e "s|^PREFIX=.*|PREFIX = $out|g"
+    '';
+
+  meta = {
+    description = "A semantic analysis tool for C";
+    homepage = "http://smatch.sourceforge.net/";
+    license = "free"; /* OSL, see http://www.opensource.org */
+  };
+}
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index cab217fef97d..d66149a95096 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -7,7 +7,7 @@ with stdenv.lib;
 let
   os = stdenv.lib.optionalString;
   majorVersion = "2.8";
-  minorVersion = "7";
+  minorVersion = "9";
   version = "${majorVersion}.${minorVersion}";
 in
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
-    sha256 = "17zmxh0gyis6w05d2km0swlvy94h3w10jgra0fpa5qcg7l2j628k";
+    sha256 = "1yg68ng732cfm5c0h91chqwhg06zdh45bybm353kd1myk5rwqgfw";
   };
 
   patches =
diff --git a/pkgs/development/tools/documentation/haddock/2.13.1.nix b/pkgs/development/tools/documentation/haddock/2.13.1.nix
new file mode 100644
index 000000000000..1eed852f5370
--- /dev/null
+++ b/pkgs/development/tools/documentation/haddock/2.13.1.nix
@@ -0,0 +1,18 @@
+{ cabal, alex, Cabal, deepseq, filepath, ghcPaths, happy, xhtml }:
+
+cabal.mkDerivation (self: {
+  pname = "haddock";
+  version = "2.13.1";
+  sha256 = "0zsflbc3ayjsn542sa58zl62dd78ykr489f18sh467hrrnaj4pkf";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ Cabal deepseq filepath ghcPaths xhtml ];
+  buildTools = [ alex happy ];
+  meta = {
+    homepage = "http://www.haskell.org/haddock/";
+    description = "A documentation-generation tool for Haskell libraries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/tools/documentation/haddock/2.7.2.nix b/pkgs/development/tools/documentation/haddock/2.7.2.nix
index c94b3e43b7e1..0c744d624191 100644
--- a/pkgs/development/tools/documentation/haddock/2.7.2.nix
+++ b/pkgs/development/tools/documentation/haddock/2.7.2.nix
@@ -17,9 +17,6 @@ cabal.mkDerivation (self : {
     description = "A documentation-generation tool for Haskell libraries";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/documentation/haddock/2.9.2.nix b/pkgs/development/tools/documentation/haddock/2.9.2.nix
index c6543936ab31..8e5b79cd5194 100644
--- a/pkgs/development/tools/documentation/haddock/2.9.2.nix
+++ b/pkgs/development/tools/documentation/haddock/2.9.2.nix
@@ -19,7 +19,6 @@ cabal.mkDerivation (self : {
     platforms = self.ghc.meta.platforms;
     maintainers = [
       self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/tools/haskell/BNFC-meta/default.nix b/pkgs/development/tools/haskell/BNFC-meta/default.nix
index 1b0397ead1bc..d39544342b3a 100644
--- a/pkgs/development/tools/haskell/BNFC-meta/default.nix
+++ b/pkgs/development/tools/haskell/BNFC-meta/default.nix
@@ -2,12 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "BNFC-meta";
-  version = "0.3.0.3";
-  sha256 = "06k8jnb4gw96gc0ffmczbywn4q2n87zwqa0pl0ada3ldvwaagv4l";
+  version = "0.4.0.1";
+  sha256 = "0x31a25njbgd3r8shh7rrqa9qq66iqjhh82k538p9bd2hblg30ka";
   buildDepends = [ alexMeta happyMeta haskellSrcMeta syb ];
-  noHaddock = true;
   meta = {
-    description = "Deriving Quasi-Quoters from BNF Grammars";
+    description = "Deriving Parsers and Quasi-Quoters from BNF Grammars";
     license = self.stdenv.lib.licenses.gpl2;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
diff --git a/pkgs/development/tools/haskell/alex-meta/default.nix b/pkgs/development/tools/haskell/alex-meta/default.nix
index 661c9c7895b5..5bb298e739ad 100644
--- a/pkgs/development/tools/haskell/alex-meta/default.nix
+++ b/pkgs/development/tools/haskell/alex-meta/default.nix
@@ -2,10 +2,9 @@
 
 cabal.mkDerivation (self: {
   pname = "alex-meta";
-  version = "0.3.0.3";
-  sha256 = "08w7z2iq2s557vi9kp2x8qp1lwvh49skffbjm8kxrf2bn2il5q48";
+  version = "0.3.0.5";
+  sha256 = "0f41q5l6z1dcpfx8rxacv4f544zcw7pgvq935mnzzha9fvsxqzk4";
   buildDepends = [ haskellSrcMeta QuickCheck ];
-  noHaddock = true;
   meta = {
     description = "Quasi-quoter for Alex lexers";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/tools/haskell/cabal-dev/default.nix b/pkgs/development/tools/haskell/cabal-dev/default.nix
new file mode 100644
index 000000000000..79385bd88a96
--- /dev/null
+++ b/pkgs/development/tools/haskell/cabal-dev/default.nix
@@ -0,0 +1,21 @@
+{ cabal, Cabal, cabalInstall, filepath, HTTP, mtl, network, tar
+, transformers, zlib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cabal-dev";
+  version = "0.9.1";
+  sha256 = "1brz0nw959jdyjrhjqy9sixsb316hjmw4pxxsybfl8vixsivdfh6";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    Cabal filepath HTTP mtl network tar transformers zlib
+  ];
+  buildTools = [ cabalInstall ];
+  meta = {
+    homepage = "http://github.com/creswick/cabal-dev";
+    description = "Manage sandboxed Haskell build environments";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix
index 72c032342d91..8ce6b62a521f 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.39";
-  sha256 = "0q2kgzjbcrqxml12hncsrkjdwjiq52dp00v6i3qdgiyj460iy60d";
+  version = "1.42";
+  sha256 = "02yg4lj2y272fvn79kgqccizs71xg5ifnjhpw4vhw5wya657a20w";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ];
diff --git a/pkgs/development/tools/haskell/happy-meta/default.nix b/pkgs/development/tools/haskell/happy-meta/default.nix
index 3b9a6d4c9838..a3d885c60084 100644
--- a/pkgs/development/tools/haskell/happy-meta/default.nix
+++ b/pkgs/development/tools/haskell/happy-meta/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "happy-meta";
-  version = "0.2.0.4";
-  sha256 = "1s1inv2l2hwdlvypn6wpiadmi5y5mpcjawiqjb1hv0d8y43dpz54";
+  version = "0.2.0.5";
+  sha256 = "103hi87azqv11l8lq1rv0v9v88sl227g31snvkn8db6b4cfrwrxk";
   buildDepends = [ haskellSrcMeta mtl ];
   meta = {
     description = "Quasi-quoter for Happy parsers";
diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix
index bb61bbaa7dcc..739e48ba247a 100644
--- a/pkgs/development/tools/haskell/hlint/default.nix
+++ b/pkgs/development/tools/haskell/hlint/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hlint";
-  version = "1.8.31";
-  sha256 = "0d7m7viqf1cawbafiy4nj67hkavlxkv537qypy2vlhr502fispa4";
+  version = "1.8.35";
+  sha256 = "1w6scnbpy6vl46r0srpkxr0qjr0lpld046d9gb4s9c7if3ajibjv";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -14,7 +14,7 @@ cabal.mkDerivation (self: {
   meta = {
     homepage = "http://community.haskell.org/~ndm/hlint/";
     description = "Source code suggestions";
-    license = "GPL";
+    license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
diff --git a/pkgs/development/tools/haskell/hslogger/default.nix b/pkgs/development/tools/haskell/hslogger/default.nix
index 4128f6b7d098..4443637def47 100644
--- a/pkgs/development/tools/haskell/hslogger/default.nix
+++ b/pkgs/development/tools/haskell/hslogger/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hslogger";
-  version = "1.2.0";
-  sha256 = "17ipnz7zd403x2gi2086chrgcnk76304hdxr5mv4phg4rm8w226y";
+  version = "1.2.1";
+  sha256 = "1vfdf7i6fd4mb3rn57z3wn7bhw4z5g47f4vggb4sms5rg4zqqly5";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ mtl network time ];
diff --git a/pkgs/development/tools/haskell/splot/default.nix b/pkgs/development/tools/haskell/splot/default.nix
new file mode 100644
index 000000000000..9f35054b4c01
--- /dev/null
+++ b/pkgs/development/tools/haskell/splot/default.nix
@@ -0,0 +1,21 @@
+{ cabal, bytestringLexing, cairo, Chart, colour, HUnit, mtl
+, strptime, time, vcsRevision
+}:
+
+cabal.mkDerivation (self: {
+  pname = "splot";
+  version = "0.3.6";
+  sha256 = "0fxjji6b0v3hf4pn1cbh88nvp4n4bfgfkiga6l149flk5nmlapqx";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    bytestringLexing cairo Chart colour HUnit mtl strptime time
+    vcsRevision
+  ];
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Splot";
+    description = "A tool for visualizing the lifecycle of many concurrent multi-staged processes";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/tar/0.4.0.0.nix b/pkgs/development/tools/haskell/tar/0.4.0.1.nix
index 7f6b70a52e60..04257960a64c 100644
--- a/pkgs/development/tools/haskell/tar/0.4.0.0.nix
+++ b/pkgs/development/tools/haskell/tar/0.4.0.1.nix
@@ -1,10 +1,10 @@
-{ cabal, filepath }:
+{ cabal, filepath, time }:
 
 cabal.mkDerivation (self: {
   pname = "tar";
-  version = "0.4.0.0";
-  sha256 = "04qijdfyiqb64q58g0bf46qfgaxqjl3kl68x6z31cv36p3hpplx3";
-  buildDepends = [ filepath ];
+  version = "0.4.0.1";
+  sha256 = "0vbsv7h3zgp30mlgsw156jkv1rqy5zbm98as9haf7x15hd6jf254";
+  buildDepends = [ filepath time ];
   meta = {
     description = "Reading, writing and manipulating \".tar\" archive files.";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/tools/haskell/threadscope/default.nix b/pkgs/development/tools/haskell/threadscope/default.nix
index f0d80e84c5ae..4928c40e1291 100644
--- a/pkgs/development/tools/haskell/threadscope/default.nix
+++ b/pkgs/development/tools/haskell/threadscope/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "threadscope";
-  version = "0.2.1";
-  sha256 = "08s9fbwg33rgbqjdx7n90q83livfay9khr2ddjwj8brw8k1wkmxg";
+  version = "0.2.2";
+  sha256 = "07cmza391hjq77lx8m9g2287bzsh5ffka3s07fr49v6x6hivsic3";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/timeplot/default.nix b/pkgs/development/tools/haskell/timeplot/default.nix
new file mode 100644
index 000000000000..ffdfa7869e04
--- /dev/null
+++ b/pkgs/development/tools/haskell/timeplot/default.nix
@@ -0,0 +1,23 @@
+{ cabal, bytestringLexing, cairo, Chart, colour, dataAccessor
+, dataAccessorTemplate, regexTdfa, strptime, time, transformers
+, vcsRevision
+}:
+
+cabal.mkDerivation (self: {
+  pname = "timeplot";
+  version = "1.0.18";
+  sha256 = "1q4kzzqmr7bx97wfaasrkzii6b9zpxcxggshpsjv02bwb1hazxmc";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    bytestringLexing cairo Chart colour dataAccessor
+    dataAccessorTemplate regexTdfa strptime time transformers
+    vcsRevision
+  ];
+  meta = {
+    homepage = "http://haskell.org/haskellwiki/Timeplot";
+    description = "A tool for visualizing time series from log files";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/uuagc/cabal.nix b/pkgs/development/tools/haskell/uuagc/cabal.nix
index 24eded529b33..3c2f0351672a 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.2.0";
-  sha256 = "0nvnyc6c1611rziglpp0ywqkgg9sgfi9ph33ya33k5zv3jxxh1q0";
+  version = "1.0.3.0";
+  sha256 = "0kr0k8pgz52n4g7x998djwncfr9byyxg5slqq80qijh06v01bm79";
   buildDepends = [ Cabal filepath mtl uulib ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome";
diff --git a/pkgs/development/tools/haskell/uuagc/default.nix b/pkgs/development/tools/haskell/uuagc/default.nix
index 833189b89aca..6289abd71205 100644
--- a/pkgs/development/tools/haskell/uuagc/default.nix
+++ b/pkgs/development/tools/haskell/uuagc/default.nix
@@ -1,16 +1,12 @@
-{ cabal, filepath, haskellSrcExts, mtl, uuagcBootstrap, uuagcCabal
-, uulib
-}:
+{ cabal, filepath, haskellSrcExts, mtl, uuagcCabal, uulib }:
 
 cabal.mkDerivation (self: {
   pname = "uuagc";
-  version = "0.9.40.3";
-  sha256 = "053p7cbis843zn0qg8imc77xnfj4kna8wwfanxbj8kcapcqvwihl";
+  version = "0.9.42.1";
+  sha256 = "1xyzvv9rqzqdc7kd2rncafnglfg699sn3f4987kbsxzhilvmhw78";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [
-    filepath haskellSrcExts mtl uuagcBootstrap uuagcCabal uulib
-  ];
+  buildDepends = [ filepath haskellSrcExts mtl uuagcCabal uulib ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/HUT/WebHome";
     description = "Attribute Grammar System of Universiteit Utrecht";
diff --git a/pkgs/development/tools/misc/coccinelle/default.nix b/pkgs/development/tools/misc/coccinelle/default.nix
index 044ae8f93a0b..d31e2ec5f3bc 100644
--- a/pkgs/development/tools/misc/coccinelle/default.nix
+++ b/pkgs/development/tools/misc/coccinelle/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, python, ncurses, ocamlPackages, pkgconfig }:
+{ fetchurl, stdenv, python, ncurses, ocamlPackages, pkgconfig, makeWrapper }:
 
 let
 
@@ -17,6 +17,7 @@ in stdenv.mkDerivation {
     ocaml findlib menhir
     ocaml_pcre pycaml
     python ncurses pkgconfig
+    makeWrapper
   ];
 
   # TODO: is the generation of this wrapper truly/still needed?
diff --git a/pkgs/development/tools/misc/sysbench/default.nix b/pkgs/development/tools/misc/sysbench/default.nix
new file mode 100644
index 000000000000..2860ac3731f0
--- /dev/null
+++ b/pkgs/development/tools/misc/sysbench/default.nix
@@ -0,0 +1,19 @@
+{stdenv, fetchurl, mysql, libxslt, zlib, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "sysbench-0.4.12";
+  buildInputs = [ autoreconfHook mysql libxslt zlib ];
+  src = fetchurl {
+    url = mirror://sourceforge/sysbench/0.4.12/sysbench-0.4.12.tar.gz;
+    sha256 = "17pa4cw7wxvlb4mba943lfs3b3jdi64mlnaf4n8jq09y35j79yl3";
+  };
+  preAutoreconf = ''
+    touch NEWS AUTHORS
+  '';
+
+  meta = {
+    description = "SysBench is a modular, cross-platform and multi-threaded benchmark tool.";
+    license = "GPLv2";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/neoload/default.nix b/pkgs/development/tools/neoload/default.nix
new file mode 100644
index 000000000000..1c0265503875
--- /dev/null
+++ b/pkgs/development/tools/neoload/default.nix
@@ -0,0 +1,91 @@
+{ stdenv, fetchurl, writeTextFile, oraclejre, makeWrapper, licenseAccepted ? false }:
+
+# If you happen to use this software on the XMonad window manager, you will have issues with
+# grey windows, no resizing, menus not showing and other glitches.
+# This can be fixed by setting a different WM name:
+# http://www.haskell.org/haskellwiki/Xmonad/Frequently_asked_questions#Using_SetWMName
+
+if !licenseAccepted then throw ''
+    You have to accept the neoload EULA at
+    https://www.neotys.com/documents/legal/eula/neoload/eula_en.html
+    by setting nixpkgs config option 'neoload.accept_license = true';
+  ''
+else assert licenseAccepted;
+
+# the installer is very picky and demands 1.6.0.29
+let dotInstall4j = writeTextFile { name = "dot-install4j"; text = ''
+      JRE_VERSION	${oraclejre}	1	6	0	29
+      JRE_INFO	${oraclejre}	0
+    ''; };
+
+    responseVarfile = writeTextFile { name = "response.varfile"; text = ''
+      sys.programGroupDisabled$Boolean=false
+      sys.component.Monitor\ Agent$Boolean=true
+      sys.component.Common$Boolean=true
+      sys.component.Controller$Boolean=true
+      sys.languageId=en
+      sys.component.Load\ Generator$Boolean=true
+      sys.installationTypeId=Controller
+      sys.installationDir=INSTALLDIR/lib/neoload
+      sys.symlinkDir=INSTALLDIR/bin
+    ''; };
+
+in stdenv.mkDerivation rec {
+  name = "neoload-4.0.4";
+
+  src = fetchurl (
+    if stdenv.system == "x86_64-linux" then
+      { url = http://www.neotys.com/documents/download/neoload/v4.0/neoload_4_0_4_linux_x64.sh;
+        sha256 = "1w5pqik1998irpamx6y4rf2v5v34nm8xm6cwa1a8j0agawv992w2"; }
+    else
+      { url = http://www.neotys.com/documents/download/neoload/v4.0/neoload_4_0_4_linux_x86.sh;
+        sha256 = "0k49kcwnimax9q7d2kychcbhh4zlixlx4ak9jgrm901zpkhw2f3b"; } );
+
+  buildInputs = [ makeWrapper ];
+  phases = [ "installPhase" ];
+
+  # TODO: load generator / monitoring agent only builds
+
+  installPhase = ''
+    # the installer wants to use its internal JRE
+    # disable this. The extra spaces are needed because the installer carries
+    # a binary payload, so should not change in size
+    sed -e 's/^if \[ -f jre.tar.gz/if false          /' $src > installer
+    chmod a+x installer
+
+    cp ${dotInstall4j} .install4j
+    chmod u+w .install4j
+
+    sed -e "s|INSTALLDIR|$out|" ${responseVarfile} > response.varfile
+
+    export HOME=`pwd`
+    export INSTALL4J_JAVA_HOME=${oraclejre}
+    ./installer -q -varfile response.varfile
+
+    for i in $out/bin/*; do
+      wrapProgram $i --run 'cp ${dotInstall4j} ~/.install4j' \
+                     --run 'chmod u+w ~/.install4j'
+    done
+
+    mkdir -p $out/share/applications
+    for i in $out/lib/neoload/*.desktop; do
+      name=$(basename "$i")
+      sed -e 's|/lib/neoload/bin|/bin|' "$i" > "$out/share/applications/$name"
+    done
+    rm $out/lib/neoload/*.desktop $out/lib/neoload/uninstall
+
+    ln -s ${oraclejre}/bin $out/lib/neoload/jre
+  '';
+
+  meta = {
+    description = "load testing software for Web applications to realistically simulate user activity and analyze server behavior.";
+
+    homepage = https://www.neotys.com/product/overview-neoload.html;
+
+    # https://www.neotys.com/documents/legal/eula/neoload/eula_en.html
+    license = stdenv.lib.licenses.proprietary;
+
+    maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/camlp5/default.nix b/pkgs/development/tools/ocaml/camlp5/default.nix
index 315bca38f361..74b3368293c1 100644
--- a/pkgs/development/tools/ocaml/camlp5/default.nix
+++ b/pkgs/development/tools/ocaml/camlp5/default.nix
@@ -2,28 +2,18 @@
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  pname = "camlp5";
-  version = "6.02.3";
-  webpage = http://pauillac.inria.fr/~ddr/camlp5/;
   metafile = ./META;
 in
 
 stdenv.mkDerivation {
 
-  name = "${pname}${if transitional then "_transitional" else ""}-${version}";
+  name = "camlp5${if transitional then "_transitional" else ""}-6.06";
 
   src = fetchurl {
-    url = "${webpage}/distrib/src/${pname}-${version}.tgz";
-    sha256 = "1z9bwh267117br0vlhirv9yy2niqp2n25zfnl14wg6kgg9bqx7rj";
+    url = http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-6.06.tgz;
+    sha256 = "763f89ee6cde4ca063a50708c3fe252d55ea9f8037e3ae9801690411ea6180c5";
   };
 
-  patches = fetchurl {
-    url = "${webpage}/distrib/src/patch-${version}-1";
-    sha256 = "159qpvr07mnn72yqwx24c6mw7hs6bl77capsii7apg9dcxar8w7v";
-  };
-
-  patchFlags = "-p 0";
-
   buildInputs = [ ocaml ];
 
   prefixKey = "-prefix ";
@@ -41,8 +31,8 @@ stdenv.mkDerivation {
       Camlp5 is a preprocessor and pretty-printer for OCaml programs.
       It also provides parsing and printing tools.
     '';
-    homepage = "${webpage}";
-    license = "BSD";
+    homepage = http://pauillac.inria.fr/~ddr/camlp5/;
+    license = stdenv.lib.licenses.bsd3;
     platforms = ocaml.meta.platforms;
     maintainers = [
       stdenv.lib.maintainers.z77z
diff --git a/pkgs/development/tools/parsing/happy/1.18.10.nix b/pkgs/development/tools/parsing/happy/1.18.10.nix
new file mode 100644
index 000000000000..d342d3381c82
--- /dev/null
+++ b/pkgs/development/tools/parsing/happy/1.18.10.nix
@@ -0,0 +1,18 @@
+{ cabal, mtl, perl }:
+
+cabal.mkDerivation (self: {
+  pname = "happy";
+  version = "1.18.10";
+  sha256 = "0jq6p5vvdh4wbam80q2d6j2fa6bmbgnbmqk1w9904x06g7vj1jf1";
+  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 ];
+  };
+})
diff --git a/pkgs/development/web/nodejs/build-node-package.nix b/pkgs/development/web/nodejs/build-node-package.nix
index 981367091704..95d10db167f1 100644
--- a/pkgs/development/web/nodejs/build-node-package.nix
+++ b/pkgs/development/web/nodejs/build-node-package.nix
@@ -1,7 +1,16 @@
-{ stdenv, nodejs }:
+{ stdenv, runCommand, nodejs, neededNatives}:
 
-args @ { src, deps, ... }:
+args @ { src, deps ? [], flags ? [], ... }:
 
+with stdenv.lib;
+
+let npmFlags = concatStringsSep " " (map (v: "--${v}") flags);
+    sources = runCommand "node-sources" {} ''
+      tar xf ${nodejs.src}
+      mv *node* $out
+    '';
+
+in
 stdenv.mkDerivation ({
   unpackPhase = "true";
 
@@ -17,10 +26,12 @@ stdenv.mkDerivation ({
 
   buildPhase = ''
     runHook preBuild
-    ${nodejs}/bin/npm --registry http://www.example.com install ${src}    
+    ${nodejs}/bin/npm --registry http://www.example.com --nodedir=${sources} install ${src} ${npmFlags}
     runHook postBuild
   '';
 
+  buildNativeInputs = neededNatives;
+
   installPhase = ''
     runHook preInstall
     mkdir $out
diff --git a/pkgs/development/web/nodejs/default.nix b/pkgs/development/web/nodejs/default.nix
index 75e0df0e89e4..6a654b3b78da 100644
--- a/pkgs/development/web/nodejs/default.nix
+++ b/pkgs/development/web/nodejs/default.nix
@@ -1,21 +1,12 @@
-{ stdenv, fetchurl, openssl, python, zlib, v8, linkV8Headers ? false, utillinux }:
-
-let
-
-  espipe_patch = fetchurl {
-    url = https://github.com/joyent/libuv/commit/0ac2fdc55455794e057e4999a2e785ca8fbfb1b2.patch;
-    sha256 = "0mqgbsz23b3zp19dwk12ys14b031hssmlp40dylb7psj937qcpzi";
-  };
-
-in
+{ stdenv, fetchurl, openssl, python, zlib, v8, utillinux }:
 
 stdenv.mkDerivation rec {
-  version = "0.8.8";
+  version = "0.8.12";
   name = "nodejs-${version}";
 
   src = fetchurl {
     url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.gz";
-    sha256 = "0cri5r191l5pw8a8pf3gs7hfjm3rrz6kdnm3l8wghmp9p12p0aq9";
+    sha256 = "0igsz9g3hmxcnn685v4k8p6d2vv6cmh9sdz5pl8rlhglp0m7yjnn";
   };
 
   configureFlags = [
@@ -30,15 +21,11 @@ stdenv.mkDerivation rec {
 
   prePatch = ''
     sed -e 's|^#!/usr/bin/env python$|#!${python}/bin/python|g' -i tools/{*.py,waf-light,node-waf} configure
-    pushd deps/uv
-    patch -p 1 < ${espipe_patch}
-    popd
   '';
 
   postInstall = ''
+
     sed -e 's|^#!/usr/bin/env node$|#!'$out'/bin/node|' -i $out/lib/node_modules/npm/bin/npm-cli.js
-  '' + stdenv.lib.optionalString linkV8Headers '' # helps binary npms
-    ln -s ${v8}/include/* $out/include
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     install_name_tool -change libv8.dylib ${v8}/lib/libv8.dylib $out/bin/node
   '';
diff --git a/pkgs/games/fsg/default.nix b/pkgs/games/fsg/default.nix
index b2210141f574..7a9dc1105408 100644
--- a/pkgs/games/fsg/default.nix
+++ b/pkgs/games/fsg/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
   installPhase = ''
     mkdir -p $out/bin $out/libexec
     cp sand $out/libexec
-    echo -e '#! /bin/sh\nLC_ALL=C '$out'/libexec/sand "$@"' >$out/bin/fsg
+    echo -e '#!${stdenv.shell}\nLC_ALL=C '$out'/libexec/sand "$@"' >$out/bin/fsg
     chmod a+x $out/bin/fsg
   '';
 
diff --git a/pkgs/games/oilrush/default.nix b/pkgs/games/oilrush/default.nix
index 4605f04e3ae5..339c3bbd1a84 100644
--- a/pkgs/games/oilrush/default.nix
+++ b/pkgs/games/oilrush/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, getConfig, fetchurl, libX11, libXext, libXinerama, libXrandr
+{ stdenv, config, fetchurl, libX11, libXext, libXinerama, libXrandr
 , libXrender, fontconfig, freetype, openal }:
+
 stdenv.mkDerivation {
   name = "oilrush";
   src = 
   let
-    url = getConfig [ "oilrush" "url" ] null;
-    sha256 = getConfig [ "oilrush" "sha256" ] null;
+    url = config.oilrush.url or null;
+    sha256 = config.oilrush.sha256 or null;
   in
     assert url != null && sha256 != null;
     fetchurl { inherit url sha256; };
diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix
index 66c296b487ad..616adf002243 100644
--- a/pkgs/games/openttd/default.nix
+++ b/pkgs/games/openttd/default.nix
@@ -1,22 +1,42 @@
-{stdenv, fetchurl, SDL, libpng, zlib}:
+{stdenv, fetchurl, pkgconfig, SDL, libpng, zlib, xz, freetype, fontconfig}:
 
 stdenv.mkDerivation rec {
   name = "openttd-${version}";
-  version = "0.6.0";
+  version = "1.2.2";
 
   src = fetchurl {
-    url = "mirror://sf/openttd/${name}-source.tar.bz2";
-    md5 = "dcf63687c73ff56887049fedaf6c6019";
+    url = "http://binaries.openttd.org/releases/${version}/${name}-source.tar.xz";
+    sha256 = "158znfx389bhs9gd2hadnbc2a32z4ma1vz8704cmw9yh0fmhbcap";
   };
 
-  buildInputs = [SDL libpng];
+  buildInputs = [SDL libpng pkgconfig xz zlib freetype fontconfig];
   prefixKey = "--prefix-dir=";
-  configureFlags = "--with-zlib=${zlib}/lib/libz.a";
+
+  configureFlags = ''
+    --with-zlib=${zlib}/lib/libz.a 
+    --without-liblzo2
+  '';
+
   makeFlags = "INSTALL_PERSONAL_DIR=";
 
+  postInstall = ''
+    mv $out/games/ $out/bin
+  '';
+
   meta = {
     description = ''OpenTTD is an open source clone of the Microprose game "Transport Tycoon Deluxe".'';
+    longDescription = ''
+      OpenTTD is a transportation economics simulator. In single player mode,
+      players controll a transportation business, and use rail, road, sea, and air
+      transport to move goods and people around the simulated world. 
+
+      In multiplayer networked mode, players may:
+        - play competitively as different businesses
+        - play cooperatively controling the same business
+        - observe as spectators
+    '';
     homepage = http://www.openttd.org/;
     license = "GPLv2";
+    maintainers = with stdenv.lib.maintainers; [ jcumming ];
   };
 }
diff --git a/pkgs/games/rili/default.nix b/pkgs/games/rili/default.nix
new file mode 100644
index 000000000000..934213279fad
--- /dev/null
+++ b/pkgs/games/rili/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, SDL_mixer, SDL, autoconf, automake}:
+
+stdenv.mkDerivation {
+  name = "ri_li-2.0.1"; 
+  
+  src = fetchurl {
+    url = mirror://sourceforge/ri-li/Ri-li-2.0.1.tar.bz2;
+    sha256 = "f71ccc20c37c601358d963e087ac0d524de8c68e96df09c3aac1ae65edd38dbd";
+  };
+
+  patches = [ ./moderinze_cpp.patch ];
+
+  preConfigure = ''
+    export CPPFLAGS="-I${SDL}/include -I${SDL}/include/SDL -I${SDL_mixer}/include"
+    autoreconf -i
+  '';
+  
+  buildInputs = [SDL SDL_mixer autoconf automake];
+  
+  meta = {
+    homepage = http://ri-li.sourceforge.net;
+    license = "GPL2+";
+    description = "A children's train game";
+    longDescription = ''
+     Ri-li is an arcade game licensed under the GPL (General Public License).
+You drive a toy wood engine in many levels and you must collect all the coaches
+to win.
+    '';
+    maintainers = with stdenv.lib.maintainers; [ jcumming ];
+  };
+}
diff --git a/pkgs/games/rili/moderinze_cpp.patch b/pkgs/games/rili/moderinze_cpp.patch
new file mode 100644
index 000000000000..3d076afb39e3
--- /dev/null
+++ b/pkgs/games/rili/moderinze_cpp.patch
@@ -0,0 +1,391 @@
+diff -r -u Ri-li-2.0.1.orig/src/audio.cc Ri-li-2.0.1/src/audio.cc
+--- Ri-li-2.0.1.orig/src/audio.cc	2012-01-22 00:40:56.928609371 -0800
++++ Ri-li-2.0.1/src/audio.cc	2012-01-22 00:28:33.360636539 -0800
+@@ -22,8 +22,8 @@
+ //    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ 
+ #include <stdlib.h>
+-#include <iostream.h>
+-#include <string.h>
++#include <iostream>
++#include <string>
+ 
+ #include "audio.h"
+ #include "utils.h"
+@@ -57,7 +57,7 @@
+   char PathFile[512];
+ 
+   if(Mix_OpenAudio(22050,AUDIO_S16,1,1024)) {
+-    cerr <<"Enable to init Sound card ! "<<SDL_GetError()<<endl;
++    std::cerr <<"Enable to init Sound card ! "<<SDL_GetError()<<std::endl;
+     return false;
+   }
+   
+diff -r -u Ri-li-2.0.1.orig/src/ecran.cc Ri-li-2.0.1/src/ecran.cc
+--- Ri-li-2.0.1.orig/src/ecran.cc	2007-11-02 04:48:16.000000000 -0700
++++ Ri-li-2.0.1/src/ecran.cc	2012-01-22 00:13:54.422798653 -0800
+@@ -21,7 +21,7 @@
+ //    with this program; if not, write to the Free Software Foundation, Inc.,
+ //    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ 
+-#include <iostream.h>
++#include <iostream>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <math.h>
+diff -r -u Ri-li-2.0.1.orig/src/editeur.cc Ri-li-2.0.1/src/editeur.cc
+--- Ri-li-2.0.1.orig/src/editeur.cc	2007-11-02 04:48:17.000000000 -0700
++++ Ri-li-2.0.1/src/editeur.cc	2012-01-22 00:28:59.632635579 -0800
+@@ -25,10 +25,10 @@
+ #include <windows.h>
+ #endif
+ 
+-#include <iostream.h>
++#include <iostream>
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <string.h>
++#include <string>
+ #include <math.h>
+ #include <SDL/SDL.h>
+ 
+@@ -374,7 +374,7 @@
+     
+     // Sauve le niveau
+     if(Niveau.Save()==false) {
+-      cerr <<"ERREUR Saving levels!"<<endl;
++      std::cerr <<"ERREUR Saving levels!"<<std::endl;
+       exit(-1);
+     }
+     
+diff -r -u Ri-li-2.0.1.orig/src/jeux.cc Ri-li-2.0.1/src/jeux.cc
+--- Ri-li-2.0.1.orig/src/jeux.cc	2007-11-02 04:48:17.000000000 -0700
++++ Ri-li-2.0.1/src/jeux.cc	2012-01-22 00:14:08.422798143 -0800
+@@ -25,10 +25,10 @@
+ #include <windows.h>
+ #endif
+ 
+-#include <iostream.h>
++#include <iostream>
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <string.h>
++#include <string>
+ #include <math.h>
+ #include <SDL/SDL.h>
+ 
+diff -r -u Ri-li-2.0.1.orig/src/loco.cc Ri-li-2.0.1/src/loco.cc
+--- Ri-li-2.0.1.orig/src/loco.cc	2007-11-02 04:48:18.000000000 -0700
++++ Ri-li-2.0.1/src/loco.cc	2012-01-22 00:14:17.878797797 -0800
+@@ -21,10 +21,10 @@
+ //    with this program; if not, write to the Free Software Foundation, Inc.,
+ //    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ 
+-#include <iostream.h>
++#include <iostream>
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <string.h>
++#include <string>
+ #include <math.h>
+ #include "preference.h"
+ #include "loco.h"
+diff -r -u Ri-li-2.0.1.orig/src/main.cc Ri-li-2.0.1/src/main.cc
+--- Ri-li-2.0.1.orig/src/main.cc	2007-11-02 04:48:19.000000000 -0700
++++ Ri-li-2.0.1/src/main.cc	2012-01-22 00:29:40.080634136 -0800
+@@ -23,8 +23,8 @@
+ 
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <iostream.h>
+-#include <string.h>
++#include <iostream>
++#include <string>
+ #include <SDL/SDL.h>
+ #include <SDL/SDL_mixer.h>
+ 
+@@ -115,7 +115,7 @@
+  
+   // Initilise SDL
+   if( SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER|SDL_INIT_AUDIO|SDL_INIT_NOPARACHUTE) < 0 ) {
+-    cerr <<"Impossible d'initialiser SDL:"<<SDL_GetError()<<endl;
++    std::cerr <<"Impossible d'initialiser SDL:"<<SDL_GetError()<<std::endl;
+     exit(-1);
+   }
+   // Ferme le programme correctement quant quit
+@@ -125,7 +125,7 @@
+   sdlVideoInfo=(SDL_VideoInfo*)SDL_GetVideoInfo();
+ 
+   if(sdlVideoInfo->vfmt->BitsPerPixel==8) {
+-    cerr <<"Impossible d'utiliser 8bits pour la vidéo !"<<endl;
++    std::cerr <<"Impossible d'utiliser 8bits pour la vidéo !"<<std::endl;
+     exit(-1);
+   }
+   
+@@ -145,7 +145,7 @@
+   sdlVideo=SDL_SetVideoMode(800,600,sdlVideoInfo->vfmt->BitsPerPixel,vOption);
+ 
+   if(sdlVideo==NULL) {
+-    cerr <<"Impossible de passer dans le mode vidéo 800x600 !"<<endl;
++    std::cerr <<"Impossible de passer dans le mode vidéo 800x600 !"<<std::endl;
+     exit(-1);
+   }
+   // Change le nom de la fenetre
+diff -r -u Ri-li-2.0.1.orig/src/menu.cc Ri-li-2.0.1/src/menu.cc
+--- Ri-li-2.0.1.orig/src/menu.cc	2007-11-02 04:48:19.000000000 -0700
++++ Ri-li-2.0.1/src/menu.cc	2012-01-22 00:30:04.752633198 -0800
+@@ -21,10 +21,10 @@
+ //    with this program; if not, write to the Free Software Foundation, Inc.,
+ //    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ 
+-#include <iostream.h>
++#include <iostream>
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <string.h>
++#include <string>
+ #include "preference.h"
+ #include "menu.h"
+ #include "sprite.h"
+@@ -92,7 +92,7 @@
+   // Teste la resolution video
+   sdlVideoInfo=(SDL_VideoInfo*)SDL_GetVideoInfo();
+   if(sdlVideoInfo->vfmt->BitsPerPixel==8) {
+-    cerr <<"Impossible d'utiliser 8bits pour la vidéo !"<<endl;
++    std::cerr <<"Impossible d'utiliser 8bits pour la vidéo !"<<std::endl;
+     exit(-1);
+   }
+   
+@@ -112,7 +112,7 @@
+   if(Pref.FullScreen) vOption|=SDL_FULLSCREEN;
+   sdlVideo=SDL_SetVideoMode(800,600,sdlVideoInfo->vfmt->BitsPerPixel,vOption);
+   if(sdlVideo==NULL) {
+-    cerr <<"Impossible de passer dans le mode vidéo 800x600 !"<<endl;
++    std::cerr <<"Impossible de passer dans le mode vidéo 800x600 !"<<std::endl;
+     exit(-1);
+   }
+   
+diff -r -u Ri-li-2.0.1.orig/src/mouse.cc Ri-li-2.0.1/src/mouse.cc
+--- Ri-li-2.0.1.orig/src/mouse.cc	2007-11-02 04:48:20.000000000 -0700
++++ Ri-li-2.0.1/src/mouse.cc	2012-01-22 00:14:36.438797120 -0800
+@@ -21,7 +21,7 @@
+ //    with this program; if not, write to the Free Software Foundation, Inc.,
+ //    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ 
+-#include <iostream.h>
++#include <iostream>
+ #include <stdio.h>
+ #include "mouse.h"
+ #include "preference.h"
+diff -r -u Ri-li-2.0.1.orig/src/sprite.cc Ri-li-2.0.1/src/sprite.cc
+--- Ri-li-2.0.1.orig/src/sprite.cc	2007-11-02 04:48:20.000000000 -0700
++++ Ri-li-2.0.1/src/sprite.cc	2012-01-22 00:30:43.640631779 -0800
+@@ -21,10 +21,10 @@
+ //    with this program; if not, write to the Free Software Foundation, Inc.,
+ //    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ 
+-#include <iostream.h>
++#include <iostream>
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <string.h>
++#include <string>
+ #include <math.h>
+ #include "sprite.h"
+ #include "preference.h"
+@@ -84,7 +84,7 @@
+   strcpy(PathFile,Langue[Pref.Langue]);
+   GetPath(PathFile);
+   if(FileExiste(PathFile)==false) {
+-    cerr <<"Impossible de trouver "<<Langue[Pref.Langue]<<endl;
++    std::cerr <<"Impossible de trouver "<<Langue[Pref.Langue]<<std::endl;
+     return false;
+   }
+   L=ChargeFichier(PathFile,Buf);
+@@ -128,7 +128,7 @@
+   // *** Charge le fichier des langues ***
+   // *************************************
+   if(FileExiste(PathFile)==false) {
+-    cerr <<"Impossible de trouver 'language.dat'"<<endl;
++    std::cerr <<"Impossible de trouver 'language.dat'"<<std::endl;
+     return false;
+   }
+   L=ChargeFichier(PathFile,Buf);
+@@ -163,7 +163,7 @@
+   strcpy(PathFile,"sprites.dat");
+   GetPath(PathFile);
+   if(FileExiste(PathFile)==false) {
+-    cerr <<"Impossible de trouver 'sprites.dat'"<<endl;
++    std::cerr <<"Impossible de trouver 'sprites.dat'"<<std::endl;
+     return false;
+   }
+   L=ChargeFichier(PathFile,Buf);
+@@ -352,7 +352,7 @@
+     Image[i]=SDL_CreateRGBSurface((Dim[i].bpp-3)*SDL_SRCALPHA,Dim[i].L,Dim[i].H,Dim[i].bpp*8,
+ 				  0xff,0xff00,0xff0000,0xff000000*(Dim[i].bpp-3));
+     if(Image[i]<=NULL) {
+-      cerr <<"Impossible de créer une Surface SDL!"<<endl;
++      std::cerr <<"Impossible de créer une Surface SDL!"<<std::endl;
+       return false;
+     }
+     
+@@ -486,7 +486,7 @@
+   Image[0]=SDL_CreateRGBSurface((Dim[0].bpp-3)*SDL_SRCALPHA,Dim[0].L,Dim[0].H,Dim[0].bpp*8,
+ 				0xff,0xff00,0xff0000,0xff000000*(Dim[0].bpp-3));
+   if(Image[0]<=NULL) {
+-    cerr <<"Impossible de créer une Surface SDL!"<<endl;
++    std::cerr <<"Impossible de créer une Surface SDL!"<<std::endl;
+     return false;
+   }
+   return true;
+diff -r -u Ri-li-2.0.1.orig/src/tableau.cc Ri-li-2.0.1/src/tableau.cc
+--- Ri-li-2.0.1.orig/src/tableau.cc	2007-11-02 04:48:21.000000000 -0700
++++ Ri-li-2.0.1/src/tableau.cc	2012-01-22 00:14:50.710796598 -0800
+@@ -21,7 +21,7 @@
+ //    with this program; if not, write to the Free Software Foundation, Inc.,
+ //    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ 
+-#include <iostream.h>
++#include <iostream>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include "preference.h"
+diff -r -u Ri-li-2.0.1.orig/src/utils.cc Ri-li-2.0.1/src/utils.cc
+--- Ri-li-2.0.1.orig/src/utils.cc	2007-11-02 04:48:22.000000000 -0700
++++ Ri-li-2.0.1/src/utils.cc	2012-01-22 00:31:30.944630051 -0800
+@@ -21,10 +21,10 @@
+ //    with this program; if not, write to the Free Software Foundation, Inc.,
+ //    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ 
+-#include <iostream.h>
++#include <iostream>
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <string.h>
++#include <string>
+ 
+ #ifdef WINDOWS
+ #include <windows.h>
+@@ -77,7 +77,7 @@
+ 
+   file=fopen(Path,"r");
+   if(!file) {
+-    cerr <<"ERREUR: Impossible d'ouvrir '"<<Path<<"'"<<endl;
++    std::cerr <<"ERREUR: Impossible d'ouvrir '"<<Path<<"'"<<std::endl;
+     perror("fopen");
+     return -1;
+   }
+@@ -93,7 +93,7 @@
+ 
+   Buf=new unsigned char [L+1];
+   if(Buf==NULL) {
+-    cerr <<"ERREUR: Memoire insuffisante!"<<endl;
++    std::cerr <<"ERREUR: Memoire insuffisante!"<<std::endl;
+     fclose(file);
+     return -1;
+   }
+@@ -104,7 +104,7 @@
+   while(Compt>1024) {
+     AfficheChargeur();
+     if( fread(Po,1,1024,file) != 1024 ) {
+-      cerr <<"ERREUR de lecture du fichier '"<<Path<<"'"<<endl;
++      std::cerr <<"ERREUR de lecture du fichier '"<<Path<<"'"<<std::endl;
+       perror("fread");
+       fclose(file);
+       delete [] Buf;
+@@ -131,13 +131,13 @@
+ 
+   file=_lopen(Path,OF_READ);
+   if(file==-1) {
+-    cerr <<"Impossible d'ouvrir "<<Path<<endl;
++    std::cerr <<"Impossible d'ouvrir "<<Path<<std::endl;
+     exit(-1);
+   }
+   
+   long L=(long)_llseek(file,0,SEEK_END);
+   if(L==-1) {
+-    cerr <<"Impossible de trouver la longueur du fichier"<<endl;
++    std::cerr <<"Impossible de trouver la longueur du fichier"<<std::endl;
+     perror("lseek");
+     _lclose(file);
+     return -1;
+@@ -146,7 +146,7 @@
+   
+   Buf=new unsigned char [L+1];
+   if(Buf==NULL) {
+-    cerr <<"ERREUR: Memoire insuffisante!"<<endl;
++    std::cerr <<"ERREUR: Memoire insuffisante!"<<std::endl;
+     _lclose(file);
+     return -1;
+   }
+@@ -169,14 +169,14 @@
+   
+   file=fopen(Path,"w");
+   if(!file) {
+-    cerr <<"ERREUR: Impossible d'ouvrir '"<<Path<<"'"<<endl;
++    std::cerr <<"ERREUR: Impossible d'ouvrir '"<<Path<<"'"<<std::endl;
+     perror("fopen");
+     return false;
+   }
+   
+   while(L>512) {
+     if( fwrite(Buf,1,512,file) != 512 ) {
+-      cerr <<"ERREUR d'ecriture du fichier '"<<Path<<"'"<<endl;
++      std::cerr <<"ERREUR d'ecriture du fichier '"<<Path<<"'"<<std::endl;
+       perror("fwrite");
+       fclose(file);
+       return false;
+@@ -187,7 +187,7 @@
+ 
+   if(L>0) {
+     if( fwrite(Buf,1,(size_t)L,file) != (size_t)L ) {
+-      cerr <<"ERREUR d'ecriture du fichier '"<<Path<<"'"<<endl;
++      std::cerr <<"ERREUR d'ecriture du fichier '"<<Path<<"'"<<std::endl;
+       perror("fwrite");
+       fclose(file);
+       return false;
+@@ -208,7 +208,7 @@
+ 
+   file=_lcreat(Path,0);
+   if(!file) {
+-    cerr <<"ERREUR: Impossible de créer le fichier '"<<Path<<"'"<<endl;
++    std::cerr <<"ERREUR: Impossible de créer le fichier '"<<Path<<"'"<<std::endl;
+     return false;
+   }
+   
+@@ -216,7 +216,7 @@
+   _lclose(file);
+ 
+   if(Lec!=L) {
+-    cerr <<"Problème d'ecriture du fichier '"<<Path<<"' ecris="<<Lec<<" au lieux de ="<<L<<endl;
++    std::cerr <<"Problème d'ecriture du fichier '"<<Path<<"' ecris="<<Lec<<" au lieux de ="<<L<<std::endl;
+     return false;
+   }
+ 
+@@ -250,7 +250,7 @@
+   sprintf(Path,"/usr/share/games/Ri-li/%s",Provi);
+   if(FileExiste(Path)) return;
+   
+-  cerr <<"Impossible de trouver le fichier '"<<Provi<<endl;
++  std::cerr <<"Impossible de trouver le fichier '"<<Provi<<std::endl;
+   exit(-1);
+ }
+ #endif
+@@ -266,7 +266,7 @@
+   sprintf(Path,"PROGDIR:%s",Provi);
+   if(FileExiste(Path)) return;
+   
+-  cerr <<"Impossible de trouver le fichier '"<<Path<<endl;
++  std::cerr <<"Impossible de trouver le fichier '"<<Path<<std::endl;
+   exit(-1);
+ }
+ #endif
+@@ -282,7 +282,7 @@
+   sprintf(Path,"Ri-li.app/Contents/Resources/%s",Provi);
+   if(FileExiste(Path)) return;
+   
+-  cerr <<"Impossible de trouver le fichier '"<<Path<<endl;
++  std::cerr <<"Impossible de trouver le fichier '"<<Path<<std::endl;
+   exit(-1);
+ }
+ #endif
diff --git a/pkgs/games/sgt-puzzles/default.nix b/pkgs/games/sgt-puzzles/default.nix
index 83d012d35f12..b8043525719a 100644
--- a/pkgs/games/sgt-puzzles/default.nix
+++ b/pkgs/games/sgt-puzzles/default.nix
@@ -10,8 +10,8 @@ in
 rec {
   src = fetchsvn {
    url = svn://svn.tartarus.org/sgt/puzzles;
-   rev = "9437";
-   sha256 = "4820ce1e54e017a64dd9cb8991c020d0628329605a37af2a99b78bffbde43e85";
+   rev = "9689";
+   sha256 = "33285a971fee67324f8867de22582931135d8b8ee4cc2c41c46c3ba81eb99cb7";
   } + "/";
 
   inherit buildInputs;
@@ -27,6 +27,7 @@ rec {
 
   setVars = a.noDepEntry ''
     export NIX_LDFLAGS="$NIX_LDFLAGS -lX11"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error=variadic-macros"
   '';
 
   /* doConfigure should be removed if not needed */
diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix
index 09eb41f7267f..3cb79e946311 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.88.0";
+  version = "0.91.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/springrts/spring_88.0_src.tar.lzma";
-    sha256 = "f203114b849a83795fe2d413d01c843b6f5b50df0832ce570bc476502f89e6fa";
+    url = "mirror://sourceforge/springrts/spring_91.0_src.tar.lzma";
+    sha256 = "0ycn9yxpbw58a8p3j3wf3r0x102k665l27bfp1vxq7kpwlk6314l";
   };
 
   buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL
diff --git a/pkgs/games/the-butterfly-effect/default.nix b/pkgs/games/the-butterfly-effect/default.nix
index 5fc5e9be84e8..979fcd1a48c3 100644
--- a/pkgs/games/the-butterfly-effect/default.nix
+++ b/pkgs/games/the-butterfly-effect/default.nix
@@ -41,7 +41,7 @@ rec {
     mkdir -p "$out/share/tbe"
     cp -r . "$out/share/tbe/build-dir"
     mkdir -p "$out/bin"
-    echo '#! /bin/sh' >> "$out/bin/tbe"
+    echo '#!${a.stdenv.shell}' >> "$out/bin/tbe"
     echo "$out/share/tbe/build-dir/tbe \"\$@\"" >> "$out/bin/tbe"
     chmod a+x "$out/bin/tbe"
   '' ["minInit" "doMake" "defEnsureDir"];
diff --git a/pkgs/games/uqm/default.nix b/pkgs/games/uqm/default.nix
new file mode 100644
index 000000000000..6e67ce660f14
--- /dev/null
+++ b/pkgs/games/uqm/default.nix
@@ -0,0 +1,78 @@
+{stdenv, fetchurl 
+, pkgconfig, mesa
+, SDL, SDL_image, libpng, zlib, libvorbis, libogg, libmikmod, unzip
+}:
+
+stdenv.mkDerivation rec {
+  name = "uqm-${version}";
+  version = "0.7.0";
+
+  src = fetchurl {
+    url = "mirror://sf/sc2/uqm-${version}-source.tgz";
+    sha256 = "a3695c5f7f0be7ec9c0f80ec569907b382023a1fee6e635532bd53b7b53bb221";
+  };
+
+  content = fetchurl {
+    url = "mirror://sf/sc2/uqm-${version}-content.uqm";
+    sha256 = "b8f6db8ba29f0628fb1d5c233830896b19f441aee3744bda671ea264b44da3bf";
+  };
+
+  voice = fetchurl {
+    url = "mirror://sf/sc2/uqm-${version}-voice.uqm";
+    sha256 = "bcccf801b4ba37594ff6217b292744ea586ee2d447e927804842ccae8b73c979";
+  };
+
+  music = fetchurl {
+    url = "mirror://sf/sc2/uqm-${version}-3domusic.uqm";
+    sha256 = "c57085e64dad4bddf8a679a9aa2adf63f2156d5f6cbabe63af80519033dbcb82";
+  };
+
+
+ /* uses pthread_cancel(), which requires libgcc_s.so.1 to be
+    loadable at run-time. Adding the flag below ensures that the
+    library can be found. Obviously, though, this is a hack. */
+  NIX_LDFLAGS="-lgcc_s";
+
+  buildInputs = [SDL SDL_image libpng libvorbis libogg libmikmod unzip pkgconfig mesa];
+
+  postUnpack = ''
+    mkdir -p uqm-${version}/content/packages
+    mkdir -p uqm-${version}/content/addons
+    cp $content uqm-${version}/content/packages/uqm-0.7.0-content.uqm
+    cp $music uqm-${version}/content/addons/uqm-0.7.0-3domusic.uqm
+    cp $voice uqm-${version}/content/addons/uqm-0.7.0-voice.uqm
+    '';
+
+  /* uqm has a 'unique' build system with a root script incidentally called
+ * 'build.sh'. */
+
+  configurePhase = ''
+    echo "INPUT_install_prefix_VALUE='$out'" >> config.state
+    echo "INPUT_install_bindir_VALUE='$out/bin'" >> config.state
+    echo "INPUT_install_libdir_VALUE='$out/lib'" >> config.state
+    echo "INPUT_install_sharedir_VALUE='$out/share'" >> config.state
+    PREFIX=$out ./build.sh uqm config
+    ''; 
+
+  buildPhase = ''
+    ./build.sh uqm
+    '';
+
+  installPhase = ''
+    ./build.sh uqm install
+    sed -i $out/bin/uqm -e "s%/usr/local/games/%$out%g"
+    '';
+
+  meta = {
+    description = "Remake of Star Control II";
+    longDescription = ''
+    The goals for the The Ur-Quan Masters project are:
+      - to bring Star Control II to modern platforms, thereby making a lot of people happy
+      - to make game translations easy, thereby making even more people happy
+      - to adapt the code so that people can more easily make their own spin-offs, thereby making zillions more people happy!
+    '';
+    homepage = http://sc2.sourceforge.net/;
+    license = "GPLv2";
+    maintainers = with stdenv.lib.maintainers; [ jcumming ];
+  };
+}
diff --git a/pkgs/games/warsow/default.nix b/pkgs/games/warsow/default.nix
index c584319bdc9b..66c33842b89e 100644
--- a/pkgs/games/warsow/default.nix
+++ b/pkgs/games/warsow/default.nix
@@ -1,32 +1,33 @@
-{ stdenv, fetchurl, unzip, pkgconfig, zlib, curl, libjpeg, libvorbis
-, libXxf86dga, libXxf86vm, libXinerama, SDL, mesa, openal
+{ stdenv, fetchurl, unzip, pkgconfig, zlib, curl, libjpeg, libpng, libvorbis
+, libtheora, libXxf86dga, libXxf86vm, libXinerama, SDL, mesa, openal
 }:
 stdenv.mkDerivation rec {
   name = "warsow-${version}";
-  version = "0.62";
-  mversion = "0.61";  # sometimes only engine is updated
+  version = "1.0";
+  mversion = "1.0";  # sometimes only engine is updated
   src1 = fetchurl {
-    url = "http://www.zcdn.org/dl/warsow_${version}_sdk.zip";
-    sha256 = "0nb1z55lzmwarnn71dcyg9b3k7r7wxagqxks8a7rnlq7acsnra71";
+    url = "http://www.warsow.net/download?dl=sdk";
+    name = "warsow_${version}_sdk.tar.gz";
+    sha256 = "08hfhx3ggb8v8lsb62ki5rhdhscg8j9sndlnllinf85da1f4nf9f";
   };
   src2 = fetchurl {
-    url = "http://www.zcdn.org/dl/warsow_${mversion}_unified.zip";
-    sha256 = "1b5bv4dsly7i7c4fqlkckv4da1knxl9m3kg8nlgkgr8waczgvazv";
+    url = "http://www.warsow.net/download?dl=linux";
+    name = "warsow_${mversion}_unified.tar.gz";
+    sha256 = "1v455v4lpqda7lf2yviasdrlibvb6bsyxcadgl8bd4jcvr8x4czr";
   };
   unpackPhase = ''
-    mkdir warsow_${version}_sdk
+    tar xf "$src1"
     cd warsow_${version}_sdk
-    unzip $src1
-    unzip $src2
+    tar xf "$src2"
     mkdir -p source/release/
-    mv warsow_${mversion}_unified/basewsw source/release/
+    mv warsow_${mversion}/basewsw source/release/
     cd source
   '';
   patchPhase = ''
     substituteInPlace snd_openal/snd_main.c --replace libopenal.so.1 ${openal}/lib/libopenal.so.1
   '';
-  buildInputs = [ unzip pkgconfig zlib curl libjpeg libvorbis libXxf86dga
-                  libXxf86vm libXinerama SDL mesa openal ];
+  buildInputs = [ unzip pkgconfig zlib curl libjpeg libpng libvorbis libtheora
+                  libXxf86dga libXxf86vm libXinerama SDL mesa openal ];
   installPhase = ''
     dest=$out/opt/warsow
     cd release
diff --git a/pkgs/games/widelands/boost_and_cmake_die_die_die.patch b/pkgs/games/widelands/boost_and_cmake_die_die_die.patch
new file mode 100644
index 000000000000..f008be35e378
--- /dev/null
+++ b/pkgs/games/widelands/boost_and_cmake_die_die_die.patch
@@ -0,0 +1,11 @@
+--- widelands-build17-src.old/CMakeLists.txt	2012-04-23 02:46:49.000000000 -0700
++++ widelands-build17-src/CMakeLists.txt	2012-07-14 19:49:14.000000000 -0700
+@@ -140,8 +140,6 @@
+ else (WL_UNIT_TESTS)
+   message(STATUS "Disabled Unit Tests")
+   set (Boost_FIND_COMPONENTS signals)
+-  set (Boost_USE_STATIC_LIBS   ON)
+-  set (Boost_USE_MULTITHREADED ON)
+   set (Boost_DETAILED_FAILURE_MSG ON)
+   find_package(Boost 1.35.0 COMPONENTS signals REQUIRED)
+ endif (WL_UNIT_TESTS)
diff --git a/pkgs/games/widelands/default.nix b/pkgs/games/widelands/default.nix
index 74d1f87e0be8..45538acdca3e 100644
--- a/pkgs/games/widelands/default.nix
+++ b/pkgs/games/widelands/default.nix
@@ -13,11 +13,11 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="widelands";
-    version="build16";
+    version="build17";
     name="${baseName}-${version}";
     project="${baseName}";
-    url="http://launchpad.net/${project}/${version}/${version}/+download/${name}-src.tar.bz2";
-    hash="0pb2d73c6hynhp1x54rcfbibrrri7lyxjybd1hicn503qcakrnyq";
+    url="https://launchpadlibrarian.net/102893896/widelands-build17-src.tar.bz2";
+    hash="be48b3b8f342a537b39a3aec2f7702250a6a47e427188ba3bece67d7d90f3cc5";
   };
 in
 rec {
@@ -30,7 +30,9 @@ rec {
   inherit buildInputs;
 
   /* doConfigure should be removed if not needed */
-  phaseNames = ["killBuildDir" "doCmake" "doMakeInstall" "createScript"];
+  phaseNames = ["killBuildDir" "doPatch"  "doCmake" "doMakeInstall" "createScript"];
+
+  patches = [ ./boost_and_cmake_die_die_die.patch ]; 
       
   killBuildDir = a.fullDepEntry ''
     rm -r build
@@ -38,6 +40,7 @@ rec {
 
   cmakeFlags = [
     "-DLUA_LIBRARIES=-llua"
+    "-DWL_PORTABLE=true"
   ];
 
   createScript = a.fullDepEntry ''
@@ -50,9 +53,16 @@ rec {
 
   meta = {
     description = "Widelands RTS with multiple-goods economy";
+    longDescription = ''
+      Widelands is a real time strategy game based on "The Settlers" and "The
+      Settlers II". It has a single player campaign mode, as well as a networked
+      multiplayer mode. 
+    '';
+
     maintainers = with a.lib.maintainers;
     [
       raskin
+      jcumming
     ];
     platforms = with a.lib.platforms;
       linux;
diff --git a/pkgs/lib/attrsets.nix b/pkgs/lib/attrsets.nix
index 63448847a150..5e0ab6208651 100644
--- a/pkgs/lib/attrsets.nix
+++ b/pkgs/lib/attrsets.nix
@@ -24,7 +24,7 @@ rec {
       then attrByPath (tail attrPath) default (getAttr attr e)
       else default;
 
-      
+
   /* Return nested attribute set in which an attribute is set.  For instance
      ["x" "y"] applied with some value v returns `x.y = v;' */
   setAttrByPath = attrPath: value:
@@ -37,7 +37,7 @@ rec {
   getAttrFromPath = attrPath: set:
     let errorMsg = "cannot find attribute `" + concatStringsSep "." attrPath + "'";
     in attrByPath attrPath (abort errorMsg) set;
-      
+
 
   /* Return the specified attributes from a set.
 
@@ -79,6 +79,7 @@ rec {
   filterAttrs = pred: set:
     listToAttrs (fold (n: ys: let v = getAttr n set; in if pred n v then [(nameValuePair n v)] ++ ys else ys) [] (attrNames set));
 
+
   /* foldAttrs: apply fold functions to values grouped by key. Eg accumulate values as list:
      foldAttrs (n: a: [n] ++ a) [] [{ a = 2; } { a = 3; }]
      => { a = [ 2 3 ]; }
@@ -90,6 +91,7 @@ rec {
         ) a (attrNames n)
     ) {} list_of_attrs;
 
+
   /* Recursively collect sets that verify a given predicate named `pred'
      from the set `attrs'.  The recursion is stopped when the predicate is
      verified.
@@ -119,7 +121,7 @@ rec {
      builtins.listToAttrs. */
   nameValuePair = name: value: { inherit name value; };
 
-  
+
   /* Apply a function to each element in an attribute set.  The
      function takes two arguments --- the attribute name and its value
      --- and returns the new value for the attribute.  The result is a
@@ -137,7 +139,7 @@ rec {
   /* Like `mapAttrs', but allows the name of each attribute to be
      changed in addition to the value.  The applied function should
      return both the new name and value as a `nameValuePair'.
-     
+
      Example:
        mapAttrs' (name: value: nameValuePair ("foo_" + name) ("bar-" + value))
           { x = "a"; y = "b"; }
@@ -145,11 +147,11 @@ rec {
   */
   mapAttrs' = f: set:
     listToAttrs (map (attr: f attr (getAttr attr set)) (attrNames set));
-        
+
 
   /* Call a function for each attribute in the given set and return
      the result in a list.
-  
+
      Example:
        mapAttrsToList (name: value: name + value)
           { x = "a"; y = "b"; }
@@ -157,7 +159,7 @@ rec {
   */
   mapAttrsToList = f: attrs:
     map (name: f name (getAttr name attrs)) (attrNames attrs);
-    
+
 
   /* Like `mapAttrs', except that it recursively applies itself to
      attribute sets.  Also, the first argument of the argument
@@ -174,7 +176,7 @@ rec {
   */
   mapAttrsRecursive = mapAttrsRecursiveCond (as: true);
 
-  
+
   /* Like `mapAttrsRecursive', but it takes an additional predicate
      function that tells it whether to recursive into an attribute
      set.  If it returns false, `mapAttrsRecursiveCond' does not
@@ -258,7 +260,7 @@ rec {
 
        returns: {
          foo.bar = 1; # 'foo.*' from the second set
-         foo.quz = 2; # 
+         foo.quz = 2; #
          bar = 3;     # 'bar' from the first set
          baz = 4;     # 'baz' from the second set
        }
@@ -275,9 +277,9 @@ rec {
       );
     in f [] [rhs lhs];
 
-  /* Does the same as the update operator '//' and keep siblings attribute.
-     This recusion stop when one of the attribute value is not an attribute
-     set, in which case the right hand side value takes precedence over the
+  /* A recursive variant of the update operator ‘//’.  The recusion
+     stops when one of the attribute values is not an attribute set,
+     in which case the right hand side value takes precedence over the
      left hand side value.
 
      Example:
diff --git a/pkgs/lib/licenses.nix b/pkgs/lib/licenses.nix
index 87f9298706ed..e1743bddf697 100644
--- a/pkgs/lib/licenses.nix
+++ b/pkgs/lib/licenses.nix
@@ -34,6 +34,12 @@
     url = https://fedoraproject.org/wiki/Licensing/BSD;
   };
 
+  cddl = {
+    shortName = "CDDL";
+    fullName = "Common Development Distribution License ";
+    url = http://www.opensolaris.org/os/licensing/cddllicense.txt;
+  };
+
   cpl10 = {
     shortName = "CPL 1.0";
     fullName = "Common Public License version 1.0";
diff --git a/pkgs/lib/maintainers.nix b/pkgs/lib/maintainers.nix
index 127295a2feb5..4de3ff4237b3 100644
--- a/pkgs/lib/maintainers.nix
+++ b/pkgs/lib/maintainers.nix
@@ -10,6 +10,7 @@
   andres = "Andres Loeh <ksnixos@andres-loeh.de>";
   antono = "Antono Vasiljev <self@antono.info>";
   astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
+  bbenoist = "Baptist BENOIST <return_0@live.com>";
   bjg = "Brian Gough <bjg@gnu.org>";
   bluescreen303 = "Mathijs Kwik <mathijs@bluescreen303.nl>";
   chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
@@ -18,6 +19,7 @@
   garbas = "Rok Garbas <rok@garbas.si>";
   goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>";
   guibert = "David Guibert <david.guibert@gmail.com>";
+  jcumming = "Jack Cummings <jack@mudshark.org>";
   kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
   ludo = "Ludovic Courtès <ludo@gnu.org>";
   marcweber = "Marc Weber <marco-oweber@gmx.de>";
diff --git a/pkgs/lib/strings.nix b/pkgs/lib/strings.nix
index fb2752d97c19..19d1738182f4 100644
--- a/pkgs/lib/strings.nix
+++ b/pkgs/lib/strings.nix
@@ -155,4 +155,20 @@ rec {
   # Return true iff string v1 denotes a version older than v2.
   versionOlder = v1: v2: builtins.compareVersions v2 v1 == 1;
 
+
+  # Get the version of the specified derivation, as specified in its
+  # ‘name’ attribute.
+  getVersion = drv: (builtins.parseDrvName drv.name).version;
+
+
+  # Extract name with version from URL. Ask for separator which is 
+  # supposed to start extension
+  nameFromURL = url: sep: let
+    components = splitString "/" url;
+    filename = lib.last components;
+    name = builtins.head (splitString sep filename);
+  in
+  assert ! eqStrings name filename;
+  name;
+
 }
diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix
index bf4e4d1d7e51..f19298e7ccdd 100644
--- a/pkgs/misc/cups/default.nix
+++ b/pkgs/misc/cups/default.nix
@@ -1,9 +1,8 @@
 { stdenv, fetchurl, pkgconfig, zlib, libjpeg, libpng, libtiff, pam, openssl
-, dbus, libusb, acl }:
+, dbus, libusb1, acl }:
+
+let version = "1.5.4"; in
 
-let
-  version = "1.5.2";
-in
 stdenv.mkDerivation {
   name = "cups-${version}";
 
@@ -11,10 +10,10 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://ftp.easysw.com/pub/cups/${version}/cups-${version}-source.tar.bz2";
-    sha256 = "1yw7l5rq93zg91akqf68b871frrs4q0krc9cx43ly7v3ih8all5i";
+    md5 = "de3006e5cf1ee78a9c6145ce62c4e982";
   };
 
-  buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb ]
+  buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb1 ]
     ++ stdenv.lib.optionals stdenv.isLinux [ pam dbus acl ] ;
 
   propagatedBuildInputs = [ openssl ];
diff --git a/pkgs/misc/drivers/foomatic-filters/default.nix b/pkgs/misc/drivers/foomatic-filters/default.nix
index 867f4f440d54..ff03770014de 100644
--- a/pkgs/misc/drivers/foomatic-filters/default.nix
+++ b/pkgs/misc/drivers/foomatic-filters/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, perl, cups, coreutils, gnused }:
+{ stdenv, fetchurl, pkgconfig, perl, cups, dbus }:
 
 stdenv.mkDerivation rec {
-  name = "foomatic-filters-4.0.6";
+  name = "foomatic-filters-4.0.12";
 
   src = fetchurl {
     url = "http://www.openprinting.org/download/foomatic/${name}.tar.gz";
-    sha256 = "0wa9hlq7s99sh50kl6bj8j0vxrz7pcbwdnqs1yfjjhqshfh7hsav";
+    sha256 = "17w26r15094j4fqifa7f7i7jad4gsy9zdlq69kffrykcw31qx3q8";
   };
 
-  buildInputs = [ perl cups ];
+  buildInputs = [ pkgconfig perl cups dbus ];
 
   preConfigure =
     ''
diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix
index b35660daf5e2..c24bbaad1a57 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.5.10";
+  name = "wine-${meta.version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/wine/${name}.tar.bz2";
-    sha256 = "04wydwc8q49bw8brlklx2nbgr453lx7bbfass5zn88xbz997lppk";
+    sha256 = "05ac8qlpbiacn3gmwlafpppyl7r2grsym20gz163szsbmfzlqnxi";
   };
 
   gecko = fetchurl {
@@ -46,6 +46,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
+    version = "1.5.17";
     homepage = "http://www.winehq.org/";
     license = "LGPL";
     description = "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix";
diff --git a/pkgs/misc/emulators/wine/default.upstream b/pkgs/misc/emulators/wine/default.upstream
new file mode 100644
index 000000000000..a1e9fe05f408
--- /dev/null
+++ b/pkgs/misc/emulators/wine/default.upstream
@@ -0,0 +1,13 @@
+name wine
+url http://sourceforge.net/projects/wine/files/Source/
+version_link 'wine-[0-9.]+[.]tar[.][0-9a-z]+/download$'
+SF_redirect
+
+do_regenerate () {
+  set_var_value name "$CURRENT_NAME-"'${meta.version}'
+  set_var_value version "$CURRENT_VERSION"
+  set_var_value url 'mirror://sourceforge/wine/${name}.tar.bz2' 1
+  set_var_value sha256 "$CURRENT_HASH"
+  cat "$CURRENT_TARGET"
+}
+
diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix
index 7447421fc949..77d3c2f35ab9 100644
--- a/pkgs/misc/jackaudio/default.nix
+++ b/pkgs/misc/jackaudio/default.nix
@@ -9,7 +9,10 @@ stdenv.mkDerivation rec {
   version = "1.9.8";
 
   src = fetchurl {
-    url = "http://www.grame.fr/~letz/jack-1.9.8.tgz";
+    urls = [
+      "http://pkgs.fedoraproject.org/lookaside/pkgs/jack-audio-connection-kit/jack-1.9.8.tgz/1dd2ff054cab79dfc11d134756f27165/jack-1.9.8.tgz"
+      "http://www.grame.fr/~letz/jack-1.9.8.tgz"
+    ];
     sha256 = "0788092zxrivcfnfg15brpjkf14x8ma8cwjz4k0b9xdxajn2wwac";
   };
 
@@ -18,6 +21,8 @@ stdenv.mkDerivation rec {
       pkgconfig python pythonDBus
     ] ++ (stdenv.lib.optional firewireSupport ffado);
 
+  patches = ./ffado_setbuffsize-jack2.patch;
+
   configurePhase = ''
     cd jack-1.9.8
     python waf configure --prefix=$out --dbus --alsa ${if firewireSupport then "--firewire" else ""}
diff --git a/pkgs/misc/jackaudio/ffado_setbuffsize-jack2.patch b/pkgs/misc/jackaudio/ffado_setbuffsize-jack2.patch
new file mode 100644
index 000000000000..7771639280d8
--- /dev/null
+++ b/pkgs/misc/jackaudio/ffado_setbuffsize-jack2.patch
@@ -0,0 +1,140 @@
+https://projects.archlinux.org/svntogit/community.git/tree/trunk?h=packages/jack2
+
+From 96e0251234a29a1360c05d5d7dc98b83436b8183 Mon Sep 17 00:00:00 2001
+From: Adrian Knoth <adi@drcomp.erfurt.thur.de>
+Date: Sat, 17 Mar 2012 22:36:30 +0100
+Subject: [PATCH] [firewire] Allow FFADO backend to change the buffer size
+
+This is a port of Jonathan Woithe's patch from jackd1.
+With sufficiently recent versions of FFADO, it allows to change
+the buffersize at runtime.
+---
+ linux/firewire/JackFFADODriver.cpp |   65 ++++++++++++++++++++++++++++++++----
+ linux/firewire/JackFFADODriver.h   |    6 ++++
+ 2 files changed, 65 insertions(+), 6 deletions(-)
+
+diff --git a/jack-1.9.8/linux/firewire/JackFFADODriver.cpp b/jack-1.9.8/linux/firewire/JackFFADODriver.cpp
+index b33e1cd..085b78a 100644
+--- a/jack-1.9.8/linux/firewire/JackFFADODriver.cpp
++++ b/jack-1.9.8/linux/firewire/JackFFADODriver.cpp
+@@ -3,6 +3,7 @@
+ Copyright (C) 2004 Grame
+ Copyright (C) 2007 Pieter Palmers
+ Copyright (C) 2009 Devin Anderson
++Copyright (C) 2012 Jonathan Woithe, Adrian Knoth
+
+ 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
+@@ -48,7 +49,10 @@
+ namespace Jack
+ {
+
++// Basic functionality requires API version 8.  If version 9 or later
++// is present the buffers can be resized at runtime.
+ #define FIREWIRE_REQUIRED_FFADO_API_VERSION 8
++#define FIREWIRE_REQUIRED_FFADO_API_VERSION_FOR_SETBUFSIZE 9
+
+ #define jack_get_microseconds GetMicroSeconds
+
+@@ -281,19 +285,68 @@
+ int
+ JackFFADODriver::SetBufferSize (jack_nframes_t nframes)
+ {
+-    printError("Buffer size change requested but not supported!!!");
++    ffado_driver_t* driver = (ffado_driver_t*)fDriver;
++    signed int chn;
++
++    // The speed of this function isn't critical; we can afford the
++    // time to check the FFADO API version.
++    if (ffado_get_api_version() < FIREWIRE_REQUIRED_FFADO_API_VERSION_FOR_SETBUFSIZE ||
++		    ffado_streaming_set_period_size == NULL) {
++	    printError("unsupported on current version of FFADO; please upgrade FFADO");
++	    return -1;
++    }
+
+-    /*
+     driver->period_size = nframes;
+     driver->period_usecs =
+             (jack_time_t) floor ((((float) nframes) / driver->sample_rate)
+                                  * 1000000.0f);
+-    */
++
++
++    // Reallocate the null and scratch buffers.
++    driver->nullbuffer = (ffado_sample_t*) calloc(driver->period_size, sizeof(ffado_sample_t));
++    if(driver->nullbuffer == NULL) {
++	    printError("could not allocate memory for null buffer");
++	    return -1;
++    }
++    driver->scratchbuffer = (ffado_sample_t*) calloc(driver->period_size, sizeof(ffado_sample_t));
++    if(driver->scratchbuffer == NULL) {
++	    printError("could not allocate memory for scratch buffer");
++	    return -1;
++    }
++
++    // MIDI buffers need reallocating
++    for (chn = 0; chn < driver->capture_nchannels; chn++) {
++	    if(driver->capture_channels[chn].stream_type == ffado_stream_type_midi) {
++		    // setup the midi buffer
++		    if (driver->capture_channels[chn].midi_buffer != NULL)
++			    free(driver->capture_channels[chn].midi_buffer);
++		    driver->capture_channels[chn].midi_buffer = (ffado_sample_t*) calloc(driver->period_size, sizeof(uint32_t));
++	    }
++    }
++    for (chn = 0; chn < driver->playback_nchannels; chn++) {
++	    if(driver->playback_channels[chn].stream_type == ffado_stream_type_midi) {
++		    if (driver->playback_channels[chn].midi_buffer != NULL)
++			    free(driver->playback_channels[chn].midi_buffer);
++		    driver->playback_channels[chn].midi_buffer = (ffado_sample_t*) calloc(driver->period_size, sizeof(uint32_t));
++	    }
++    }
++
++    // Notify FFADO of the period size change
++    if (ffado_streaming_set_period_size(driver->dev, nframes) != 0) {
++	    printError("could not alter FFADO device period size");
++	    return -1;
++    }
++
++    // This is needed to give the shadow variables a chance to
++    // properly update to the changes.
++    sleep(1);
+
+     /* tell the engine to change its buffer size */
+-    //driver->engine->set_buffer_size (driver->engine, nframes);
++    JackAudioDriver::SetBufferSize(nframes);  // Generic change, never fails
+
+-    return -1; // unsupported
++    UpdateLatencies();
++
++    return 0;
+ }
+
+ typedef void (*JackDriverFinishFunction) (jack_driver_t *);
+@@ -306,7 +359,7 @@
+
+     assert(params);
+
+-    if (ffado_get_api_version() != FIREWIRE_REQUIRED_FFADO_API_VERSION) {
++    if (ffado_get_api_version() < FIREWIRE_REQUIRED_FFADO_API_VERSION) {
+         printError("Incompatible libffado version! (%s)", ffado_get_version());
+         return NULL;
+     }
+diff --git a/jack-1.9.8/linux/firewire/JackFFADODriver.h b/jack-1.9.8/linux/firewire/JackFFADODriver.h
+index cb2a45d..790f4dd 100644
+--- a/jack-1.9.8/linux/firewire/JackFFADODriver.h
++++ b/jack-1.9.8/linux/firewire/JackFFADODriver.h
+@@ -82,6 +82,12 @@ class JackFFADODriver : public JackAudioDriver
+         int Read();
+         int Write();
+
++        // BufferSize can be changed
++        bool IsFixedBufferSize()
++        {
++            return false;
++        }
++
+         int SetBufferSize(jack_nframes_t nframes);
+ };
+
+--
+1.7.10
diff --git a/pkgs/misc/sane-backends/default.nix b/pkgs/misc/sane-backends/default.nix
index 31372aa84186..ac6fed5deb46 100644
--- a/pkgs/misc/sane-backends/default.nix
+++ b/pkgs/misc/sane-backends/default.nix
@@ -1,21 +1,27 @@
-{ stdenv, fetchurl, hotplugSupport ? true, libusb ? null
+{ stdenv, fetchurl, hotplugSupport ? true, libusb ? null, libv4l ? null
+, pkgconfig ? null
 , gt68xxFirmware ? null }:
 let
   firmware = gt68xxFirmware {inherit fetchurl;};
 in
 assert hotplugSupport -> (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux");
 
-stdenv.mkDerivation {
-  name = "sane-backends-1.0.22";
+stdenv.mkDerivation rec {
+  version = "1.0.23";
+  name = "sane-backends-${version}";
   
   src = fetchurl {
-    url = http://alioth.debian.org/frs/download.php/3503/sane-backends-1.0.22.tar.gz;
-    sha256 = "0m0cz4ljw9asqvpryl6gx1ndwf7ll2qinlvql9whnzs901la314z";
+    url = "https://launchpad.net/ubuntu/+archive/primary/+files/sane-backends_${version}.orig.tar.gz";
+    sha256 = "4d4f5b2881615af7fc0ed75fdde7dc623a749e80e40f3f792fe4010163cbb029";
   };
   
   udevSupport = hotplugSupport;
 
-  buildInputs = if libusb != null then [libusb] else [];
+  buildInputs = []
+    ++ stdenv.lib.optional (libusb != null) libusb
+    ++ stdenv.lib.optional (libv4l != null) libv4l
+    ++ stdenv.lib.optional (pkgconfig != null) pkgconfig
+    ;
 
   postInstall = ''
     if test "$udevSupport" = "1"; then
diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix
index cf4f81ea4072..e3932744286c 100644
--- a/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -4,12 +4,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "5.18";
+  version = "5.19";
   name = "xscreensaver-${version}";
 
   src = fetchurl {
     url = "http://www.jwz.org/xscreensaver/${name}.tar.gz";
-    sha256 = "3d70edb8f46511f5427f21b4ba4d8323f336888f60268d16731f5231c6883db9";
+    sha256 = "fd62ea0f996abe1bea3770dd7141681454521b49302f9bced8af9c2ee428c0e0";
   };
 
   buildInputs =
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     ''
       # Fix build error in version 5.18. Remove this patch when updating
       # to a later version.
-      sed -i -e '/AF_LINK/d' hacks/glx/sonar-icmp.c
+      #sed -i -e '/AF_LINK/d' hacks/glx/sonar-icmp.c
       # Fix path to GTK.
       sed -e 's%@GTK_DATADIR@%@datadir@% ; s%@PO_DATADIR@%@datadir@%' \
 	  -i driver/Makefile.in po/Makefile.in.in
diff --git a/pkgs/os-specific/linux/acpid/default.nix b/pkgs/os-specific/linux/acpid/default.nix
index 40db323c5226..fe1792478d6b 100644
--- a/pkgs/os-specific/linux/acpid/default.nix
+++ b/pkgs/os-specific/linux/acpid/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "acpid-1.0.10";
-  
+  name = "acpid-2.0.17";
+
   src = fetchurl {
-    url = "mirror://sourceforge/acpid/${name}.tar.gz";
-    sha256 = "0q27adx0c0bzvy9f9zfny69iaay3b4b79b693fhaq1bkvph3qw12";
+    url = "http://tedfelix.com/linux/${name}.tar.xz";
+    sha256 = "0gksl6z3sb6yyk7bdmldxsrncvprd3rny0i8ggl4m95nvv3x5drn";
   };
 
   preBuild = ''
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://acpid.sourceforge.net/;
+    homepage = http://tedfelix.com/linux/acpid-netlink.html;
     description = "A daemon for delivering ACPI events to userspace programs";
-    license = "GPLv2+";
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix
index 36d9fa2ba9ee..3be6d0c3c333 100644
--- a/pkgs/os-specific/linux/alsa-lib/default.nix
+++ b/pkgs/os-specific/linux/alsa-lib/default.nix
@@ -1,11 +1,14 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "alsa-lib-1.0.25";
+  name = "alsa-lib-1.0.26";
   
   src = fetchurl {
-    url = "ftp://ftp.alsa-project.org/pub/lib/${name}.tar.bz2";
-    sha256 = "1rl6wa06d1jiqnrshyqh5qb1lwg6dh8m1ilyaink21j1y1f806js";
+    urls = [
+     "ftp://ftp.alsa-project.org/pub/lib/${name}.tar.bz2"
+     "http://alsa.cybermirror.org/lib/${name}.tar.bz2"
+    ];
+    sha256 = "0zbfkwqn7ixa71lsna9llq6i2gic540h8r8r0rjdphrwc1hq37wc";
   };
   
   configureFlags = "--disable-xmlto";
diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix
index ca3a45bddfd1..ebaef323491e 100644
--- a/pkgs/os-specific/linux/alsa-utils/default.nix
+++ b/pkgs/os-specific/linux/alsa-utils/default.nix
@@ -1,20 +1,27 @@
 {stdenv, fetchurl, alsaLib, gettext, ncurses}:
 
 stdenv.mkDerivation rec {
-  name = "alsa-utils-1.0.25";
-  
+  name = "alsa-utils-1.0.26";
+
   src = fetchurl {
-    url = "ftp://ftp.alsa-project.org/pub/utils/${name}.tar.bz2";
-    sha256 = "0b1hbdq1bdkbz72zdfy5cgp75jqpysb0mqb0n9wy5gsbccpnlrrf";
+    # url = "ftp://ftp.alsa-project.org/pub/utils/${name}.tar.bz2";
+    url = "http://alsa.cybermirror.org/utils/${name}.tar.bz2";
+    sha256 = "1rw1n3w8syqky9i7kwy5xd2rzfdbihxas32vwfxpb177lqx2lpzq";
   };
-  
+
   buildInputs = [ alsaLib ncurses ];
   buildNativeInputs = [ gettext ];
-  
+
   configureFlags = "--disable-xmlto --with-udev-rules-dir=$(out)/lib/udev/rules.d";
 
   installFlags = "ASOUND_STATE_DIR=$(TMPDIR)/dummy";
 
+  preConfigure =
+    ''
+      # Ensure that ‘90-alsa-restore.rules.in’ gets rebuilt.
+      rm alsactl/90-alsa-restore.rules
+    '';
+
   meta = {
     description = "ALSA, the Advanced Linux Sound Architecture utils";
 
diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh
index b05093d89157..abb78549cee7 100644
--- a/pkgs/os-specific/linux/ati-drivers/builder.sh
+++ b/pkgs/os-specific/linux/ati-drivers/builder.sh
@@ -2,13 +2,14 @@
 # TODO gentoo removes some tools because there are xorg sources (?)
 
 source $stdenv/setup
+set -x
 
 die(){ echo $@; exit 1; }
 
-
 # custom unpack:
-cp $src archive
-sh archive --extract .
+unzip $src
+run_file=$(echo amd-driver-installer-*)
+sh $run_file --extract .
 
 
 kernelVersion=$(cd ${kernel}/lib/modules && ls)
@@ -68,7 +69,7 @@ setModVersions(){
 # On kernels with the fix, use arch_compat_alloc_user_space instead
 # of compat_alloc_user_space since the latter is GPL-only
 
-COMPAT_ALLOC_USER_SPACE=compat_alloc_user_space
+COMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space
 
 for src_file in \
     $kernelBuild/arch/x86/include/asm/compat.h \
@@ -123,6 +124,8 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
   echo .lib${MODULE}_ip.a.GCC${GCC_MAJOR}.cmd
   echo 'This is a dummy file created to suppress this warning: could not find /lib/modules/fglrx/build_mod/2.6.x/.libfglrx_ip.a.GCC4.cmd for /lib/modules/fglrx/build_mod/2.6.x/libfglrx_ip.a.GCC4' > lib${MODULE}_ip.a.GCC${GCC_MAJOR}.cmd
 
+  sed -i -e "s@COMPAT_ALLOC_USER_SPACE@$COMPAT_ALLOC_USER_SPACE@" ../kcl_ioctl.c
+
   make CC=${CC} \
       LIBIP_PREFIX=$(echo "$LIBIP_PREFIX" | sed -e 's|^\([^/]\)|../\1|') \
       MODFLAGS="-DMODULE -DATI -DFGL -DPAGE_ATTR_FIX=$PAGE_ATTR_FIX -DCOMPAT_ALLOC_USER_SPACE=$COMPAT_ALLOC_USER_SPACE $def_smp $def_modversions" \
@@ -143,12 +146,12 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
   cp -r common/usr/share $out
   cp -r common/usr/X11R6 $out
 
-  cp -r arch/$arch/lib $out/lib
+  # cp -r arch/$arch/lib $out/lib
 
   # what are those files used for?
   cp -r common/etc $out
 
-  DIR_DEPENDING_ON_XORG_VERSION=x750_64a
+  DIR_DEPENDING_ON_XORG_VERSION=xpic_64a
   cp -r $DIR_DEPENDING_ON_XORG_VERSION/usr/X11R6/$lib_arch/* $out/lib/xorg
 
   t=$out/lib/modules/${kernelVersion}/kernel/drivers/misc
@@ -164,12 +167,18 @@ GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`"
   cp -r $TMP/arch/$arch/usr/X11R6/$lib_arch/modules/dri $out/lib
   cp -r $TMP/arch/$arch/usr/X11R6/$lib_arch/modules/dri/* $out/lib
   cp -r $TMP/arch/$arch/usr/X11R6/$lib_arch/*.so.* $out/lib
+  cp -r $TMP/arch/$arch/usr/X11R6/$lib_arch/fglrx/fglrx-libGL.so.1.2 $out/lib/fglrx-libGL.so.1.2
+
   cp -r $TMP/arch/$arch/usr/$lib_arch/* $out/lib
 
   # cp -r $TMP/arch/$arch/usr/$lib_arch/* $out/lib
   ln -s libatiuki.so.1.0 $out/lib/libatiuki.so.1
-  ln -s libGL.so.1.2 $out/lib/libGL.so.1
+  ln -s fglrx-libGL.so.1.2 $out/lib/libGL.so.1
+  ln -s fglrx-libGL.so.1.2 $out/lib/libGL.so
+
   ln -s libfglrx_gamma.so.1.0 $out/lib/libfglrx_gamma.so.1
+  # make xorg use the ati version
+  ln -s $out/lib/xorg/modules/extensions/{fglrx/fglrx-libglx.so,libglx.so}
 
 }
 
diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix
index a53058de6a0b..49efcc1e76ee 100644
--- a/pkgs/os-specific/linux/ati-drivers/default.nix
+++ b/pkgs/os-specific/linux/ati-drivers/default.nix
@@ -2,6 +2,7 @@
 , mesa # for fgl_glxgears
 , libXxf86vm, xf86vidmodeproto # for fglrx_gamma
 , xorg, makeWrapper, glibc, patchelf
+, unzip
 }:
 
 # If you want to use a different Xorg version probably
@@ -16,6 +17,9 @@
 
 # http://wiki.cchtml.com/index.php/Main_Page
 
+# There is one issue left:
+# /usr/lib/dri/fglrx_dri.so must point to /run/opengl-driver/lib/fglrx_dri.so
+
 assert stdenv.system == "x86_64-linux";
 
 stdenv.mkDerivation rec {
@@ -27,14 +31,19 @@ stdenv.mkDerivation rec {
   inherit libXxf86vm xf86vidmodeproto;
 
   src = fetchurl {
-    url = https://www2.ati.com/drivers/linux/ati-driver-installer-10-11-x86.x86_64.run;
-    sha256 = "1z33w831ayx1j5lm9d1xv6whkmzsz9v8li3s8c96hwnwki6zpimr";
+    url = http://www2.ati.com/drivers/linux/amd-driver-installer-12-8-x86.x86_64.zip;
+    sha256 = "0hdv89vdap6v0dnwhddizfmlkwyh0j910sp4wyj2lq5pn9rm2lk2";
+
+    # beta
+    # url = "http://www2.ati.com/drivers/beta/amd-driver-installer-12-9-beta-x86.x86_64.zip";
+    # sha256 = "02dmflzfrgr07fa1hv34m7ad8pra21xv7qbk500gqm6v8s9vbplk";
   };
 
   buildInputs =
     [ xlibs.libXext xlibs.libX11
       xlibs.libXrandr which imake makeWrapper
       patchelf
+      unzip
     ];
     
   inherit kernel glibc /* glibc only used for setting interpreter */;
diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix
index 101879861117..3b876322f1f6 100644
--- a/pkgs/os-specific/linux/bluez/default.nix
+++ b/pkgs/os-specific/linux/bluez/default.nix
@@ -9,11 +9,11 @@ let
 in
    
 stdenv.mkDerivation rec {
-  name = "bluez-4.98";
+  name = "bluez-4.101";
    
   src = fetchurl {
     url = "mirror://kernel/linux/bluetooth/${name}.tar.gz";
-    sha256 = "9a5b655bada7c7a1921cb3bac83b8a32bbe49893e4c7a1377cdc1b0d35f7d233";
+    sha256 = "11vldy255zkmmpj0g0a1m6dy9bzsmyd7vxy02cdfdw79ml888wsr";
   };
 
   buildInputs =
diff --git a/pkgs/os-specific/linux/consoletools/default.nix b/pkgs/os-specific/linux/consoletools/default.nix
new file mode 100644
index 000000000000..537cc386402b
--- /dev/null
+++ b/pkgs/os-specific/linux/consoletools/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchgit, SDL }:
+
+stdenv.mkDerivation rec {
+  name = "linuxconsoletools-${version}";
+  version = "1.4.3";
+
+  src = fetchgit {
+    url = "git://linuxconsole.git.sourceforge.net/gitroot/linuxconsole/linuxconsole";
+    rev = "dac2cae0e5795ddc27b76a92767dd9e07a10621e";
+    sha256 = "350b008e614923dbd548fcaaf2842b39433acdcf595e2ce8aaf1599f076d331d";
+  };
+
+  buildInputs = [ SDL ];
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = {
+    homepage = "https://sourceforge.net/projects/linuxconsole/";
+    description = "A set of tools for joysticks and serial peripherals";
+    license = stdenv.lib.licenses.gpl2Plus;
+
+    longDescription = ''
+      The included tools are:
+
+      ffcfstress(1)  - force-feedback stress test
+      ffmvforce(1)   - force-feedback orientation test
+      ffset(1)       - force-feedback configuration tool
+      fftest(1)      - general force-feedback test
+      jstest(1)      - joystick test
+      jscal(1)       - joystick calibration tool
+      inputattach(1) - connects legacy serial devices to the input layer
+    '';
+  };
+}
diff --git a/pkgs/os-specific/linux/cryptodev/default.nix b/pkgs/os-specific/linux/cryptodev/default.nix
new file mode 100644
index 000000000000..c64d47d0d4d6
--- /dev/null
+++ b/pkgs/os-specific/linux/cryptodev/default.nix
@@ -0,0 +1,29 @@
+{ fetchurl, stdenv, kernel, onlyHeaders ? false }:
+
+stdenv.mkDerivation rec {
+  name = "cryptodev-linux-1.5";
+
+  src = fetchurl {
+    url = "http://download.gna.org/cryptodev-linux/${name}.tar.gz";
+    sha256 = "13hybl5p0ck0vgi2gxmiwa2810gcfk78kdy17ai8nczj8il15mn0";
+  };
+
+  buildPhase = if (!onlyHeaders) then ''
+    make -C ${kernel}/lib/modules/${kernel.modDirVersion}/build \
+      SUBDIRS=`pwd` INSTALL_PATH=$out
+  '' else ":";
+
+  installPhase = stdenv.lib.optionalString (!onlyHeaders) ''
+    make -C ${kernel}/lib/modules/${kernel.modDirVersion}/build \
+      INSTALL_MOD_PATH=$out SUBDIRS=`pwd` modules_install
+  '' + ''
+    mkdir -p $out/include/crypto
+    cp crypto/cryptodev.h $out/include/crypto
+  '';
+
+  meta = {
+    description = "Device that allows access to Linux kernel cryptographic drivers";
+    homepage = http://home.gna.org/cryptodev-linux/;
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/os-specific/linux/ffado/default.nix b/pkgs/os-specific/linux/ffado/default.nix
index a78599c6a20f..834f98960dfb 100644
--- a/pkgs/os-specific/linux/ffado/default.nix
+++ b/pkgs/os-specific/linux/ffado/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchsvn, dbus, dbus_cplusplus, expat, glibmm, libconfig
+{ stdenv, fetchurl, dbus, dbus_cplusplus, expat, glibmm, libconfig
 , libavc1394, libiec61883, libraw1394, libxmlxx, makeWrapper, pkgconfig
 , pyqt4, python, pythonDBus, qt4, scons }:
 
 stdenv.mkDerivation rec {
-  name = "libffado-svn-1995";
+  name = "libffado-${version}";
+  version = "2.1.0";
 
-  src = fetchsvn {
-    url = "http://subversion.ffado.org/ffado/trunk/libffado";
-    rev = "1995";
+  src = fetchurl {
+    url = "http://www.ffado.org/files/${name}.tgz";
+    sha256 = "11cxmy31c19720j2171l735rpg7l8i41icsgqscfd2vkbscfmh6y";
   };
 
   buildInputs =
@@ -18,13 +19,16 @@ stdenv.mkDerivation rec {
 
   patches = [ ./enable-mixer-and-dbus.patch ];
 
-  preBuild = "export PYLIBSUFFIX=lib/${python.libPrefix}/site-packages";
-
   # TODO fix ffado-diag, it doesn't seem to use PYPKGDIR
-  buildPhase = "scons PYPKGDIR=$out/$PYLIBSUFFIX";
+  buildPhase = ''
+    export PYLIBSUFFIX=lib/${python.libPrefix}/site-packages
+    scons PYPKGDIR=$out/$PYLIBSUFFIX DEBUG=False
+    sed -e "s#/usr/local#$out#" -i support/mixer-qt4/ffado/config.py
+    '';
+
   installPhase = ''
     scons PREFIX=$out LIBDIR=$out/lib SHAREDIR=$out/share/libffado \
-      PYPKGDIR=$out/$PYLIBSUFFIX install
+      PYPKGDIR=$out/$PYLIBSUFFIX UDEVDIR=$out/lib/udev/rules.d install
 
     sed -e "s#/usr/local#$out#g" -i $out/bin/ffado-diag
 
diff --git a/pkgs/os-specific/linux/ffado/enable-mixer-and-dbus.patch b/pkgs/os-specific/linux/ffado/enable-mixer-and-dbus.patch
index 44c0b991e0ad..480e0f45a92d 100644
--- a/pkgs/os-specific/linux/ffado/enable-mixer-and-dbus.patch
+++ b/pkgs/os-specific/linux/ffado/enable-mixer-and-dbus.patch
@@ -1,24 +1,25 @@
---- libffado-r2117/SConstruct	1970-01-01 01:00:01.000000000 +0100
-+++ libffado-r2117/SConstruct	2012-04-06 18:26:45.521100690 +0200
-@@ -314,10 +314,8 @@
+--- libffado-2.1.0/SConstruct	1970-01-01 01:00:01.000000000 +0100
++++ libffado-2.1.0/SConstruct	2012-09-30 16:50:23.603283095 +0000
+@@ -349,11 +349,9 @@
+ # Optional checks follow:
  #
  
- # PyQT checks
+-# PyQT checks
 -build_mixer = False
 -if conf.CheckForApp( 'which pyuic4' ) and conf.CheckForPyModule( 'dbus' ) and conf.CheckForPyModule( 'PyQt4' ) and conf.CheckForPyModule( 'dbus.mainloop.qt' ):
 -    env['PYUIC4'] = True
 -    build_mixer = True
 +env['PYUIC4'] = True
 +build_mixer = True
++
  
  if conf.CheckForApp( 'xdg-desktop-menu --help' ):
      env['XDG_TOOLS'] = True
-@@ -348,7 +346,8 @@
+@@ -384,7 +382,7 @@
      name2 = pkg.replace("+","").replace(".","").replace("-","").upper()
      env['%s_FLAGS' % name2] = conf.GetPKGFlags( pkg, pkgs[pkg] )
  
 -if not env['DBUS1_FLAGS'] or not env['DBUSC1_FLAGS'] or not conf.CheckForApp('which dbusxx-xml2cpp'):
-+
 +if False:
      env['DBUS1_FLAGS'] = ""
      env['DBUSC1_FLAGS'] = ""
diff --git a/pkgs/os-specific/linux/firmware/amd-ucode/default.nix b/pkgs/os-specific/linux/firmware/amd-ucode/default.nix
index 685b44a16512..dc5959d400d1 100644
--- a/pkgs/os-specific/linux/firmware/amd-ucode/default.nix
+++ b/pkgs/os-specific/linux/firmware/amd-ucode/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
 
-  name = "amd-ucode-2012-01-17";
+  name = "amd-ucode-2012-09-10";
 
   src = fetchurl {
     url = "http://www.amd64.org/pub/microcode/${name}.tar";
-    sha256 = "0mqnbs87khv6p874cbyf9nb8i4gc592ws67lyzhc4chmwvc9ln47";
+    sha256 = "065phvhx5hx5ssdd1x2p5m1yv26ak7l5aaw6yk6h95x9mxn5r111";
   };
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
index e2ba47abb9a0..f6173fcf5f53 100644
--- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -6,25 +6,26 @@
 { stdenv, fetchurl, buildEnv, dpkg }:
 
 let
-  version = "0.35";
+  version = "0.36";
+
 
   packages = [
-    { name = "linux-nonfree"; sha256 = "8c0701500e5252e3e05ad0e5403cc5295899ccb2d6d731380b5f4c2d90003ed1"; }
-    { name = "atheros"; sha256 = "df411d76e3d55cb256b0974df16cf18f316c1325f33670fbc9e36abba5aa46c0"; }
-    { name = "bnx2"; sha256 = "124e74aa6ce477f7b6a0b5eff3870b0104fd885b4bdfb9977175e75bdb9a7525"; }
-    { name = "bnx2x"; sha256 = "4cbcf3422a9aaa6e31704770c724179765dceabd2e6867e24cf47039925e6545"; }
-    { name = "brcm80211"; sha256 = "eefba7ba31c018d514ea15878cfd7bca36a65b0df3e9024fc3875a990678a684"; }
-    { name = "intelwimax"; sha256 = "436a3bd128224f43988630318aa3e74abfbe838916e1e10a602ddc468b75d843"; }
-    { name = "ipw2x00"; sha256 = "9c214e3a9f7f7d710b5cb30282d5ca2b2ccafc3bb208dfe7e18de16d3aadc7a3"; }
-    { name = "ivtv"; sha256 = "ced47d8b87ff8ff70a8c32492cc4fb5818860ef018b5c04a4415ab26c9b16300"; }
-    { name = "iwlwifi"; sha256 = "5d9615ec128b59cc5834e0261ea74127c0bc64bafabdaef1028a8f1acf611568"; }
-    { name = "libertas"; sha256 = "b109fb5c392928ac5495f8ce1d0f41d123b193031f8b548e8b68e9563db37016"; }
-    { name = "linux"; sha256 = "8e87f75c120904f2ca5fd9017e4503c23d8705b9ccaeb570374d1747163620ab"; }
-    { name = "myricom"; sha256 = "4c9e19d8b2cea97eb05f9d577537dba81aa36ac06c6da9bbed0bfa20434b7acc"; }
-    { name = "netxen"; sha256 = "3bd129229cf548a533c79cb55deefa7e4919e09fcc1f655773f4fa5078d81b9b"; }
-    { name = "qlogic"; sha256 = "213d098435c657115d2754ef5ead52e64f5fa05be4dcbcb0d5d3ca745376959c"; }
-    { name = "ralink"; sha256 = "51f3001ed15ca72bb088297b9e6e4a821ba6250f0ccc8886d77d2f5386a21836"; }
-    { name = "realtek"; sha256 = "a6338f5cd8bbe9627fa994016ebb0a91b40914021bec280ddc8f8a56eab22287"; }
+    { name = "linux-nonfree"; sha256 = "668d262dfcf18ffef2fe2a0b853b81bf5855f49fd2133203cbda097b1507c953"; }
+    { name = "atheros"; sha256 = "27cbd2099ce28c742f42833b09a61bdc7fb5b2ebcf5b35a52e750160ea1001b6"; }
+    { name = "bnx2"; sha256 = "32730fdeb0fb15a36e0ca046bde69e1a6fece8561af57afc7d9f1cf978fd25ab"; }
+    { name = "bnx2x"; sha256 = "22f23f4abb4aa2dac22718f12cf3bbd3fd2d63870b13e81c8401e6f841a719e8"; }
+    { name = "brcm80211"; sha256 = "17055c4199cc7e2aaa7d1d76dd5e718d24dbebb84020bb2d95ffab03bcfc7e8a"; }
+    { name = "intelwimax"; sha256 = "cc1b894990d3074e93b3f79b2b617614aab554b5e832d34993b5a16f64bdb84a"; }
+    { name = "ipw2x00"; sha256 = "2ef0810e2e037f7d536b24cc35527c456ff13b7aa5fd2df607b7035227553c9d"; }
+    { name = "ivtv"; sha256 = "7bf30e142679d53ad376002f29026bbe28de51e1cb71bcc3ec5c5f5f119a7118"; }
+    { name = "iwlwifi"; sha256 = "46ce0915583674ec10bfde3840b66ff450237edf604804ff51b9872fe767c1bb"; }
+    { name = "libertas"; sha256 = "c5d370d244f1c3a42f0a0280ed0cab067dbf36fa2926d387c9d10cf4ccd1b000"; }
+    { name = "linux"; sha256 = "e19bedc2cacf2cd7a1fc38e25820effe9e58fdc56608e9f7c320c85b80cba6ea"; }
+    { name = "myricom"; sha256 = "038bd618c00e852206a8a1443ba47ea644c04052bd8f10af9392c716ebf16b3c"; }
+    { name = "netxen"; sha256 = "29e3c1707dab6439f391318a223e5d4b6508d493c8d8bad799aef4f35b4704e7"; }
+    { name = "qlogic"; sha256 = "cc43c6016f2b7661d39e1d678ac0e8ca70081be8a0c76c2ec4d2e71493afa7d8"; }
+    { name = "ralink"; sha256 = "4db8dc6b98821c59f008c8bf7464317443b031cebf6d7e56c06f0824e69e3922"; }
+    { name = "realtek"; sha256 = "c39e65e5a589325ceb365d11b9ea10b0244134b7e5b3b05fd91fe6ad66b2f093"; }
   ];
 
   fetchPackage =
diff --git a/pkgs/os-specific/linux/firmware/iwlwifi-6000g2a-ucode/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi-6000g2a-ucode/default.nix
index e5fe73ca4984..4aea802244f0 100644
--- a/pkgs/os-specific/linux/firmware/iwlwifi-6000g2a-ucode/default.nix
+++ b/pkgs/os-specific/linux/firmware/iwlwifi-6000g2a-ucode/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "iwlwifi-6000g2a-ucode-17.168.5.3";
+  name = "iwlwifi-6000g2a-ucode-18.168.6.1";
 
   src = fetchurl {
     url = "http://intellinuxwireless.org/iwlwifi/downloads/${name}.tgz";
-    sha256 = "febbbc0851db17296d35e5ca1d9266c1a14e9a9ae6ce41a36578c44971ae79f9";
+    sha256 = "a7f2615756addafbf3e6912cb0265f9650b2807d1ccdf54b620735772725bbe9";
   };
 
   buildPhase = "true";
@@ -17,13 +17,12 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
+    homepage = "http://intellinuxwireless.org/";
     description = "Firmware for the Intel 6000 Series Gen2 wireless card";
 
     longDescription = ''
       This package provides the Intel 6000 Series wireless card
       firmware. It contains the `iwlwifi-6000g2a-5.ucode' file.
     '';
-
-    homepage = http://intellinuxwireless.org/;
   };
 }
diff --git a/pkgs/os-specific/linux/hal/default.nix b/pkgs/os-specific/linux/hal/default.nix
deleted file mode 100644
index f1757be94cf0..000000000000
--- a/pkgs/os-specific/linux/hal/default.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, python, pciutils, expat
-, libusb, dbus, dbus_glib, glib, libuuid, perl
-, perlXMLParser, gettext, zlib, gperf, consolekit, policykit
-, libsmbios, dmidecode, udev, utillinux, pmutils, usbutils
-, eject, upstart
-}:
-
-assert stdenv ? glibc;
-
-let
-  isPC = stdenv.isi686 || stdenv.isx86_64;
-  changeDmidecode = if isPC then
-    "--replace /usr/sbin/dmidecode ${dmidecode}/sbin/dmidecode"
-    else "";
-in
-stdenv.mkDerivation rec {
-  name = "hal-0.5.14";
-
-  src = fetchurl {
-    url = "http://hal.freedesktop.org/releases/${name}.tar.gz";
-    sha256 = "00ld3afcbh4ckb8sli63mm2w69zh6ip4axhy1lxyybgiabxaqfij";
-  };
-
-  buildInputs = [
-    pkgconfig python pciutils expat libusb dbus.libs dbus_glib glib
-    libuuid perl perlXMLParser gettext zlib gperf
-    consolekit policykit
-  ];
-
-  # !!! Hm, maybe the pci/usb.ids location should be in /etc, so that
-  # we don't have to rebuild HAL when we update the PCI/USB IDs.
-  configureFlags = ''
-    --with-pci-ids=${pciutils}/share
-    --with-usb-ids=${usbutils}/share
-    --localstatedir=/var
-    --with-eject=${eject}/bin/eject
-    --with-linux-input-header=${stdenv.glibc}/include/linux/input.h
-    --enable-umount-helper
-  '';
-
-  propagatedBuildInputs = [ libusb ]
-    ++ stdenv.lib.optional isPC libsmbios;
-
-  preConfigure = ''
-    for i in hald/linux/probing/probe-smbios.c hald/linux/osspec.c \
-             hald/linux/coldplug.c hald/linux/blockdev.c \
-             tools/hal-storage-mount.c ./tools/hal-storage-shared.c \
-             tools/hal-system-power-pm-is-supported.c \
-             tools/linux/hal-*-linux
-    do
-      substituteInPlace $i \
-        ${changeDmidecode} \
-        ${if udev != null then "--replace /sbin/udevadm ${udev}/sbin/udevadm" else ""} \
-        --replace /bin/mount ${utillinux}/bin/mount \
-        --replace /bin/umount ${utillinux}/bin/umount \
-        --replace /usr/bin/pm-is-supported ${pmutils}/bin/pm-is-supported \
-        --replace /usr/sbin/pm ${pmutils}/sbin/pm \
-        --replace /sbin/shutdown ${upstart}/sbin/shutdown
-    done
-  '';
-
-  installFlags = "slashsbindir=$(out)/sbin";
-}
diff --git a/pkgs/os-specific/linux/hal/hal-evt.nix b/pkgs/os-specific/linux/hal/hal-evt.nix
deleted file mode 100644
index a49f4fcc0f8a..000000000000
--- a/pkgs/os-specific/linux/hal/hal-evt.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, libxml2, pkgconfig, boolstuff, hal, dbus_glib }:
-
-stdenv.mkDerivation {
-  name = "hal-evt-0.1.4";
-
-  src = fetchurl {
-    url = http://savannah.nongnu.org/download/halevt/halevt-0.1.4.tar.gz;
-    sha256 = "173dphyzpicjz5pnw0d6wmibvib5h99nh1gmyvcqpgvf8la5vrps";
-  };
-
-  buildInputs = [ libxml2 pkgconfig boolstuff hal dbus_glib ];
-
-  meta = { 
-    description = "Execute commands on hal events";
-    homepage = http://www.nongnu.org/halevt/;
-    license = "GPLv2";
-    maintainers = [ stdenv.lib.maintainers.marcweber ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/hal/info.nix b/pkgs/os-specific/linux/hal/info.nix
deleted file mode 100644
index 1a4e41c776f1..000000000000
--- a/pkgs/os-specific/linux/hal/info.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{stdenv, fetchurl, pkgconfig}:
-
-stdenv.mkDerivation rec {
-  name = "hal-info-20091130";
-  
-  src = fetchurl {
-    url = "http://hal.freedesktop.org/releases/${name}.tar.gz";
-    sha256 = "092jhzpxa2h8djf8pijql92m70q87yds22686ryrfna3xbm90niv";
-  };
-
-  meta = {
-    homepage = http://www.freedesktop.org/wiki/Software/hal;
-    description = "Hardware data and quirks for HAL";
-  };
-}
diff --git a/pkgs/os-specific/linux/hal/synaptics.nix b/pkgs/os-specific/linux/hal/synaptics.nix
deleted file mode 100644
index 20c4d1ec24fb..000000000000
--- a/pkgs/os-specific/linux/hal/synaptics.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{stdenv}:
-stdenv.mkDerivation {
-  name = "hal-info-synaptics";
-  buildCommand = ''
-    mkdir -p $out/share/hal/fdi/information/15-osvendor/
-    cat << EOF > $out/share/hal/fdi/information/15-osvendor/10-x11-synaptics.fdi
-<?xml version="1.0" encoding="UTF-8"?>
-       <deviceinfo version="0.2">
-           <device>
-               <match key="info.capabilities" contains="input.touchpad">
-                   <merge key="input.x11_driver" type="string">synaptics</merge>
-                   <merge key="input.x11_options.AlwaysCore" type="string">true</merge>
-                   <merge key="input.x11_options.Protocol" type="string">event</merge>
-               </match>
-           </device>
-       </deviceinfo>
-EOF
-  '';
-}
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index cc5339ba9000..c97c7416de1e 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -1,11 +1,11 @@
-{fetchurl, stdenv, flex, bison, db4, iptables}:
+{ fetchurl, stdenv, flex, bison, db4, iptables, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "iproute2-2.6.35";
+  name = "iproute2-3.6.0";
 
   src = fetchurl {
-    url = "http://pkgs.fedoraproject.org/repo/pkgs/iproute/iproute2-2.6.35.tar.bz2/b0f281b3124bf04669e18f5fe16d4934/iproute2-2.6.35.tar.bz2";
-    sha256 = "18why1wy0v859axgrlfxn80zmskss0410hh9rf5gn9cr29zg9cla";
+    url = http://kernel.org/pub/linux/utils/net/iproute2/iproute2-3.6.0.tar.xz;
+    sha256 = "0d05av2s7p552yszgj6glz6d74jlmg392s7n74hicgqfl16m85rd";
   };
 
   patches = [ ./vpnc.patch ];
@@ -15,20 +15,25 @@ stdenv.mkDerivation rec {
       patchShebangs ./configure
       sed -e '/ARPDDIR/d' -i Makefile
     '';
+
   postConfigure = "cat Config";
 
   makeFlags = "DESTDIR= LIBDIR=$(out)/lib SBINDIR=$(out)/sbin"
-   + " CONFDIR=$(out)/etc DOCDIR=$(out)/share/doc/${name}"
-  + " MANDIR=$(out)/share/man";
+    + " CONFDIR=$(out)/etc DOCDIR=$(out)/share/doc/${name}"
+    + " MANDIR=$(out)/share/man";
+
+  buildInputs = [ db4 iptables ];
+  buildNativeInputs = [ bison flex pkgconfig ];
+
+  enableParallelBuilding = true;
 
-  buildInputs = [db4 iptables];
-  buildNativeInputs = [bison flex db4];
+  # Get rid of useless TeX/SGML docs.
+  postInstall = "rm -rf $out/share/doc";
 
   meta = {
-    homepage =
-      http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2;
-    description = "A collection of utilities for controlling TCP / IP"
-      + " networking and traffic control in Linux";
+    homepage = http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2;
+    description = "A collection of utilities for controlling TCP/IP networking and traffic control in Linux";
     platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/os-specific/linux/ipsec-tools/default.nix b/pkgs/os-specific/linux/ipsec-tools/default.nix
new file mode 100644
index 000000000000..00676319b034
--- /dev/null
+++ b/pkgs/os-specific/linux/ipsec-tools/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, linuxHeaders, readline, openssl, flex, krb5, pam }:
+
+# TODO: These tools are supposed to work under NetBSD and FreeBSD as
+# well, so I guess it's not appropriate to place this expression in
+# "os-specific/linux/ipsec-tools". Since I cannot verify that the
+# expression actually builds on those platforms, I'll leave it here for
+# the time being.
+
+stdenv.mkDerivation rec {
+  name = "ipsec-tools-0.8.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/ipsec-tools/${name}.tar.bz2";
+    sha256 = "2359a24aa8eda9ca7043fc47950c8e6b7f58a07c5d5ad316aa7de2bc5e3a8717";
+  };
+
+  buildInputs = [ readline openssl flex krb5 pam ];
+
+  patches = [ ./dont-create-localstatedir-during-install.patch ];
+
+  configureFlags = ''
+    --sysconfdir=/etc --localstatedir=/var
+    --with-kernel-headers=${linuxHeaders}/include
+    --disable-security-context
+    --enable-adminport
+    --enable-dpd
+    --enable-frag
+    --enable-gssapi
+    --enable-hybrid
+    --enable-natt
+    --enable-shared
+    --enable-stats
+  '';
+
+  meta = {
+    homepage = "http://ipsec-tools.sourceforge.net/";
+    description = "Port of KAME's IPsec utilities to the Linux-2.6 IPsec implementation";
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [stdenv.lib.maintainers.simons];
+  };
+}
diff --git a/pkgs/os-specific/linux/ipsec-tools/dont-create-localstatedir-during-install.patch b/pkgs/os-specific/linux/ipsec-tools/dont-create-localstatedir-during-install.patch
new file mode 100644
index 000000000000..16b80c36d6a5
--- /dev/null
+++ b/pkgs/os-specific/linux/ipsec-tools/dont-create-localstatedir-during-install.patch
@@ -0,0 +1,13 @@
+diff -ubr ipsec-tools-0.8.0-orig/src/racoon/Makefile.in ipsec-tools-0.8.0/src/racoon/Makefile.in
+--- ipsec-tools-0.8.0-orig/src/racoon/Makefile.in	2012-10-20 13:01:07.700903316 +0200
++++ ipsec-tools-0.8.0/src/racoon/Makefile.in	2012-10-20 13:01:13.177832616 +0200
+@@ -1085,9 +1085,6 @@
+ 	uninstall-sbinPROGRAMS
+ 
+ 
+-install-exec-local:
+-	${mkinstalldirs} $(DESTDIR)${adminsockdir}
+-
+ # special object rules
+ crypto_openssl_test.o: crypto_openssl.c
+ 	$(COMPILE) -DEAYDEBUG -o crypto_openssl_test.o -c $(srcdir)/crypto_openssl.c
diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix
index a1dace598fef..78d8ee52fb18 100644
--- a/pkgs/os-specific/linux/iptables/default.nix
+++ b/pkgs/os-specific/linux/iptables/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "iptables-1.4.10";
+  name = "iptables-1.4.16.2";
 
   src = fetchurl {
     url = "http://www.netfilter.org/projects/iptables/files/${name}.tar.bz2";
-    md5 = "f382fe693f0b59d87bd47bea65eca198";
+    md5 = "57220bb26866a713073e5614f88071fc";
   };
 
   # Install header files required by miniupnpd.
diff --git a/pkgs/os-specific/linux/kernel/builder.sh b/pkgs/os-specific/linux/kernel/builder.sh
index 4c095bf8bbc9..14d8108ba16b 100644
--- a/pkgs/os-specific/linux/kernel/builder.sh
+++ b/pkgs/os-specific/linux/kernel/builder.sh
@@ -140,6 +140,10 @@ installPhase() {
         (cd arch/$archDir/include && cp -a asm/* $includeDir/asm/ || true)
         (cd arch/$archDir/include && cp -a generated/asm/* $includeDir/asm/ || true)
         (cd arch/$archDir/include/asm/mach-generic && cp -a * $includeDir/ || true)
+            # include files for special arm architectures 
+            if [ "$archDir" == "arm" ]; then
+                cp -a --parents arch/arm/mach-*/include $out/lib/modules/$version/build
+            fi
         fi
     fi
 
diff --git a/pkgs/os-specific/linux/kernel/cifs-timeout-3.5.7.patch b/pkgs/os-specific/linux/kernel/cifs-timeout-3.5.7.patch
new file mode 100644
index 000000000000..13d17ad64850
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/cifs-timeout-3.5.7.patch
@@ -0,0 +1,13 @@
+--- a/fs/cifs/transport.c.old	2012-11-06 10:53:23.640093369 +0100
++++ a/fs/cifs/transport.c	2012-11-06 10:54:31.835469340 +0100
+@@ -176,8 +176,8 @@
+ 			 * after the retries we will kill the socket and
+ 			 * reconnect which may clear the network problem.
+ 			 */
+-			if ((i >= 14) || (!server->noblocksnd && (i > 2))) {
+-				cERROR(1, "sends on sock %p stuck for 15 seconds",
++			if ((i >= 119) || (!server->noblocksnd && (i > 2))) {
++				cERROR(1, "sends on sock %p stuck for 119 seconds",
+ 				    ssocket);
+ 				rc = -EAGAIN;
+ 				break;
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 9e8ee74acb17..48f050f98cc2 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -27,9 +27,6 @@
   # optionally be compressed with gzip or bzip2.
   kernelPatches ? []
 
-, # Whether to build a User-Mode Linux kernel.
-  userModeLinux ? false
-
 , # Allows you to set your own kernel version suffix (e.g.,
   # "-my-kernel").
   localVersion ? ""
@@ -63,7 +60,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = if userModeLinux then "user-mode-linux-${version}" else "linux-${version}";
+  name = "linux-${version}";
 
   enableParallelBuilding = true;
 
@@ -84,7 +81,7 @@ stdenv.mkDerivation {
   kernelConfig = kernelConfigFun config;
 
   # For UML and non-PC, just ignore all options that don't apply (We are lazy).
-  ignoreConfigErrors = (userModeLinux || stdenv.platform.name != "pc");
+  ignoreConfigErrors = stdenv.platform.name != "pc";
 
   buildNativeInputs = [ perl mktemp ];
   buildInputs = lib.optional (stdenv.platform.uboot != null)
@@ -98,7 +95,6 @@ stdenv.mkDerivation {
   # Should we trust platform.kernelArch? We can only do
   # that once we differentiate i686/x86_64 in platforms.
   arch =
-    if userModeLinux then "um" else
     if stdenv.system == "i686-linux" then "i386" else
     if stdenv.system == "x86_64-linux" then "x86_64" else
     if stdenv.isArm then "arm" else
@@ -129,10 +125,7 @@ stdenv.mkDerivation {
 
   meta = {
     description =
-      (if userModeLinux then
-        "User-Mode Linux"
-       else
-        "The Linux kernel") +
+      "The Linux kernel" +
       (if kernelPatches == [] then "" else
         " (with patches: "
         + lib.concatStrings (lib.intersperse ", " (map (x: x.name) kernelPatches))
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.32.nix b/pkgs/os-specific/linux/kernel/linux-2.6.32.nix
index a7cb499a9931..57b16c791cf1 100644
--- a/pkgs/os-specific/linux/kernel/linux-2.6.32.nix
+++ b/pkgs/os-specific/linux/kernel/linux-2.6.32.nix
@@ -198,11 +198,11 @@ in
 import ./generic.nix (
 
   rec {
-    version = "2.6.32.57";
-  
+    version = "2.6.32.60";
+
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v2.6/longterm/v2.6.32/linux-${version}.tar.bz2";
-      sha256 = "1pbwjdignv5qdzpiv3ijs5g95l86ss7jrslak12jfxly13lanzzh";
+      sha256 = "0iyg5z76g8wnh73aq6p6j4xb3043skpa14fb3dwgbpdpx710x5nf";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.0.nix b/pkgs/os-specific/linux/kernel/linux-3.0.nix
index e2ed7fc8c5df..346ecf5660e4 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.0.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.0.nix
@@ -1,4 +1,4 @@
-args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
+args @ { stdenv, fetchurl, extraConfig ? ""
 , perl, mktemp, module_init_tools
 , ... }:
 
@@ -230,15 +230,15 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.0.31";
-  
+    version = "3.0.52";
+
     preConfigure = ''
       substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' ""
     '';
 
     src = fetchurl {
-      url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.bz2";
-      sha256 = "1b5ix1fc55m6vsr28dh5xi89fphl3m3kmvaniq9div5rj8f6kv0f";
+      url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
+      sha256 = "09iszqkxnwkcmm4cwh7320jrwbpwgzx0v05l8mq36p8ix3s926k6";
     };
 
     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 76e2942c6a37..0ec50303ee2a 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.1.nix
@@ -1,4 +1,4 @@
-args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
+args @ { stdenv, fetchurl, extraConfig ? ""
 , perl, mktemp, module_init_tools
 , ... }:
 
diff --git a/pkgs/os-specific/linux/kernel/linux-3.2.nix b/pkgs/os-specific/linux/kernel/linux-3.2.nix
index bea68decf64f..77fb9bd1e45f 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.2.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.2.nix
@@ -1,4 +1,4 @@
-args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
+args @ { stdenv, fetchurl, extraConfig ? ""
 , perl, mktemp, module_init_tools
 , ... }:
 
@@ -237,7 +237,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.2.28";
+    version = "3.2.34";
     testing = false;
 
     modDirVersion = version;
@@ -248,7 +248,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.0/${if testing then "testing/" else ""}linux-${version}.tar.xz";
-      sha256 = "0v4mbqf0mgnshhkq3symlliaz1jwa7vx7195r3qls390plc9g0nl";
+      sha256 = "0j99pg1kdrj200wda7w2v4d272y4x0hyrp3w540a6rj00gkxsmn4";
     };
 
     config = configWithPlatform stdenv.platform;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.3.nix b/pkgs/os-specific/linux/kernel/linux-3.3.nix
index c56df955b791..0db9a5c375d5 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.3.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.3.nix
@@ -1,4 +1,4 @@
-args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
+args @ { stdenv, fetchurl, extraConfig ? ""
 , perl, mktemp, module_init_tools
 , ... }:
 
@@ -253,6 +253,7 @@ import ./generic.nix (
 
     features.iwlwifi = true;
     features.efiBootStub = true;
+    features.netfilterRPFilter = true;
   }
 
   // removeAttrs args ["extraConfig"]
diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix
index 8b0e3e0d8a25..df38aec881b8 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix
@@ -1,4 +1,4 @@
-args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
+args @ { stdenv, fetchurl, extraConfig ? ""
 , perl, mktemp, module_init_tools
 , ... }:
 
@@ -239,7 +239,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.4.10";
+    version = "3.4.19";
     testing = false;
 
     preConfigure = ''
@@ -248,7 +248,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz";
-      sha256 = "03xfiyhv6zl3wn78bgm7a30w4hs2p328s447slilp0z2w09jqn4q";
+      sha256 = "0zf5da2yfy10ml0f7rpzdbfj9avayw2i9mpm07xhjamw717b82bh";
     };
 
     config = configWithPlatform stdenv.platform;
@@ -257,6 +257,7 @@ import ./generic.nix (
     features.iwlwifi = true;
     features.efiBootStub = true;
     features.needsCifsUtils = true;
+    features.netfilterRPFilter = true;
   }
 
   // removeAttrs args ["extraConfig"]
diff --git a/pkgs/os-specific/linux/kernel/linux-3.5.nix b/pkgs/os-specific/linux/kernel/linux-3.5.nix
index 61d6b0aeba50..78f60c9906a4 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.5.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.5.nix
@@ -1,4 +1,4 @@
-args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? ""
+args @ { stdenv, fetchurl, extraConfig ? ""
 , perl, mktemp, module_init_tools
 , ... }:
 
@@ -240,7 +240,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.5.3";
+    version = "3.5.7";
     testing = false;
 
     preConfigure = ''
@@ -249,7 +249,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz";
-      sha256 = "1p8imlvka3mjm74k09535lyqgdrl1jxrldzd7c8k4qlh5s8fz13w";
+      sha256 = "0k3r0qrlfgn7yk35wf4c49yvyy79kzn42qcrf5kms5iir838kini";
     };
 
     config = configWithPlatform stdenv.platform;
@@ -258,6 +258,8 @@ import ./generic.nix (
     features.iwlwifi = true;
     features.efiBootStub = true;
     features.needsCifsUtils = true;
+    features.canDisableNetfilterConntrackHelpers = true;
+    features.netfilterRPFilter = true;
   }
 
   // removeAttrs args ["extraConfig"]
diff --git a/pkgs/os-specific/linux/kernel/linux-3.6.nix b/pkgs/os-specific/linux/kernel/linux-3.6.nix
new file mode 100644
index 000000000000..5334712865be
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-3.6.nix
@@ -0,0 +1,270 @@
+args @ { stdenv, fetchurl, extraConfig ? ""
+, perl, mktemp, module_init_tools
+, ... }:
+
+let
+  configWithPlatform = kernelPlatform :
+    ''
+      # Power management and debugging for powertop.
+      DEBUG_KERNEL y
+      PM_ADVANCED_DEBUG y
+      PM_RUNTIME y
+      TIMER_STATS y
+      USB_SUSPEND y
+      BACKTRACE_SELF_TEST n
+      CPU_NOTIFIER_ERROR_INJECT? n
+      DEBUG_DEVRES n
+      DEBUG_NX_TEST n
+      DEBUG_STACK_USAGE n
+      DEBUG_STACKOVERFLOW n
+      RCU_TORTURE_TEST n
+      SCHEDSTATS 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
+
+      # Enable NUMA.
+      NUMA? y
+
+      # Disable some expensive (?) features.
+      FTRACE n
+      KPROBES 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
+      B43_PHY_HT y
+      BCMA_HOST_PCI y
+
+      # Some settings to make sure that fbcondecor works - in particular,
+      # disable tileblitting and the drivers that need it.
+
+      # 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_RFCOMM m
+      BT_RFCOMM_TTY y # RFCOMM TTY support
+      CRASH_DUMP n
+      DMAR? n # experimental
+      DVB_DYNAMIC_MINORS? y # we use udev
+      EFI_STUB y # EFI bootloader in the bzImage itself
+      FUSION y # Fusion MPT device support
+      IDE_GD_ATAPI y # ATAPI floppy support
+      IRDA_ULTRA y # Ultra (connectionless) protocol
+      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
+      USB_EHCI_TT_NEWSCHED y # Improved transaction translator scheduling
+      X86_CHECK_BIOS_CORRUPTION y
+      X86_MCE y
+      XEN_DOM0 y
+
+      # Linux Containers
+      RT_GROUP_SCHED? y
+      CGROUP_DEVICE? y
+      CGROUP_MEM_RES_CTLR? y
+      CGROUP_MEM_RES_CTLR_SWAP? y
+      DEVPTS_MULTIPLE_INSTANCES? y
+
+      # Enable staging drivers.  These are somewhat experimental, but
+      # they generally don't hurt.
+      STAGING y
+
+      # PROC_EVENTS requires that the netlink connector is not built
+      # as a module.  This is required by libcgroup's cgrulesengd.
+      CONNECTOR y
+      PROC_EVENTS y
+
+      # Tracing
+      FTRACE y
+      FUNCTION_TRACER y
+      FTRACE_SYSCALLS y
+      SCHED_TRACER y
+
+      # Devtmpfs support.
+      DEVTMPFS y
+
+      # Media support
+      MEDIA_CAMERA_SUPPORT? y
+      MEDIA_RC_SUPPORT? y
+
+      ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
+      ${extraConfig}
+    '';
+in
+
+import ./generic.nix (
+
+  rec {
+    version = "3.6.7";
+    testing = false;
+
+    preConfigure = ''
+      substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' ""
+    '';
+
+    src = fetchurl {
+      url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz";
+      sha256 = "08ivh0md8lcq4xqq98y2ripfb02pykh6qla4zspj76qvl0awvp3x";
+    };
+
+    config = configWithPlatform stdenv.platform;
+    configCross = configWithPlatform stdenv.cross.platform;
+
+    features.iwlwifi = true;
+    features.efiBootStub = true;
+    features.needsCifsUtils = true;
+    features.canDisableNetfilterConntrackHelpers = true;
+    features.netfilterRPFilter = true;
+  }
+
+  // removeAttrs args ["extraConfig"]
+)
diff --git a/pkgs/os-specific/linux/kernel/mips-ext3-n32.patch b/pkgs/os-specific/linux/kernel/mips-ext3-n32.patch
new file mode 100644
index 000000000000..fcb6f9177c7d
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/mips-ext3-n32.patch
@@ -0,0 +1,17 @@
+Dirty patch that makes ext3 work again on 3.5 and 3.6 kernels,
+on mips n32.
+
+http://www.linux-mips.org/archives/linux-mips/2012-11/msg00030.html
+
+diff --git a/fs/ext3/dir.c b/fs/ext3/dir.c
+index 92490e9..bf63d7b 100644
+--- a/fs/ext3/dir.c
++++ b/fs/ext3/dir.c
+@@ -228,6 +228,7 @@ out:
+ 
+ static inline int is_32bit_api(void)
+ {
++	return 1;
+ #ifdef CONFIG_COMPAT
+ 	return is_compat_task();
+ #else
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 7aa365a67de9..d42581e457ed 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -107,13 +107,13 @@ rec {
 
   aufs3_0 = rec {
     name = "aufs3.0";
-    version = "3.0";
-    utilRev = "cabe3601001ab3838215116c32715c9de9412e62";
-    utilHash = "7fc6cfe1e69a0b2438eaee056e15d42a2d6be396a637fcfb1b89858fcecc832f";
+    version = "3.0.20120827";
+    utilRev = "91af15f977d12e02165759620005f6ce1a4d7602";
+    utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996";
     patch = makeAufs3StandalonePatch {
       inherit version;
-      rev = "517b27621cdfb793959acac849dae9888338526a";
-      sha256 = "8085200ac78d0c1e082d4c721a09f4a4c1d96ae86e307075836d09c3e7d502df";
+      rev = "4bd8efe495832ec43c26cb31ddcab3bae56485da";
+      sha256 = "496113f0eae1a24ae0c1998d1c73fc7c13961579c8e694b3651a8080eae7b74e";
     };
     features.aufsBase = true;
     features.aufs3 = true;
@@ -121,13 +121,13 @@ rec {
 
   aufs3_1 = rec {
     name = "aufs3.1";
-    version = "3.1";
-    utilRev = "cabe3601001ab3838215116c32715c9de9412e62";
-    utilHash = "7fc6cfe1e69a0b2438eaee056e15d42a2d6be396a637fcfb1b89858fcecc832f";
+    version = "3.1.20120827";
+    utilRev = "91af15f977d12e02165759620005f6ce1a4d7602";
+    utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996";
     patch = makeAufs3StandalonePatch {
       inherit version;
-      rev = "7386b57432ec5e73632a5375804239b02b6c00f0";
-      sha256 = "af4e9ad890e1b72d14170c97d8ead53291f09e275db600932724e6181530be2d";
+      rev = "9be47f1ff7c86976b0baa7847f22d75983e53922";
+      sha256 = "0cd239b9aad396750a26a5cd7b0d54146f21db63fb13d3fa03c4f73b7ebce77e";
     };
     features.aufsBase = true;
     features.aufs3 = true;
@@ -135,13 +135,13 @@ rec {
 
   aufs3_2 = rec {
     name = "aufs3.2";
-    version = "3.2";
-    utilRev = "a953b0218667e06b722f4c41df29edacd8dc8e1f";
-    utilHash = "28ac4c1a07b2c30fb61a6facc9cedcf67b14f303baedf1b121aeb6293ea49eb4";
+    version = "3.2.20120827";
+    utilRev = "91af15f977d12e02165759620005f6ce1a4d7602";
+    utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996";
     patch = makeAufs3StandalonePatch {
       inherit version;
-      rev = "9c4bbeb58f0ecc235ea820ae320efa2c0006e033";
-      sha256 = "5363a7f5fbadaef9457e743a5781f2525332c4bbb91693ca2596ab2d8f7860ea";
+      rev = "267cb1138b4724ee028ec64ace556abdf993c9f4";
+      sha256 = "61f69264806cf06a05548166e2bc8fd121de9a3e524385f725d76abab22b8a0d";
     };
     features.aufsBase = true;
     features.aufs3 = true;
@@ -149,13 +149,13 @@ rec {
 
   aufs3_3 = rec {
     name = "aufs3.3";
-    version = "3.3.20120730";
+    version = "3.3.20120827";
     utilRev = "91af15f977d12e02165759620005f6ce1a4d7602";
     utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996";
     patch = makeAufs3StandalonePatch {
       inherit version;
-      rev = "ff0c9f1c002ef564d7bd52dd56a9b72f4ee7ce0c";
-      sha256 = "cfa1a06669c984e1b8755da649aac40152e8018ee87939c5f0825100e45e196e";
+      rev = "ef302b8a8a2862b622cf4826d08b1e076ee6acb7";
+      sha256 = "7f78783685cc3e4eb825cd5dd8dabc82bb16c275493a850e8b7955ac69048d98";
     };
     features.aufsBase = true;
     features.aufs3 = true;
@@ -163,13 +163,13 @@ rec {
 
   aufs3_4 = rec {
     name = "aufs3.4";
-    version = "3.4.20120730";
+    version = "3.4.20120827";
     utilRev = "91af15f977d12e02165759620005f6ce1a4d7602";
     utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996";
     patch = makeAufs3StandalonePatch {
       inherit version;
-      rev = "8d7338df43d5e5372424813679c7531cf96ec260";
-      sha256 = "37880124df88791d51089277230df0816fc5545c9752be3fa5173385489362c6";
+      rev = "79d8207b22c38420757adf7eec86ee2dcec7443c";
+      sha256 = "bc148aa251c6e63edca70c516c0548dc9b3e48653039df4cf693aa2bcc1b9bb0";
     };
     features.aufsBase = true;
     features.aufs3 = true;
@@ -177,13 +177,28 @@ rec {
 
   aufs3_5 = rec {
     name = "aufs3.5";
-    version = "3.5.20120813";
+    version = "3.5.20120827";
     utilRev = "91af15f977d12e02165759620005f6ce1a4d7602";
     utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996";
     patch = makeAufs3StandalonePatch {
       inherit version;
-      rev = "85b5f7059bc8a1759989408a13fc56f92e0d6d31";
-      sha256 = "2be13407a2291c7e69658f10a6fb7672751c906a27ac700a2e5e05dbada97cc5";
+      rev = "18e455787597579fe144cdb2f18aa6a0a32c46a4";
+      sha256 = "9649a4cb00e41e2b2e3aa57c3869c33faf90ecbd845a3ac0119922655e80a030";
+    };
+    features.aufsBase = true;
+    features.aufs3 = true;
+  };
+
+  # not officially released yet, but 3.x seems to work fine
+  aufs3_6 = rec {
+    name = "aufs3.6";
+    version = "3.x.20120827";
+    utilRev = "91af15f977d12e02165759620005f6ce1a4d7602";
+    utilHash = "dda4df89828dcf0e4012d88b4aa3eda8c30af69d6530ff5fedc2411de872c996";
+    patch = makeAufs3StandalonePatch {
+      inherit version;
+      rev = "46660ad144289fa1f0aca59bd00d592b560d0dbb";
+      sha256 = "823b7b4c011c103d63711900b3213008de3c9e408b909e0cc2b8697c1e82b67d";
     };
     features.aufsBase = true;
     features.aufs3 = true;
@@ -215,6 +230,12 @@ rec {
       features.cifsTimeout = true;
     };
 
+  cifs_timeout_3_5_7 =
+    { name = "cifs-timeout";
+      patch = ./cifs-timeout-3.5.7.patch;
+      features.cifsTimeout = true;
+    };
+
   no_xsave =
     { name = "no-xsave";
       patch = ./no-xsave.patch;
@@ -226,6 +247,7 @@ rec {
       patch = ./dell-rfkill.patch;
     };
 
+  # seems no longer necessary on 3.6
   perf3_5 =
     { name = "perf-3.5";
       patch = ./perf-3.5.patch;
@@ -246,6 +268,11 @@ rec {
       patch = ./mips-fpu-sigill.patch;
     };
 
+  mips_ext3_n32 =
+    { name = "mips-ext3-n32";
+      patch = ./mips-ext3-n32.patch;
+    };
+
   guruplug_defconfig =
     { # Default configuration for the GuruPlug.  From
       # <http://www.openplug.org/plugwiki/images/c/c6/Guruplug-patchset-2.6.33.2.tar.bz2>.
diff --git a/pkgs/os-specific/linux/lvm2/assume-uevent-generated.patch b/pkgs/os-specific/linux/lvm2/assume-uevent-generated.patch
new file mode 100644
index 000000000000..4098d042fd53
--- /dev/null
+++ b/pkgs/os-specific/linux/lvm2/assume-uevent-generated.patch
@@ -0,0 +1,39 @@
+Work around LVM/cryptsetup errors like:
+
+  semid 32768: semop failed for cookie 0xd4d41f4: incorrect semaphore state
+  Failed to set a proper state for notification semaphore identified by cookie value 223166964 (0xd4d41f4) to initialize waiting for incoming notifications.
+
+and (when running "cryptsetup --debug"):
+
+  Uevent not generated! Calling udev_complete internally to avoid process lock-up.
+
+Here for some reason libdm *thinks* that the uevent hasn't been
+emitted, so it calls udev_complete.  But the uevent actually *has*
+been emitted, so udev calls ‘dmsetup udevcomplete’ as well, leading to
+a race.
+
+This is probably a reoccurence of the problem described here:
+
+  http://www.redhat.com/archives/dm-devel/2011-August/msg00075.html
+  http://www.redhat.com/archives/linux-lvm/2011-September/msg00023.html
+
+which was fixed in the kernel, so it's not clear why it's surfacing
+again.  Maybe netlink_broadcast_filtered() has started returning some
+other bogus error code.
+  
+diff -ru -x '*~' LVM2.2.02.98/libdm/ioctl/libdm-iface.c LVM2.2.02.98-new/libdm/ioctl/libdm-iface.c
+--- LVM2.2.02.98/libdm/ioctl/libdm-iface.c	2012-10-15 10:24:58.000000000 -0400
++++ LVM2.2.02.98-new/libdm/ioctl/libdm-iface.c	2012-10-15 14:19:06.774363736 -0400
+@@ -1754,9 +1754,12 @@
+ 
+ 	if (ioctl_with_uevent && dm_udev_get_sync_support() &&
+ 	    !_check_uevent_generated(dmi)) {
++		log_debug("warning: Uevent might not be generated!");
++#if 0
+ 		log_debug("Uevent not generated! Calling udev_complete "
+ 			  "internally to avoid process lock-up.");
+ 		_udev_complete(dmt);
++#endif
+ 	}
+ 
+ 	if (!_dm_ioctl_unmangle_names(dmt->type, dmi))
diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix
index 1ebebfd634b7..ec68304c9355 100644
--- a/pkgs/os-specific/linux/lvm2/default.nix
+++ b/pkgs/os-specific/linux/lvm2/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils }:
 
 let
-  v = "2.02.97";
+  v = "2.02.98";
 in
 
 stdenv.mkDerivation {
@@ -9,9 +9,11 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "ftp://sources.redhat.com/pub/lvm2/old/LVM2.${v}.tgz";
-    sha256 = "0azwa555dgvixbdw055yj8cj1q6kd0a36nms005iz7la5q0q5npd";
+    sha256 = "0r6q6z8ip6q5qgkzng0saljassp4912k6i21ra10vq7pzrc0l0vi";
   };
 
+  patches = [ ./assume-uevent-generated.patch ];
+
   configureFlags =
     "--disable-readline --enable-udev_rules --enable-udev_sync --enable-pkgconfig --enable-applib";
 
diff --git a/pkgs/applications/virtualization/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index 26180b843687..be943f5df9e0 100644
--- a/pkgs/applications/virtualization/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -1,14 +1,11 @@
 { stdenv, fetchurl, libcap, perl, docbook2x, docbook_xml_dtd_45 }:
 
-let
-  name = "lxc-0.7.5";
-in
-stdenv.mkDerivation{
-  inherit name;
+stdenv.mkDerivation rec {
+  name = "lxc-0.8.0-rc2";
 
   src = fetchurl {
     url = "http://lxc.sf.net/download/lxc/${name}.tar.gz";
-    sha256 = "019ec63f250c874bf7625b1f1bf555b1a6e3a947937a4fca73100abddf829b1c";
+    sha256 = "1f0ee0464507d26e494784e841b68c765ecd3abc5976012e226f69d1aa361bef";
   };
 
   buildInputs = [ libcap perl docbook2x ];
@@ -42,7 +39,6 @@ stdenv.mkDerivation{
       mechanisms to Linux’s existing process management infrastructure.
     '';
 
-
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
diff --git a/pkgs/applications/virtualization/lxc/dont-run-ldconfig.patch b/pkgs/os-specific/linux/lxc/dont-run-ldconfig.patch
index e72ac0250f51..e72ac0250f51 100644
--- a/pkgs/applications/virtualization/lxc/dont-run-ldconfig.patch
+++ b/pkgs/os-specific/linux/lxc/dont-run-ldconfig.patch
diff --git a/pkgs/applications/virtualization/lxc/fix-documentation-build.patch b/pkgs/os-specific/linux/lxc/fix-documentation-build.patch
index 0189b35a33e9..0189b35a33e9 100644
--- a/pkgs/applications/virtualization/lxc/fix-documentation-build.patch
+++ b/pkgs/os-specific/linux/lxc/fix-documentation-build.patch
diff --git a/pkgs/applications/virtualization/lxc/fix-sgml-documentation.patch b/pkgs/os-specific/linux/lxc/fix-sgml-documentation.patch
index 4d2cce0dd62e..60c9027cca5c 100644
--- a/pkgs/applications/virtualization/lxc/fix-sgml-documentation.patch
+++ b/pkgs/os-specific/linux/lxc/fix-sgml-documentation.patch
@@ -1,7 +1,8 @@
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-cgroup.sgml.in lxc-0.7.5/doc/lxc-cgroup.sgml.in
---- lxc-0.7.5-orig/doc/lxc-cgroup.sgml.in	2010-06-07 10:51:51.000000000 +0200
-+++ lxc-0.7.5/doc/lxc-cgroup.sgml.in	2011-09-26 10:05:01.753873426 +0200
-@@ -23,7 +23,7 @@
+diff --git a/doc/lxc-attach.sgml.in b/doc/lxc-attach.sgml.in
+index 7092f16..021da41 100644
+--- a/doc/lxc-attach.sgml.in
++++ b/doc/lxc-attach.sgml.in
+@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
@@ -10,10 +11,11 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-cgroup.sgml.in lxc-0.7.5/
  
  <!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-checkpoint.sgml.in lxc-0.7.5/doc/lxc-checkpoint.sgml.in
---- lxc-0.7.5-orig/doc/lxc-checkpoint.sgml.in	2011-02-17 10:07:44.000000000 +0100
-+++ lxc-0.7.5/doc/lxc-checkpoint.sgml.in	2011-09-26 10:05:01.753873426 +0200
-@@ -23,7 +23,7 @@
+diff --git a/doc/lxc-cgroup.sgml.in b/doc/lxc-cgroup.sgml.in
+index 5acd313..856a544 100644
+--- a/doc/lxc-cgroup.sgml.in
++++ b/doc/lxc-cgroup.sgml.in
+@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
@@ -22,22 +24,24 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-checkpoint.sgml.in lxc-0.
  
  <!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc.conf.sgml.in lxc-0.7.5/doc/lxc.conf.sgml.in
---- lxc-0.7.5-orig/doc/lxc.conf.sgml.in	2011-08-09 16:51:01.000000000 +0200
-+++ lxc-0.7.5/doc/lxc.conf.sgml.in	2011-09-26 10:05:01.754873476 +0200
-@@ -23,7 +23,7 @@
+diff --git a/doc/lxc-checkpoint.sgml.in b/doc/lxc-checkpoint.sgml.in
+index bf0efd9..eeb0039 100644
+--- a/doc/lxc-checkpoint.sgml.in
++++ b/doc/lxc-checkpoint.sgml.in
+@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
 -<!DOCTYPE refentry PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
 +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  
+ <!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
- ]>
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-console.sgml.in lxc-0.7.5/doc/lxc-console.sgml.in
---- lxc-0.7.5-orig/doc/lxc-console.sgml.in	2010-06-07 10:51:51.000000000 +0200
-+++ lxc-0.7.5/doc/lxc-console.sgml.in	2011-09-26 10:05:01.754873476 +0200
-@@ -23,7 +23,7 @@
+diff --git a/doc/lxc-console.sgml.in b/doc/lxc-console.sgml.in
+index 606c868..62f9e07 100644
+--- a/doc/lxc-console.sgml.in
++++ b/doc/lxc-console.sgml.in
+@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
@@ -46,10 +50,11 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-console.sgml.in lxc-0.7.5
  
  <!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-create.sgml.in lxc-0.7.5/doc/lxc-create.sgml.in
---- lxc-0.7.5-orig/doc/lxc-create.sgml.in	2011-07-25 00:27:10.000000000 +0200
-+++ lxc-0.7.5/doc/lxc-create.sgml.in	2011-09-26 10:05:01.755873526 +0200
-@@ -23,7 +23,7 @@
+diff --git a/doc/lxc-create.sgml.in b/doc/lxc-create.sgml.in
+index a3cca83..d59106d 100644
+--- a/doc/lxc-create.sgml.in
++++ b/doc/lxc-create.sgml.in
+@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
@@ -58,10 +63,19 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-create.sgml.in lxc-0.7.5/
  
  <!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-destroy.sgml.in lxc-0.7.5/doc/lxc-destroy.sgml.in
---- lxc-0.7.5-orig/doc/lxc-destroy.sgml.in	2010-10-08 11:54:53.000000000 +0200
-+++ lxc-0.7.5/doc/lxc-destroy.sgml.in	2011-09-26 10:05:01.755873526 +0200
-@@ -23,7 +23,7 @@
+@@ -141,6 +141,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ 	    filesystem) of size SIZE rather than the default, which is 1G.
+ 	  </para>
+ 	</listitem>
++      </varlistentry>
+ 
+       <varlistentry>
+ 	<term>
+diff --git a/doc/lxc-destroy.sgml.in b/doc/lxc-destroy.sgml.in
+index e75de57..05f53d6 100644
+--- a/doc/lxc-destroy.sgml.in
++++ b/doc/lxc-destroy.sgml.in
+@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
@@ -70,10 +84,11 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-destroy.sgml.in lxc-0.7.5
  
  <!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-execute.sgml.in lxc-0.7.5/doc/lxc-execute.sgml.in
---- lxc-0.7.5-orig/doc/lxc-execute.sgml.in	2011-07-25 00:27:10.000000000 +0200
-+++ lxc-0.7.5/doc/lxc-execute.sgml.in	2011-09-26 10:05:01.755873526 +0200
-@@ -23,7 +23,7 @@
+diff --git a/doc/lxc-execute.sgml.in b/doc/lxc-execute.sgml.in
+index 77d132a..1e58bef 100644
+--- a/doc/lxc-execute.sgml.in
++++ b/doc/lxc-execute.sgml.in
+@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
@@ -82,10 +97,11 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-execute.sgml.in lxc-0.7.5
  
  <!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-freeze.sgml.in lxc-0.7.5/doc/lxc-freeze.sgml.in
---- lxc-0.7.5-orig/doc/lxc-freeze.sgml.in	2010-06-07 10:51:51.000000000 +0200
-+++ lxc-0.7.5/doc/lxc-freeze.sgml.in	2011-09-26 10:05:01.755873526 +0200
-@@ -23,7 +23,7 @@
+diff --git a/doc/lxc-freeze.sgml.in b/doc/lxc-freeze.sgml.in
+index 798ccf4..f0d0485 100644
+--- a/doc/lxc-freeze.sgml.in
++++ b/doc/lxc-freeze.sgml.in
+@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
@@ -94,10 +110,11 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-freeze.sgml.in lxc-0.7.5/
  
  <!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-kill.sgml.in lxc-0.7.5/doc/lxc-kill.sgml.in
---- lxc-0.7.5-orig/doc/lxc-kill.sgml.in	2010-10-08 11:54:53.000000000 +0200
-+++ lxc-0.7.5/doc/lxc-kill.sgml.in	2011-09-26 10:05:01.756873576 +0200
-@@ -23,7 +23,7 @@
+diff --git a/doc/lxc-kill.sgml.in b/doc/lxc-kill.sgml.in
+index 5bec922..1f48820 100644
+--- a/doc/lxc-kill.sgml.in
++++ b/doc/lxc-kill.sgml.in
+@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
@@ -106,10 +123,11 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-kill.sgml.in lxc-0.7.5/do
  
  <!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-ls.sgml.in lxc-0.7.5/doc/lxc-ls.sgml.in
---- lxc-0.7.5-orig/doc/lxc-ls.sgml.in	2010-06-07 10:51:51.000000000 +0200
-+++ lxc-0.7.5/doc/lxc-ls.sgml.in	2011-09-26 10:05:01.756873576 +0200
-@@ -24,7 +24,7 @@
+diff --git a/doc/lxc-ls.sgml.in b/doc/lxc-ls.sgml.in
+index 3ffd4f8..b11d211 100644
+--- a/doc/lxc-ls.sgml.in
++++ b/doc/lxc-ls.sgml.in
+@@ -24,7 +24,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
@@ -118,10 +136,11 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-ls.sgml.in lxc-0.7.5/doc/
  
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
  ]>
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-monitor.sgml.in lxc-0.7.5/doc/lxc-monitor.sgml.in
---- lxc-0.7.5-orig/doc/lxc-monitor.sgml.in	2010-06-07 10:51:51.000000000 +0200
-+++ lxc-0.7.5/doc/lxc-monitor.sgml.in	2011-09-26 10:05:01.756873576 +0200
-@@ -23,7 +23,7 @@
+diff --git a/doc/lxc-monitor.sgml.in b/doc/lxc-monitor.sgml.in
+index 9d8711c..b492968 100644
+--- a/doc/lxc-monitor.sgml.in
++++ b/doc/lxc-monitor.sgml.in
+@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
@@ -130,10 +149,11 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-monitor.sgml.in lxc-0.7.5
  
  <!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-ps.sgml.in lxc-0.7.5/doc/lxc-ps.sgml.in
---- lxc-0.7.5-orig/doc/lxc-ps.sgml.in	2011-08-11 17:54:57.000000000 +0200
-+++ lxc-0.7.5/doc/lxc-ps.sgml.in	2011-09-26 10:05:01.756873576 +0200
-@@ -24,7 +24,7 @@
+diff --git a/doc/lxc-ps.sgml.in b/doc/lxc-ps.sgml.in
+index bb7b5a6..05ed59f 100644
+--- a/doc/lxc-ps.sgml.in
++++ b/doc/lxc-ps.sgml.in
+@@ -24,7 +24,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
@@ -142,10 +162,11 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-ps.sgml.in lxc-0.7.5/doc/
  
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
  ]>
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-restart.sgml.in lxc-0.7.5/doc/lxc-restart.sgml.in
---- lxc-0.7.5-orig/doc/lxc-restart.sgml.in	2011-02-17 10:07:44.000000000 +0100
-+++ lxc-0.7.5/doc/lxc-restart.sgml.in	2011-09-26 10:05:01.757873626 +0200
-@@ -23,7 +23,7 @@
+diff --git a/doc/lxc-restart.sgml.in b/doc/lxc-restart.sgml.in
+index eb556d9..d158cc7 100644
+--- a/doc/lxc-restart.sgml.in
++++ b/doc/lxc-restart.sgml.in
+@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
@@ -154,58 +175,37 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-restart.sgml.in lxc-0.7.5
  
  <!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc.sgml.in lxc-0.7.5/doc/lxc.sgml.in
---- lxc-0.7.5-orig/doc/lxc.sgml.in	2010-10-26 18:07:35.000000000 +0200
-+++ lxc-0.7.5/doc/lxc.sgml.in	2011-09-26 10:05:01.758873676 +0200
-@@ -23,7 +23,7 @@
+diff --git a/doc/lxc-start.sgml.in b/doc/lxc-start.sgml.in
+index 4504d58..f268185 100644
+--- a/doc/lxc-start.sgml.in
++++ b/doc/lxc-start.sgml.in
+@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
 -<!DOCTYPE refentry PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
 +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  
+ <!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
- ]>
-@@ -280,7 +280,7 @@
-       </para>
+diff --git a/doc/lxc-stop.sgml.in b/doc/lxc-stop.sgml.in
+index d15e649..51179c4 100644
+--- a/doc/lxc-stop.sgml.in
++++ b/doc/lxc-stop.sgml.in
+@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
-       <programlisting>
--
-+<![CDATA[
-    ---------
-   | STOPPED |<---------------
-    ---------                 |
-@@ -305,7 +305,7 @@
-    ----------                |
-        |                     |
-         ---------------------
--
-+]]>
-       </programlisting>
-     </refsect2>
+ -->
  
-@@ -570,7 +570,7 @@
- 	to the background.
+-<!DOCTYPE refentry PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  
- 	<programlisting>
--
-+<![CDATA[
- 	  # launch lxc-wait in background
- 	  lxc-wait -n foo -s STOPPED &
- 	  LXC_WAIT_PID=$!
-@@ -583,7 +583,7 @@
- 	  # is STOPPED
- 	  wait $LXC_WAIT_PID
- 	  echo "'foo' is finished"
--
-+]]>
- 	</programlisting>
-       </para>
-     </refsect2>
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-start.sgml.in lxc-0.7.5/doc/lxc-start.sgml.in
---- lxc-0.7.5-orig/doc/lxc-start.sgml.in	2011-02-01 15:12:40.000000000 +0100
-+++ lxc-0.7.5/doc/lxc-start.sgml.in	2011-09-26 10:05:01.758873676 +0200
-@@ -23,7 +23,7 @@
+ <!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
+ <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
+diff --git a/doc/lxc-unfreeze.sgml.in b/doc/lxc-unfreeze.sgml.in
+index bb00d85..3f8f59b 100644
+--- a/doc/lxc-unfreeze.sgml.in
++++ b/doc/lxc-unfreeze.sgml.in
+@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
@@ -214,10 +214,11 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-start.sgml.in lxc-0.7.5/d
  
  <!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-stop.sgml.in lxc-0.7.5/doc/lxc-stop.sgml.in
---- lxc-0.7.5-orig/doc/lxc-stop.sgml.in	2010-06-07 10:51:51.000000000 +0200
-+++ lxc-0.7.5/doc/lxc-stop.sgml.in	2011-09-26 10:05:01.758873676 +0200
-@@ -23,7 +23,7 @@
+diff --git a/doc/lxc-wait.sgml.in b/doc/lxc-wait.sgml.in
+index 97a4c39..0c7c589 100644
+--- a/doc/lxc-wait.sgml.in
++++ b/doc/lxc-wait.sgml.in
+@@ -24,7 +24,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
@@ -226,27 +227,65 @@ diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-stop.sgml.in lxc-0.7.5/do
  
  <!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-unfreeze.sgml.in lxc-0.7.5/doc/lxc-unfreeze.sgml.in
---- lxc-0.7.5-orig/doc/lxc-unfreeze.sgml.in	2010-06-07 10:51:51.000000000 +0200
-+++ lxc-0.7.5/doc/lxc-unfreeze.sgml.in	2011-09-26 10:05:01.759873726 +0200
-@@ -23,7 +23,7 @@
+diff --git a/doc/lxc.conf.sgml.in b/doc/lxc.conf.sgml.in
+index 9edabf8..daa2ff8 100644
+--- a/doc/lxc.conf.sgml.in
++++ b/doc/lxc.conf.sgml.in
+@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
 -<!DOCTYPE refentry PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
 +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  
- <!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
-diff -ubr '--exclude=Makefile*' lxc-0.7.5-orig/doc/lxc-wait.sgml.in lxc-0.7.5/doc/lxc-wait.sgml.in
---- lxc-0.7.5-orig/doc/lxc-wait.sgml.in	2010-06-07 10:51:51.000000000 +0200
-+++ lxc-0.7.5/doc/lxc-wait.sgml.in	2011-09-26 10:05:01.759873726 +0200
-@@ -24,7 +24,7 @@
+ ]>
+diff --git a/doc/lxc.sgml.in b/doc/lxc.sgml.in
+index 1b30fed..d98ca21 100644
+--- a/doc/lxc.sgml.in
++++ b/doc/lxc.sgml.in
+@@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  
  -->
  
 -<!DOCTYPE refentry PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
 +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  
- <!ENTITY commonoptions SYSTEM "@builddir@/common_options.sgml">
  <!ENTITY seealso SYSTEM "@builddir@/see_also.sgml">
+ ]>
+@@ -280,7 +280,7 @@ rootfs
+       </para>
+ 
+       <programlisting>
+-
++<![CDATA[
+    ---------
+   | STOPPED |<---------------
+    ---------                 |
+@@ -305,7 +305,7 @@ rootfs
+    ----------                |
+        |                     |
+         ---------------------
+-
++]]>
+       </programlisting>
+     </refsect2>
+ 
+@@ -570,7 +570,7 @@ rootfs
+ 	to the background.
+ 
+ 	<programlisting>
+-
++<![CDATA[
+ 	  # launch lxc-wait in background
+ 	  lxc-wait -n foo -s STOPPED &
+ 	  LXC_WAIT_PID=$!
+@@ -583,7 +583,7 @@ rootfs
+ 	  # is STOPPED
+ 	  wait $LXC_WAIT_PID
+ 	  echo "'foo' is finished"
+-
++]]>
+ 	</programlisting>
+       </para>
+     </refsect2>
diff --git a/pkgs/os-specific/linux/mountall/default.nix b/pkgs/os-specific/linux/mountall/default.nix
index 67d7801fdb23..4cad810cc5f1 100644
--- a/pkgs/os-specific/linux/mountall/default.nix
+++ b/pkgs/os-specific/linux/mountall/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libnih, dbus, udev, autoconf, automake, libtool, gettext }:
+{ stdenv, fetchurl, pkgconfig, libnih, dbus, udev, gettext, autoreconfHook }:
 
 stdenv.mkDerivation {
   name = "mountall-2.35";
@@ -10,9 +10,7 @@ stdenv.mkDerivation {
 
   patches = [ ./no-plymouth.patch ./fix-usr1-race.patch ];
 
-  preConfigure = "rm -R aclocal.m4; gettextize -f; autoreconf -vfi";
-
-  buildInputs = [ pkgconfig libnih dbus.libs udev autoconf automake libtool gettext ];
+  buildInputs = [ pkgconfig libnih dbus.libs udev gettext autoreconfHook ];
 
   makeFlags = "initramfshookdir=$(out)/share/initramfs-tools/hooks upstart_jobs_initramfs_configdir=$(out)/share/initramfs-tools/event-driven/upstart-jobs";
 
diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix
index 6429d8092cfd..4060204d5052 100644
--- a/pkgs/os-specific/linux/nfs-utils/default.nix
+++ b/pkgs/os-specific/linux/nfs-utils/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     '';
 
   # One test fails on mips.
-  doCheck = if stdenv.isMips then false else true;
+  doCheck = !stdenv.isMips;
 
   meta = {
     description = "Linux user-space NFS utilities";
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 8714c342f1ae..9a6a23500beb 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -8,23 +8,23 @@
 
 with stdenv.lib;
 
-let versionNumber = "304.37"; in
+let versionNumber = "304.60"; in
 
 stdenv.mkDerivation {
   name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
-  
+
   builder = ./builder.sh;
-  
+
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
-        sha256 = "0dxka66vp15xgm7z9v6x01gdvyvj3l9c33sa7zyahdxbr6h78cdb";
+        sha256 = "0h64wxivh4kmqqhyklvkfwy9nxddqhc0whrw1skpczyjblr2ranr";
       }
     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 = "1xjg91sh7zyn6djdm78wdfas8j7cqn96nyy5zavsnd9jh7v1i0gp";
+        sha256 = "1jkgvpd7c760bn34zvq6iinidmbmn70ymh635c3sy9nnx2gr2f7m";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
index 0112270f3bf3..90ff989b759a 100644
--- a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
@@ -2,7 +2,7 @@
 
 let 
 
-  versionNumber = "173.14.35";
+  versionNumber = "173.14.36";
 
 in
 
@@ -15,12 +15,12 @@ stdenv.mkDerivation {
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run";
-        sha256 = "16kjxj2bn78cgyb4xq39zajjv1hx1z5dw50n9r17w14ifq7i09id";
+        sha256 = "19wnikms9wradf1kmaywnp7hykrdm4xqz2ka7az66s3ma096y95c";
       }
     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}-pkg0.run";
-        sha256 = "0mk7pj7in090dx2v5yzkd7qkaf0qvz3jv4cmpiflpmzmg9p15x8n";
+        sha256 = "1xf1w6qvqw0a3vd807hp3cgqmzm1wkpz2by52p0qgpjqld421k2s";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
diff --git a/pkgs/os-specific/linux/pmtools/default.nix b/pkgs/os-specific/linux/pmtools/default.nix
new file mode 100644
index 000000000000..1cb2220a3bdc
--- /dev/null
+++ b/pkgs/os-specific/linux/pmtools/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "pmtools-20071116";
+
+  src = fetchurl {
+    url = "www.lesswatts.org/patches/linux_acpi/${name}.tar.gz";
+    sha256 = "91751774976e39f6237efd0326eb35196a9346220b92ad35894a33283e872748";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/pmtools
+    cp acpidump/acpidump acpixtract/acpixtract madt/madt $out/bin/
+    cp README $out/share/pmtools/
+  '';
+
+  meta = {
+    homepage = "http://www.lesswatts.org/projects/acpi/utilities.php";
+    description = "Linux ACPI utilities";
+    license = "GPLv2";
+
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+}
diff --git a/pkgs/os-specific/linux/qemu-kvm/default.nix b/pkgs/os-specific/linux/qemu-kvm/default.nix
index 39b7074e2996..9223b7af917c 100644
--- a/pkgs/os-specific/linux/qemu-kvm/default.nix
+++ b/pkgs/os-specific/linux/qemu-kvm/default.nix
@@ -1,23 +1,21 @@
 { stdenv, fetchurl, attr, zlib, SDL, alsaLib, pkgconfig, pciutils, libuuid, vde2
 , libjpeg, libpng, ncurses, python, glib, libaio, mesa
-, spice, spiceProtocol, spiceSupport ? false }:
+, spice, spice_protocol, spiceSupport ? false }:
 
 assert stdenv.isLinux;
 
-let version = "1.0.1"; in
+let version = "1.2.0"; in
 
 stdenv.mkDerivation rec {
   name = "qemu-kvm-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/kvm/qemu-kvm/${version}/${name}.tar.gz";
-    sha256 = "0kxzwaw8h71mqcm46angpyx8gd58ascrxnr861k068xg89ix5g2p";
+    sha256 = "018vb5nmk2fsm143bs2bl2wirhasd4b10d7jchl32zik4inbk2p9";
   };
 
-  patches = [ ./smb-tmpdir.patch ./qemu-img-fix-corrupt-vdi.patch ];
-
   postPatch =
-    '' for i in $(find kvm -type f)
+    '' for i in $(find . -type f)
        do
          sed -i "$i" \
              -e 's|/bin/bash|/bin/sh|g ;
@@ -41,7 +39,7 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ attr zlib SDL alsaLib pkgconfig pciutils libuuid vde2 libjpeg libpng
       ncurses python glib libaio mesa
-    ] ++ stdenv.lib.optionals spiceSupport [ spiceProtocol spice ];
+    ] ++ stdenv.lib.optionals spiceSupport [ spice_protocol spice ];
 
   postInstall =
     ''
diff --git a/pkgs/os-specific/linux/qemu-kvm/qemu-img-fix-corrupt-vdi.patch b/pkgs/os-specific/linux/qemu-kvm/qemu-img-fix-corrupt-vdi.patch
deleted file mode 100644
index 446a69a146b0..000000000000
--- a/pkgs/os-specific/linux/qemu-kvm/qemu-img-fix-corrupt-vdi.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From http://patchwork.ozlabs.org/patch/137186/
-
-diff -ru qemu-kvm-0.15.1-orig/block/vdi.c qemu-kvm-0.15.1/block/vdi.c
---- qemu-kvm-0.15.1-orig/block/vdi.c	2011-10-19 15:54:48.000000000 +0200
-+++ qemu-kvm-0.15.1/block/vdi.c	2012-02-25 18:15:36.114574574 +0100
-@@ -1,7 +1,7 @@
- /*
-  * Block driver for the Virtual Disk Image (VDI) format
-  *
-- * Copyright (c) 2009 Stefan Weil
-+ * Copyright (c) 2009, 2012 Stefan Weil
-  *
-  * 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
-@@ -767,8 +767,12 @@
-             acb->header_modified = 1;
-         }
-         acb->bmap_last = block_index;
-+        /* Copy data to be written to new block and zero unused parts. */
-+        memset(block, 0, sector_in_block * SECTOR_SIZE);
-         memcpy(block + sector_in_block * SECTOR_SIZE,
-                acb->buf, n_sectors * SECTOR_SIZE);
-+        memset(block + (sector_in_block + n_sectors) * SECTOR_SIZE, 0,
-+               (s->block_sectors - n_sectors - sector_in_block) * SECTOR_SIZE);
-         acb->hd_iov.iov_base = (void *)block;
-         acb->hd_iov.iov_len = s->block_size;
-         qemu_iovec_init_external(&acb->hd_qiov, &acb->hd_iov, 1);
diff --git a/pkgs/os-specific/linux/qemu-kvm/smb-tmpdir.patch b/pkgs/os-specific/linux/qemu-kvm/smb-tmpdir.patch
deleted file mode 100644
index 6d6c7831d15e..000000000000
--- a/pkgs/os-specific/linux/qemu-kvm/smb-tmpdir.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Honour $TMPDIR for the qemu-smb temporary directory.
-
-diff -rc -x '*~' qemu-kvm-0.12.2-orig/net/slirp.c qemu-kvm-0.12.2/net/slirp.c
-*** qemu-kvm-0.12.2-orig/net/slirp.c	2010-02-01 19:05:24.000000000 +0100
---- qemu-kvm-0.12.2/net/slirp.c	2010-02-01 19:05:54.000000000 +0100
-***************
-*** 476,486 ****
-                       struct in_addr vserver_addr)
-  {
-      static int instance;
-!     char smb_conf[128];
-!     char smb_cmdline[128];
-      FILE *f;
-  
-!     snprintf(s->smb_dir, sizeof(s->smb_dir), "/tmp/qemu-smb.%ld-%d",
-               (long)getpid(), instance++);
-      if (mkdir(s->smb_dir, 0700) < 0) {
-          qemu_error("could not create samba server dir '%s'\n", s->smb_dir);
---- 476,489 ----
-                       struct in_addr vserver_addr)
-  {
-      static int instance;
-!     char smb_conf[1024];
-!     char smb_cmdline[1024];
-      FILE *f;
-  
-!     char *tmpdir = getenv("TMPDIR");
-! 
-!     snprintf(s->smb_dir, sizeof(s->smb_dir), "%s/qemu-smb.%ld-%d",
-!              tmpdir ? tmpdir : "/tmp",
-               (long)getpid(), instance++);
-      if (mkdir(s->smb_dir, 0700) < 0) {
-          qemu_error("could not create samba server dir '%s'\n", s->smb_dir);
diff --git a/pkgs/os-specific/linux/reptyr/default.nix b/pkgs/os-specific/linux/reptyr/default.nix
new file mode 100644
index 000000000000..573f1a578c72
--- /dev/null
+++ b/pkgs/os-specific/linux/reptyr/default.nix
@@ -0,0 +1,17 @@
+{stdenv, fetchgit}:
+stdenv.mkDerivation rec {
+  version = "0.4";
+  name = "reptyr-${version}";
+  src = fetchgit {
+    url = "https://github.com/nelhage/reptyr.git";
+    rev = "refs/tags/${name}";
+    sha256 = "2d2814c210e4bde6f9bcf3aa20477287d7e4a5aa7ee09110b37d2eaaf7e5ecae";
+  };
+  makeFlags = ["PREFIX=$(out)"];
+  meta = {
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [raskin];
+    license = stdenv.lib.licenses.mit;
+    description = ''A Linux tool to change controlling pty of a process'';
+  };
+}
diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix
index d401a04e6b92..1055fccd8aa3 100644
--- a/pkgs/os-specific/linux/shadow/default.nix
+++ b/pkgs/os-specific/linux/shadow/default.nix
@@ -7,6 +7,11 @@ let
     then glibcCross
     else assert stdenv ? glibc; stdenv.glibc;
 
+  dots_in_usernames = fetchurl {
+    url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-apps/shadow/files/shadow-4.1.3-dots-in-usernames.patch;
+    sha256 = "1fj3rg6x3jppm5jvi9y7fhd2djbi4nc5pgwisw00xlh4qapgz692";
+  };
+
 in
 
 stdenv.mkDerivation rec {
@@ -19,7 +24,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = stdenv.lib.optional (pam != null && stdenv.isLinux) pam;
 
-  patches = [ ./keep-path.patch ];
+  patches = [ ./keep-path.patch dots_in_usernames ];
 
   # Assume System V `setpgrp (void)', which is the default on GNU variants
   # (`AC_FUNC_SETPGRP' is not cross-compilation capable.)
diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
new file mode 100644
index 000000000000..29d56a60e95c
--- /dev/null
+++ b/pkgs/os-specific/linux/spl/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, kernel, perl, autoconf, automake, libtool, coreutils, gawk }:
+
+stdenv.mkDerivation {
+  name = "spl-0.6.0-rc12";
+  src = fetchurl {
+    url = http://github.com/downloads/zfsonlinux/spl/spl-0.6.0-rc12.tar.gz;
+    sha256 = "166853pqa294f78mn4j4x9pri79lyv3j2h8m9fzhfy7d7gxfqljk";
+  };
+
+  patches = [ ./install_prefix.patch ./install_prefix_2.patch ./module_prefix.patch ];
+
+  buildInputs = [ perl kernel autoconf automake libtool ];
+
+  NIX_CFLAGS_COMPILE = "-I${kernel}/lib/modules/${kernel.modDirVersion}/build/include/generated";
+
+  preConfigure = ''
+    ./autogen.sh
+
+    substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid   hostid
+    substituteInPlace ./module/spl/spl-module.c  --replace /bin/mknod        mknod 
+
+    substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin"
+    substituteInPlace ./module/spl/spl-module.c  --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
+    substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
+  '';
+
+  configureFlags = ''
+     --with-linux=${kernel}/lib/modules/${kernel.version}/build
+     --with-linux-obj=${kernel}/lib/modules/${kernel.version}/build
+  '';
+
+  meta = {
+    description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)";
+
+    longDescription = ''
+      This kernel module is a porting layer for ZFS to work inside the linux
+      kernel. 
+    '';
+
+    homepage = http://zfsonlinux.org/;
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [ jcumming ];
+  };
+}
diff --git a/pkgs/os-specific/linux/spl/install_prefix.patch b/pkgs/os-specific/linux/spl/install_prefix.patch
new file mode 100644
index 000000000000..9a7393b7170c
--- /dev/null
+++ b/pkgs/os-specific/linux/spl/install_prefix.patch
@@ -0,0 +1,19 @@
+*** spl-0.6.0-rc10/Makefile.am.old	Fri Aug 17 14:49:16 2012
+--- spl-0.6.0-rc10/Makefile.am	Fri Aug 17 14:51:06 2012
+***************
+*** 32,38 ****
+  if CONFIG_KERNEL
+  install-data-local:
+  	release=$(SPL_META_VERSION)-$(SPL_META_RELEASE); \
+! 	instdest=$(DESTDIR)/usr/src/spl-$$release/$(LINUX_VERSION); \
+  	for instfile in $(noinst_HEADERS) module/$(LINUX_SYMBOLS); do \
+  		$(INSTALL) -D $$instfile $$instdest/$$instfile; \
+  	done
+--- 32,38 ----
+  if CONFIG_KERNEL
+  install-data-local:
+  	release=$(SPL_META_VERSION)-$(SPL_META_RELEASE); \
+! 	instdest=$(DESTDIR)/@libexecdir@/spl/$(LINUX_VERSION); \
+  	for instfile in $(noinst_HEADERS) module/$(LINUX_SYMBOLS); do \
+  		$(INSTALL) -D $$instfile $$instdest/$$instfile; \
+  	done
diff --git a/pkgs/os-specific/linux/spl/install_prefix_2.patch b/pkgs/os-specific/linux/spl/install_prefix_2.patch
new file mode 100644
index 000000000000..6068ad1d69c2
--- /dev/null
+++ b/pkgs/os-specific/linux/spl/install_prefix_2.patch
@@ -0,0 +1,32 @@
+*** git-export/include/Makefile.am	Tue Mar  6 00:05:28 2012
+--- git-export/include/Makefile.am.new	Tue Mar  6 00:04:46 2012
+***************
+*** 16,22 ****
+  
+  install-data-local:
+  	release=$(SPL_META_VERSION)-$(SPL_META_RELEASE); \
+! 	instdest=$(DESTDIR)/usr/src/spl-$$release/$(LINUX_VERSION); \
+  	instfiles=`find . -name '*.h'`; \
+          for instfile in $$instfiles; do \
+  		$(INSTALL) -D $$instfile $$instdest/$$instfile; \
+--- 16,22 ----
+  
+  install-data-local:
+  	release=$(SPL_META_VERSION)-$(SPL_META_RELEASE); \
+! 	instdest=$(DESTDIR)/@libexecdir@/spl/$(LINUX_VERSION); \
+  	instfiles=`find . -name '*.h'`; \
+          for instfile in $$instfiles; do \
+  		$(INSTALL) -D $$instfile $$instdest/$$instfile; \
+***************
+*** 24,28 ****
+  
+  uninstall-local:
+  	release=$(SPL_META_VERSION)-$(SPL_META_RELEASE); \
+! 	instdest=$(DESTDIR)/usr/src/spl-$$release/$(LINUX_VERSION); \
+  	$(RM) -R $$instdest
+--- 24,28 ----
+  
+  uninstall-local:
+  	release=$(SPL_META_VERSION)-$(SPL_META_RELEASE); \
+! 	instdest=$(DESTDIR)/@libexecdir@/spl/$(LINUX_VERSION); \
+  	$(RM) -R $$instdest
diff --git a/pkgs/os-specific/linux/spl/module_prefix.patch b/pkgs/os-specific/linux/spl/module_prefix.patch
new file mode 100644
index 000000000000..dd40711ccdb8
--- /dev/null
+++ b/pkgs/os-specific/linux/spl/module_prefix.patch
@@ -0,0 +1,33 @@
+*** git-export/module/Makefile.in	Wed Dec 31 16:00:01 1969
+--- git-export/module/Makefile.in.new	Sat Jan 28 21:42:06 2012
+***************
+*** 17,30 ****
+  modules_install:
+  	@# Install the kernel modules
+  	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` \
+! 		INSTALL_MOD_PATH=$(DESTDIR) \
+  		INSTALL_MOD_DIR=addon/spl $@
+  	@# Remove extraneous build products when packaging
+! 	if [ -n "$(DESTDIR)" ]; then \
+! 		find $(DESTDIR)/lib/modules/@LINUX_VERSION@ \
+  			-name 'modules.*' | xargs $(RM); \
+  	fi
+! 	sysmap=$(DESTDIR)/boot/System.map-@LINUX_VERSION@; \
+  	if [ -f $$sysmap ]; then \
+  		depmod -ae -F $$sysmap @LINUX_VERSION@; \
+  	fi
+--- 17,30 ----
+  modules_install:
+  	@# Install the kernel modules
+  	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` \
+! 		INSTALL_MOD_PATH=@prefix@ \
+  		INSTALL_MOD_DIR=addon/spl $@
+  	@# Remove extraneous build products when packaging
+! 	if [ -n "@prefix@" ]; then \
+! 		find @prefix@/lib/modules/@LINUX_VERSION@ \
+  			-name 'modules.*' | xargs $(RM); \
+  	fi
+! 	sysmap=@prefix@/boot/System.map-@LINUX_VERSION@; \
+  	if [ -f $$sysmap ]; then \
+  		depmod -ae -F $$sysmap @LINUX_VERSION@; \
+  	fi
diff --git a/pkgs/os-specific/linux/sysfsutils/default.nix b/pkgs/os-specific/linux/sysfsutils/default.nix
index cecb65f50a2f..bf6dafae10ac 100644
--- a/pkgs/os-specific/linux/sysfsutils/default.nix
+++ b/pkgs/os-specific/linux/sysfsutils/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "sysfsutils-2.1.0";
 
   src = fetchurl {
-    url = "http://kent.dl.sourceforge.net/sourceforge/linux-diag/${name}.tar.gz";
+    url = "mirror://sourceforge/linux-diag/${name}.tar.gz";
     sha256 = "e865de2c1f559fff0d3fc936e660c0efaf7afe662064f2fb97ccad1ec28d208a";
   };
 
diff --git a/pkgs/os-specific/linux/systemd/crypt-devices-are-ready.patch b/pkgs/os-specific/linux/systemd/crypt-devices-are-ready.patch
new file mode 100644
index 000000000000..4646ed0e44ca
--- /dev/null
+++ b/pkgs/os-specific/linux/systemd/crypt-devices-are-ready.patch
@@ -0,0 +1,22 @@
+Do start device units for uninitialised encrypted devices, because the
+service that initialises the filesystem depends on the appearance of
+the device unit.  Also, this makes more sense to me: the device is
+ready; it's the filesystem that's not, but taking care of that is the
+responsibility of the mount unit.  (However, this ignores the fsck
+unit, so it's not perfect...)
+
+diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in
+index d17bdd9..040b10e 100644
+--- a/rules/99-systemd.rules.in
++++ b/rules/99-systemd.rules.in
+@@ -14,10 +14,6 @@ KERNEL=="vport*", TAG+="systemd"
+ SUBSYSTEM=="block", KERNEL!="ram*|loop*", TAG+="systemd"
+ SUBSYSTEM=="block", KERNEL!="ram*|loop*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0"
+ 
+-# Ignore encrypted devices with no identified superblock on it, since
+-# we are probably still calling mke2fs or mkswap on it.
+-SUBSYSTEM=="block", KERNEL!="ram*|loop*", ENV{DM_UUID}=="CRYPT-*", ENV{ID_PART_TABLE_TYPE}=="", ENV{ID_FS_USAGE}=="", ENV{SYSTEMD_READY}="0"
+-
+ # Ignore raid devices that are not yet assembled and started
+ SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", ENV{SYSTEMD_READY}="0"
+ SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0"
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index e6e5822c9eac..bab8dfa4a89b 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -1,23 +1,28 @@
 { stdenv, fetchurl, pkgconfig, intltool, gperf, libcap, dbus, kmod
 , xz, pam, acl, cryptsetup, libuuid, m4, utillinux, usbutils, pciutils
-, glib, kbd
+, glib, kbd, libxslt, coreutils, libgcrypt
 }:
 
 assert stdenv.gcc.libc or null != null;
 
 stdenv.mkDerivation rec {
-  name = "systemd-188";
+  name = "systemd-195";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/systemd/${name}.tar.xz";
-    sha256 = "0nr1cg1mizbwcafjcqw3c30mx6xdv596jpbgjlxr6myvc5hfsfg8";
+    sha256 = "00v3haymdxhjk71pqp17irw9pm5ivfvz35ibvw41v5zdhj5il179";
   };
 
-  patches = [ ./fail-after-reaching-respawn-limit.patch ];
+  patches =
+    [ ./reexec.patch
+      ./ignore-duplicates.patch
+      ./crypt-devices-are-ready.patch
+      ./listunitfiles-abort.patch
+    ];
 
   buildInputs =
     [ pkgconfig intltool gperf libcap dbus kmod xz pam acl
-      /* cryptsetup */ libuuid m4 usbutils pciutils glib
+      /* cryptsetup */ libuuid m4 usbutils pciutils glib libxslt libgcrypt
     ];
 
   configureFlags =
@@ -56,11 +61,14 @@ stdenv.mkDerivation rec {
       # lead to a cyclic dependency.
       "-DPOLKIT_AGENT_BINARY_PATH=\"/run/current-system/sw/bin/pkttyagent\""
       "-fno-stack-protector"
+      # Work around our kernel headers being too old.  FIXME: remove
+      # this after the next stdenv update.
+      "-DFS_NOCOW_FL=0x00800000"
     ];
 
   makeFlags = "CPPFLAGS=-I${stdenv.gcc.libc}/include";
 
-  installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc";
+  installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc sysvinitdir=$(TMPDIR)/etc/init.d";
 
   # Get rid of configuration-specific data.
   postInstall =
@@ -75,7 +83,12 @@ stdenv.mkDerivation rec {
       for i in init halt poweroff runlevel reboot shutdown; do
         ln -s $out/bin/systemctl $out/sbin/$i
       done
-    '';
+
+      # Fix reference to /bin/false in the D-Bus services.
+      for i in $out/share/dbus-1/system-services/*.service; do
+        substituteInPlace $i --replace /bin/false ${coreutils}/bin/false
+      done
+    ''; # */
 
   enableParallelBuilding = true;
 
@@ -88,7 +101,9 @@ stdenv.mkDerivation rec {
   passthru.interfaceVersion = 2;
 
   meta = {
-    homepage = http://www.freedesktop.org/wiki/Software/systemd;
+    homepage = "http://www.freedesktop.org/wiki/Software/systemd";
     description = "A system and service manager for Linux";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.eelco stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/os-specific/linux/systemd/fail-after-reaching-respawn-limit.patch b/pkgs/os-specific/linux/systemd/fail-after-reaching-respawn-limit.patch
deleted file mode 100644
index 7271b5578d52..000000000000
--- a/pkgs/os-specific/linux/systemd/fail-after-reaching-respawn-limit.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/core/service.c b/src/core/service.c
-index 1c127bd..eafdbe5 100644
---- a/src/core/service.c
-+++ b/src/core/service.c
-@@ -2487,6 +2487,7 @@ static int service_start(Unit *u) {
-         r = service_start_limit_test(s);
-         if (r < 0) {
-                 service_notify_sockets_dead(s, true);
-+                service_set_state(s, SERVICE_FAILED);
-                 return r;
-         }
- 
diff --git a/pkgs/os-specific/linux/systemd/ignore-duplicates.patch b/pkgs/os-specific/linux/systemd/ignore-duplicates.patch
new file mode 100644
index 000000000000..764eead54eac
--- /dev/null
+++ b/pkgs/os-specific/linux/systemd/ignore-duplicates.patch
@@ -0,0 +1,20 @@
+Ignore duplicate paths in "systemctl start".
+
+diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
+index a4290c4..d3ac3ad 100644
+--- a/src/systemctl/systemctl.c
++++ b/src/systemctl/systemctl.c
+@@ -1596,8 +1596,11 @@ static int start_unit_one(
+ 
+                 r = set_put(s, p);
+                 if (r < 0) {
+-                        log_error("Failed to add path to set.");
+-                        return r;
++                        free(p);
++                        if (r != -EEXIST) {
++                                log_error("Failed to add path %s to set.", p);
++                                return r;
++                        }
+                 }
+ 
+                 p = NULL;
diff --git a/pkgs/os-specific/linux/systemd/listunitfiles-abort.patch b/pkgs/os-specific/linux/systemd/listunitfiles-abort.patch
new file mode 100644
index 000000000000..4bbb0a9b1bea
--- /dev/null
+++ b/pkgs/os-specific/linux/systemd/listunitfiles-abort.patch
@@ -0,0 +1,20 @@
+diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c
+index ed9784b..6d045cc 100644
+--- a/src/core/dbus-manager.c
++++ b/src/core/dbus-manager.c
+@@ -491,7 +491,6 @@ static DBusMessage *message_from_file_changes(
+         return reply;
+ 
+ oom:
+-        dbus_message_unref(reply);
+         return NULL;
+ }
+ 
+@@ -1432,7 +1431,6 @@ static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
+                 r = unit_file_get_list(m->running_as == SYSTEMD_SYSTEM ? UNIT_FILE_SYSTEM : UNIT_FILE_USER, NULL, h);
+                 if (r < 0) {
+                         unit_file_list_free(h);
+-                        dbus_message_unref(reply);
+                         return bus_send_error_reply(connection, message, NULL, r);
+                 }
+ 
diff --git a/pkgs/os-specific/linux/systemd/reexec.patch b/pkgs/os-specific/linux/systemd/reexec.patch
new file mode 100644
index 000000000000..ff13a44ca0b2
--- /dev/null
+++ b/pkgs/os-specific/linux/systemd/reexec.patch
@@ -0,0 +1,15 @@
+Make "systemctl daemon-reexec" do the right thing on NixOS.
+
+diff --git a/src/core/main.c b/src/core/main.c
+index 04fc0b3..0f5b0e9 100644
+--- a/src/core/main.c
++++ b/src/core/main.c
+@@ -1819,7 +1819,7 @@ finish:
+                         char_array_0(sfd);
+ 
+                         i = 0;
+-                        args[i++] = SYSTEMD_BINARY_PATH;
++                        args[i++] = "/run/current-system/systemd/lib/systemd/systemd";
+                         if (switch_root_dir)
+                                 args[i++] = "--switched-root";
+                         args[i++] = arg_running_as == SYSTEMD_SYSTEM ? "--system" : "--user";
diff --git a/pkgs/os-specific/linux/uml-utilities/builder.sh b/pkgs/os-specific/linux/uml-utilities/builder.sh
deleted file mode 100644
index 00b40278889a..000000000000
--- a/pkgs/os-specific/linux/uml-utilities/builder.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-buildinputs=""
-source $stdenv/setup
-
-tar xvfj $src
-cd tools
-[ -n "$tunctl" ] && sed -e '1s/.*/TUNCTL = tunctl/' -i Makefile
-[ -z "$mconsole" ] && sed -e 's/mconsole//' -i Makefile
-
-mkdir $out
-mkdir $out/bin
-mkdir $out/lib
-mkdir $out/lib/uml
-make BIN_DIR=$out/bin LIB_DIR=$out/lib/uml
-make BIN_DIR=$out/bin LIB_DIR=$out/lib/uml install
-ln -s $out/lib/uml/port-helper $out/bin/port-helper
-[ -z "$tunctl" ] || [ -f $out/bin/tunctl ] || fail_no_tunctl
-[ -z "$mconsole" ] || [ -f $out/bin/uml_mconsole ] || fail_no_mconsole
diff --git a/pkgs/os-specific/linux/uml-utilities/default.nix b/pkgs/os-specific/linux/uml-utilities/default.nix
deleted file mode 100644
index 4ed7c6e8a3ad..000000000000
--- a/pkgs/os-specific/linux/uml-utilities/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{lib, stdenv, fetchurl, linuxHeaders , readline, tunctl ? false, mconsole ? false}:
-
-stdenv.mkDerivation {
-  inherit tunctl mconsole;
-  buildInputs = lib.optional tunctl linuxHeaders
-            ++ lib.optional mconsole readline;
-  name = "uml-utilities-20040114";
-  builder = ./builder.sh;
-  src = fetchurl {
-    url = http://nixos.org/tarballs/uml_utilities_20040114.tar.bz2;
-    md5 = "1fd5b791ef32c6a3ed4ae42c4a53a316";
-  };
-}
diff --git a/pkgs/os-specific/linux/usbutils/default.nix b/pkgs/os-specific/linux/usbutils/default.nix
index 96ae5b93aa8d..5af28876dc19 100644
--- a/pkgs/os-specific/linux/usbutils/default.nix
+++ b/pkgs/os-specific/linux/usbutils/default.nix
@@ -1,25 +1,25 @@
-{ stdenv, fetchurl, pkgconfig, libusb }:
+{ stdenv, fetchurl, pkgconfig, libusb1 }:
 
 let
 
   # Obtained from http://www.linux-usb.org/usb.ids.bz2.
   usbids = fetchurl {
-    url = http://nixos.org/tarballs/usb.ids.20100720.bz2;
-    sha256 = "0krncssk0b10z6grw305824zma953l3g2rb7jkk25mb78pw5fd5d";
+    url = http://nixos.org/tarballs/usb.ids.20120920.bz2;
+    sha256 = "0sz860g7grf6kx22p49s6j8h85c69ymcw16a8110klzfl9hl9hli";
   };
 
 in
 
 stdenv.mkDerivation rec {
-  name = "usbutils-0.86";
-  
+  name = "usbutils-006";
+
   src = fetchurl {
-    url = "mirror://kernel/linux/utils/usb/usbutils/${name}.tar.gz";
-    sha256 = "1x0jkiwrgdb8qwy21iwhxpc8k61apxqp1901h866d1ydsakbxcmk";
+    url = mirror://kernel/linux/utils/usb/usbutils/usbutils-006.tar.xz;
+    sha256 = "03pd57vv8c6x0hgjqcbrxnzi14h8hcghmapg89p8k5zpwpkvbdfr";
   };
-  
-  buildInputs = [ pkgconfig libusb ];
-  
+
+  buildInputs = [ pkgconfig libusb1 ];
+
   preBuild = "bunzip2 < ${usbids} > usb.ids";
 
   meta = {
diff --git a/pkgs/os-specific/linux/xf86-input-mtrack/default.nix b/pkgs/os-specific/linux/xf86-input-mtrack/default.nix
index 405f722f70f7..4f74ce57ea84 100644
--- a/pkgs/os-specific/linux/xf86-input-mtrack/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-mtrack/default.nix
@@ -10,10 +10,11 @@
 , xorgserver
 , xproto
 , inputproto
+, pixman
 }:
 
 stdenv.mkDerivation {
-  name = "xf86-input-mtrack-0.2.0";
+  name = "xf86-input-mtrack-0.3.0";
 
   preConfigure = "autoreconf -vfi";
 
@@ -27,12 +28,15 @@ stdenv.mkDerivation {
     xorgserver
     xproto
     inputproto
+    pixman
   ];
 
+  CFLAGS = "-I${pixman}/include/pixman-1";
+
   src = fetchurl {
     name = "xf86-input-mtrack.tar.gz";
-    url = "https://github.com/BlueDragonX/xf86-input-mtrack/tarball/v0.2.0";
-    sha256 = "1zvd68dxpjn44ys7ysi3yc95xdjw1rz0s3xwlh3fzpw1ib3wrr3x";
+    url = "https://github.com/BlueDragonX/xf86-input-mtrack/tarball/v0.3.0";
+    sha256 = "174rdw7gv0wsnjgmwpx4pgjn1zfbylflda4k2dzff6phzxj9yl6v";
   };
 
   meta = {
@@ -45,3 +49,4 @@ stdenv.mkDerivation {
     maintainers = [ stdenv.lib.maintainers.shlevy ];
   };
 }
+
diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
index 4bcf82a70527..e043b12e8201 100644
--- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl
-, file, inputproto, libX11, libXext, libXi, libXrandr, libXrender, libXinerama
-, ncurses, pkgconfig, randrproto, xorgserver, xproto, udev }:
+, file, inputproto, libX11, libXext, libXi, libXrandr, libXrender
+, ncurses, pkgconfig, randrproto, xorgserver, xproto, udev, libXinerama, pixman }:
 
 stdenv.mkDerivation rec {
   name = "xf86-input-wacom-0.16.0";
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "0sc0hmbs3l3ad68iwglbwjv9lg1vd333n1lv72j4nqmk7g57yrii";
   };
 
-  buildInputs = [ inputproto libX11 libXext libXi libXrandr libXrender libXinerama
-    ncurses pkgconfig randrproto xorgserver xproto udev ];
+  buildInputs = [ inputproto libX11 libXext libXi libXrandr libXrender
+    ncurses pkgconfig randrproto xorgserver xproto udev libXinerama pixman ];
 
   preConfigure = ''
     mkdir -p $out/share/X11/xorg.conf.d
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
     --with-sdkdir=$out/include/xorg --with-xorg-conf-dir=$out/share/X11/xorg.conf.d"
   '';
 
+  CFLAGS = "-I${pixman}/include/pixman-1";
+
   meta = with stdenv.lib; {
     maintainers = [ maintainers.goibhniu maintainers.urkud ];
     description = "Wacom digitizer driver for X11";
diff --git a/pkgs/os-specific/linux/xf86-video-nested/default.nix b/pkgs/os-specific/linux/xf86-video-nested/default.nix
index 6ed04f490c03..b3cad227d276 100644
--- a/pkgs/os-specific/linux/xf86-video-nested/default.nix
+++ b/pkgs/os-specific/linux/xf86-video-nested/default.nix
@@ -1,30 +1,31 @@
 { stdenv, fetchgit, autoconf, automake, fontsproto, libX11, libXext
-, libtool, pkgconfig, renderproto, utilmacros, xorgserver
+, libtool, pixman, pkgconfig, renderproto, utilmacros, xorgserver
 }:
 
 stdenv.mkDerivation {
-  name = "xf86-video-nested-2011-09-12";
+  name = "xf86-video-nested-2012-06-15";
 
-  # Breaks at 8d80f2e415e9e58ca481fe52ae8f2290e25de898 for Xorg 7.6
   src = fetchgit {
     url = git://anongit.freedesktop.org/xorg/driver/xf86-video-nested;
-    rev = "fceee1716625badf698ca27dd5788a4deb8533bc";
-    sha256 = "6b3544ddcf40602364fd0e528f6e677c37ef8d08f6c4e756caea7e29abf200f7"; 
+    rev = "ad48dc6eb98776a8a886f26f31c0110352fa1da4";
+    sha256 = "43a102405acdcdb346ab197b33c8fa724d2140f33754f8ee3941a0eea152735c";
   };
 
-  # Fixed in e123277d10337a1c3b853118df0d1becdddf3b77
-  patchPhase = "sed -e 's/Werror/Werror -Wno-extra-portability/g' -i configure.ac";
-
-  buildInputs = 
-    [ autoconf automake fontsproto libX11 libXext libtool pkgconfig
-      renderproto utilmacros xorgserver
+  buildInputs =
+    [ autoconf automake fontsproto libX11 libXext libtool pixman
+      pkgconfig renderproto utilmacros xorgserver
     ];
 
-  configureScript = "./autogen.sh";
+
+  configurePhase = ''
+    autoreconf -fvi
+    ./configure --prefix=$out CFLAGS="-I${pixman}/include/pixman-1"
+  '';
 
   meta = {
     homepage = git://anongit.freedesktop.org/xorg/driver/xf86-video-nested;
     description = "Driver to run Xorg on top of Xorg or something else";
     maintainers = [ stdenv.lib.maintainers.goibhniu ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
new file mode 100644
index 000000000000..1768581d8f96
--- /dev/null
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, kernel, spl, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }:
+
+stdenv.mkDerivation {
+  name = "zfs-0.6.0-rc12";
+  src = fetchurl {
+    url = http://github.com/downloads/zfsonlinux/zfs/zfs-0.6.0-rc12.tar.gz;
+    sha256 = "1mipy6v63y8z3c5chn813x8c2r8mwyja1v19dvars3j85105xf1y";
+  };
+
+  patches = [ ./module_perm_prefix.patch ./mount_zfs_prefix.patch ./kerneldir_path.patch ./no_absolute_paths_to_coreutils.patch ];
+
+  buildInputs = [ kernel spl perl autoconf automake libtool zlib libuuid coreutils ];
+
+  NIX_CFLAGS_COMPILE = "-I${kernel}/lib/modules/${kernel.modDirVersion}/build/include/generated";
+
+  preConfigure = ''
+    ./autogen.sh
+
+    substituteInPlace ./module/zfs/zfs_ctldir.c  --replace "umount -t zfs"   "${utillinux}/bin/umount -t zfs"
+    substituteInPlace ./module/zfs/zfs_ctldir.c  --replace "mount -t zfs"    "${utillinux}/bin/mount -t zfs"
+    substituteInPlace ./lib/libzfs/libzfs_mount.c  --replace "/bin/umount"   "${utillinux}/bin/umount"
+    substituteInPlace ./lib/libzfs/libzfs_mount.c  --replace "/bin/mount"    "${utillinux}/bin/mount"
+    substituteInPlace ./udev/rules.d/*           --replace "/lib/udev/vdev_id" "$out/lib/udev/vdev_id"
+  '';
+
+  configureFlags = ''
+    --with-linux=${kernel}/lib/modules/${kernel.version}/build 
+    --with-linux-obj=${kernel}/lib/modules/${kernel.version}/build 
+    --with-spl=${spl}/libexec/spl/${kernel.version}
+    ${if stdenv.system == "i686-linux"  then "--enable-atomic-spinlocks" else ""}
+  '';
+
+  meta = {
+    description = "ZFS Filesystem Linux Kernel module";
+    longDescription = ''
+      ZFS is a filesystem that combines a logical volume manager with a
+      Copy-On-Write filesystem with data integrity detection and repair,
+      snapshotting, cloning, block devices, deduplication, and more. 
+      '';
+    homepage = http://zfsonlinux.org/;
+    license = stdenv.lib.licenses.cddl;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ jcumming ];
+  };
+}
diff --git a/pkgs/os-specific/linux/zfs/kerneldir_path.patch b/pkgs/os-specific/linux/zfs/kerneldir_path.patch
new file mode 100644
index 000000000000..4503ac4ca48b
--- /dev/null
+++ b/pkgs/os-specific/linux/zfs/kerneldir_path.patch
@@ -0,0 +1,85 @@
+diff --git a/Makefile.am b/Makefile.am
+index 9ffd6be..8e51412 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -34,7 +34,7 @@ distclean-local::
+ if CONFIG_KERNEL
+ install-data-local:
+ 	release=$(ZFS_META_VERSION)-$(ZFS_META_RELEASE); \
+-	instdest=$(DESTDIR)/usr/src/zfs-$$release/$(LINUX_VERSION); \
++	instdest=$(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION); \
+ 	for instfile in $(noinst_HEADERS) module/$(LINUX_SYMBOLS); do \
+ 		$(INSTALL) -D $$instfile $$instdest/$$instfile; \
+ 	done
+diff --git a/include/Makefile.am b/include/Makefile.am
+index 8f9c8d7..5fc44d5 100644
+--- a/include/Makefile.am
++++ b/include/Makefile.am
+@@ -27,6 +27,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION)
++kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION)
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
+diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am
+index 6e481a1..1107809 100644
+--- a/include/linux/Makefile.am
++++ b/include/linux/Makefile.am
+@@ -16,6 +16,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION)/linux
++kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION)
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
+diff --git a/include/sys/Makefile.am b/include/sys/Makefile.am
+index 651e68b..b80bb55 100644
+--- a/include/sys/Makefile.am
++++ b/include/sys/Makefile.am
+@@ -89,6 +89,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION)/sys
++kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION)
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
+diff --git a/include/sys/fm/Makefile.am b/include/sys/fm/Makefile.am
+index 900ed93..8d9bed2 100644
+--- a/include/sys/fm/Makefile.am
++++ b/include/sys/fm/Makefile.am
+@@ -16,6 +16,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION)/sys/fm
++kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION)
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
+diff --git a/include/sys/fm/fs/Makefile.am b/include/sys/fm/fs/Makefile.am
+index d82d076..b4ae3ee 100644
+--- a/include/sys/fm/fs/Makefile.am
++++ b/include/sys/fm/fs/Makefile.am
+@@ -13,6 +13,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION)/sys/fm/fs
++kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION)
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
+diff --git a/include/sys/fs/Makefile.am b/include/sys/fs/Makefile.am
+index b702679..3c747f4 100644
+--- a/include/sys/fs/Makefile.am
++++ b/include/sys/fs/Makefile.am
+@@ -13,6 +13,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = /usr/src/zfs-$(ZFS_META_VERSION)-$(ZFS_META_RELEASE)/$(LINUX_VERSION)/sys/fs
++kerneldir = $(DESTDIR)/$(libexecdir)/zfs/$(LINUX_VERSION)
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
diff --git a/pkgs/os-specific/linux/zfs/module_perm_prefix.patch b/pkgs/os-specific/linux/zfs/module_perm_prefix.patch
new file mode 100644
index 000000000000..07cd04d1dded
--- /dev/null
+++ b/pkgs/os-specific/linux/zfs/module_perm_prefix.patch
@@ -0,0 +1,70 @@
+*** git-export/module/Makefile.in.orig	Wed Dec 31 16:00:01 1969
+--- git-export/module/Makefile.in	Tue Mar  6 00:23:07 2012
+***************
+*** 11,19 ****
+  	@# installed devel headers, or they may be in the module
+  	@# subdirectory when building against the spl source tree.
+  	@if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
+! 		/bin/cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
+  	elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
+! 		/bin/cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
+  	else \
+  		echo -e "\n" \
+  		"*** Missing spl symbols ensure you have built the spl:\n" \
+--- 11,21 ----
+  	@# installed devel headers, or they may be in the module
+  	@# subdirectory when building against the spl source tree.
+  	@if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
+! 		/bin/cp -f @SPL_OBJ@/@SPL_SYMBOLS@ .; \
+! 		chmod +w @SPL_SYMBOLS@ .; \
+  	elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
+! 		/bin/cp -f @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
+! 		chmod +w @SPL_SYMBOLS@ .; \
+  	else \
+  		echo -e "\n" \
+  		"*** Missing spl symbols ensure you have built the spl:\n" \
+***************
+*** 35,55 ****
+  modules_install:
+  	@# Install the kernel modules
+  	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` \
+! 		INSTALL_MOD_PATH=$(DESTDIR) \
+  		INSTALL_MOD_DIR=addon/zfs $@
+  	@# Remove extraneous build products when packaging
+! 	if [ -n "$(DESTDIR)" ]; then \
+! 		find $(DESTDIR)/lib/modules/@LINUX_VERSION@ \
+  			-name 'modules.*' | xargs $(RM); \
+  	fi
+! 	sysmap=$(DESTDIR)/boot/System.map-@LINUX_VERSION@; \
+  	if [ -f $$sysmap ]; then \
+  		depmod -ae -F $$sysmap @LINUX_VERSION@; \
+  	fi
+  
+  modules_uninstall:
+  	@# Uninstall the kernel modules
+! 	$(RM) -R $(DESTDIR)/lib/modules/@LINUX_VERSION@/addon/zfs
+  
+  distdir:
+  
+--- 37,57 ----
+  modules_install:
+  	@# Install the kernel modules
+  	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` \
+! 		INSTALL_MOD_PATH=@prefix@ \
+  		INSTALL_MOD_DIR=addon/zfs $@
+  	@# Remove extraneous build products when packaging
+! 	if [ -n "@prefix@" ]; then \
+! 		find @prefix@/lib/modules/@LINUX_VERSION@ \
+  			-name 'modules.*' | xargs $(RM); \
+  	fi
+! 	sysmap=@prefix@/boot/System.map-@LINUX_VERSION@; \
+  	if [ -f $$sysmap ]; then \
+  		depmod -ae -F $$sysmap @LINUX_VERSION@; \
+  	fi
+  
+  modules_uninstall:
+  	@# Uninstall the kernel modules
+! 	$(RM) -R @prefix@/lib/modules/@LINUX_VERSION@/addon/zfs
+  
+  distdir:
+  
diff --git a/pkgs/os-specific/linux/zfs/mount_zfs_prefix.patch b/pkgs/os-specific/linux/zfs/mount_zfs_prefix.patch
new file mode 100644
index 000000000000..49ad88fc3a43
--- /dev/null
+++ b/pkgs/os-specific/linux/zfs/mount_zfs_prefix.patch
@@ -0,0 +1,24 @@
+diff -crN '--exclude=.git' zfs-0.60-rc11/cmd/mount_zfs/Makefile.am zfs/cmd/mount_zfs/Makefile.am
+*** zfs-0.60-rc11/cmd/mount_zfs/Makefile.am 2012-10-22 10:26:07.066205000 -0700
+--- zfs/cmd/mount_zfs/Makefile.am 2012-10-22 11:16:21.859286000 -0700
+***************
+*** 7,14 ****
+  #
+  # Ignore the prefix for the mount helper.  It must be installed in /sbin/
+  # because this path is hardcoded in the mount(8) for security reasons.
+  #
+- sbindir=/sbin
+  sbin_PROGRAMS = mount.zfs
+
+  mount_zfs_SOURCES = \
+--- 7,16 ----
+  #
+  # Ignore the prefix for the mount helper.  It must be installed in /sbin/
+  # because this path is hardcoded in the mount(8) for security reasons.
++ #
++ # ... except on nixos, where it really is /var/run/current-system/sw/sbin,
++ # which is where this will end up if we put it in ${out}/sbin.
+  #
+  sbin_PROGRAMS = mount.zfs
+
+  mount_zfs_SOURCES = \
diff --git a/pkgs/os-specific/linux/zfs/no_absolute_paths_to_coreutils.patch b/pkgs/os-specific/linux/zfs/no_absolute_paths_to_coreutils.patch
new file mode 100644
index 000000000000..e223e34c3a43
--- /dev/null
+++ b/pkgs/os-specific/linux/zfs/no_absolute_paths_to_coreutils.patch
@@ -0,0 +1,25 @@
+*** git-export/module/Makefile.in.old	Tue Mar  6 01:04:48 2012
+--- git-export/module/Makefile.in	Tue Mar  6 01:04:59 2012
+***************
+*** 11,20 ****
+  	@# installed devel headers, or they may be in the module
+  	@# subdirectory when building against the spl source tree.
+  	@if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
+! 		/bin/cp -f @SPL_OBJ@/@SPL_SYMBOLS@ .; \
+  		chmod +w @SPL_SYMBOLS@ .; \
+  	elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
+! 		/bin/cp -f @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
+  		chmod +w @SPL_SYMBOLS@ .; \
+  	else \
+  		echo -e "\n" \
+--- 11,20 ----
+  	@# installed devel headers, or they may be in the module
+  	@# subdirectory when building against the spl source tree.
+  	@if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
+! 		cp -f @SPL_OBJ@/@SPL_SYMBOLS@ .; \
+  		chmod +w @SPL_SYMBOLS@ .; \
+  	elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
+! 		cp -f @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
+  		chmod +w @SPL_SYMBOLS@ .; \
+  	else \
+  		echo -e "\n" \
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index cdd8704739b6..54fa398a8e9a 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -1,15 +1,14 @@
 { stdenv, fetchurl, openssl, libtool, perl, libxml2 }:
 
-let
-  version = "9.7.6-P1";
-in
+let version = "9.9.2"; in
+
 stdenv.mkDerivation rec {
 
   name = "bind-${version}";
 
   src = fetchurl {
     url = "http://ftp.isc.org/isc/bind9/${version}/${name}.tar.gz";
-    sha256 = "1xp7c3fpi3b6y1bz77mf7c98ic7rxp5lpwlmzqwsdrllip33qw1k";
+    sha256 = "0j4v01ch4xkgnsnngmh6bpapzi53n4k79gbbhmxf44nmk2qk0rby";
   };
 
   patchPhase = ''
@@ -21,7 +20,7 @@ stdenv.mkDerivation rec {
   /* Why --with-libtool? */
   configureFlags = [ "--with-libtool" "--with-openssl=${openssl}"
     "--localstatedir=/var" ];
-      
+
   meta = {
     homepage = http://www.isc.org/software/bind;
     description = "ISC BIND: a domain name server";
diff --git a/pkgs/servers/http/joseki/default.nix b/pkgs/servers/http/joseki/default.nix
index f23a6ce73ebe..6ca5caba9440 100644
--- a/pkgs/servers/http/joseki/default.nix
+++ b/pkgs/servers/http/joseki/default.nix
@@ -81,8 +81,8 @@ rec {
 
     sed -e 's/\r//g' -i "$TARGET/bin"/*
 
-    echo -e '#! /bin/sh\nls "'"$TARGET"'"/bin' > "$out/bin/jena-list-commands"
-    echo '#! /bin/sh' >> "$out/bin/jena-command"
+    echo -e '#! ${a.stdenv.shell}\nls "'"$TARGET"'"/bin' > "$out/bin/jena-list-commands"
+    echo '#! ${a.stdenv.shell}' >> "$out/bin/jena-command"
     echo 'export JENAROOT="'"$TARGET"'"' >> "$out/bin/jena-command"
     echo 'export JOSEKIROOT="'"$TARGET"'"' >> "$out/bin/jena-command"
     echo 'export TDBROOT="'"$TARGET"'"' >> "$out/bin/jena-command"
diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix
index 4a1c0be649ff..5c0b1c2d7233 100644
--- a/pkgs/servers/http/nginx/default.nix
+++ b/pkgs/servers/http/nginx/default.nix
@@ -1,10 +1,13 @@
 { stdenv, fetchurl, openssl, zlib, pcre, libxml2, libxslt }:
+
 stdenv.mkDerivation rec {
-  name = "nginx-1.1.7";
+  name = "nginx-1.2.4";
+
   src = fetchurl {
     url = "http://nginx.org/download/${name}.tar.gz";
-    sha256 = "1y0bzmrgnyqw8ghc508nipy5k46byrxc2sycqp35fdx0jmjz3h51";
+    sha256 = "0hvcv4lgfcrsl40azkd3rxhf73l05jzzgflclpkdvjd95xgw51y5";
   };
+
   buildInputs = [ openssl zlib pcre libxml2 libxslt ];
 
   configureFlags = [
@@ -15,7 +18,7 @@ stdenv.mkDerivation rec {
     "--with-http_gzip_static_module"
     "--with-http_secure_link_module"
     # Install destination problems
-    # "--with-http_perl_module" 
+    # "--with-http_perl_module"
   ];
 
   preConfigure = ''
@@ -27,11 +30,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "nginx - 'engine x' - reverse proxy and lightweight webserver";
-    maintainers = [
-      stdenv.lib.maintainers.raskin
-    ];
-    platforms = with stdenv.lib.platforms; 
-      all;
+    description = "A reverse proxy and lightweight webserver";
+    maintainers = [ stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/servers/mail/dovecot/1.1.1.nix b/pkgs/servers/mail/dovecot/1.1.1.nix
deleted file mode 100644
index 103f79652fd8..000000000000
--- a/pkgs/servers/mail/dovecot/1.1.1.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{stdenv, fetchurl
-  , openssl
-  , pam
-}:
-
-let 
-  version = "1.1.1"; 
-in
-
-stdenv.mkDerivation {
-  name = "dovecot-${version}";
-
-  buildInputs = [openssl pam];
-
-  src = fetchurl {
-    url = "http://dovecot.org/releases/1.1/dovecot-${version}.tar.gz";
-    sha256 = "0plzrzz07k0cylk9323gs9fzlv176y6nd6am660b6dch4p884sck";
-  };
-  
-}
diff --git a/pkgs/servers/mail/dovecot/2.x.nix b/pkgs/servers/mail/dovecot/2.x.nix
deleted file mode 100644
index 1b4fbe7c7cc2..000000000000
--- a/pkgs/servers/mail/dovecot/2.x.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{stdenv, fetchurl, openssl, pam, bzip2, zlib, inotifyTools, openldap}:
-
-stdenv.mkDerivation rec {
-  name = "dovecot-2.1.8";
-
-  buildInputs = [openssl pam bzip2 zlib inotifyTools openldap];
-
-  src = fetchurl {
-    url = "http://dovecot.org/releases/2.1/${name}.tar.gz";
-    sha256 = "03801f4agcwdpqyg6dfxlga3750pnhk4gaf8m7sjq1qmz2277028";
-  };
-
-  # It will hardcode this for /var/lib/dovecot.
-  # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626211
-  configureFlags = [
-    "--localstatedir=/var"
-    "--with-ldap"
-  ];
-
-  meta = {
-    homepage = http://dovecot.org/;
-    description = "Open source IMAP and POP3 email server written with security primarily in mind";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-  
-}
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index 70e84fa51b03..cb29c9ebc896 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -1,16 +1,27 @@
-{stdenv, fetchurl
-  , openssl
-  , pam
-}:
+{stdenv, fetchurl, openssl, pam, bzip2, zlib, inotifyTools, openldap}:
 
-stdenv.mkDerivation {
-  name = "dovecot-1.0.3";
+stdenv.mkDerivation rec {
+  name = "dovecot-2.1.8";
 
-  buildInputs = [openssl pam];
+  buildInputs = [openssl pam bzip2 zlib inotifyTools openldap];
 
   src = fetchurl {
-    url = http://dovecot.org/releases/1.0/dovecot-1.0.3.tar.gz;
-    sha256 = "14b3sbvj9xpm5mjwfavwrcwmzfdgian51ncspl8j83cd8j01jdjz";
+    url = "http://dovecot.org/releases/2.1/${name}.tar.gz";
+    sha256 = "03801f4agcwdpqyg6dfxlga3750pnhk4gaf8m7sjq1qmz2277028";
   };
-  
+
+  # It will hardcode this for /var/lib/dovecot.
+  # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626211
+  configureFlags = [
+    "--localstatedir=/var"
+    "--with-ldap"
+  ];
+
+  meta = {
+    homepage = "http://dovecot.org/";
+    description = "Open source IMAP and POP3 email server written with security primarily in mind";
+    maintainers = with stdenv.lib.maintainers; [viric simons];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+
 }
diff --git a/pkgs/servers/mail/popa3d/default.nix b/pkgs/servers/mail/popa3d/default.nix
new file mode 100644
index 000000000000..25ac0d5f9e3d
--- /dev/null
+++ b/pkgs/servers/mail/popa3d/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl,  openssl }:
+
+stdenv.mkDerivation rec {
+
+  name = "popa3d-1.0.2";
+
+  src = fetchurl {
+    url = "http://www.openwall.com/popa3d/${name}.tar.gz";
+    sha256 = "0zvspgnlrx4jhhkb5b1p280nsf9d558jijgpvwfyvdp4q4v460z7";
+  };
+
+  buildInputs = [ openssl ];
+
+  patches = [
+    ./fix-mail-spool-path.patch
+    ./use-openssl.patch
+    ./use-glibc-crypt.patch
+    ./enable-standalone-mode.patch
+  ];
+
+  configurePhase = ''makeFlags="PREFIX=$out MANDIR=$out/share/man"'';
+
+  meta = {
+    homepage = "http://www.openwall.com/popa3d/";
+    description = "tiny POP3 daemon with security as the primary goal";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
+}
diff --git a/pkgs/servers/mail/popa3d/enable-standalone-mode.patch b/pkgs/servers/mail/popa3d/enable-standalone-mode.patch
new file mode 100644
index 000000000000..763ede102f25
--- /dev/null
+++ b/pkgs/servers/mail/popa3d/enable-standalone-mode.patch
@@ -0,0 +1,12 @@
+diff -ubr popa3d-1.0.2-orig/params.h popa3d-1.0.2/params.h
+--- popa3d-1.0.2-orig/params.h	2012-09-19 01:19:56.698098130 +0200
++++ popa3d-1.0.2/params.h	2012-09-19 01:37:06.749130665 +0200
+@@ -13,7 +13,7 @@
+ /*
+  * Are we going to be a standalone server or start via an inetd clone?
+  */
+-#define POP_STANDALONE			0
++#define POP_STANDALONE			1
+ 
+ #if POP_STANDALONE
+ 
diff --git a/pkgs/servers/mail/popa3d/fix-mail-spool-path.patch b/pkgs/servers/mail/popa3d/fix-mail-spool-path.patch
new file mode 100644
index 000000000000..4f440ae59663
--- /dev/null
+++ b/pkgs/servers/mail/popa3d/fix-mail-spool-path.patch
@@ -0,0 +1,12 @@
+diff -ubr popa3d-1.0.2-orig/params.h popa3d-1.0.2/params.h
+--- popa3d-1.0.2-orig/params.h	2012-09-19 01:19:56.698098130 +0200
++++ popa3d-1.0.2/params.h	2012-09-19 01:21:13.748065132 +0200
+@@ -191,7 +191,7 @@
+  *
+  * #undef this for qmail-style $HOME/Mailbox mailboxes.
+  */
+-#define MAIL_SPOOL_PATH			"/var/mail"
++#define MAIL_SPOOL_PATH			"/var/spool/mail"
+ 
+ #ifndef MAIL_SPOOL_PATH
+ /*
diff --git a/pkgs/servers/mail/popa3d/use-glibc-crypt.patch b/pkgs/servers/mail/popa3d/use-glibc-crypt.patch
new file mode 100644
index 000000000000..35843a38bb31
--- /dev/null
+++ b/pkgs/servers/mail/popa3d/use-glibc-crypt.patch
@@ -0,0 +1,12 @@
+diff -ubr popa3d-1.0.2-orig/Makefile popa3d-1.0.2/Makefile
+--- popa3d-1.0.2-orig/Makefile	2012-09-19 01:19:56.698098130 +0200
++++ popa3d-1.0.2/Makefile	2012-09-19 01:24:33.871750473 +0200
+@@ -9,7 +9,7 @@
+ LDFLAGS = -s
+ LIBS =
+ # Linux with glibc, FreeBSD, NetBSD
+-#LIBS += -lcrypt
++LIBS += -lcrypt
+ # HP-UX trusted system
+ #LIBS += -lsec
+ # Solaris (POP_STANDALONE, POP_VIRTUAL)
diff --git a/pkgs/servers/mail/popa3d/use-openssl.patch b/pkgs/servers/mail/popa3d/use-openssl.patch
new file mode 100644
index 000000000000..54301dd873b9
--- /dev/null
+++ b/pkgs/servers/mail/popa3d/use-openssl.patch
@@ -0,0 +1,21 @@
+diff -ubr popa3d-1.0.2-orig/Makefile popa3d-1.0.2/Makefile
+--- popa3d-1.0.2-orig/Makefile	2012-09-19 01:19:56.698098130 +0200
++++ popa3d-1.0.2/Makefile	2012-09-19 01:23:00.309636423 +0200
+@@ -5,7 +5,7 @@
+ INSTALL = install -c
+ CFLAGS = -Wall -O2 -fomit-frame-pointer
+ # You may use OpenSSL's MD5 routines instead of the ones supplied here
+-#CFLAGS += -DHAVE_OPENSSL
++CFLAGS += -DHAVE_OPENSSL
+ LDFLAGS = -s
+ LIBS =
+ # Linux with glibc, FreeBSD, NetBSD
+@@ -21,7 +21,7 @@
+ # libwrap may also want this
+ #LIBS += -lnsl
+ # OpenSSL (-DHAVE_OPENSSL)
+-#LIBS += -lcrypto
++LIBS += -lcrypto
+ 
+ DESTDIR =
+ PREFIX = /usr/local
diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix
index 0f5cefb84c25..dc316267e6cc 100644
--- a/pkgs/servers/mail/spamassassin/default.nix
+++ b/pkgs/servers/mail/spamassassin/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, buildPerlPackage, perl, HTMLParser, NetDNS, NetAddrIP, DBFile
-, HTTPDate, MailDKIM, makeWrapper
+, HTTPDate, MailDKIM, LWP, IOSocketSSL, makeWrapper, gnupg1
 }:
 
-# TODO:
+# TODO: Add the Perl modules ...
+#
+#   DBI
+#   Encode::Detect
+#   IP::Country::Fast
+#   Mail::SPF
+#   Net::Ident
+#   Razor2::Client::Agent
 #
-#  - Mail::SPF
-#  - IP::Country
-#  - Razor2
-#  - Net::Ident
-#  - DBI
-#  - LWP::UserAgent
-#  - Encode::Detect
 
 buildPerlPackage rec {
   name = "SpamAssassin-3.3.2";
@@ -20,18 +20,22 @@ buildPerlPackage rec {
     sha256 = "01d2jcpy423zfnhg123wlhzysih1hmb93nxfspiaajzh9r5rn8y7";
   };
 
-  buildInputs = [ makeWrapper HTMLParser NetDNS NetAddrIP DBFile HTTPDate
-    MailDKIM ];
+  buildInputs = [ makeWrapper HTMLParser NetDNS NetAddrIP DBFile HTTPDate MailDKIM
+    LWP IOSocketSSL ];
 
   # Enabling 'taint' mode is desirable, but that flag disables support
   # for the PERL5LIB environment variable. Needs further investigation.
   makeFlags = "PERL_BIN=${perl}/bin/perl PERL_TAINT=no";
 
+  makeMakerFlags = "CONFDIR=/etc/spamassassin LOCALSTATEDIR=/var/lib/spamassassin";
+
   doCheck = false;
 
   postInstall = ''
+    mv "rules/"* $out/share/spamassassin/
+
     for n in "$out/bin/"*; do
-      wrapProgram "$n" --prefix PERL5LIB : "$PERL5LIB"
+      wrapProgram "$n" --prefix PERL5LIB : "$PERL5LIB" --prefix PATH : "${gnupg1}/bin"
     done
   '';
 
diff --git a/pkgs/servers/monitoring/zabbix/default.nix b/pkgs/servers/monitoring/zabbix/default.nix
index 864f11bee3ed..0189f3dd8fdd 100644
--- a/pkgs/servers/monitoring/zabbix/default.nix
+++ b/pkgs/servers/monitoring/zabbix/default.nix
@@ -2,11 +2,11 @@
 
 let
 
-  version = "1.8.10";
-  
+  version = "1.8.15";
+
   src = fetchurl {
     url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz";
-    sha256 = "0jx5i1ps1zr908g8gh1zisajiblg40x8cchmgbpdviz85hzx4rfr";
+    sha256 = "0358syx6vck6l8j9wwlsb78faivh4qxrgy3jlkmjqr99xi6h3r3f";
   };
 
   preConfigure =
@@ -49,7 +49,7 @@ in
       platforms = stdenv.lib.platforms.linux;
     };
   };
-  
+
   agent = stdenv.mkDerivation {
     name = "zabbix-agent-${version}";
 
@@ -65,5 +65,5 @@ in
       platforms = stdenv.lib.platforms.all;
     };
   };
-  
+
 }
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index 211122505975..e315f7889040 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -4,16 +4,17 @@
 , jackaudioSupport ? false, jackaudio ? null
 , x11Support ? false, xlibs
 , json_c
+, useSystemd ? false, systemd ? null
 }:
 
 assert jackaudioSupport -> jackaudio != null;
 
 stdenv.mkDerivation rec {
-  name = "pulseaudio-1.1";
+  name = "pulseaudio-2.1";
 
   src = fetchurl {
-    url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-1.1.tar.xz";
-    sha256 = "1vpm0681zj2jvhbabvnmrmfxr3172k4x58kjb39y5g3fdw9k3rbg";
+    url = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-2.1.tar.xz";
+    sha256 = "0zyal2mix7lzhxmr3pxlmss5kjca061iapvrh20bkgvsyixk8szg";
   };
 
   # Since `libpulse*.la' contain `-lgdbm', it must be propagated.
@@ -26,13 +27,10 @@ stdenv.mkDerivation rec {
       #gtk gconf 
     ]
     ++ stdenv.lib.optional jackaudioSupport jackaudio
-    ++ stdenv.lib.optionals x11Support [ xlibs.xlibs xlibs.libXtst xlibs.libXi ];
+    ++ stdenv.lib.optionals x11Support [ xlibs.xlibs xlibs.libXtst xlibs.libXi ]
+    ++ stdenv.lib.optional useSystemd systemd;
 
   preConfigure = ''
-    # Change the `padsp' script so that it contains the full path to
-    # `libpulsedsp.so'.
-    sed -i "src/utils/padsp" \
-        -e "s|libpulsedsp\.so|$out/lib/libpulsedsp.so|g"
 
     # Move the udev rules under $(prefix).
     sed -i "src/Makefile.in" \
diff --git a/pkgs/servers/restund/default.nix b/pkgs/servers/restund/default.nix
new file mode 100644
index 000000000000..e817151e778d
--- /dev/null
+++ b/pkgs/servers/restund/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl, zlib, openssl, libre, librem, mysql}:
+stdenv.mkDerivation rec {
+  version = "0.4.2";
+  name = "restund-${version}";
+  src=fetchurl {
+    url = "http://www.creytiv.com/pub/restund-${version}.tar.gz";
+    sha256 = "db5260939d40cb2ce531075bef02b9d6431067bdd52f3168a6f25246bdf7b9f2";
+  };
+  buildInputs = [zlib openssl libre librem mysql];
+  makeFlags = [
+    "LIBRE_MK=${libre}/share/re/re.mk"
+    "LIBRE_INC=${libre}/include/re"
+    "LIBRE_SO=${libre}/lib"
+    "LIBREM_PATH=${librem}"
+    ''PREFIX=$(out)''
+    "USE_MYSQL=1"
+  ]
+  ++ stdenv.lib.optional (stdenv.gcc.gcc != null) "SYSROOT_ALT=${stdenv.gcc.gcc}"
+  ++ stdenv.lib.optional (stdenv.gcc.libc != null) "SYSROOT=${stdenv.gcc.libc}"
+  ;
+  NIX_LDFLAGS='' -L${mysql}/lib/mysql '';
+  meta = {
+    homepage = "http://www.creytiv.com/restund.html";
+    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [raskin];
+    license = with stdenv.lib.licenses; bsd3;
+  };
+}
diff --git a/pkgs/servers/samba/default.nix b/pkgs/servers/samba/default.nix
index 7a73a0417982..08c53182dd5d 100644
--- a/pkgs/servers/samba/default.nix
+++ b/pkgs/servers/samba/default.nix
@@ -18,11 +18,11 @@
 assert useKerberos -> kerberos != null;
 
 stdenv.mkDerivation rec {
-  name = "samba-3.6.7";
+  name = "samba-3.6.8";
 
   src = fetchurl {
     url = "http://us3.samba.org/samba/ftp/stable/${name}.tar.gz";
-    sha256 = "1jnl9v6axz30ymh6in1fwan7zjy9n5n7x70vi1afazxs27qa0n5q";
+    sha256 = "1phl6mmrc72jyvbyrw6cv6b92cxq3v2pbn1fh97nnb4hild1fnjg";
   };
 
   patches =
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   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'
+           -e 's/^as_fn_error .. \("cannot run test program while cross compiling\)/$as_echo \1/g'
     ''; # "
 
   preConfigure =
@@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
     ''
       mkdir -p $out
       mv $TMPDIR/inst/$out/* $out/
-  
+
       mkdir -pv $out/lib/cups/backend
       ln -sv ../../../bin/smbspool $out/lib/cups/backend/smb
       mkdir -pv $out/etc/openldap/schema
diff --git a/pkgs/servers/sip/freeswitch/default.nix b/pkgs/servers/sip/freeswitch/default.nix
index 5b341b7deb93..a1d9940c8871 100644
--- a/pkgs/servers/sip/freeswitch/default.nix
+++ b/pkgs/servers/sip/freeswitch/default.nix
@@ -1,21 +1,16 @@
-{ fetchgit, stdenv, ncurses, curl, pkgconfig, gnutls, readline, openssl, perl, libjpeg
-, libzrtpcpp, autoconf, automake, libtool }:
+{ fetchurl, stdenv, ncurses, curl, pkgconfig, gnutls, readline, openssl, perl, libjpeg
+, libzrtpcpp }:
 
 stdenv.mkDerivation rec {
-  name = "freeswitch-git-0db52e6";
+  name = "freeswitch-1.2.3";
 
-  src = fetchgit {
-    url = "git://git.freeswitch.org/freeswitch.git";
-    rev = "0db52e6e556fce584f1850c3a3b87c8f46ff87c5";
-    sha256 = "5cc7161c1ba64c5faf3dda2669e9aafd529eaa66be2fd83f284304444bcab9ff";
+  src = fetchurl {
+    url = http://files.freeswitch.org/freeswitch-1.2.3.tar.bz2;
+    sha256 = "0kfvn5f75c6r6yp18almjz9p6llvpm66gpbxcjswrg3ddgbkzg0k";
   };
 
-  preConfigure = ''
-    ./bootstrap.sh
-  '';
-
   buildInputs = [ ncurses curl pkgconfig gnutls readline openssl perl libjpeg
-    autoconf automake libtool libzrtpcpp ];
+    libzrtpcpp ];
 
   meta = {
     description = "Cross-Platform Scalable FREE Multi-Protocol Soft Switch";
diff --git a/pkgs/servers/sql/mysql/jdbc/default.nix b/pkgs/servers/sql/mysql/jdbc/default.nix
index 0f411b43f9f0..07c4d6a0aba7 100644
--- a/pkgs/servers/sql/mysql/jdbc/default.nix
+++ b/pkgs/servers/sql/mysql/jdbc/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, ant, unzip}:
 
 stdenv.mkDerivation {
-  name = "mysql-connector-java-5.1.17";
+  name = "mysql-connector-java-5.1.22";
   builder = ./builder.sh;
 
   src = fetchurl {
-    url = ftp://mirror.leaseweb.com/mysql/Downloads/Connector-J/mysql-connector-java-5.1.17.zip;
-    sha256 = "1c4hsx0qwb3rp66a1dllnah2zi9gqqnr4aqm9p59yrqj5jr22ldp";
+    url = http://cdn.mysql.com/Downloads/Connector-J/mysql-connector-java-5.1.22.zip;
+    sha256 = "0hfx1znq0iqclkc8visca7x67lvlk3cswni69ghi2c5cpa2d4ijm";
   };
 
   buildInputs = [ unzip ant ];
diff --git a/pkgs/servers/sql/mysql55/default.nix b/pkgs/servers/sql/mysql55/default.nix
index 3f26ea1f98bf..a5f588f747da 100644
--- a/pkgs/servers/sql/mysql55/default.nix
+++ b/pkgs/servers/sql/mysql55/default.nix
@@ -2,16 +2,23 @@
 
 # Note: zlib is not required; MySQL can use an internal zlib.
 
-stdenv.mkDerivation {
-  name = "mysql-5.5.23";
+stdenv.mkDerivation rec {
+  name = "mysql-${version}";
+  version = "5.5.28";
 
   src = fetchurl {
-    url = ftp://ftp.inria.fr/pub/MySQL/Downloads/MySQL-5.5/mysql-5.5.23.tar.gz;
-    sha256 = "0sklcz6miff7nb6bi1pqncgjv819255y7if6jxcqgiqs50z319i0";
+    urls = [
+      "mirror://sourceforge/mysql.mirror/${name}.tar.gz"
+      "http://mysql.linux.cz/Downloads/MySQL-5.5/${name}.tar.gz"
+      "http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.5/${name}.tar.gz"
+    ];
+    sha256 = "13y7bhjmx4daidvyqjz88yffbswb6rc1khkmiqm896fx3lglkcpr";
   };
 
   buildInputs = [ cmake bison ncurses openssl readline zlib ];
 
+  enableParallelBuilding = true;
+
   cmakeFlags = "-DWITH_SSL=yes -DWITH_READLINE=yes -DWITH_EMBEDDED_SERVER=yes -DWITH_ZLIB=yes -DINSTALL_SCRIPTDIR=bin -DHAVE_IPV6=yes";
   
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
diff --git a/pkgs/servers/sql/postgresql/8.3.x.nix b/pkgs/servers/sql/postgresql/8.3.x.nix
index d4ddb36d4feb..7a153187cd5c 100644
--- a/pkgs/servers/sql/postgresql/8.3.x.nix
+++ b/pkgs/servers/sql/postgresql/8.3.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, ncurses, readline }:
 
-let version = "8.3.20"; in
+let version = "8.3.21"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
 
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "0qqic4wx59lgbyfmdfcgip9nrcpk10zdb91bw9b96wr1vijn2awj";
+    sha256 = "1y1lw83jr3v91920xdhd4ypaa5iazmdh4snl5qzq0yq6z3lnsjx6";
   };
 
   buildInputs = [ zlib ncurses readline ];
diff --git a/pkgs/servers/sql/postgresql/8.4.x.nix b/pkgs/servers/sql/postgresql/8.4.x.nix
index e1150543f362..3500299b50d8 100644
--- a/pkgs/servers/sql/postgresql/8.4.x.nix
+++ b/pkgs/servers/sql/postgresql/8.4.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, ncurses, readline }:
 
-let version = "8.4.13"; in
+let version = "8.4.14"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
 
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "1fccqkni64vg1pi4zzcl67bm9g2brrlzjn1vh6qlyfpsld139p90";
+    sha256 = "0fhk3mmk95p5gwmg2skqv1rfi7ylk8gw195hx8rska7fbdryfwhi";
   };
 
   buildInputs = [ zlib ncurses readline ];
diff --git a/pkgs/servers/sql/postgresql/9.0.x.nix b/pkgs/servers/sql/postgresql/9.0.x.nix
index a28e5c337791..9993732ebcd6 100644
--- a/pkgs/servers/sql/postgresql/9.0.x.nix
+++ b/pkgs/servers/sql/postgresql/9.0.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, readline }:
 
-let version = "9.0.9"; in
+let version = "9.0.10"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
 
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "12nslml1mg3lyvrhmdvv5g15n7vj5fk1blx1dfllylqg38c7shc7";
+    sha256 = "0af7in1fp4qxkvzbipz74gxm06x31a9n4z9g91mcis4r015ii523";
   };
 
   buildInputs = [ zlib readline ];
diff --git a/pkgs/servers/sql/postgresql/9.1.x.nix b/pkgs/servers/sql/postgresql/9.1.x.nix
index 14488d4649e0..c8fa9327cf36 100644
--- a/pkgs/servers/sql/postgresql/9.1.x.nix
+++ b/pkgs/servers/sql/postgresql/9.1.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, readline }:
 
-let version = "9.1.5"; in
+let version = "9.1.6"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
 
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "0i6fssldjp65xfxz9dcmkhz6bk4rpw9g26zbqbc6iz164h9rr20b";
+    sha256 = "1rridkybr55xw4a1h0ppqwv2x2ffwvmpjai9yzsvk58scb56lfbf";
   };
 
   buildInputs = [ zlib readline ];
diff --git a/pkgs/servers/sql/postgresql/psqlodbc/default.nix b/pkgs/servers/sql/postgresql/psqlodbc/default.nix
new file mode 100644
index 000000000000..ce57c2141834
--- /dev/null
+++ b/pkgs/servers/sql/postgresql/psqlodbc/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, libiodbc, postgresql, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "psqlodbc-09.01.0200";
+
+  src = fetchurl {
+    url = "http://ftp.postgresql.org/pub/odbc/versions/src/${name}.tar.gz";
+    sha256 = "0b4w1ahfpp34jpscfk2kv9050lh3xl9pvcysqvaigkcd0vsk1hl9";
+  };
+
+  buildInputs = [ libiodbc postgresql openssl ];
+
+  configureFlags = "--with-iodbc=${libiodbc}";
+
+  meta = {
+    homepage = http://psqlodbc.projects.postgresql.org/;
+    description = "ODBC driver for PostgreSQL";
+    license = "LGPL";
+  };
+}
diff --git a/pkgs/servers/squid/squids.nix b/pkgs/servers/squid/squids.nix
index 3e5e4ebbe6f4..b349ab617acd 100644
--- a/pkgs/servers/squid/squids.nix
+++ b/pkgs/servers/squid/squids.nix
@@ -30,16 +30,16 @@ rec {
     configureFlags = ["--enable-ipv6"];
   };
 
-  squid32Beta = squid30.merge rec {
-    name = "squid-3.2.0.16";
+  squid32 = squid30.merge rec {
+    name = "squid-3.2.2";
     src = args.fetchurl {
       url = "http://www.squid-cache.org/Versions/v3/3.2/${name}.tar.bz2";
-      sha256 = "2431f4f9372e4e1a9c5fca5a4fa0c4bb0761ce3e044642ea9362bb1580a36d25";
+      sha256 = "13jlx3d6rqq7ajxs8bgn8a0mh932jhq6aa8032q205nxnhqs0l4l";
     };
     configureFlags = ["--enable-ipv6"];
     buildInputs = [openldap pam db4 cyrus_sasl libcap expat libxml2
       libtool openssl];
   };
 
-  latest = squid32Beta;
+  latest = squid32;
 }
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index 4fbc6fbdfda8..23600b0e0145 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -8,11 +8,11 @@ let
   xorg = rec {
 
   applewmproto = (stdenv.mkDerivation ((if overrides ? applewmproto then overrides.applewmproto else x: x) {
-    name = "applewmproto-1.4.1";
+    name = "applewmproto-1.4.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/applewmproto-1.4.1.tar.bz2;
-      sha256 = "06fyixmx36qac2qqwmra3l9xr570rankm9kzmk0mgqyhgldrw1h8";
+      url = mirror://xorg/X11R7.7/src/everything/applewmproto-1.4.2.tar.bz2;
+      sha256 = "1zi4p07mp6jmk030p4gmglwxcwp0lzs5mi31y1b4rp8lsqxdxizw";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
@@ -21,18 +21,18 @@ let
     name = "bdftopcf-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/bdftopcf-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/bdftopcf-1.0.3.tar.bz2;
       sha256 = "02hx981f7jfwylxj21s91yvv4h597nqqzz3vd6ar81zyn84b944w";
     };
     buildInputs = [pkgconfig libXfont ];
   })) // {inherit libXfont ;};
     
   bigreqsproto = (stdenv.mkDerivation ((if overrides ? bigreqsproto then overrides.bigreqsproto else x: x) {
-    name = "bigreqsproto-1.1.1";
+    name = "bigreqsproto-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/bigreqsproto-1.1.1.tar.bz2;
-      sha256 = "16phzxa55lr749rghpaa699h1lcpndmw7izxzgl1bljq5f3qafqw";
+      url = mirror://xorg/X11R7.7/src/everything/bigreqsproto-1.1.2.tar.bz2;
+      sha256 = "07hvfm84scz8zjw14riiln2v4w03jlhp756ypwhq27g48jmic8a6";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
@@ -41,7 +41,7 @@ let
     name = "compositeproto-0.4.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/compositeproto-0.4.2.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/compositeproto-0.4.2.tar.bz2;
       sha256 = "1z0crmf669hirw4s7972mmp8xig80kfndja9h559haqbpvq5k4q4";
     };
     buildInputs = [pkgconfig ];
@@ -51,7 +51,7 @@ let
     name = "damageproto-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/damageproto-1.2.1.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/damageproto-1.2.1.tar.bz2;
       sha256 = "0nzwr5pv9hg7c21n995pdiv0zqhs91yz3r8rn3aska4ykcp12z2w";
     };
     buildInputs = [pkgconfig ];
@@ -61,18 +61,18 @@ let
     name = "dmxproto-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/proto/dmxproto-2.3.1.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/dmxproto-2.3.1.tar.bz2;
       sha256 = "02b5x9dkgajizm8dqyx2w6hmqx3v25l67mgf35nj6sz0lgk52877";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   dri2proto = (stdenv.mkDerivation ((if overrides ? dri2proto then overrides.dri2proto else x: x) {
-    name = "dri2proto-2.6";
+    name = "dri2proto-2.8";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/proto/dri2proto-2.6.tar.bz2;
-      sha256 = "02drlfqvjm2q7dvkkwli3fs2crb6rdb3kyd13vwx7z0rijrc10md";
+      url = mirror://xorg/individual/proto/dri2proto-2.8.tar.bz2;
+      sha256 = "015az1vfdqmil1yay5nlsmpf6cf7vcbpslxjb72cfkzlvrv59dgr";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
@@ -81,18 +81,18 @@ let
     name = "encodings-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/encodings-1.0.4.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/encodings-1.0.4.tar.bz2;
       sha256 = "0ffmaw80vmfwdgvdkp6495xgsqszb6s0iira5j0j6pd4i0lk3mnf";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   fixesproto = (stdenv.mkDerivation ((if overrides ? fixesproto then overrides.fixesproto else x: x) {
-    name = "fixesproto-4.1.2";
+    name = "fixesproto-5.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/fixesproto-4.1.2.tar.bz2;
-      sha256 = "0mzq8kh1v1w2mrl4y82qzgv8jzlr3n4jmss56h3r1h9knp6byk6y";
+      url = mirror://xorg/X11R7.7/src/everything/fixesproto-5.0.tar.bz2;
+      sha256 = "1ki4wiq2iivx5g4w5ckzbjbap759kfqd72yg18m3zpbb4hqkybxs";
     };
     buildInputs = [pkgconfig xextproto ];
   })) // {inherit xextproto ;};
@@ -101,47 +101,47 @@ let
     name = "font-adobe-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-adobe-100dpi-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-adobe-100dpi-1.0.3.tar.bz2;
       sha256 = "0m60f5bd0caambrk8ksknb5dks7wzsg7g7xaf0j21jxmx8rq9h5j";
     };
-    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir ;};
+    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
+  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
     
   fontadobe75dpi = (stdenv.mkDerivation ((if overrides ? fontadobe75dpi then overrides.fontadobe75dpi else x: x) {
     name = "font-adobe-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-adobe-75dpi-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-adobe-75dpi-1.0.3.tar.bz2;
       sha256 = "02advcv9lyxpvrjv8bjh1b797lzg6jvhipclz49z8r8y98g4l0n6";
     };
-    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir ;};
+    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
+  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
     
   fontadobeutopia100dpi = (stdenv.mkDerivation ((if overrides ? fontadobeutopia100dpi then overrides.fontadobeutopia100dpi else x: x) {
     name = "font-adobe-utopia-100dpi-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-100dpi-1.0.4.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-100dpi-1.0.4.tar.bz2;
       sha256 = "19dd9znam1ah72jmdh7i6ny2ss2r6m21z9v0l43xvikw48zmwvyi";
     };
-    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir ;};
+    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
+  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
     
   fontadobeutopia75dpi = (stdenv.mkDerivation ((if overrides ? fontadobeutopia75dpi then overrides.fontadobeutopia75dpi else x: x) {
     name = "font-adobe-utopia-75dpi-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-75dpi-1.0.4.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-75dpi-1.0.4.tar.bz2;
       sha256 = "152wigpph5wvl4k9m3l4mchxxisgsnzlx033mn5iqrpkc6f72cl7";
     };
-    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir ;};
+    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
+  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
     
   fontadobeutopiatype1 = (stdenv.mkDerivation ((if overrides ? fontadobeutopiatype1 then overrides.fontadobeutopiatype1 else x: x) {
     name = "font-adobe-utopia-type1-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-type1-1.0.4.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-type1-1.0.4.tar.bz2;
       sha256 = "0xw0pdnzj5jljsbbhakc6q9ha2qnca1jr81zk7w70yl9bw83b54p";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -151,7 +151,7 @@ let
     name = "font-alias-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-alias-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-alias-1.0.3.tar.bz2;
       sha256 = "16ic8wfwwr3jicaml7b5a0sk6plcgc1kg84w02881yhwmqm3nicb";
     };
     buildInputs = [pkgconfig ];
@@ -161,7 +161,7 @@ let
     name = "font-arabic-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-arabic-misc-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-arabic-misc-1.0.3.tar.bz2;
       sha256 = "1x246dfnxnmflzf0qzy62k8jdpkb6jkgspcjgbk8jcq9lw99npah";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -171,47 +171,47 @@ let
     name = "font-bh-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-bh-100dpi-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-bh-100dpi-1.0.3.tar.bz2;
       sha256 = "10cl4gm38dw68jzln99ijix730y7cbx8np096gmpjjwff1i73h13";
     };
-    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir ;};
+    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
+  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
     
   fontbh75dpi = (stdenv.mkDerivation ((if overrides ? fontbh75dpi then overrides.fontbh75dpi else x: x) {
     name = "font-bh-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-bh-75dpi-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-bh-75dpi-1.0.3.tar.bz2;
       sha256 = "073jmhf0sr2j1l8da97pzsqj805f7mf9r2gy92j4diljmi8sm1il";
     };
-    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir ;};
+    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
+  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
     
   fontbhlucidatypewriter100dpi = (stdenv.mkDerivation ((if overrides ? fontbhlucidatypewriter100dpi then overrides.fontbhlucidatypewriter100dpi else x: x) {
     name = "font-bh-lucidatypewriter-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2;
       sha256 = "1fqzckxdzjv4802iad2fdrkpaxl4w0hhs9lxlkyraq2kq9ik7a32";
     };
-    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir ;};
+    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
+  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
     
   fontbhlucidatypewriter75dpi = (stdenv.mkDerivation ((if overrides ? fontbhlucidatypewriter75dpi then overrides.fontbhlucidatypewriter75dpi else x: x) {
     name = "font-bh-lucidatypewriter-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2;
       sha256 = "0cfbxdp5m12cm7jsh3my0lym9328cgm7fa9faz2hqj05wbxnmhaa";
     };
-    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir ;};
+    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
+  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
     
   fontbhttf = (stdenv.mkDerivation ((if overrides ? fontbhttf then overrides.fontbhttf else x: x) {
     name = "font-bh-ttf-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-bh-ttf-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-bh-ttf-1.0.3.tar.bz2;
       sha256 = "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -221,7 +221,7 @@ let
     name = "font-bh-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-bh-type1-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-bh-type1-1.0.3.tar.bz2;
       sha256 = "1hb3iav089albp4sdgnlh50k47cdjif9p4axm0kkjvs8jyi5a53n";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -231,7 +231,7 @@ let
     name = "font-bitstream-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-bitstream-100dpi-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-bitstream-100dpi-1.0.3.tar.bz2;
       sha256 = "1kmn9jbck3vghz6rj3bhc3h0w6gh0qiaqm90cjkqsz1x9r2dgq7b";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -241,7 +241,7 @@ let
     name = "font-bitstream-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-bitstream-75dpi-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-bitstream-75dpi-1.0.3.tar.bz2;
       sha256 = "13plbifkvfvdfym6gjbgy9wx2xbdxi9hfrl1k22xayy02135wgxs";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -251,7 +251,7 @@ let
     name = "font-bitstream-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-bitstream-type1-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-bitstream-type1-1.0.3.tar.bz2;
       sha256 = "1256z0jhcf5gbh1d03593qdwnag708rxqa032izmfb5dmmlhbsn6";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -261,7 +261,7 @@ let
     name = "font-cronyx-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-cronyx-cyrillic-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-cronyx-cyrillic-1.0.3.tar.bz2;
       sha256 = "0ai1v4n61k8j9x2a1knvfbl2xjxk3xxmqaq3p9vpqrspc69k31kf";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -271,7 +271,7 @@ let
     name = "font-cursor-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-cursor-misc-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-cursor-misc-1.0.3.tar.bz2;
       sha256 = "0dd6vfiagjc4zmvlskrbjz85jfqhf060cpys8j0y1qpcbsrkwdhp";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -281,7 +281,7 @@ let
     name = "font-daewoo-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-daewoo-misc-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-daewoo-misc-1.0.3.tar.bz2;
       sha256 = "1s2bbhizzgbbbn5wqs3vw53n619cclxksljvm759h9p1prqdwrdw";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -291,7 +291,7 @@ let
     name = "font-dec-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-dec-misc-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-dec-misc-1.0.3.tar.bz2;
       sha256 = "0yzza0l4zwyy7accr1s8ab7fjqkpwggqydbm2vc19scdby5xz7g1";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -301,7 +301,7 @@ let
     name = "font-ibm-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-ibm-type1-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-ibm-type1-1.0.3.tar.bz2;
       sha256 = "1pyjll4adch3z5cg663s6vhi02k8m6488f0mrasg81ssvg9jinzx";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -311,7 +311,7 @@ let
     name = "font-isas-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-isas-misc-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-isas-misc-1.0.3.tar.bz2;
       sha256 = "0rx8q02rkx673a7skkpnvfkg28i8gmqzgf25s9yi0lar915sn92q";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -321,7 +321,7 @@ let
     name = "font-jis-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-jis-misc-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-jis-misc-1.0.3.tar.bz2;
       sha256 = "0rdc3xdz12pnv951538q6wilx8mrdndpkphpbblszsv7nc8cw61b";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -331,7 +331,7 @@ let
     name = "font-micro-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-micro-misc-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-micro-misc-1.0.3.tar.bz2;
       sha256 = "1dldxlh54zq1yzfnrh83j5vm0k4ijprrs5yl18gm3n9j1z0q2cws";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -341,7 +341,7 @@ let
     name = "font-misc-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-misc-cyrillic-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-misc-cyrillic-1.0.3.tar.bz2;
       sha256 = "0q2ybxs8wvylvw95j6x9i800rismsmx4b587alwbfqiw6biy63z4";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -351,7 +351,7 @@ let
     name = "font-misc-ethiopic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-misc-ethiopic-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-misc-ethiopic-1.0.3.tar.bz2;
       sha256 = "19cq7iq0pfad0nc2v28n681fdq3fcw1l1hzaq0wpkgpx7bc1zjsk";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -361,7 +361,7 @@ let
     name = "font-misc-meltho-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-misc-meltho-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-misc-meltho-1.0.3.tar.bz2;
       sha256 = "148793fqwzrc3bmh2vlw5fdiwjc2n7vs25cic35gfp452czk489p";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -371,17 +371,17 @@ let
     name = "font-misc-misc-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-misc-misc-1.1.2.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-misc-misc-1.1.2.tar.bz2;
       sha256 = "150pq6n8n984fah34n3k133kggn9v0c5k07igv29sxp1wi07krxq";
     };
-    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir ;};
+    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
+  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
     
   fontmuttmisc = (stdenv.mkDerivation ((if overrides ? fontmuttmisc then overrides.fontmuttmisc else x: x) {
     name = "font-mutt-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-mutt-misc-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-mutt-misc-1.0.3.tar.bz2;
       sha256 = "13qghgr1zzpv64m0p42195k1kc77pksiv059fdvijz1n6kdplpxx";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -391,17 +391,17 @@ let
     name = "font-schumacher-misc-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-schumacher-misc-1.1.2.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-schumacher-misc-1.1.2.tar.bz2;
       sha256 = "0nkym3n48b4v36y4s927bbkjnsmicajarnf6vlp7wxp0as304i74";
     };
-    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir ;};
+    buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
+  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
     
   fontscreencyrillic = (stdenv.mkDerivation ((if overrides ? fontscreencyrillic then overrides.fontscreencyrillic else x: x) {
     name = "font-screen-cyrillic-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-screen-cyrillic-1.0.4.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-screen-cyrillic-1.0.4.tar.bz2;
       sha256 = "0yayf1qlv7irf58nngddz2f1q04qkpr5jwp4aja2j5gyvzl32hl2";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -411,18 +411,18 @@ let
     name = "font-sony-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-sony-misc-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-sony-misc-1.0.3.tar.bz2;
       sha256 = "1xfgcx4gsgik5mkgkca31fj3w72jw9iw76qyrajrsz1lp8ka6hr0";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontsproto = (stdenv.mkDerivation ((if overrides ? fontsproto then overrides.fontsproto else x: x) {
-    name = "fontsproto-2.1.1";
+    name = "fontsproto-2.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/fontsproto-2.1.1.tar.bz2;
-      sha256 = "1g1rsvj0lb7744x6fj18d989ymf7zgry3v3fzipnnzljwa0vr6lw";
+      url = mirror://xorg/X11R7.7/src/everything/fontsproto-2.1.2.tar.bz2;
+      sha256 = "1ab8mbqxdwvdz4k5x4xb9c4n5w7i1xw276cbpk4z7a1nlpjrg746";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
@@ -431,18 +431,18 @@ let
     name = "font-sun-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-sun-misc-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-sun-misc-1.0.3.tar.bz2;
       sha256 = "1q6jcqrffg9q5f5raivzwx9ffvf7r11g6g0b125na1bhpz5ly7s8";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
   })) // {inherit bdftopcf mkfontdir ;};
     
   fontutil = (stdenv.mkDerivation ((if overrides ? fontutil then overrides.fontutil else x: x) {
-    name = "font-util-1.2.0";
+    name = "font-util-1.3.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-util-1.2.0.tar.bz2;
-      sha256 = "04lp7xlrcqfyrsnvdgyqbanlnzr13lhn28v0kr2nzpvcmqbwdfnv";
+      url = mirror://xorg/X11R7.7/src/everything/font-util-1.3.0.tar.bz2;
+      sha256 = "15cijajwhjzpy3ydc817zz8x5z4gbkyv3fps687jbq544mbfbafz";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
@@ -451,7 +451,7 @@ let
     name = "font-winitzki-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-winitzki-cyrillic-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-winitzki-cyrillic-1.0.3.tar.bz2;
       sha256 = "181n1bgq8vxfxqicmy1jpm1hnr6gwn1kdhl6hr4frjigs1ikpldb";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -461,7 +461,7 @@ let
     name = "font-xfree86-type1-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/font-xfree86-type1-1.0.4.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/font-xfree86-type1-1.0.4.tar.bz2;
       sha256 = "0jp3zc0qfdaqfkgzrb44vi9vi0a8ygb35wp082yz7rvvxhmg9sya";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
@@ -478,91 +478,91 @@ let
   })) // {inherit ;};
     
   glproto = (stdenv.mkDerivation ((if overrides ? glproto then overrides.glproto else x: x) {
-    name = "glproto-1.4.12";
+    name = "glproto-1.4.16";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/glproto-1.4.12.tar.bz2;
-      sha256 = "1pjpnj78hski4krvsbf55pkhhsrahvlb825dwl804q0b36fpmgj8";
+      url = mirror://xorg/individual/proto/glproto-1.4.16.tar.bz2;
+      sha256 = "13arnb4bz5pn89bxbh3shr8gihkhyznpjnq3zzr05msygwx6dpal";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   iceauth = (stdenv.mkDerivation ((if overrides ? iceauth then overrides.iceauth else x: x) {
-    name = "iceauth-1.0.4";
+    name = "iceauth-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/iceauth-1.0.4.tar.bz2;
-      sha256 = "13ck97rz53l490aba3xpgv4psgk4rywh1vi6slg1n4zhai2zvrhf";
+      url = mirror://xorg/X11R7.7/src/everything/iceauth-1.0.5.tar.bz2;
+      sha256 = "1aq6v671s2x5rc6zn0rgxb4wddg4vq94mckw3cpwl7ccrjjvd5hl";
     };
     buildInputs = [pkgconfig libICE xproto ];
   })) // {inherit libICE xproto ;};
     
   imake = (stdenv.mkDerivation ((if overrides ? imake then overrides.imake else x: x) {
-    name = "imake-1.0.4";
+    name = "imake-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/util/imake-1.0.4.tar.bz2;
-      sha256 = "1zj6y59yip40hrdvvljjmnsfqddzxpxmbmd8842010rhkvq7zcmc";
+      url = mirror://xorg/individual/util/imake-1.0.5.tar.bz2;
+      sha256 = "1h8ww97aymm10l9qn21n1b9x5ypjrqr10qpf48jjcbc9fg77gklr";
     };
     buildInputs = [pkgconfig xproto ];
   })) // {inherit xproto ;};
     
   inputproto = (stdenv.mkDerivation ((if overrides ? inputproto then overrides.inputproto else x: x) {
-    name = "inputproto-2.0.1";
+    name = "inputproto-2.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/inputproto-2.0.1.tar.bz2;
-      sha256 = "0i2a28bnvv68i6z8qx09iw95c1wchqc2migx1s7764pqipc3srk3";
+      url = mirror://xorg/X11R7.7/src/everything/inputproto-2.2.tar.bz2;
+      sha256 = "1c5wqamfsd8g5i8kya5pjfmcac8q5zq1l3vclh6p96f24nmicxfy";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   kbproto = (stdenv.mkDerivation ((if overrides ? kbproto then overrides.kbproto else x: x) {
-    name = "kbproto-1.0.5";
+    name = "kbproto-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/kbproto-1.0.5.tar.bz2;
-      sha256 = "17glym611bbkca371ihpcnx9ydp4asay4psqq267j00pbr94zfhf";
+      url = mirror://xorg/X11R7.7/src/everything/kbproto-1.0.6.tar.bz2;
+      sha256 = "0yal11hhpiisy3w8wmacsdzzzcnc3xwnswxz8k7zri40xc5aqz03";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   libAppleWM = (stdenv.mkDerivation ((if overrides ? libAppleWM then overrides.libAppleWM else x: x) {
-    name = "libAppleWM-1.4.0";
+    name = "libAppleWM-1.4.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libAppleWM-1.4.0.tar.bz2;
-      sha256 = "10hw7rvwc2b0v3v6mc6vaq8xs6vim4bg43rnhspf4p26mlb2dsf8";
+      url = mirror://xorg/X11R7.7/src/everything/libAppleWM-1.4.1.tar.bz2;
+      sha256 = "0r8x28n45q89x91mz8mv0zkkcxi8wazkac886fyvflhiv2y8ap2y";
     };
     buildInputs = [pkgconfig applewmproto libX11 libXext xextproto ];
   })) // {inherit applewmproto libX11 libXext xextproto ;};
     
   libFS = (stdenv.mkDerivation ((if overrides ? libFS then overrides.libFS else x: x) {
-    name = "libFS-1.0.3";
+    name = "libFS-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libFS-1.0.3.tar.bz2;
-      sha256 = "0694iyc1rdz0fqnalgzpgzmxfaklrdk0jz769fsn1bv88mszjymb";
+      url = mirror://xorg/X11R7.7/src/everything/libFS-1.0.4.tar.bz2;
+      sha256 = "05c3bqgn5m7j4kx8wvy0p36faq6f9jv5yq12m6033m4lflg7cwvh";
     };
     buildInputs = [pkgconfig fontsproto xproto xtrans ];
   })) // {inherit fontsproto xproto xtrans ;};
     
   libICE = (stdenv.mkDerivation ((if overrides ? libICE then overrides.libICE else x: x) {
-    name = "libICE-1.0.7";
+    name = "libICE-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libICE-1.0.7.tar.bz2;
-      sha256 = "00drapw7n793nqy23m76vxj5yzlgx7prmprkhzp3qiqs2lpnkcd8";
+      url = mirror://xorg/X11R7.7/src/everything/libICE-1.0.8.tar.bz2;
+      sha256 = "07mp13pb3s73kj7y490gnx619znzwk91mlf8kdw0rzq29ll93a94";
     };
     buildInputs = [pkgconfig xproto xtrans ];
   })) // {inherit xproto xtrans ;};
     
   libSM = (stdenv.mkDerivation ((if overrides ? libSM then overrides.libSM else x: x) {
-    name = "libSM-1.2.0";
+    name = "libSM-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libSM-1.2.0.tar.bz2;
-      sha256 = "1jspgbd9g1d20kl18nnbzv37f1kpfybjff2xn08dmgv7f0dxzn0c";
+      url = mirror://xorg/X11R7.7/src/everything/libSM-1.2.1.tar.bz2;
+      sha256 = "07bzi6xwlhq36f60qfspjbz0qjj7zcgayi1vp4ihgx34kib1vhck";
     };
     buildInputs = [pkgconfig libICE libuuid xproto xtrans ];
   })) // {inherit libICE libuuid xproto xtrans ;};
@@ -571,48 +571,48 @@ let
     name = "libWindowsWM-1.0.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libWindowsWM-1.0.1.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/libWindowsWM-1.0.1.tar.bz2;
       sha256 = "1p0flwb67xawyv6yhri9w17m1i4lji5qnd0gq8v1vsfb8zw7rw15";
     };
     buildInputs = [pkgconfig windowswmproto libX11 libXext xextproto ];
   })) // {inherit windowswmproto libX11 libXext xextproto ;};
     
   libX11 = (stdenv.mkDerivation ((if overrides ? libX11 then overrides.libX11 else x: x) {
-    name = "libX11-1.4.1";
+    name = "libX11-1.5.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libX11-1.4.1.tar.bz2;
-      sha256 = "1qiwyqaf9vfn52nwp7nxlbixld3r9jyzsarnkwk0ynk4k3vy1x3h";
+      url = mirror://xorg/X11R7.7/src/everything/libX11-1.5.0.tar.bz2;
+      sha256 = "11jdpl15bxwpwv0knpkh990s8jvlybng3dx477pkrz1bx7byz0n3";
     };
     buildInputs = [pkgconfig inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ];
   })) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;};
     
   libXScrnSaver = (stdenv.mkDerivation ((if overrides ? libXScrnSaver then overrides.libXScrnSaver else x: x) {
-    name = "libXScrnSaver-1.2.1";
+    name = "libXScrnSaver-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXScrnSaver-1.2.1.tar.bz2;
-      sha256 = "16i59gac2sixgi692w4lvq5cp8hkl6rc375bh0ib51gsyvi6cfnf";
+      url = mirror://xorg/X11R7.7/src/everything/libXScrnSaver-1.2.2.tar.bz2;
+      sha256 = "07ff4r20nkkrj7h08f9fwamds9b3imj8jz5iz6y38zqw6jkyzwcg";
     };
     buildInputs = [pkgconfig scrnsaverproto libX11 libXext xextproto ];
   })) // {inherit scrnsaverproto libX11 libXext xextproto ;};
     
   libXau = (stdenv.mkDerivation ((if overrides ? libXau then overrides.libXau else x: x) {
-    name = "libXau-1.0.6";
+    name = "libXau-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXau-1.0.6.tar.bz2;
-      sha256 = "1z3h07wj2kg2hnzj4gd9pc3rkj4n0mfw6f9skg9w1hfwzrgl317f";
+      url = mirror://xorg/X11R7.7/src/everything/libXau-1.0.7.tar.bz2;
+      sha256 = "12d4f7sdv2pjxhk0lcay0pahccddszkw579dc59daqi37r8bllvi";
     };
     buildInputs = [pkgconfig xproto ];
   })) // {inherit xproto ;};
     
   libXaw = (stdenv.mkDerivation ((if overrides ? libXaw then overrides.libXaw else x: x) {
-    name = "libXaw-1.0.9";
+    name = "libXaw-1.0.11";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXaw-1.0.9.tar.bz2;
-      sha256 = "0dxh5ldcmzl6afq0a9172ryah1341g0zysm8vk2lmqkqdda7ffd8";
+      url = mirror://xorg/X11R7.7/src/everything/libXaw-1.0.11.tar.bz2;
+      sha256 = "14ll7ndf5njc30hz2w197qvwp7fqj7y14wq4p1cyxlbipfn79a47";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto libXmu libXpm xproto libXt ];
   })) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;};
@@ -621,18 +621,18 @@ let
     name = "libXcomposite-0.4.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXcomposite-0.4.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/libXcomposite-0.4.3.tar.bz2;
       sha256 = "1b8sniijb85v4my6v30ma9yqnwl4hkclci9l1hqxnipfyhl4sa9j";
     };
     buildInputs = [pkgconfig compositeproto libX11 libXfixes xproto ];
   })) // {inherit compositeproto libX11 libXfixes xproto ;};
     
   libXcursor = (stdenv.mkDerivation ((if overrides ? libXcursor then overrides.libXcursor else x: x) {
-    name = "libXcursor-1.1.11";
+    name = "libXcursor-1.1.13";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXcursor-1.1.11.tar.bz2;
-      sha256 = "1zpn5dx66l5ql9qv0yz41qlbap4imkkvi0p6j2a6zh72g52zfvm0";
+      url = mirror://xorg/X11R7.7/src/everything/libXcursor-1.1.13.tar.bz2;
+      sha256 = "13xd1dyb06gwdwb0bxb22fkgdlmis6wrljm2xk6fhz0v9bg2g27p";
     };
     buildInputs = [pkgconfig fixesproto libX11 libXfixes xproto libXrender ];
   })) // {inherit fixesproto libX11 libXfixes xproto libXrender ;};
@@ -641,88 +641,88 @@ let
     name = "libXdamage-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXdamage-1.1.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/libXdamage-1.1.3.tar.bz2;
       sha256 = "1a678bwap74sqczbr2z4y4fvbr35km3inkm8bi1igjyk4v46jqdw";
     };
     buildInputs = [pkgconfig damageproto fixesproto libX11 xextproto libXfixes xproto ];
   })) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;};
     
   libXdmcp = (stdenv.mkDerivation ((if overrides ? libXdmcp then overrides.libXdmcp else x: x) {
-    name = "libXdmcp-1.1.0";
+    name = "libXdmcp-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXdmcp-1.1.0.tar.bz2;
-      sha256 = "0wh0q4ih9p3nsxsjjj9a3d03nhiyjggpl7gbavdzsfia36iyk85q";
+      url = mirror://xorg/X11R7.7/src/everything/libXdmcp-1.1.1.tar.bz2;
+      sha256 = "13highx4xpgkiwykpcl7z2laslrjc4pzi4h617ny9p7r6116vkls";
     };
     buildInputs = [pkgconfig xproto ];
   })) // {inherit xproto ;};
     
   libXext = (stdenv.mkDerivation ((if overrides ? libXext then overrides.libXext else x: x) {
-    name = "libXext-1.2.0";
+    name = "libXext-1.3.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXext-1.2.0.tar.bz2;
-      sha256 = "1xvgvrbg9lc812zi44hsyr461hiiwy05alckq847ki213qhkxvaa";
+      url = mirror://xorg/X11R7.7/src/everything/libXext-1.3.1.tar.bz2;
+      sha256 = "0ng8clhn7srbkadxjc7ih3z3v27v9ny0aa0dqkgddgxpgrhrq8jn";
     };
     buildInputs = [pkgconfig libX11 xextproto xproto ];
   })) // {inherit libX11 xextproto xproto ;};
     
   libXfixes = (stdenv.mkDerivation ((if overrides ? libXfixes then overrides.libXfixes else x: x) {
-    name = "libXfixes-4.0.5";
+    name = "libXfixes-5.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXfixes-4.0.5.tar.bz2;
-      sha256 = "0x4drdxrslxf4vgcfyba0f0fbxg98c8x5dfrl7azakhf8qhd0v1f";
+      url = mirror://xorg/X11R7.7/src/everything/libXfixes-5.0.tar.bz2;
+      sha256 = "1qx2rmwhmca2n7rgafy0arp15k5vwhdhhh6v6mx76hlj29328yjk";
     };
     buildInputs = [pkgconfig fixesproto libX11 xextproto xproto ];
   })) // {inherit fixesproto libX11 xextproto xproto ;};
     
   libXfont = (stdenv.mkDerivation ((if overrides ? libXfont then overrides.libXfont else x: x) {
-    name = "libXfont-1.4.3";
+    name = "libXfont-1.4.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXfont-1.4.3.tar.bz2;
-      sha256 = "1k79f8vcibd114ydndvna8axx39bsdaj351f16901lh155jlb4pp";
+      url = mirror://xorg/X11R7.7/src/everything/libXfont-1.4.5.tar.bz2;
+      sha256 = "0w3irg00k6b6mziddnacln9q2rkf5848b04nvjqwv5bb1fw6zydv";
     };
     buildInputs = [pkgconfig libfontenc fontsproto freetype xproto xtrans zlib ];
   })) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;};
     
   libXft = (stdenv.mkDerivation ((if overrides ? libXft then overrides.libXft else x: x) {
-    name = "libXft-2.2.0";
+    name = "libXft-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXft-2.2.0.tar.bz2;
-      sha256 = "1cprbz7xnxkb7axblw8sdaw9ibkngmz60d0ypk1drhd0dpjmls68";
+      url = mirror://xorg/X11R7.7/src/everything/libXft-2.3.1.tar.bz2;
+      sha256 = "1gdv6559cdz1lfw73x7wsvax1fkvphmayrymprljhyyb5nwk5kkz";
     };
-    buildInputs = [pkgconfig fontconfig freetype xproto libXrender ];
-  })) // {inherit fontconfig freetype xproto libXrender ;};
+    buildInputs = [pkgconfig fontconfig freetype libX11 xproto libXrender ];
+  })) // {inherit fontconfig freetype libX11 xproto libXrender ;};
     
   libXi = (stdenv.mkDerivation ((if overrides ? libXi then overrides.libXi else x: x) {
-    name = "libXi-1.4.1";
+    name = "libXi-1.6.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXi-1.4.1.tar.bz2;
-      sha256 = "19i92if8anv5pg2mwyy93jcllk1mgxx5gchi8zkjlk7r604ir7sr";
+      url = mirror://xorg/X11R7.7/src/everything/libXi-1.6.1.tar.bz2;
+      sha256 = "029ihw4jq8mng8rx7a3jdvq64jm1zdkqidca93zmxv4jf9yn5qzj";
     };
     buildInputs = [pkgconfig inputproto libX11 libXext xextproto xproto ];
   })) // {inherit inputproto libX11 libXext xextproto xproto ;};
     
   libXinerama = (stdenv.mkDerivation ((if overrides ? libXinerama then overrides.libXinerama else x: x) {
-    name = "libXinerama-1.1.1";
+    name = "libXinerama-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXinerama-1.1.1.tar.bz2;
-      sha256 = "17vpsscracg1hza0avrczm9fc7xx3229qhicy101mw6cx2hb9qmv";
+      url = mirror://xorg/X11R7.7/src/everything/libXinerama-1.1.2.tar.bz2;
+      sha256 = "1b3aq1762hxzchd9ndavdjlksq93991s0g2z6spf8wl3v0pprrx4";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xineramaproto ];
   })) // {inherit libX11 libXext xextproto xineramaproto ;};
     
   libXmu = (stdenv.mkDerivation ((if overrides ? libXmu then overrides.libXmu else x: x) {
-    name = "libXmu-1.1.0";
+    name = "libXmu-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXmu-1.1.0.tar.bz2;
-      sha256 = "1b9nkml1mk8yi76bv23cikbfrd7hlp48h710yqgcrpkh7cq1za8g";
+      url = mirror://xorg/X11R7.7/src/everything/libXmu-1.1.1.tar.bz2;
+      sha256 = "1pbym8rrznxqd60zwf7w4xpf27sa72bky2knginqcfnca32q343h";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ];
   })) // {inherit libX11 libXext xextproto xproto libXt ;};
@@ -738,91 +738,91 @@ let
   })) // {inherit printproto libX11 libXau libXext xextproto ;};
     
   libXpm = (stdenv.mkDerivation ((if overrides ? libXpm then overrides.libXpm else x: x) {
-    name = "libXpm-3.5.9";
+    name = "libXpm-3.5.10";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXpm-3.5.9.tar.bz2;
-      sha256 = "07k2zpiadck1p986pgksfm5zfdm6h5vjy6p0hv59h1dbkh103pca";
+      url = mirror://xorg/X11R7.7/src/everything/libXpm-3.5.10.tar.bz2;
+      sha256 = "0dd737ch4q9gr151wff1m3q2j7wf3pip4y81601xdrsh8wipxnx6";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ];
   })) // {inherit libX11 libXext xextproto xproto libXt ;};
     
   libXrandr = (stdenv.mkDerivation ((if overrides ? libXrandr then overrides.libXrandr else x: x) {
-    name = "libXrandr-1.3.1";
+    name = "libXrandr-1.4.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXrandr-1.3.1.tar.bz2;
-      sha256 = "0qf6aywqk2mgd5hw0nr24xxp5k015aa11sax5yycn14wch4agfv2";
+      url = mirror://xorg/individual/lib/libXrandr-1.4.0.tar.bz2;
+      sha256 = "1hzm2ndra4nf8xxzm4lzd225zj05hzbzcq464q2znah15ynd0fh3";
     };
     buildInputs = [pkgconfig randrproto renderproto libX11 libXext xextproto xproto libXrender ];
   })) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;};
     
   libXrender = (stdenv.mkDerivation ((if overrides ? libXrender then overrides.libXrender else x: x) {
-    name = "libXrender-0.9.6";
+    name = "libXrender-0.9.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXrender-0.9.6.tar.bz2;
-      sha256 = "0s567qgys8m6782lbrpvpscm8fkk2jm2717g7s3hm7hhcgib2n3z";
+      url = mirror://xorg/X11R7.7/src/everything/libXrender-0.9.7.tar.bz2;
+      sha256 = "1rmvja2gkf5v0k2n1bcghw8v98m2kfn3af0rbmsda5dwr69npd7r";
     };
     buildInputs = [pkgconfig renderproto libX11 xproto ];
   })) // {inherit renderproto libX11 xproto ;};
     
   libXres = (stdenv.mkDerivation ((if overrides ? libXres then overrides.libXres else x: x) {
-    name = "libXres-1.0.5";
+    name = "libXres-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXres-1.0.5.tar.bz2;
-      sha256 = "0nd032jn3im6ar71xm1wgcmb4pa76c73nl8lavdkih609d30y2x0";
+      url = mirror://xorg/X11R7.7/src/everything/libXres-1.0.6.tar.bz2;
+      sha256 = "1478pm70gdi6l70r4jpkyyg2am9wv6xh53z9ibwq5cg84p4n31pz";
     };
     buildInputs = [pkgconfig resourceproto libX11 libXext xextproto xproto ];
   })) // {inherit resourceproto libX11 libXext xextproto xproto ;};
     
   libXt = (stdenv.mkDerivation ((if overrides ? libXt then overrides.libXt else x: x) {
-    name = "libXt-1.0.9";
+    name = "libXt-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXt-1.0.9.tar.bz2;
-      sha256 = "00bbms32fkzrxhdm9kybb2404ad6f3d6v4qgl83py7w09dcipfga";
+      url = mirror://xorg/X11R7.7/src/everything/libXt-1.1.3.tar.bz2;
+      sha256 = "1g85gwnhs7lg5f01gfi1cpb916xc3spm1fjlv2f4xz2zzk1r7dcd";
     };
     buildInputs = [pkgconfig libICE kbproto libSM libX11 xproto ];
   })) // {inherit libICE kbproto libSM libX11 xproto ;};
     
   libXtst = (stdenv.mkDerivation ((if overrides ? libXtst then overrides.libXtst else x: x) {
-    name = "libXtst-1.2.0";
+    name = "libXtst-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXtst-1.2.0.tar.bz2;
-      sha256 = "022lx3c57pkkw11j2k5s1f5idf53li5qg291766bvxi1nl90jbks";
+      url = mirror://xorg/X11R7.7/src/everything/libXtst-1.2.1.tar.bz2;
+      sha256 = "1q750hjplq1rfyxkr4545z1y2a1wfnc828ynvbws7b4jwdk3xsky";
     };
     buildInputs = [pkgconfig inputproto recordproto libX11 libXext xextproto libXi ];
   })) // {inherit inputproto recordproto libX11 libXext xextproto libXi ;};
     
   libXv = (stdenv.mkDerivation ((if overrides ? libXv then overrides.libXv else x: x) {
-    name = "libXv-1.0.6";
+    name = "libXv-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXv-1.0.6.tar.bz2;
-      sha256 = "1vpmr9wnbz990ivarsp5rcmdg483fd2nk695plzlzx5h9dcqw3z2";
+      url = mirror://xorg/X11R7.7/src/everything/libXv-1.0.7.tar.bz2;
+      sha256 = "044hllz013afhzywwpxz007l4zjy99bv9im065rqd30zckmllrjx";
     };
     buildInputs = [pkgconfig videoproto libX11 libXext xextproto xproto ];
   })) // {inherit videoproto libX11 libXext xextproto xproto ;};
     
   libXvMC = (stdenv.mkDerivation ((if overrides ? libXvMC then overrides.libXvMC else x: x) {
-    name = "libXvMC-1.0.6";
+    name = "libXvMC-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXvMC-1.0.6.tar.bz2;
-      sha256 = "14ik1kgpnds213dsa16i8cf5qg3hc7vccy9jz4a4ml8zqzlq1nix";
+      url = mirror://xorg/X11R7.7/src/everything/libXvMC-1.0.7.tar.bz2;
+      sha256 = "18yf6ysc01pqkbk9704914ghalq1sl2hfdjmwggxm8qqhpy8bw18";
     };
     buildInputs = [pkgconfig videoproto libX11 libXext xextproto xproto libXv ];
   })) // {inherit videoproto libX11 libXext xextproto xproto libXv ;};
     
   libXxf86dga = (stdenv.mkDerivation ((if overrides ? libXxf86dga then overrides.libXxf86dga else x: x) {
-    name = "libXxf86dga-1.1.2";
+    name = "libXxf86dga-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXxf86dga-1.1.2.tar.bz2;
-      sha256 = "01jsc0jg7mjngfbh3j942595pwbyxf2m9kljy3zb6gyfcbsm59hv";
+      url = mirror://xorg/X11R7.7/src/everything/libXxf86dga-1.1.3.tar.bz2;
+      sha256 = "15291ddhyr54sribwbg8hxx2psgzm5gh0pgkw5yrf3zgvdsa67sm";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xf86dgaproto xproto ];
   })) // {inherit libX11 libXext xextproto xf86dgaproto xproto ;};
@@ -838,41 +838,41 @@ let
   })) // {inherit libX11 libXext xextproto xf86miscproto xproto ;};
     
   libXxf86vm = (stdenv.mkDerivation ((if overrides ? libXxf86vm then overrides.libXxf86vm else x: x) {
-    name = "libXxf86vm-1.1.1";
+    name = "libXxf86vm-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libXxf86vm-1.1.1.tar.bz2;
-      sha256 = "17i342h7a2nqfz4lpk8cay0vc0h4i7nxdc6xli9r7mggk8iykji1";
+      url = mirror://xorg/X11R7.7/src/everything/libXxf86vm-1.1.2.tar.bz2;
+      sha256 = "117w92xz39rcqcahspi48nc04cc9110x1dycpf3vbcb6p0pifr55";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xf86vidmodeproto xproto ];
   })) // {inherit libX11 libXext xextproto xf86vidmodeproto xproto ;};
     
   libdmx = (stdenv.mkDerivation ((if overrides ? libdmx then overrides.libdmx else x: x) {
-    name = "libdmx-1.1.1";
+    name = "libdmx-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libdmx-1.1.1.tar.bz2;
-      sha256 = "066yndshwq2nzkd0z0w96wq37rnhb23s6vq50bg4kiqb8y3nxpm6";
+      url = mirror://xorg/X11R7.7/src/everything/libdmx-1.1.2.tar.bz2;
+      sha256 = "1fiq73sfxcbyjval118ialwrzxhzb08xsxmg69adcs47i9j0p1x7";
     };
     buildInputs = [pkgconfig dmxproto libX11 libXext xextproto ];
   })) // {inherit dmxproto libX11 libXext xextproto ;};
     
   libfontenc = (stdenv.mkDerivation ((if overrides ? libfontenc then overrides.libfontenc else x: x) {
-    name = "libfontenc-1.1.0";
+    name = "libfontenc-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libfontenc-1.1.0.tar.bz2;
-      sha256 = "1gww1cbi17q15lh2ws6qzspp807issbyk5wlzjmgw6pn880ip2il";
+      url = mirror://xorg/X11R7.7/src/everything/libfontenc-1.1.1.tar.bz2;
+      sha256 = "0zq1483xy31sssq0h3xxf8y1v4q14cp8rv164ayn7fsn30pq2wny";
     };
     buildInputs = [pkgconfig xproto zlib ];
   })) // {inherit xproto zlib ;};
     
   libpciaccess = (stdenv.mkDerivation ((if overrides ? libpciaccess then overrides.libpciaccess else x: x) {
-    name = "libpciaccess-0.12.1";
+    name = "libpciaccess-0.13.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libpciaccess-0.12.1.tar.bz2;
-      sha256 = "0i3kdmvl1mcjrkhklpli45sqsy4pvipm6swifbcyxx4cwkqdfiyc";
+      url = mirror://xorg/X11R7.7/src/everything/libpciaccess-0.13.1.tar.bz2;
+      sha256 = "11509lkgd5j4g5wy0g13z4sf31h50hqx3jfwb2i4q6k98pv6iar7";
     };
     buildInputs = [pkgconfig zlib ];
   })) // {inherit zlib ;};
@@ -881,91 +881,91 @@ let
     name = "libpthread-stubs-0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libpthread-stubs-0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/libpthread-stubs-0.3.tar.bz2;
       sha256 = "16bjv3in19l84hbri41iayvvg4ls9gv1ma0x0qlbmwy67i7dbdim";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   libxcb = (stdenv.mkDerivation ((if overrides ? libxcb then overrides.libxcb else x: x) {
-    name = "libxcb-1.7";
+    name = "libxcb-1.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libxcb-1.7.tar.bz2;
-      sha256 = "1pr40wa3i1f0iwx83c8alcycy9sfzd2y1qlc63kr8q56w8sxqxp7";
+      url = mirror://xorg/individual/xcb/libxcb-1.9.tar.bz2;
+      sha256 = "15icn78x610dvvgnji6b3pyn8nd88lz68hq0w73pcadf78mycmw8";
     };
     buildInputs = [pkgconfig libxslt libpthreadstubs python libXau xcbproto libXdmcp ];
   })) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;};
     
   libxkbfile = (stdenv.mkDerivation ((if overrides ? libxkbfile then overrides.libxkbfile else x: x) {
-    name = "libxkbfile-1.0.7";
+    name = "libxkbfile-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/libxkbfile-1.0.7.tar.bz2;
-      sha256 = "1r9a1xnn57431hfp1am2r5h23pa1zh646482li3vd5ivfc53fzk6";
+      url = mirror://xorg/X11R7.7/src/everything/libxkbfile-1.0.8.tar.bz2;
+      sha256 = "0flg5arw6n3njagmsi4i4l0zl5bfx866a1h9ydc3bi1pqlclxaca";
     };
     buildInputs = [pkgconfig kbproto libX11 ];
   })) // {inherit kbproto libX11 ;};
     
   lndir = (stdenv.mkDerivation ((if overrides ? lndir then overrides.lndir else x: x) {
-    name = "lndir-1.0.2";
+    name = "lndir-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/util/lndir-1.0.2.tar.bz2;
-      sha256 = "1d988z0ywy2k53s7i43ff0j5qac1cpy9j0gjwmiprq66w8rh24z5";
+      url = mirror://xorg/individual/util/lndir-1.0.3.tar.bz2;
+      sha256 = "0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29";
     };
     buildInputs = [pkgconfig xproto ];
   })) // {inherit xproto ;};
     
   luit = (stdenv.mkDerivation ((if overrides ? luit then overrides.luit else x: x) {
-    name = "luit-1.1.0";
+    name = "luit-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/luit-1.1.0.tar.bz2;
-      sha256 = "1l83b5yknh4svqzwsppvmm2q9l0mvsfwm16ik7q3yss8m5zgvypi";
+      url = mirror://xorg/X11R7.7/src/everything/luit-1.1.1.tar.bz2;
+      sha256 = "0dn694mk56x6hdk6y9ylx4f128h5jcin278gnw2gb807rf3ygc1h";
     };
-    buildInputs = [pkgconfig libfontenc zlib ];
-  })) // {inherit libfontenc zlib ;};
+    buildInputs = [pkgconfig libfontenc ];
+  })) // {inherit libfontenc ;};
     
   makedepend = (stdenv.mkDerivation ((if overrides ? makedepend then overrides.makedepend else x: x) {
-    name = "makedepend-1.0.3";
+    name = "makedepend-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/makedepend-1.0.3.tar.bz2;
-      sha256 = "0dxpz376bvphjg8q0nqrcf4y0dbni0c6jj5y16qymr37wlq1s99s";
+      url = mirror://xorg/X11R7.7/src/everything/makedepend-1.0.4.tar.bz2;
+      sha256 = "1zpp2b9dfvlnfj2i1mzdyn785rpl7vih5lap7kcpiv80xspbhmmb";
     };
     buildInputs = [pkgconfig xproto ];
   })) // {inherit xproto ;};
     
   mkfontdir = (stdenv.mkDerivation ((if overrides ? mkfontdir then overrides.mkfontdir else x: x) {
-    name = "mkfontdir-1.0.6";
+    name = "mkfontdir-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/mkfontdir-1.0.6.tar.bz2;
-      sha256 = "0nf8p0zsndd9qmrw70h2wdq7sz6j066q73lpp262dlpq21inrmam";
+      url = mirror://xorg/X11R7.7/src/everything/mkfontdir-1.0.7.tar.bz2;
+      sha256 = "0c3563kw9fg15dpgx4dwvl12qz6sdqdns1pxa574hc7i5m42mman";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   mkfontscale = (stdenv.mkDerivation ((if overrides ? mkfontscale then overrides.mkfontscale else x: x) {
-    name = "mkfontscale-1.0.8";
+    name = "mkfontscale-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/mkfontscale-1.0.8.tar.bz2;
-      sha256 = "1yah41gr5hlihbjm5l1kykdqj1p5rx6y4vrqraxbzvkrrn37gdbf";
+      url = mirror://xorg/X11R7.7/src/everything/mkfontscale-1.1.0.tar.bz2;
+      sha256 = "1539h3ws66vcql6sf2831bcs0r4d9b05lcgpswkw33lvcxighmff";
     };
     buildInputs = [pkgconfig libfontenc freetype xproto zlib ];
   })) // {inherit libfontenc freetype xproto zlib ;};
     
   pixman = (stdenv.mkDerivation ((if overrides ? pixman then overrides.pixman else x: x) {
-    name = "pixman-0.20.2";
+    name = "pixman-0.26.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/pixman-0.20.2.tar.bz2;
-      sha256 = "1agl6f63y2wiqr6n9slzhisnilcg8byafp2l8wmw713bk8k6yc9h";
+      url = mirror://xorg/individual/lib/pixman-0.26.2.tar.bz2;
+      sha256 = "0z34jb75wpbyj3gxn34icd8j81fk5d6s6qnwp2ncz7m8icf6afqr";
     };
-    buildInputs = [pkgconfig perl ];
-  })) // {inherit perl ;};
+    buildInputs = [pkgconfig libpng perl ];
+  })) // {inherit libpng perl ;};
     
   printproto = (stdenv.mkDerivation ((if overrides ? printproto then overrides.printproto else x: x) {
     name = "printproto-1.0.5";
@@ -978,21 +978,21 @@ let
   })) // {inherit libXau ;};
     
   randrproto = (stdenv.mkDerivation ((if overrides ? randrproto then overrides.randrproto else x: x) {
-    name = "randrproto-1.3.2";
+    name = "randrproto-1.4.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/randrproto-1.3.2.tar.bz2;
-      sha256 = "0wfwcq85wbm0g5r0snc7prgki1wi3kxrxhcxinyr54n45ihh03fr";
+      url = mirror://xorg/individual/proto/randrproto-1.4.0.tar.bz2;
+      sha256 = "1kq9h93qdnniiivry8jmhlgwn9fbx9xp5r9cmzfihlx5cs62xi45";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   recordproto = (stdenv.mkDerivation ((if overrides ? recordproto then overrides.recordproto else x: x) {
-    name = "recordproto-1.14.1";
+    name = "recordproto-1.14.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/recordproto-1.14.1.tar.bz2;
-      sha256 = "1389fc3r8h8xqix11y9ngw7a13i1mvw68jkhicgvq676sd1v0zmj";
+      url = mirror://xorg/X11R7.7/src/everything/recordproto-1.14.2.tar.bz2;
+      sha256 = "0w3kgr1zabwf79bpc28dcnj0fpni6r53rpi82ngjbalj5s6m8xx7";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
@@ -1001,78 +1001,78 @@ let
     name = "renderproto-0.11.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/renderproto-0.11.1.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/renderproto-0.11.1.tar.bz2;
       sha256 = "0dr5xw6s0qmqg0q5pdkb4jkdhaja0vbfqla79qh5j1xjj9dmlwq6";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   resourceproto = (stdenv.mkDerivation ((if overrides ? resourceproto then overrides.resourceproto else x: x) {
-    name = "resourceproto-1.1.1";
+    name = "resourceproto-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/resourceproto-1.1.1.tar.bz2;
-      sha256 = "1imqlkvn4mfjsflwvqx8dj0n7i7frdpzkdafq001r25ak6782yc5";
+      url = mirror://xorg/X11R7.7/src/everything/resourceproto-1.2.0.tar.bz2;
+      sha256 = "0638iyfiiyjw1hg3139pai0j6m65gkskrvd9684zgc6ydcx00riw";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   scrnsaverproto = (stdenv.mkDerivation ((if overrides ? scrnsaverproto then overrides.scrnsaverproto else x: x) {
-    name = "scrnsaverproto-1.2.1";
+    name = "scrnsaverproto-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/scrnsaverproto-1.2.1.tar.bz2;
-      sha256 = "1w94c1an7cy9v68289xbqszaj6g5qx5a29qx67fwsvqkmhygglps";
+      url = mirror://xorg/X11R7.7/src/everything/scrnsaverproto-1.2.2.tar.bz2;
+      sha256 = "0rfdbfwd35d761xkfifcscx56q0n56043ixlmv70r4v4l66hmdwb";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   sessreg = (stdenv.mkDerivation ((if overrides ? sessreg then overrides.sessreg else x: x) {
-    name = "sessreg-1.0.6";
+    name = "sessreg-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/sessreg-1.0.6.tar.bz2;
-      sha256 = "143ivrs2pbkid4wr1hri9221z4gi9dlkq7x60jarcz9bhiq1dwvk";
+      url = mirror://xorg/X11R7.7/src/everything/sessreg-1.0.7.tar.bz2;
+      sha256 = "0lifgjxdvc6lwyjk90slddnr12fsv88ldy6qhklr5av409cfwd47";
     };
     buildInputs = [pkgconfig xproto ];
   })) // {inherit xproto ;};
     
   setxkbmap = (stdenv.mkDerivation ((if overrides ? setxkbmap then overrides.setxkbmap else x: x) {
-    name = "setxkbmap-1.2.0";
+    name = "setxkbmap-1.3.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/setxkbmap-1.2.0.tar.bz2;
-      sha256 = "0fdfvc0fqdp11ly5iywrsi4w7rln4dq02b0b91yjmjm83fzr35cr";
+      url = mirror://xorg/X11R7.7/src/everything/setxkbmap-1.3.0.tar.bz2;
+      sha256 = "1inygpvlgc6vr5h9laxw9lnvafnccl3fy0g5n9ll28iq3yfmqc1x";
     };
     buildInputs = [pkgconfig libX11 libxkbfile ];
   })) // {inherit libX11 libxkbfile ;};
     
   smproxy = (stdenv.mkDerivation ((if overrides ? smproxy then overrides.smproxy else x: x) {
-    name = "smproxy-1.0.4";
+    name = "smproxy-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/smproxy-1.0.4.tar.bz2;
-      sha256 = "0wj4z4ars9j4k5pysl42jpx4zclrz3ifwgqxrcdlmb3l5xvyb4ip";
+      url = mirror://xorg/X11R7.7/src/everything/smproxy-1.0.5.tar.bz2;
+      sha256 = "02fn5wa1gs2jap6sr9j9yk6zsvz82j8l61pf74iyqwa99q4wnb67";
     };
-    buildInputs = [pkgconfig libSM libXmu libXt ];
-  })) // {inherit libSM libXmu libXt ;};
+    buildInputs = [pkgconfig libICE libSM libXmu libXt ];
+  })) // {inherit libICE libSM libXmu libXt ;};
     
   twm = (stdenv.mkDerivation ((if overrides ? twm then overrides.twm else x: x) {
-    name = "twm-1.0.6";
+    name = "twm-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/twm-1.0.6.tar.bz2;
-      sha256 = "1scly9kv3kx8zh8bfljsdd32dsb4j05xzn8c5x270xcshzbwmp77";
+      url = mirror://xorg/individual/app/twm-1.0.7.tar.bz2;
+      sha256 = "0i6dbf5vafi5hm4bcmnj6r412cncjlv9hkkbr6bzlh15qvg56p8g";
     };
-    buildInputs = [pkgconfig libICE libSM libX11 libXext libXmu libXt ];
-  })) // {inherit libICE libSM libX11 libXext libXmu libXt ;};
+    buildInputs = [pkgconfig libICE libSM libX11 libXext libXmu xproto libXt ];
+  })) // {inherit libICE libSM libX11 libXext libXmu xproto libXt ;};
     
   utilmacros = (stdenv.mkDerivation ((if overrides ? utilmacros then overrides.utilmacros else x: x) {
-    name = "util-macros-1.11.0";
+    name = "util-macros-1.17";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/util-macros-1.11.0.tar.bz2;
-      sha256 = "1kya7z5rad93zmc0ij7jhl3shh1k37szmjg1rv75lizqlib4slz8";
+      url = mirror://xorg/X11R7.7/src/everything/util-macros-1.17.tar.bz2;
+      sha256 = "1vbmrcn5n3wp4pyw0n4c3pyvzlc4yf7jzgngavfdq5zwfbgfsybx";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
@@ -1081,7 +1081,7 @@ let
     name = "videoproto-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/videoproto-2.3.1.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/videoproto-2.3.1.tar.bz2;
       sha256 = "0nk3i6gwkqq1w8zwn7bxz344pi1dwcjrmf6hr330h7hxjcj6viry";
     };
     buildInputs = [pkgconfig ];
@@ -1091,88 +1091,88 @@ let
     name = "windowswmproto-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/windowswmproto-1.0.4.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/windowswmproto-1.0.4.tar.bz2;
       sha256 = "0syjxgy4m8l94qrm03nvn5k6bkxc8knnlld1gbllym97nvnv0ny0";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   x11perf = (stdenv.mkDerivation ((if overrides ? x11perf then overrides.x11perf else x: x) {
-    name = "x11perf-1.5.3";
+    name = "x11perf-1.5.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/x11perf-1.5.3.tar.bz2;
-      sha256 = "1g91ksfrvj59hvxvfj1xb730aqscg5wdnc3grrab1wz7mxap6k9r";
+      url = mirror://xorg/X11R7.7/src/everything/x11perf-1.5.4.tar.bz2;
+      sha256 = "111iwpxhnxjiq44w96zf0kszg5zpgv1g3ayx18v4nhdzl9bqivi4";
     };
     buildInputs = [pkgconfig libX11 libXext libXft libXmu libXrender ];
   })) // {inherit libX11 libXext libXft libXmu libXrender ;};
     
   xauth = (stdenv.mkDerivation ((if overrides ? xauth then overrides.xauth else x: x) {
-    name = "xauth-1.0.5";
+    name = "xauth-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xauth-1.0.5.tar.bz2;
-      sha256 = "0v3lmm3qil8shgm7731pl0wd32kpq7w73w5d4mjq1bqxzw09a4vd";
+      url = mirror://xorg/X11R7.7/src/everything/xauth-1.0.7.tar.bz2;
+      sha256 = "1382wdfiakgckbw1xxavzh1nm34q21b1zzy96qp7ws66xc48rxw4";
     };
     buildInputs = [pkgconfig libX11 libXau libXext libXmu ];
   })) // {inherit libX11 libXau libXext libXmu ;};
     
   xbacklight = (stdenv.mkDerivation ((if overrides ? xbacklight then overrides.xbacklight else x: x) {
-    name = "xbacklight-1.1.2";
+    name = "xbacklight-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xbacklight-1.1.2.tar.bz2;
-      sha256 = "02b5jfys2msla2yvg5s0knzyxg2104r25czkwd49i8g8kp804bxg";
+      url = mirror://xorg/individual/app/xbacklight-1.2.0.tar.bz2;
+      sha256 = "199n9qszjiz82nbjz6ychh0xl15igm535mv0830wk4m59w9xclji";
     };
-    buildInputs = [pkgconfig libX11 libXrandr ];
-  })) // {inherit libX11 libXrandr ;};
+    buildInputs = [pkgconfig libxcb xcbutil ];
+  })) // {inherit libxcb xcbutil ;};
     
   xbitmaps = (stdenv.mkDerivation ((if overrides ? xbitmaps then overrides.xbitmaps else x: x) {
     name = "xbitmaps-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xbitmaps-1.1.1.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xbitmaps-1.1.1.tar.bz2;
       sha256 = "178ym90kwidia6nas4qr5n5yqh698vv8r02js0r4vg3b6lsb0w9n";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   xcbproto = (stdenv.mkDerivation ((if overrides ? xcbproto then overrides.xcbproto else x: x) {
-    name = "xcb-proto-1.6";
+    name = "xcb-proto-1.8";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xcb-proto-1.6.tar.bz2;
-      sha256 = "18jwkgd2ayvd0zzwawnbh86b4xqjq29mgsq44h06yj8jkcaw2azm";
+      url = mirror://xorg/individual/xcb/xcb-proto-1.8.tar.bz2;
+      sha256 = "1c11652h9sjynw3scm1pn5z3a6ci888pq7hij8q5n8qrl33icg93";
     };
     buildInputs = [pkgconfig python ];
   })) // {inherit python ;};
     
   xcbutil = (stdenv.mkDerivation ((if overrides ? xcbutil then overrides.xcbutil else x: x) {
-    name = "xcb-util-0.3.8";
+    name = "xcb-util-0.3.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/xcb/xcb-util-0.3.8.tar.bz2;
-      sha256 = "1fa7njhg7dsqbrkwrzbkfszdp1dmggvlsrb05qshkg2h8wldkvn1";
+      url = mirror://xorg/individual/xcb/xcb-util-0.3.9.tar.bz2;
+      sha256 = "1i0qbhqkcdlbbsj7ifkyjsffl61whj24d3zlg5pxf3xj1af2a4f6";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xproto ];
   })) // {inherit gperf m4 libxcb xproto ;};
     
   xcbutilimage = (stdenv.mkDerivation ((if overrides ? xcbutilimage then overrides.xcbutilimage else x: x) {
-    name = "xcb-util-image-0.3.8";
+    name = "xcb-util-image-0.3.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/xcb/xcb-util-image-0.3.8.tar.bz2;
-      sha256 = "1nd67105lb8qfa7r2lli5sxnipi1p1wnbwa04l9k30kfq8l0afa0";
+      url = mirror://xorg/individual/xcb/xcb-util-image-0.3.9.tar.bz2;
+      sha256 = "1pr1l1nkg197gyl9d0fpwmn72jqpxjfgn9y13q4gawg1m873qnnk";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xcbutil xproto ];
   })) // {inherit gperf m4 libxcb xcbutil xproto ;};
     
   xcbutilkeysyms = (stdenv.mkDerivation ((if overrides ? xcbutilkeysyms then overrides.xcbutilkeysyms else x: x) {
-    name = "xcb-util-keysyms-0.3.8";
+    name = "xcb-util-keysyms-0.3.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/xcb/xcb-util-keysyms-0.3.8.tar.bz2;
-      sha256 = "08b1d19gaqv3agpkvh5mgcir11vjy89ywdknva0cb073mzvk4gci";
+      url = mirror://xorg/individual/xcb/xcb-util-keysyms-0.3.9.tar.bz2;
+      sha256 = "0vjwk7vrcfnlhiadv445c6skfxmdrg5v4qf81y8s2s5xagqarqbv";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xproto ];
   })) // {inherit gperf m4 libxcb xproto ;};
@@ -1188,51 +1188,51 @@ let
   })) // {inherit gperf m4 libxcb xproto ;};
     
   xcbutilwm = (stdenv.mkDerivation ((if overrides ? xcbutilwm then overrides.xcbutilwm else x: x) {
-    name = "xcb-util-wm-0.3.8";
+    name = "xcb-util-wm-0.3.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/xcb/xcb-util-wm-0.3.8.tar.bz2;
-      sha256 = "01shwv13rfcxycrsla6c5xlrk1qska7kvvj10n7jcibx9jzanmy5";
+      url = mirror://xorg/individual/xcb/xcb-util-wm-0.3.9.tar.bz2;
+      sha256 = "0c30fj33gvwzwhyz1dhsfwni0ai16bxpvxb4l6c6s7vvj7drp3q3";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xproto ];
   })) // {inherit gperf m4 libxcb xproto ;};
     
   xclock = (stdenv.mkDerivation ((if overrides ? xclock then overrides.xclock else x: x) {
-    name = "xclock-1.0.5";
+    name = "xclock-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xclock-1.0.5.tar.bz2;
-      sha256 = "16jcmsmhz503mqv7wz7daqqhm11phsws0g7fryzlz0gk4jg1daak";
+      url = mirror://xorg/individual/app/xclock-1.0.6.tar.bz2;
+      sha256 = "1l1zxr69p0734fnx9rdqw79ahr273hr050sm8xdc0n51n1bnzfr1";
     };
     buildInputs = [pkgconfig libX11 libXaw libXft libxkbfile libXmu libXrender libXt ];
   })) // {inherit libX11 libXaw libXft libxkbfile libXmu libXrender libXt ;};
     
   xcmiscproto = (stdenv.mkDerivation ((if overrides ? xcmiscproto then overrides.xcmiscproto else x: x) {
-    name = "xcmiscproto-1.2.1";
+    name = "xcmiscproto-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xcmiscproto-1.2.1.tar.bz2;
-      sha256 = "05acy1axzkrq6z9xlbmz1kg66lbgfqzky8v4qfdl16gv5gi2f3kk";
+      url = mirror://xorg/X11R7.7/src/everything/xcmiscproto-1.2.2.tar.bz2;
+      sha256 = "1pyjv45wivnwap2wvsbrzdvjc5ql8bakkbkrvcv6q9bjjf33ccmi";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   xcmsdb = (stdenv.mkDerivation ((if overrides ? xcmsdb then overrides.xcmsdb else x: x) {
-    name = "xcmsdb-1.0.3";
+    name = "xcmsdb-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xcmsdb-1.0.3.tar.bz2;
-      sha256 = "102s9lsghdp5n3bsg4chlkhrk0jh0kxvg2g0pyi1zmzfy5hd0dxj";
+      url = mirror://xorg/X11R7.7/src/everything/xcmsdb-1.0.4.tar.bz2;
+      sha256 = "03ms731l3kvaldq7ycbd30j6134b61i3gbll4b2gl022wyzbjq74";
     };
     buildInputs = [pkgconfig libX11 ];
   })) // {inherit libX11 ;};
     
   xcursorgen = (stdenv.mkDerivation ((if overrides ? xcursorgen then overrides.xcursorgen else x: x) {
-    name = "xcursorgen-1.0.4";
+    name = "xcursorgen-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xcursorgen-1.0.4.tar.bz2;
-      sha256 = "07azdw6w18hdgrd6z3nawrhn1m18nyp24cz54ih91vpz8hpxnany";
+      url = mirror://xorg/X11R7.7/src/everything/xcursorgen-1.0.5.tar.bz2;
+      sha256 = "10f5wk1326mm45gvgpf4m2p0j80fcd0i4c52zikahb91zah72wdw";
     };
     buildInputs = [pkgconfig libpng libX11 libXcursor ];
   })) // {inherit libpng libX11 libXcursor ;};
@@ -1241,58 +1241,58 @@ let
     name = "xcursor-themes-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xcursor-themes-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xcursor-themes-1.0.3.tar.bz2;
       sha256 = "1is4bak0qkkhv63mfa5l7492r475586y52yzfxyv3psppn662ilr";
     };
     buildInputs = [pkgconfig libXcursor ];
   })) // {inherit libXcursor ;};
     
   xdm = (stdenv.mkDerivation ((if overrides ? xdm then overrides.xdm else x: x) {
-    name = "xdm-1.1.10";
+    name = "xdm-1.1.11";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xdm-1.1.10.tar.bz2;
-      sha256 = "0zzrlkmppy6mma49db2x1il47rhjqkg9rs91ryl7xyv5iqbgg1ql";
+      url = mirror://xorg/individual/app/xdm-1.1.11.tar.bz2;
+      sha256 = "0iqw11977lpr9nk1is4fca84d531vck0mq7jldwl44m0vrnl5nnl";
     };
     buildInputs = [pkgconfig libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ];
   })) // {inherit libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ;};
     
   xdpyinfo = (stdenv.mkDerivation ((if overrides ? xdpyinfo then overrides.xdpyinfo else x: x) {
-    name = "xdpyinfo-1.2.0";
+    name = "xdpyinfo-1.3.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xdpyinfo-1.2.0.tar.bz2;
-      sha256 = "1kmmfawcjxgmp06jb3w7d0pxbrcxrrgfx3m1lbwj3gygir4ssnzy";
+      url = mirror://xorg/X11R7.7/src/everything/xdpyinfo-1.3.0.tar.bz2;
+      sha256 = "0gypsvpmay3lsh3b1dg29pjxv95pkrr21d4w6ys02mrbld24kvi3";
     };
-    buildInputs = [pkgconfig libdmx libX11 libXcomposite libXext libXi libXinerama libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ];
-  })) // {inherit libdmx libX11 libXcomposite libXext libXi libXinerama libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;};
+    buildInputs = [pkgconfig libdmx libX11 libxcb libXcomposite libXext libXi libXinerama libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ];
+  })) // {inherit libdmx libX11 libxcb libXcomposite libXext libXi libXinerama libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;};
     
   xdriinfo = (stdenv.mkDerivation ((if overrides ? xdriinfo then overrides.xdriinfo else x: x) {
     name = "xdriinfo-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xdriinfo-1.0.4.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xdriinfo-1.0.4.tar.bz2;
       sha256 = "076bjix941znyjmh3j5jjsnhp2gv2iq53d0ks29mvvv87cyy9iim";
     };
     buildInputs = [pkgconfig glproto libX11 ];
   })) // {inherit glproto libX11 ;};
     
   xev = (stdenv.mkDerivation ((if overrides ? xev then overrides.xev else x: x) {
-    name = "xev-1.1.0";
+    name = "xev-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xev-1.1.0.tar.bz2;
-      sha256 = "1ih1rxf2b6bpsggvbx4ibyx70bzgcyjl98l1894d0smjxmlc4n9q";
+      url = mirror://xorg/X11R7.7/src/everything/xev-1.2.0.tar.bz2;
+      sha256 = "13xk5z7vy87rnn4574z0jfzymdivyc7pl4axim81sx0pmdysg1ip";
     };
-    buildInputs = [pkgconfig libX11 ];
-  })) // {inherit libX11 ;};
+    buildInputs = [pkgconfig libX11 xproto libXrandr ];
+  })) // {inherit libX11 xproto libXrandr ;};
     
   xextproto = (stdenv.mkDerivation ((if overrides ? xextproto then overrides.xextproto else x: x) {
-    name = "xextproto-7.1.2";
+    name = "xextproto-7.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xextproto-7.1.2.tar.bz2;
-      sha256 = "16ci2mc9g85fsb7lgml349rbgf97v7l9688by71agv682bhjky7n";
+      url = mirror://xorg/X11R7.7/src/everything/xextproto-7.2.1.tar.bz2;
+      sha256 = "06kdanbnprxvgl56l5h0lqj4b0f1fbb1ndha33mv5wvy802v2lvw";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
@@ -1311,7 +1311,7 @@ let
     name = "xf86bigfontproto-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86bigfontproto-1.2.0.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xf86bigfontproto-1.2.0.tar.bz2;
       sha256 = "0j0n7sj5xfjpmmgx6n5x556rw21hdd18fwmavp95wps7qki214ms";
     };
     buildInputs = [pkgconfig ];
@@ -1321,7 +1321,7 @@ let
     name = "xf86dgaproto-2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86dgaproto-2.1.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xf86dgaproto-2.1.tar.bz2;
       sha256 = "0l4hx48207mx0hp09026r6gy9nl3asbq0c75hri19wp1118zcpmc";
     };
     buildInputs = [pkgconfig ];
@@ -1331,98 +1331,78 @@ let
     name = "xf86driproto-2.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/proto/xf86driproto-2.1.1.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2;
       sha256 = "07v69m0g2dfzb653jni4x656jlr7l84c1k39j8qc8vfb45r8sjww";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
-  xf86inputacecad = (stdenv.mkDerivation ((if overrides ? xf86inputacecad then overrides.xf86inputacecad else x: x) {
-    name = "xf86-input-acecad-1.4.0";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-input-acecad-1.4.0.tar.bz2;
-      sha256 = "0mnmvffxwgcvsa208vffsqlai7lldjc46rdk6j0j4q00df5isd28";
-    };
-    buildInputs = [pkgconfig inputproto randrproto xorgserver xproto ];
-  })) // {inherit inputproto randrproto xorgserver xproto ;};
-    
-  xf86inputaiptek = (stdenv.mkDerivation ((if overrides ? xf86inputaiptek then overrides.xf86inputaiptek else x: x) {
-    name = "xf86-input-aiptek-1.3.1";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-input-aiptek-1.3.1.tar.bz2;
-      sha256 = "16pby473s65lfd2v60fwayzfhf1n6x696lrx720zwb2p22rlsna3";
-    };
-    buildInputs = [pkgconfig inputproto randrproto xorgserver xproto ];
-  })) // {inherit inputproto randrproto xorgserver xproto ;};
-    
   xf86inputevdev = (stdenv.mkDerivation ((if overrides ? xf86inputevdev then overrides.xf86inputevdev else x: x) {
-    name = "xf86-input-evdev-2.6.0";
+    name = "xf86-input-evdev-2.7.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-evdev-2.6.0.tar.bz2;
-      sha256 = "1b2kcxm7bc255ym56dpl1fw3km44f5ny3hwn65sa90w13acz7rxh";
+      url = mirror://xorg/individual/driver/xf86-input-evdev-2.7.3.tar.bz2;
+      sha256 = "01557w1kmsaqdsc42pxyypig10l5r5vh9axz9g22hg9cc09r8f7b";
     };
-    buildInputs = [pkgconfig inputproto xorgserver xproto ];
-  })) // {inherit inputproto xorgserver xproto ;};
+    buildInputs = [pkgconfig inputproto udev xorgserver xproto ];
+  })) // {inherit inputproto udev xorgserver xproto ;};
     
   xf86inputjoystick = (stdenv.mkDerivation ((if overrides ? xf86inputjoystick then overrides.xf86inputjoystick else x: x) {
-    name = "xf86-input-joystick-1.5.0";
+    name = "xf86-input-joystick-1.6.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-input-joystick-1.5.0.tar.bz2;
-      sha256 = "1ac2lap4npylyzg0pi0zy0n48wvicgz9kw0z9ih9ylk9sz2ii0bi";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-input-joystick-1.6.1.tar.bz2;
+      sha256 = "1xgpkdmfw4ahjlva97gs9sllzw8nlpa8mxj59g28fxhak67mvv8x";
     };
     buildInputs = [pkgconfig inputproto kbproto xorgserver xproto ];
   })) // {inherit inputproto kbproto xorgserver xproto ;};
     
   xf86inputkeyboard = (stdenv.mkDerivation ((if overrides ? xf86inputkeyboard then overrides.xf86inputkeyboard else x: x) {
-    name = "xf86-input-keyboard-1.5.0";
+    name = "xf86-input-keyboard-1.6.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-input-keyboard-1.5.0.tar.bz2;
-      sha256 = "1c4ww4yj23shqwhc52r512qsy5baf1sxsb7jj7pfnralj07520r3";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-input-keyboard-1.6.1.tar.bz2;
+      sha256 = "1hwc1bjw5mxv186xbrxiky0agfglwqg8fsxqdh4br1vzgxpck7ma";
     };
     buildInputs = [pkgconfig inputproto xorgserver xproto ];
   })) // {inherit inputproto xorgserver xproto ;};
     
   xf86inputmouse = (stdenv.mkDerivation ((if overrides ? xf86inputmouse then overrides.xf86inputmouse else x: x) {
-    name = "xf86-input-mouse-1.6.0";
+    name = "xf86-input-mouse-1.7.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-input-mouse-1.6.0.tar.bz2;
-      sha256 = "1nzvlbhvdyki3h1s4x2i3ps1immf3wfns6az2i3669v8a5g29bn7";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-input-mouse-1.7.2.tar.bz2;
+      sha256 = "0fs1lwnycyv3d0m6l2wrnlgvbs8qw66d93hwlnmrsswfq5bp6ark";
     };
     buildInputs = [pkgconfig inputproto xorgserver xproto ];
   })) // {inherit inputproto xorgserver xproto ;};
     
   xf86inputsynaptics = (stdenv.mkDerivation ((if overrides ? xf86inputsynaptics then overrides.xf86inputsynaptics else x: x) {
-    name = "xf86-input-synaptics-1.5.0";
+    name = "xf86-input-synaptics-1.6.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-synaptics-1.5.0.tar.bz2;
-      sha256 = "0khwda8lrrvrdb37i4i1kdhg8f44kgcjq9y209ds7ja9zjcm7k4m";
+      url = mirror://xorg/individual/driver/xf86-input-synaptics-1.6.2.tar.bz2;
+      sha256 = "082rlbyw63sashjbwd7dd0a0smp5n8yv9bihy19c706lhnhddxy3";
     };
     buildInputs = [pkgconfig inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ];
   })) // {inherit inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ;};
     
   xf86inputvmmouse = (stdenv.mkDerivation ((if overrides ? xf86inputvmmouse then overrides.xf86inputvmmouse else x: x) {
-    name = "xf86-input-vmmouse-12.6.10";
+    name = "xf86-input-vmmouse-12.9.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-input-vmmouse-12.6.10.tar.bz2;
-      sha256 = "0409lkwk1ws8vw4axxilwmcs8qxj8lq5dma2i2iz49q6hrd9sdm6";
+      url = mirror://xorg/individual/driver/xf86-input-vmmouse-12.9.0.tar.bz2;
+      sha256 = "1gwrna96f0p4gpjhin8yx01y5xvns2j15f7hw1jvqf7fpzv01kzv";
     };
     buildInputs = [pkgconfig inputproto randrproto xorgserver xproto ];
   })) // {inherit inputproto randrproto xorgserver xproto ;};
     
   xf86inputvoid = (stdenv.mkDerivation ((if overrides ? xf86inputvoid then overrides.xf86inputvoid else x: x) {
-    name = "xf86-input-void-1.3.1";
+    name = "xf86-input-void-1.4.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-input-void-1.3.1.tar.bz2;
-      sha256 = "0x662i756p0nqmfv76ppm28ir2sbvcm32r71ycd9bxc3mj29g9mb";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-input-void-1.4.0.tar.bz2;
+      sha256 = "01bmk324fq48wydvy1qrnxbw6qz0fjd0i80g0n4cqr1c4mjmif9a";
     };
     buildInputs = [pkgconfig xorgserver xproto ];
   })) // {inherit xorgserver xproto ;};
@@ -1437,145 +1417,115 @@ let
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
-  xf86videoapm = (stdenv.mkDerivation ((if overrides ? xf86videoapm then overrides.xf86videoapm else x: x) {
-    name = "xf86-video-apm-1.2.3";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-apm-1.2.3.tar.bz2;
-      sha256 = "1nih9ayiw13aa1s8j6gr99b207215if055c6yvsrssnpvccflij0";
-    };
-    buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
-    
   xf86videoark = (stdenv.mkDerivation ((if overrides ? xf86videoark then overrides.xf86videoark else x: x) {
-    name = "xf86-video-ark-0.7.3";
+    name = "xf86-video-ark-0.7.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-ark-0.7.3.tar.bz2;
-      sha256 = "164gyaaddjjma0xqys0knid2rsd0c7jlab02c8wh3bk4bib9l51r";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-ark-0.7.4.tar.bz2;
+      sha256 = "194zc35ivfh3vcxcilf9nbi88c2di8kbh84x535cljlpiajdnk5x";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;};
     
   xf86videoast = (stdenv.mkDerivation ((if overrides ? xf86videoast then overrides.xf86videoast else x: x) {
-    name = "xf86-video-ast-0.91.10";
+    name = "xf86-video-ast-0.93.10";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-ast-0.91.10.tar.bz2;
-      sha256 = "05fcp0svdd4skkfgag1rrram6v3xzgasf582dihpyrwlz28186vy";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-ast-0.93.10.tar.bz2;
+      sha256 = "1q64z8qqa0ix3cymqiwk1s3sphd1fvvz30lvyxhgkgciygz6dm69";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
     
   xf86videoati = (stdenv.mkDerivation ((if overrides ? xf86videoati then overrides.xf86videoati else x: x) {
-    name = "xf86-video-ati-6.14.3";
+    name = "xf86-video-ati-6.14.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-ati-6.14.3.tar.bz2;
-      sha256 = "1d1ph7xvgcr7rdf5sgibhas625aghvm3f61yzwmfk8znxx4jcjl4";
+      url = mirror://xorg/individual/driver/xf86-video-ati-6.14.4.tar.bz2;
+      sha256 = "11gg6xn65vym75769hzgzpkjsyhlkrw4zw3ncngriq7vz1g47zjg";
     };
     buildInputs = [pkgconfig fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
   })) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
     
-  xf86videochips = (stdenv.mkDerivation ((if overrides ? xf86videochips then overrides.xf86videochips else x: x) {
-    name = "xf86-video-chips-1.2.3";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-chips-1.2.3.tar.bz2;
-      sha256 = "07fb03cxdlis2rjphz2pl59cjhldrhqric8p0gi4wkgq0s72fq85";
-    };
-    buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
-    
   xf86videocirrus = (stdenv.mkDerivation ((if overrides ? xf86videocirrus then overrides.xf86videocirrus else x: x) {
-    name = "xf86-video-cirrus-1.3.2";
+    name = "xf86-video-cirrus-1.5.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-cirrus-1.3.2.tar.bz2;
-      sha256 = "06na525xy5d6xf5g13bjsk9cyxly5arzgrk9j8dmxfll5jj9i6jj";
+      url = mirror://xorg/individual/driver/xf86-video-cirrus-1.5.1.tar.bz2;
+      sha256 = "0my54x52fsa82bsh196hz79750xjlv8ddbvin7230ck7pnf44md9";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
     
   xf86videodummy = (stdenv.mkDerivation ((if overrides ? xf86videodummy then overrides.xf86videodummy else x: x) {
-    name = "xf86-video-dummy-0.3.4";
+    name = "xf86-video-dummy-0.3.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-dummy-0.3.4.tar.bz2;
-      sha256 = "1p0vhxvx25d8fp59i72664smhd0z5zw0i2kipk0879xk1vsxz13y";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-dummy-0.3.5.tar.bz2;
+      sha256 = "0pyr50kqh7g84r4p0x09ay5kxax20dip9sh8h3cbd4xv8cswdbfm";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ];
   })) // {inherit fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;};
     
   xf86videofbdev = (stdenv.mkDerivation ((if overrides ? xf86videofbdev then overrides.xf86videofbdev else x: x) {
-    name = "xf86-video-fbdev-0.4.2";
+    name = "xf86-video-fbdev-0.4.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-fbdev-0.4.2.tar.bz2;
-      sha256 = "1mc23w0bfmak5216411xh58nrs93jlxmi6l412hmqzhxnjs73clk";
+      url = mirror://xorg/individual/driver/xf86-video-fbdev-0.4.3.tar.bz2;
+      sha256 = "0ca8khgy3wv0fys7s4087apvnp8j86blxj5m5m70l10hs5x06yzz";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;};
     
   xf86videogeode = (stdenv.mkDerivation ((if overrides ? xf86videogeode then overrides.xf86videogeode else x: x) {
-    name = "xf86-video-geode-2.11.10";
+    name = "xf86-video-geode-2.11.13";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-geode-2.11.10.tar.bz2;
-      sha256 = "1zdb3y5df1dcqlvijg8hxcd6520a5c69jk52yz7ww194ka2c8icf";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-geode-2.11.13.tar.bz2;
+      sha256 = "09p2cjd2fb7h32k9qs4wp7qvhfn2zv454spv5mfplv7w2jis4863";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
     
   xf86videoglide = (stdenv.mkDerivation ((if overrides ? xf86videoglide then overrides.xf86videoglide else x: x) {
-    name = "xf86-video-glide-1.1.0";
+    name = "xf86-video-glide-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-glide-1.1.0.tar.bz2;
-      sha256 = "1wf35ai8z3qqk2a97rp72jzvm28ylw2wj2hllrsn29p7jpznh5aw";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-glide-1.2.0.tar.bz2;
+      sha256 = "0byapm9mnpqk3wijfnnan3d22ii5cw6dmg4xn1625iiz89j5vs1l";
     };
     buildInputs = [pkgconfig xextproto xorgserver xproto ];
   })) // {inherit xextproto xorgserver xproto ;};
     
   xf86videoglint = (stdenv.mkDerivation ((if overrides ? xf86videoglint then overrides.xf86videoglint else x: x) {
-    name = "xf86-video-glint-1.2.5";
+    name = "xf86-video-glint-1.2.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-glint-1.2.5.tar.bz2;
-      sha256 = "0jw1kkyja8hvvhrr3ldl1r5vpqfhn1xmqkpgd2jrkc5p59rz4xan";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-glint-1.2.7.tar.bz2;
+      sha256 = "0nf36jryabpncqq4m6sfsnmzk00f7gvfmjnl8l8sfy7w6sa6iacs";
     };
-    buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xorgserver xproto ];
-  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xorgserver xproto ;};
+    buildInputs = [pkgconfig libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ];
+  })) // {inherit libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ;};
     
   xf86videoi128 = (stdenv.mkDerivation ((if overrides ? xf86videoi128 then overrides.xf86videoi128 else x: x) {
-    name = "xf86-video-i128-1.3.4";
+    name = "xf86-video-i128-1.3.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-i128-1.3.4.tar.bz2;
-      sha256 = "1kwb4ifxwm77s1ks19csmq2ymgs36bxqwvwv24ssvxb9znki76xn";
-    };
-    buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
-    
-  xf86videoi740 = (stdenv.mkDerivation ((if overrides ? xf86videoi740 then overrides.xf86videoi740 else x: x) {
-    name = "xf86-video-i740-1.3.2";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-i740-1.3.2.tar.bz2;
-      sha256 = "0hzr5fz6d5jk9jxh9plfgvgias3w7xzyg1n4gx0hs2lc7mm9qm28";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-i128-1.3.5.tar.bz2;
+      sha256 = "1sik8ck410hb2885vy7rlc590hw5br8lr2fzxgmv55jyawgfpv9y";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
     
   xf86videointel = (stdenv.mkDerivation ((if overrides ? xf86videointel then overrides.xf86videointel else x: x) {
-    name = "xf86-video-intel-2.15.0";
+    name = "xf86-video-intel-2.20.10";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-intel-2.15.0.tar.bz2;
-      sha256 = "080pkhjp910wy36crpgi0dmcwpcx8w2r3k4s0dz6v14bmgly2xy3";
+      url = mirror://xorg/individual/driver/xf86-video-intel-2.20.10.tar.bz2;
+      sha256 = "1kfd6qiqxyqhjp8g1xcipkldsf7xa47q8zfdhxg3qzw77n6a4hfz";
     };
-    buildInputs = [pkgconfig dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXvMC ];
-  })) // {inherit dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXvMC ;};
+    buildInputs = [pkgconfig dri2proto fontsproto libdrm udev libpciaccess pixman randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXrender libXvMC ];
+  })) // {inherit dri2proto fontsproto libdrm udev libpciaccess pixman randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXrender libXvMC ;};
     
   xf86videointel_2_14_901 = (stdenv.mkDerivation ((if overrides ? xf86videointel_2_14_901 then overrides.xf86videointel_2_14_901 else x: x) {
     name = "xf86-video-intel-2.14.901";
@@ -1598,170 +1548,110 @@ let
   })) // {inherit dri2proto fontsproto libdrm udev libpciaccess pixman randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXrender libXvMC ;};
     
   xf86videomach64 = (stdenv.mkDerivation ((if overrides ? xf86videomach64 then overrides.xf86videomach64 else x: x) {
-    name = "xf86-video-mach64-6.8.2";
+    name = "xf86-video-mach64-6.9.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-mach64-6.8.2.tar.bz2;
-      sha256 = "07b7dkb6xc10pvf483dg52r2klpikmw339i5ln9ig913601r84dr";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-mach64-6.9.1.tar.bz2;
+      sha256 = "0kl3kvpc2ny48z89313i9fi4cxzwb2pllvxcr9j5ly680ygx8slz";
     };
-    buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xineramaproto xorgserver xproto ];
-  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xineramaproto xorgserver xproto ;};
+    buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
+  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
     
   xf86videomga = (stdenv.mkDerivation ((if overrides ? xf86videomga then overrides.xf86videomga else x: x) {
-    name = "xf86-video-mga-1.4.13";
+    name = "xf86-video-mga-1.5.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-mga-1.4.13.tar.bz2;
-      sha256 = "1xnzxmp9cfpi6q7fx2r74iwyb33wkdrqcf38dhwydbaaxigvsmxn";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-mga-1.5.0.tar.bz2;
+      sha256 = "03l3wz5kz0hmxmzqqbkgn7pf9d956jlag04rb701a0fr1mw3v66a";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
   })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
     
   xf86videoneomagic = (stdenv.mkDerivation ((if overrides ? xf86videoneomagic then overrides.xf86videoneomagic else x: x) {
-    name = "xf86-video-neomagic-1.2.5";
+    name = "xf86-video-neomagic-1.2.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-neomagic-1.2.5.tar.bz2;
-      sha256 = "0jshn5k1byq0msl1ymip3m2xycrd8jkk6nzm5dx2av5xlj1rxdn0";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-neomagic-1.2.6.tar.bz2;
+      sha256 = "124qci48xrk0w2jy91n7vqs7s6q397zyiqqszhmkx6ld7six57mi";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
     
   xf86videonewport = (stdenv.mkDerivation ((if overrides ? xf86videonewport then overrides.xf86videonewport else x: x) {
-    name = "xf86-video-newport-0.2.3";
+    name = "xf86-video-newport-0.2.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-newport-0.2.3.tar.bz2;
-      sha256 = "0w02rz49gipnfl33vak3zgis8bh9i0v5ykyj8qh9vzddjm7ypjp6";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-newport-0.2.4.tar.bz2;
+      sha256 = "1yafmp23jrfdmc094i6a4dsizapsc9v0pl65cpc8w1kvn7343k4i";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xorgserver xproto ];
   })) // {inherit fontsproto randrproto renderproto videoproto xorgserver xproto ;};
     
   xf86videonv = (stdenv.mkDerivation ((if overrides ? xf86videonv then overrides.xf86videonv else x: x) {
-    name = "xf86-video-nv-2.1.18";
+    name = "xf86-video-nv-2.1.20";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-nv-2.1.18.tar.bz2;
-      sha256 = "05glbi9jc7j9nm4sf4qvl3z87s48ibm3i283lqz85kbphg62dxvc";
+      url = mirror://xorg/individual/driver/xf86-video-nv-2.1.20.tar.bz2;
+      sha256 = "1gqh1khc4zalip5hh2nksgs7i3piqq18nncgmsx9qvzi05azd5c3";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
     
   xf86videoopenchrome = (stdenv.mkDerivation ((if overrides ? xf86videoopenchrome then overrides.xf86videoopenchrome else x: x) {
-    name = "xf86-video-openchrome-0.2.904";
+    name = "xf86-video-openchrome-0.2.906";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-openchrome-0.2.904.tar.bz2;
-      sha256 = "1sksddn0pc3izvab5ppxhprs1xzk5ijwqz5ylivx1cb5hg2gggf7";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-openchrome-0.2.906.tar.bz2;
+      sha256 = "0hgzn1r7ig94xbr9dvq0bp1nxqlfp2ki8823jca3f22a2kf8wmg7";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ];
   })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ;};
     
   xf86videor128 = (stdenv.mkDerivation ((if overrides ? xf86videor128 then overrides.xf86videor128 else x: x) {
-    name = "xf86-video-r128-6.8.1";
+    name = "xf86-video-r128-6.8.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-r128-6.8.1.tar.bz2;
-      sha256 = "1jlybabm3k09hhlzx1xilndqngk3xgdck66n94sr02w5hg622zji";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-r128-6.8.2.tar.bz2;
+      sha256 = "1c84x40k9qz9dnf5qs6nnjcgz7px6mpc3rbk8mj62zhp7mf16hbv";
     };
-    buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xineramaproto xorgserver xproto ];
-  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xineramaproto xorgserver xproto ;};
-    
-  xf86videorendition = (stdenv.mkDerivation ((if overrides ? xf86videorendition then overrides.xf86videorendition else x: x) {
-    name = "xf86-video-rendition-4.2.4";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-rendition-4.2.4.tar.bz2;
-      sha256 = "1a9anxgqs7wc8d7jb5nw6dgmynw0sxiwp9p90h4w19y315kqx6rv";
-    };
-    buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;};
-    
-  xf86videos3 = (stdenv.mkDerivation ((if overrides ? xf86videos3 then overrides.xf86videos3 else x: x) {
-    name = "xf86-video-s3-0.6.3";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-s3-0.6.3.tar.bz2;
-      sha256 = "0i2i1080cw3pxy1pm43bskb80n7wql0cxpyd2s61v0didsm6b7zd";
-    };
-    buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
-    
-  xf86videos3virge = (stdenv.mkDerivation ((if overrides ? xf86videos3virge then overrides.xf86videos3virge else x: x) {
-    name = "xf86-video-s3virge-1.10.4";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-s3virge-1.10.4.tar.bz2;
-      sha256 = "1f3zjs6a3j2a8lfdilijggpwbg9cs88qksrvzvd71ggxf5p0vl0w";
-    };
-    buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+    buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ];
+  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ;};
     
   xf86videosavage = (stdenv.mkDerivation ((if overrides ? xf86videosavage then overrides.xf86videosavage else x: x) {
-    name = "xf86-video-savage-2.3.1";
+    name = "xf86-video-savage-2.3.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-savage-2.3.1.tar.bz2;
-      sha256 = "1ays1l4phyjcdikc9d1zwgswivcrb1grkh7klv5klvqahbfxqjib";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-savage-2.3.4.tar.bz2;
+      sha256 = "0jdy4wv3k3ylx3lajjcbsg37z2hf6366a1jvv16sv1ln6dk6lris";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
   })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
     
   xf86videosiliconmotion = (stdenv.mkDerivation ((if overrides ? xf86videosiliconmotion then overrides.xf86videosiliconmotion else x: x) {
-    name = "xf86-video-siliconmotion-1.7.4";
+    name = "xf86-video-siliconmotion-1.7.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-siliconmotion-1.7.4.tar.bz2;
-      sha256 = "1mq4dsg2f77wxl0n4fnm6a5p3lajyhra6rxx29z52p5b1x412xdl";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-siliconmotion-1.7.6.tar.bz2;
+      sha256 = "01sdl6ky1vmvmfgx2d44i35rqafi0z07xdy40cvindcr2k91p7x5";
     };
-    buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+    buildInputs = [pkgconfig fontsproto libpciaccess videoproto xextproto xorgserver xproto ];
+  })) // {inherit fontsproto libpciaccess videoproto xextproto xorgserver xproto ;};
     
   xf86videosis = (stdenv.mkDerivation ((if overrides ? xf86videosis then overrides.xf86videosis else x: x) {
-    name = "xf86-video-sis-0.10.3";
+    name = "xf86-video-sis-0.10.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-sis-0.10.3.tar.bz2;
-      sha256 = "0dy7a7iil35nz1xlazrcq0sp474p6wy0f1pa5y0spbfj5zib6fcv";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-sis-0.10.4.tar.bz2;
+      sha256 = "03diq0l93lfsipmwkpdb2ysgbxxryl6yakpghzc3fksjxa01112f";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ];
   })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ;};
     
-  xf86videosisusb = (stdenv.mkDerivation ((if overrides ? xf86videosisusb then overrides.xf86videosisusb else x: x) {
-    name = "xf86-video-sisusb-0.9.4";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-sisusb-0.9.4.tar.bz2;
-      sha256 = "0b5afc1dqj8h34fldl35hzf7wphj1x76czkd461bfarnvyljgfrb";
-    };
-    buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xextproto xineramaproto xorgserver xproto ];
-  })) // {inherit fontsproto randrproto renderproto videoproto xextproto xineramaproto xorgserver xproto ;};
-    
-  xf86videosuncg14 = (stdenv.mkDerivation ((if overrides ? xf86videosuncg14 then overrides.xf86videosuncg14 else x: x) {
-    name = "xf86-video-suncg14-1.1.1";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-suncg14-1.1.1.tar.bz2;
-      sha256 = "1n108xbwg803v2sk51galx66ph8wdb0ym84fx45h0jrr41wh0hyb";
-    };
-    buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ];
-  })) // {inherit fontsproto randrproto renderproto xorgserver xproto ;};
-    
-  xf86videosuncg3 = (stdenv.mkDerivation ((if overrides ? xf86videosuncg3 then overrides.xf86videosuncg3 else x: x) {
-    name = "xf86-video-suncg3-1.1.1";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-suncg3-1.1.1.tar.bz2;
-      sha256 = "06c4hzmd5cfzbw79yrv3knss80hllciamz734ij1pbzj6j6fjvym";
-    };
-    buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ];
-  })) // {inherit fontsproto randrproto renderproto xorgserver xproto ;};
-    
   xf86videosuncg6 = (stdenv.mkDerivation ((if overrides ? xf86videosuncg6 then overrides.xf86videosuncg6 else x: x) {
     name = "xf86-video-suncg6-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-suncg6-1.1.1.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-suncg6-1.1.1.tar.bz2;
       sha256 = "07w0hm63fiy5l3cpcjsl0ig8z84z9r36xm0cmnpiv3g75dy6q8fi";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ];
@@ -1771,38 +1661,18 @@ let
     name = "xf86-video-sunffb-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-sunffb-1.2.1.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-sunffb-1.2.1.tar.bz2;
       sha256 = "04byax4sc1fn183vyyq0q11q730k16h2by4ggjky7s36wgv7ldzx";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto randrproto renderproto xextproto xorgserver xproto ;};
     
-  xf86videosunleo = (stdenv.mkDerivation ((if overrides ? xf86videosunleo then overrides.xf86videosunleo else x: x) {
-    name = "xf86-video-sunleo-1.2.0";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-sunleo-1.2.0.tar.bz2;
-      sha256 = "01kffjbshmwix2cdb95j0cx2qmrss6yfjj7y5qssw83h36bvw5dk";
-    };
-    buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ];
-  })) // {inherit fontsproto randrproto renderproto xorgserver xproto ;};
-    
-  xf86videosuntcx = (stdenv.mkDerivation ((if overrides ? xf86videosuntcx then overrides.xf86videosuntcx else x: x) {
-    name = "xf86-video-suntcx-1.1.1";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-suntcx-1.1.1.tar.bz2;
-      sha256 = "07lqah5sizhwjpzr4vcpwgvbl86fwz4k0c3skp63sq58ng21acal";
-    };
-    buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ];
-  })) // {inherit fontsproto randrproto renderproto xorgserver xproto ;};
-    
   xf86videotdfx = (stdenv.mkDerivation ((if overrides ? xf86videotdfx then overrides.xf86videotdfx else x: x) {
-    name = "xf86-video-tdfx-1.4.3";
+    name = "xf86-video-tdfx-1.4.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-tdfx-1.4.3.tar.bz2;
-      sha256 = "0cxz1rsc87cnf0ba1zfwhk0lhfas92ysc9b13q6x21m31b53bn9s";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-tdfx-1.4.4.tar.bz2;
+      sha256 = "124gsi30rj547jjd7gvv7xykfnwlyrxw0gcacamby7pvl3g33fg0";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
   })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
@@ -1811,58 +1681,48 @@ let
     name = "xf86-video-tga-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-tga-1.2.1.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-tga-1.2.1.tar.bz2;
       sha256 = "0mdqrn02zzkdnmhg4vh9djaawg6b2p82g5qbj66z8b30yr77b93h";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
     
   xf86videotrident = (stdenv.mkDerivation ((if overrides ? xf86videotrident then overrides.xf86videotrident else x: x) {
-    name = "xf86-video-trident-1.3.4";
+    name = "xf86-video-trident-1.3.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-trident-1.3.4.tar.bz2;
-      sha256 = "1a4wybqwd617mg8lzn1xvi5m0iibimxpvyqsr31mhb7gw0qidrjq";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-trident-1.3.5.tar.bz2;
+      sha256 = "02y5pzdp0a1c12jr8gghbrzgbyfbgq67x7kd7n4f323pmf8x1csb";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
     
-  xf86videotseng = (stdenv.mkDerivation ((if overrides ? xf86videotseng then overrides.xf86videotseng else x: x) {
-    name = "xf86-video-tseng-1.2.4";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-tseng-1.2.4.tar.bz2;
-      sha256 = "0gfiwx2p51k3k78qic8y9y0d3d6nhhbmzfvzmw5hx3ba9kxmvpfh";
-    };
-    buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
-    
   xf86videov4l = (stdenv.mkDerivation ((if overrides ? xf86videov4l then overrides.xf86videov4l else x: x) {
     name = "xf86-video-v4l-0.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-v4l-0.2.0.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-v4l-0.2.0.tar.bz2;
       sha256 = "0pcjc75hgbih3qvhpsx8d4fljysfk025slxcqyyhr45dzch93zyb";
     };
     buildInputs = [pkgconfig randrproto videoproto xorgserver xproto ];
   })) // {inherit randrproto videoproto xorgserver xproto ;};
     
   xf86videovesa = (stdenv.mkDerivation ((if overrides ? xf86videovesa then overrides.xf86videovesa else x: x) {
-    name = "xf86-video-vesa-2.3.0";
+    name = "xf86-video-vesa-2.3.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-vesa-2.3.0.tar.bz2;
-      sha256 = "0yhdj39d8rfv2n4i52dg7cg1rsrclagn7rjs3pc3jdajjh75mn4f";
+      url = mirror://xorg/individual/driver/xf86-video-vesa-2.3.2.tar.bz2;
+      sha256 = "1qqf97baii1dcsm3y8gqw674j4r8llhkbqsavhyn11iwmvzifjhl";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;};
     
   xf86videovmware = (stdenv.mkDerivation ((if overrides ? xf86videovmware then overrides.xf86videovmware else x: x) {
-    name = "xf86-video-vmware-11.0.3";
+    name = "xf86-video-vmware-12.0.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-vmware-11.0.3.tar.bz2;
-      sha256 = "18rqkzr1dvzgdr2khlhhpai69z28rnrfl8jiw9hnahbyv2r7qjmj";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-vmware-12.0.2.tar.bz2;
+      sha256 = "0isiwx516gww8hfk3vy7js83yziyjym9mq2zjadyq1a8v5gqf9y8";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ];
   })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ;};
@@ -1871,78 +1731,58 @@ let
     name = "xf86-video-voodoo-1.2.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-voodoo-1.2.4.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-voodoo-1.2.4.tar.bz2;
       sha256 = "0ha748yz92yzn6hp2rhin3il8f4j2rs4vkgdvqkagnv1ryxkh0ph";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ];
   })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ;};
     
   xf86videowsfb = (stdenv.mkDerivation ((if overrides ? xf86videowsfb then overrides.xf86videowsfb else x: x) {
-    name = "xf86-video-wsfb-0.3.0";
+    name = "xf86-video-wsfb-0.4.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-wsfb-0.3.0.tar.bz2;
-      sha256 = "17lqhir0adcccfkrzz2sr8cpv5vkakk0w7xfc22vv7c6jz9vdgbq";
+      url = mirror://xorg/X11R7.7/src/everything/xf86-video-wsfb-0.4.0.tar.bz2;
+      sha256 = "0hr8397wpd0by1hc47fqqrnaw3qdqd8aqgwgzv38w5k3l3jy6p4p";
     };
     buildInputs = [pkgconfig xorgserver xproto ];
   })) // {inherit xorgserver xproto ;};
     
-  xf86videoxgi = (stdenv.mkDerivation ((if overrides ? xf86videoxgi then overrides.xf86videoxgi else x: x) {
-    name = "xf86-video-xgi-1.6.0";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-xgi-1.6.0.tar.bz2;
-      sha256 = "05wl9a51pik5swkzpyhh4y2gf6m3hd458r4142p5w39bbkmhcd78";
-    };
-    buildInputs = [pkgconfig fontsproto glproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xineramaproto xorgserver xproto ];
-  })) // {inherit fontsproto glproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xineramaproto xorgserver xproto ;};
-    
-  xf86videoxgixp = (stdenv.mkDerivation ((if overrides ? xf86videoxgixp then overrides.xf86videoxgixp else x: x) {
-    name = "xf86-video-xgixp-1.8.0";
-    builder = ./builder.sh;
-    src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xf86-video-xgixp-1.8.0.tar.bz2;
-      sha256 = "06np5s3f3451vmjwpxbn8hb7d4dhsxff2af8qy8jlc24rinnv9is";
-    };
-    buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
-  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
-    
   xf86vidmodeproto = (stdenv.mkDerivation ((if overrides ? xf86vidmodeproto then overrides.xf86vidmodeproto else x: x) {
     name = "xf86vidmodeproto-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/proto/xf86vidmodeproto-2.3.1.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xf86vidmodeproto-2.3.1.tar.bz2;
       sha256 = "0w47d7gfa8zizh2bshdr2rffvbr4jqjv019mdgyh6cmplyd4kna5";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   xfs = (stdenv.mkDerivation ((if overrides ? xfs then overrides.xfs else x: x) {
-    name = "xfs-1.1.1";
+    name = "xfs-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xfs-1.1.1.tar.bz2;
-      sha256 = "1yxm87az3xghngcsd50zz6mdgi9j6vm8pw90sjqzshwq7hx7d0qc";
+      url = mirror://xorg/individual/app/xfs-1.1.2.tar.bz2;
+      sha256 = "17g34yq789grnic83cqj5khq0knda1w2rgabhjflsyw9wg663shd";
     };
-    buildInputs = [pkgconfig libFS libXfont xtrans ];
-  })) // {inherit libFS libXfont xtrans ;};
+    buildInputs = [pkgconfig libXfont xproto xtrans ];
+  })) // {inherit libXfont xproto xtrans ;};
     
   xgamma = (stdenv.mkDerivation ((if overrides ? xgamma then overrides.xgamma else x: x) {
-    name = "xgamma-1.0.4";
+    name = "xgamma-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xgamma-1.0.4.tar.bz2;
-      sha256 = "05lfx9517why64b3n14drid7vn1d2g2ymg22034vqq50h9437j3x";
+      url = mirror://xorg/X11R7.7/src/everything/xgamma-1.0.5.tar.bz2;
+      sha256 = "0463sawps86jnxn121ramsz4sicy3az5wa5wsq4rqm8dm3za48p3";
     };
     buildInputs = [pkgconfig libX11 libXxf86vm ];
   })) // {inherit libX11 libXxf86vm ;};
     
   xhost = (stdenv.mkDerivation ((if overrides ? xhost then overrides.xhost else x: x) {
-    name = "xhost-1.0.4";
+    name = "xhost-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xhost-1.0.4.tar.bz2;
-      sha256 = "15558q9hgmw6vbwc2sgjkfpzw342lxci9w8vcbrmi8mpmrnc00jy";
+      url = mirror://xorg/X11R7.7/src/everything/xhost-1.0.5.tar.bz2;
+      sha256 = "0l483y6wfrjh37j16b41kpi2nc7ss5rvndafpbaylrs87ygx2w18";
     };
     buildInputs = [pkgconfig libX11 libXau libXmu ];
   })) // {inherit libX11 libXau libXmu ;};
@@ -1951,48 +1791,48 @@ let
     name = "xineramaproto-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/proto/xineramaproto-1.2.1.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xineramaproto-1.2.1.tar.bz2;
       sha256 = "0ns8abd27x7gbp4r44z3wc5k9zqxxj8zjnazqpcyr4n17nxp8xcp";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   xinit = (stdenv.mkDerivation ((if overrides ? xinit then overrides.xinit else x: x) {
-    name = "xinit-1.3.0";
+    name = "xinit-1.3.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xinit-1.3.0.tar.bz2;
-      sha256 = "0k70bw6x2zgvmd0l7xyzbps18pbzfz26yzjva1vcz9s239pf6xms";
+      url = mirror://xorg/individual/app/xinit-1.3.2.tar.bz2;
+      sha256 = "0d821rlqwyn2js7bkzicyp894n9gqv1hahxs285pas1zm3d7z1m1";
     };
     buildInputs = [pkgconfig libX11 ];
   })) // {inherit libX11 ;};
     
   xinput = (stdenv.mkDerivation ((if overrides ? xinput then overrides.xinput else x: x) {
-    name = "xinput-1.5.3";
+    name = "xinput-1.6.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xinput-1.5.3.tar.bz2;
-      sha256 = "0xjwi1sjmvmmzgcvzvz4q8wn0gs7x3aivknx77yfxnndrqqy3bba";
+      url = mirror://xorg/X11R7.7/src/everything/xinput-1.6.0.tar.bz2;
+      sha256 = "0zl4cdgnzh9shz20yn7hz889v4nkbyqwx0nb7dh6arn7abchgc2a";
     };
-    buildInputs = [pkgconfig inputproto libX11 libXext libXi ];
-  })) // {inherit inputproto libX11 libXext libXi ;};
+    buildInputs = [pkgconfig inputproto libX11 libXext libXi libXinerama libXrandr ];
+  })) // {inherit inputproto libX11 libXext libXi libXinerama libXrandr ;};
     
   xkbcomp = (stdenv.mkDerivation ((if overrides ? xkbcomp then overrides.xkbcomp else x: x) {
-    name = "xkbcomp-1.2.1";
+    name = "xkbcomp-1.2.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xkbcomp-1.2.1.tar.bz2;
-      sha256 = "1sv51rliqs6wygrp2hc79a5pgn6ly0bbr4sa8a8x00j4j4kjaqdp";
+      url = mirror://xorg/X11R7.7/src/everything/xkbcomp-1.2.4.tar.bz2;
+      sha256 = "0bas1d2wjiy5zy9d0g92d2p9pwv4aapfbfidi7hxy8ax8jmwkl4i";
     };
-    buildInputs = [pkgconfig libX11 libxkbfile ];
-  })) // {inherit libX11 libxkbfile ;};
+    buildInputs = [pkgconfig libX11 libxkbfile xproto ];
+  })) // {inherit libX11 libxkbfile xproto ;};
     
   xkbevd = (stdenv.mkDerivation ((if overrides ? xkbevd then overrides.xkbevd else x: x) {
-    name = "xkbevd-1.1.2";
+    name = "xkbevd-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xkbevd-1.1.2.tar.bz2;
-      sha256 = "0qzbh1wb2fg0wsyfqr4j15443caa1xfcxwdf1gzb4gpbkxn98qnd";
+      url = mirror://xorg/X11R7.7/src/everything/xkbevd-1.1.3.tar.bz2;
+      sha256 = "05h1xcnbalndbrryyqs8wzy9h3wz655vc0ymhlk2q4aik17licjm";
     };
     buildInputs = [pkgconfig libX11 libxkbfile ];
   })) // {inherit libX11 libxkbfile ;};
@@ -2001,28 +1841,38 @@ let
     name = "xkbutils-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xkbutils-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xkbutils-1.0.3.tar.bz2;
       sha256 = "1ga913pw6chssf2016kjyjl6ar2lj83pa497w97ak2kq603sy2g4";
     };
     buildInputs = [pkgconfig inputproto libX11 libXaw xproto libXt ];
   })) // {inherit inputproto libX11 libXaw xproto libXt ;};
     
+  xkeyboardconfig = (stdenv.mkDerivation ((if overrides ? xkeyboardconfig then overrides.xkeyboardconfig else x: x) {
+    name = "xkeyboard-config-2.6";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/X11R7.7/src/everything/xkeyboard-config-2.6.tar.bz2;
+      sha256 = "1nmb7ma8rqryicc5xqrn2hm5pwp5lkf7nj28bwbf63mz2r0mk892";
+    };
+    buildInputs = [pkgconfig ];
+  })) // {inherit ;};
+    
   xkill = (stdenv.mkDerivation ((if overrides ? xkill then overrides.xkill else x: x) {
     name = "xkill-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xkill-1.0.3.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xkill-1.0.3.tar.bz2;
       sha256 = "1ac110qbb9a4x1dim3vaghvdk3jc708i2p3f4rmag33458khg0xx";
     };
     buildInputs = [pkgconfig libX11 libXmu ];
   })) // {inherit libX11 libXmu ;};
     
   xlsatoms = (stdenv.mkDerivation ((if overrides ? xlsatoms then overrides.xlsatoms else x: x) {
-    name = "xlsatoms-1.1.0";
+    name = "xlsatoms-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xlsatoms-1.1.0.tar.bz2;
-      sha256 = "03fbknvq7rixfgpv5945s7r82jz2xc06a0n09w1p22hl4pd7l0aa";
+      url = mirror://xorg/X11R7.7/src/everything/xlsatoms-1.1.1.tar.bz2;
+      sha256 = "1y9nfl8s7njxbnci8c20j986xixharasgg40vdw92y593j6dk2rv";
     };
     buildInputs = [pkgconfig libxcb ];
   })) // {inherit libxcb ;};
@@ -2031,7 +1881,7 @@ let
     name = "xlsclients-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xlsclients-1.1.2.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xlsclients-1.1.2.tar.bz2;
       sha256 = "1l97j15mg4wfzpm81wlpzagfjff7v4fwn7s2z2rpksk3gfcg7r8w";
     };
     buildInputs = [pkgconfig libxcb ];
@@ -2048,14 +1898,14 @@ let
   })) // {inherit libXaw libXt ;};
     
   xmodmap = (stdenv.mkDerivation ((if overrides ? xmodmap then overrides.xmodmap else x: x) {
-    name = "xmodmap-1.0.5";
+    name = "xmodmap-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xmodmap-1.0.5.tar.bz2;
-      sha256 = "00il5y6q2m90f62cqzgc0ni5qg3y946gf98jj325kx8cgfhyf7j2";
+      url = mirror://xorg/X11R7.7/src/everything/xmodmap-1.0.7.tar.bz2;
+      sha256 = "1dg47lay4vhrl9mfq3cfc6741a0m2n8wd4ljagd21ix3qklys8pg";
     };
-    buildInputs = [pkgconfig libX11 ];
-  })) // {inherit libX11 ;};
+    buildInputs = [pkgconfig libX11 xproto ];
+  })) // {inherit libX11 xproto ;};
     
   xorgcffiles = (stdenv.mkDerivation ((if overrides ? xorgcffiles then overrides.xorgcffiles else x: x) {
     name = "xorg-cf-files-1.0.4";
@@ -2068,81 +1918,91 @@ let
   })) // {inherit ;};
     
   xorgdocs = (stdenv.mkDerivation ((if overrides ? xorgdocs then overrides.xorgdocs else x: x) {
-    name = "xorg-docs-1.6";
+    name = "xorg-docs-1.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xorg-docs-1.6.tar.bz2;
-      sha256 = "0clxy41642jx77mmw5j2fnwa88ms1a7z1z8xpzrgs45bhv21pcpn";
+      url = mirror://xorg/X11R7.7/src/everything/xorg-docs-1.7.tar.bz2;
+      sha256 = "0prphdba6kgr1bxk7r07wxxx6x6pqjw6prr5qclypsb5sf5r3cdr";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   xorgserver = (stdenv.mkDerivation ((if overrides ? xorgserver then overrides.xorgserver else x: x) {
-    name = "xorg-server-1.9.5";
+    name = "xorg-server-1.12.4";
+    builder = ./builder.sh;
+    src = fetchurl {
+      url = mirror://xorg/individual/xserver/xorg-server-1.12.4.tar.bz2;
+      sha256 = "1xscr6rf0q15hv3hmm51xhwk0c0rx7a2swkj14ygp8vb60sprh4a";
+    };
+    buildInputs = [pkgconfig renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ];
+  })) // {inherit renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ;};
+
+  xorgserver_1_13_0 = (stdenv.mkDerivation ((if overrides ? xorgserver_1_13_0 then overrides.xorgserver_1_13_0 else x: x) {
+    name = "xorg-server-1.13.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/xserver/xorg-server-1.9.5.tar.bz2;
-      sha256 = "1p19w1s840jb1ah6na0c9k23gbh9wwz1il272irqy3jggh4pbirz";
+      url = mirror://xorg/individual/xserver/xorg-server-1.13.0.tar.bz2;
+      sha256 = "12pjis236ss3402cg1iy749cylajjp27m3j2jbwd8yh8075r32sl";
     };
-    buildInputs = [pkgconfig bigreqsproto damageproto fixesproto fontsproto inputproto kbproto libdrm openssl libpciaccess perl randrproto renderproto libX11 libXau libXaw xcmiscproto libXdmcp xextproto libXfixes libxkbfile libXmu libXpm xproto libXrender libXres libXt xtrans libXv ];
-  })) // {inherit bigreqsproto damageproto fixesproto fontsproto inputproto kbproto libdrm openssl libpciaccess perl randrproto renderproto libX11 libXau libXaw xcmiscproto libXdmcp xextproto libXfixes libxkbfile libXmu libXpm xproto libXrender libXres libXt xtrans libXv ;};
+    buildInputs = [pkgconfig renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv pixman glproto ];
+  })) // {inherit renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv pixman glproto ;};
     
   xorgsgmldoctools = (stdenv.mkDerivation ((if overrides ? xorgsgmldoctools then overrides.xorgsgmldoctools else x: x) {
-    name = "xorg-sgml-doctools-1.6";
+    name = "xorg-sgml-doctools-1.11";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xorg-sgml-doctools-1.6.tar.bz2;
-      sha256 = "0smfsman09dqqw6h638w44lgp2kng2jwk53sb74i7r53x1v09llq";
+      url = mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2;
+      sha256 = "0k5pffyi5bx8dmfn033cyhgd3gf6viqj3x769fqixifwhbgy2777";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   xpr = (stdenv.mkDerivation ((if overrides ? xpr then overrides.xpr else x: x) {
-    name = "xpr-1.0.3";
+    name = "xpr-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xpr-1.0.3.tar.bz2;
-      sha256 = "0zckkd45lzbikmdn29r12faby8g5prjkacc1z8aw87pq9sqdcy18";
+      url = mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2;
+      sha256 = "1dbcv26w2yand2qy7b3h5rbvw1mdmdd57jw88v53sgdr3vrqvngy";
     };
-    buildInputs = [pkgconfig libX11 libXmu ];
-  })) // {inherit libX11 libXmu ;};
+    buildInputs = [pkgconfig libX11 libXmu xproto ];
+  })) // {inherit libX11 libXmu xproto ;};
     
   xprop = (stdenv.mkDerivation ((if overrides ? xprop then overrides.xprop else x: x) {
-    name = "xprop-1.2.0";
+    name = "xprop-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xprop-1.2.0.tar.bz2;
-      sha256 = "173bpq7x2amr77xy28f9m4nfdwr340wj3jw9hkbbznq35c48ql2k";
+      url = mirror://xorg/X11R7.7/src/everything/xprop-1.2.1.tar.bz2;
+      sha256 = "18zi2any13zlb7f34fzyw6lkiwkd6k2scp3b800a1f4rj0c7m407";
     };
-    buildInputs = [pkgconfig libX11 ];
-  })) // {inherit libX11 ;};
+    buildInputs = [pkgconfig libX11 xproto ];
+  })) // {inherit libX11 xproto ;};
     
   xproto = (stdenv.mkDerivation ((if overrides ? xproto then overrides.xproto else x: x) {
-    name = "xproto-7.0.20";
+    name = "xproto-7.0.23";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xproto-7.0.20.tar.bz2;
-      sha256 = "0alyxrd8wmdvdqm1v3q4x5brv4prj0gxf59pp9h5wycvgpj7zs1z";
+      url = mirror://xorg/X11R7.7/src/everything/xproto-7.0.23.tar.bz2;
+      sha256 = "17lkmi12f89qvg4jj5spqzwzc24fmsqq68dv6kpy7r7b944lmq5d";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
     
   xrandr = (stdenv.mkDerivation ((if overrides ? xrandr then overrides.xrandr else x: x) {
-    name = "xrandr-1.3.4";
+    name = "xrandr-1.3.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xrandr-1.3.4.tar.bz2;
-      sha256 = "1nsadgvn57b9way7v0s4yk2729rwqj1m5fbilmd38lfcws928jjy";
+      url = mirror://xorg/X11R7.7/src/everything/xrandr-1.3.5.tar.bz2;
+      sha256 = "03lq1c1q4w5cf2ijs4b34v008lshibha9zv5lw08xpyhk9xgyn8h";
     };
-    buildInputs = [pkgconfig libX11 libXrandr libXrender ];
-  })) // {inherit libX11 libXrandr libXrender ;};
+    buildInputs = [pkgconfig libX11 xproto libXrandr libXrender ];
+  })) // {inherit libX11 xproto libXrandr libXrender ;};
     
   xrdb = (stdenv.mkDerivation ((if overrides ? xrdb then overrides.xrdb else x: x) {
-    name = "xrdb-1.0.8";
+    name = "xrdb-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/app/xrdb-1.0.8.tar.bz2;
-      sha256 = "1r2k50qnflj40iandhxhvnrvnhy4qliz5kymlh682455gjmlgn7z";
+      url = mirror://xorg/X11R7.7/src/everything/xrdb-1.0.9.tar.bz2;
+      sha256 = "1dza5a34nj68fzhlgwf18i5bk0n24ig28yihwpjy7vwn57hh2934";
     };
     buildInputs = [pkgconfig libX11 libXmu ];
   })) // {inherit libX11 libXmu ;};
@@ -2151,38 +2011,38 @@ let
     name = "xrefresh-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xrefresh-1.0.4.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xrefresh-1.0.4.tar.bz2;
       sha256 = "0ywxzwa4kmnnmf8idr8ssgcil9xvbhnk155zpsh2i8ay93mh5586";
     };
     buildInputs = [pkgconfig libX11 ];
   })) // {inherit libX11 ;};
     
   xset = (stdenv.mkDerivation ((if overrides ? xset then overrides.xset else x: x) {
-    name = "xset-1.2.1";
+    name = "xset-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xset-1.2.1.tar.bz2;
-      sha256 = "18cja8b9xrilpshz0z8bkmpjm6pjb20w71xf41jgm70h4dymz6gc";
+      url = mirror://xorg/X11R7.7/src/everything/xset-1.2.2.tar.bz2;
+      sha256 = "1s61mvscd0h7y6anljarj7nkii6plhs8ndx1fm8b1f1h00a1qdv1";
     };
-    buildInputs = [pkgconfig libX11 libXext libXmu libXxf86misc ];
-  })) // {inherit libX11 libXext libXmu libXxf86misc ;};
+    buildInputs = [pkgconfig libX11 libXext libXmu xproto libXxf86misc ];
+  })) // {inherit libX11 libXext libXmu xproto libXxf86misc ;};
     
   xsetroot = (stdenv.mkDerivation ((if overrides ? xsetroot then overrides.xsetroot else x: x) {
     name = "xsetroot-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xsetroot-1.1.0.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xsetroot-1.1.0.tar.bz2;
       sha256 = "1bazzsf9sy0q2bj4lxvh1kvyrhmpggzb7jg575i15sksksa3xwc8";
     };
     buildInputs = [pkgconfig libX11 xbitmaps libXcursor libXmu ];
   })) // {inherit libX11 xbitmaps libXcursor libXmu ;};
     
   xtrans = (stdenv.mkDerivation ((if overrides ? xtrans then overrides.xtrans else x: x) {
-    name = "xtrans-1.2.6";
+    name = "xtrans-1.2.7";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xtrans-1.2.6.tar.bz2;
-      sha256 = "1im5kj6y8j8m9i5lf1c33dkag6sb7g1zmi0niydqrfyx0lvsgyf5";
+      url = mirror://xorg/X11R7.7/src/everything/xtrans-1.2.7.tar.bz2;
+      sha256 = "19p1bw3qyn0ia1znx6q3gx92rr9rl88ylrfijjclm8vhpa8i30bz";
     };
     buildInputs = [pkgconfig ];
   })) // {inherit ;};
@@ -2191,40 +2051,40 @@ let
     name = "xvinfo-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xvinfo-1.1.1.tar.bz2;
+      url = mirror://xorg/X11R7.7/src/everything/xvinfo-1.1.1.tar.bz2;
       sha256 = "119rd93d7661ll1rfcdssn78l0b97326smziyr2f5wdwj2hlmiv0";
     };
     buildInputs = [pkgconfig libX11 libXv ];
   })) // {inherit libX11 libXv ;};
     
   xwd = (stdenv.mkDerivation ((if overrides ? xwd then overrides.xwd else x: x) {
-    name = "xwd-1.0.4";
+    name = "xwd-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xwd-1.0.4.tar.bz2;
-      sha256 = "07mh72j794hwq5rnqkmdd4wj27mqmdc3da4jkwpva2hsj64wi9mp";
+      url = mirror://xorg/X11R7.7/src/everything/xwd-1.0.5.tar.bz2;
+      sha256 = "0fkg6msy2zg7rda2rpxb7j6vmrdmqmk72xsxnyhz97196ykjnx82";
     };
-    buildInputs = [pkgconfig libX11 ];
-  })) // {inherit libX11 ;};
+    buildInputs = [pkgconfig libX11 xproto ];
+  })) // {inherit libX11 xproto ;};
     
   xwininfo = (stdenv.mkDerivation ((if overrides ? xwininfo then overrides.xwininfo else x: x) {
-    name = "xwininfo-1.1.1";
+    name = "xwininfo-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xwininfo-1.1.1.tar.bz2;
-      sha256 = "0g9ll8hv0k5cjz4l5kdv64xzmalf9mpwjzcy8nx6myvh92z5fnk4";
+      url = mirror://xorg/X11R7.7/src/everything/xwininfo-1.1.2.tar.bz2;
+      sha256 = "0fmcr5yl03xw7m8p9h1rk67rrj7gp5x16a547xhmg8idw2f6r9lg";
     };
     buildInputs = [pkgconfig libX11 libxcb xproto ];
   })) // {inherit libX11 libxcb xproto ;};
     
   xwud = (stdenv.mkDerivation ((if overrides ? xwud then overrides.xwud else x: x) {
-    name = "xwud-1.0.3";
+    name = "xwud-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/X11R7.6/src/everything/xwud-1.0.3.tar.bz2;
-      sha256 = "0hrc6gbipg7cximgkaxixlha9m2fph31dpzhzdfw7g63bkhfmzc8";
+      url = mirror://xorg/X11R7.7/src/everything/xwud-1.0.4.tar.bz2;
+      sha256 = "1ggql6maivah58kwsh3z9x1hvzxm1a8888xx4s78cl77ryfa1cyn";
     };
-    buildInputs = [pkgconfig libX11 ];
-  })) // {inherit libX11 ;};
+    buildInputs = [pkgconfig libX11 xproto ];
+  })) // {inherit libX11 xproto ;};
     
 }; in xorg
diff --git a/pkgs/servers/x11/xorg/extra.list b/pkgs/servers/x11/xorg/extra.list
index 744eb66d84c8..f7f139b19c1c 100644
--- a/pkgs/servers/x11/xorg/extra.list
+++ b/pkgs/servers/x11/xorg/extra.list
@@ -1,8 +1,7 @@
-mirror://xorg/individual/driver/xf86-video-intel-2.14.901.tar.bz2:xf86videointel_2_14_901
-mirror://xorg/individual/driver/xf86-video-intel-2.17.0.tar.bz2:xf86videointel_2_17_0
-mirror://xorg/individual/lib/pixman-0.20.2.tar.bz2
-mirror://xorg/individual/xcb/xcb-util-0.3.8.tar.bz2
-mirror://xorg/individual/xcb/xcb-util-image-0.3.8.tar.bz2
-mirror://xorg/individual/xcb/xcb-util-keysyms-0.3.8.tar.bz2
+mirror://xorg/individual/lib/pixman-0.26.2.tar.bz2
+mirror://xorg/individual/xcb/xcb-util-0.3.9.tar.bz2
+mirror://xorg/individual/xcb/xcb-util-image-0.3.9.tar.bz2
+mirror://xorg/individual/xcb/xcb-util-keysyms-0.3.9.tar.bz2
 mirror://xorg/individual/xcb/xcb-util-renderutil-0.3.8.tar.bz2
-mirror://xorg/individual/xcb/xcb-util-wm-0.3.8.tar.bz2
+mirror://xorg/individual/xcb/xcb-util-wm-0.3.9.tar.bz2
+mirror://xorg/individual/xserver/xorg-server-1.13.0.tar.bz2:xorgserver_1_13_0
diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
index 89edb571e0f5..7b00e5e90432 100755
--- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -169,7 +169,7 @@ while (<>) {
     }
 
     if ($file =~ /XORG_FONT_UCS2ANY/) {
-        push @requires, "fontutil";
+        push @requires, "fontutil", "mkfontscale";
         $isFont = 1;
     }
 
diff --git a/pkgs/servers/x11/xorg/old.list b/pkgs/servers/x11/xorg/old.list
index 5eacf46d1c36..94fae784488e 100644
--- a/pkgs/servers/x11/xorg/old.list
+++ b/pkgs/servers/x11/xorg/old.list
@@ -1,15 +1,15 @@
-mirror://xorg/individual/app/twm-1.0.6.tar.bz2
-mirror://xorg/individual/app/xclock-1.0.5.tar.bz2
-mirror://xorg/individual/app/xdm-1.1.10.tar.bz2
+mirror://xorg/individual/app/twm-1.0.7.tar.bz2
+mirror://xorg/individual/app/xclock-1.0.6.tar.bz2
+mirror://xorg/individual/app/xdm-1.1.11.tar.bz2
 mirror://xorg/individual/app/xeyes-1.1.1.tar.bz2
-mirror://xorg/individual/app/xfs-1.1.1.tar.bz2
-mirror://xorg/individual/app/xinit-1.3.0.tar.bz2
+mirror://xorg/individual/app/xfs-1.1.2.tar.bz2
+mirror://xorg/individual/app/xinit-1.3.2.tar.bz2
 mirror://xorg/individual/app/xmessage-1.0.3.tar.bz2
 mirror://xorg/individual/lib/libXp-1.0.1.tar.bz2
 mirror://xorg/individual/lib/libXxf86misc-1.0.3.tar.bz2
 mirror://xorg/individual/proto/printproto-1.0.5.tar.bz2
 mirror://xorg/individual/proto/xf86miscproto-0.9.3.tar.bz2
 mirror://xorg/individual/util/gccmakedep-1.0.2.tar.bz2
-mirror://xorg/individual/util/imake-1.0.4.tar.bz2
-mirror://xorg/individual/util/lndir-1.0.2.tar.bz2
+mirror://xorg/individual/util/imake-1.0.5.tar.bz2
+mirror://xorg/individual/util/lndir-1.0.3.tar.bz2
 mirror://xorg/individual/util/xorg-cf-files-1.0.4.tar.bz2
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 46903124568e..057142a8707b 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -8,6 +8,10 @@ let
 in
 {
 
+  fontcursormisc = attrs: attrs // {
+    buildInputs = attrs.buildInputs ++ [ xorg.mkfontscale ];
+  };
+
   fontmiscmisc = attrs: attrs // {
     postInstall =
       ''
@@ -24,7 +28,7 @@ in
   };
 
   mkfontdir = attrs: attrs // {
-    preBuild = "substituteInPlace mkfontdir.cpp --replace BINDIR ${xorg.mkfontscale}/bin";
+    preBuild = "substituteInPlace mkfontdir.in --replace @bindir@ ${xorg.mkfontscale}/bin";
   };
 
   libxcb = attrs : attrs // {
@@ -83,21 +87,19 @@ in
   compositeproto = attrs: attrs // {
     propagatedBuildInputs = [ xorg.fixesproto ];
   };
-  
+
   libXcomposite = attrs: attrs // {
     propagatedBuildInputs = [ xorg.libXfixes ];
   };
-  
+
   libXaw = attrs: attrs // {
     propagatedBuildInputs = [ xorg.libXmu ];
   };
-  
+
   libXft = attrs: attrs // {
     buildInputs = attrs.buildInputs ++
       [ xorg.xproto xorg.libX11 xorg.renderproto ];
-    # probably, fontconfig and freetype could be added
-    # pkgconfig seems to be nice, too...
-    propagatedBuildInputs = [ xorg.libXrender ];
+    propagatedBuildInputs = [ xorg.libXrender args.freetype args.fontconfig ];
     preConfigure = setMalloc0ReturnsNullCrossCompiling;
   };
 
@@ -124,13 +126,30 @@ in
     buildInputs = attrs.buildInputs ++ [ args.freetype args.fontconfig ];
   };
 
+  xev = attrs: attrs // {
+    buildInputs = attrs.buildInputs ++ [ xorg.libXrender ];
+  };
+
   xf86inputevdev = attrs: attrs // {
     preBuild = "sed -e '/motion_history_proc/d; /history_size/d;' -i src/*.c";
-    buildInputs = attrs.buildInputs ++ [xorg.kbproto xorg.libxkbfile xorg.randrproto];
+    NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1";
+    buildInputs = attrs.buildInputs ++ [xorg.kbproto xorg.libxkbfile xorg.randrproto xorg.pixman];
     installFlags = "sdkdir=\${out}/include/xorg";
   };
 
+  xf86inputkeyboard = attrs: attrs // {
+    NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1";
+    buildInputs = attrs.buildInputs ++ [xorg.pixman];
+  };
+
+  xf86inputmouse = attrs: attrs // {
+    NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1";
+    buildInputs = attrs.buildInputs ++ [xorg.pixman];
+  };
+
   xf86inputsynaptics = attrs: attrs // {
+    NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1";
+    buildInputs = attrs.buildInputs ++ [args.mtdev xorg.pixman];
     installFlags = "sdkdir=\${out}/include/xorg configdir=\${out}/include/xorg";
   };
 
@@ -139,20 +158,38 @@ in
   };
 
   xf86videosis = attrs: attrs // {
+    NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1";
     buildInputs = attrs.buildInputs ++ [xorg.glproto args.mesa];
   };
 
   xf86videoati = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [xorg.glproto args.mesa];
+    NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1";
+    buildInputs = attrs.buildInputs ++ [xorg.glproto args.mesa xorg.pixman];
   };
 
-  xf86videoopenchrome = attrs: attrs // rec {
-    name = "xf86-video-openchrome-0.2.905";
-    src = args.fetchurl {
-      url = "http://openchrome.org/releases/${name}.tar.bz2";
-      sha256 = "1llbm020s0fck9chs0906xz7jr4h3whxan4s10ls9046g7xib3qc";
-    };
-    buildInputs = attrs.buildInputs ++ [xorg.glproto args.mesa xorg.libXext];
+  xf86videocirrus = attrs: attrs // {
+    NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1";
+    buildInputs = attrs.buildInputs ++ [xorg.pixman];
+  };
+
+  xf86videofbdev = attrs: attrs // {
+    NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1";
+    buildInputs = attrs.buildInputs ++ [xorg.pixman];
+  };
+
+  xf86videoopenchrome = attrs: attrs // {
+    NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1";
+    buildInputs = attrs.buildInputs ++ [xorg.pixman xorg.glproto args.mesa];
+  };
+
+  xf86videonv = attrs: attrs // {
+    NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1";
+    buildInputs = attrs.buildInputs ++ [xorg.pixman];
+  };
+
+  xf86videovesa = attrs: attrs // {
+    NIX_CFLAGS_COMPILE = "-I${xorg.pixman}/include/pixman-1";
+    buildInputs = attrs.buildInputs ++ [xorg.pixman];
   };
 
   xdriinfo = attrs: attrs // {
@@ -168,6 +205,7 @@ in
   };
 
   xorgserver = attrs: attrs // {
+    configureFlags = "--enable-xcsecurity"; # enable SECURITY extension
     patches = [./xorgserver-dri-path.patch ./xorgserver-xkbcomp-path.patch];
     buildInputs = attrs.buildInputs ++
       [ args.zlib args.udev args.mesa args.dbus.libs
@@ -176,6 +214,7 @@ in
         xorg.xineramaproto xorg.xf86dgaproto
         xorg.dmxproto xorg.libdmx xorg.xf86vidmodeproto
         xorg.recordproto xorg.libXext xorg.pixman xorg.libXfont
+        xorg.damageproto xorg.xcmiscproto xorg.xtrans xorg.bigreqsproto
       ];
     propagatedBuildInputs =
       [ xorg.libpciaccess xorg.inputproto xorg.xextproto xorg.randrproto
@@ -188,10 +227,35 @@ in
       '';
   };
 
-  libSM = attrs: attrs // args.stdenv.lib.optionalAttrs (args.stdenv.system == "i686-darwin") {
-    configureFlags = "LIBUUID_CFLAGS='' LIBUUID_LIBS=''";
+  xorgserver_1_13_0 = attrs: attrs // {
+    configureFlags = "--enable-xcsecurity"; # enable SECURITY extension
+    patches = [./xorgserver-dri-path.patch ./xorgserver-xkbcomp-path.patch];
+    buildInputs = attrs.buildInputs ++
+      [ args.zlib args.udev args.mesa args.dbus.libs
+        xorg.xf86bigfontproto xorg.glproto xorg.xf86driproto
+        xorg.compositeproto xorg.scrnsaverproto xorg.resourceproto
+        xorg.xineramaproto xorg.xf86dgaproto
+        xorg.dmxproto xorg.libdmx xorg.xf86vidmodeproto
+        xorg.recordproto xorg.libXext xorg.pixman xorg.libXfont
+        xorg.damageproto xorg.xcmiscproto xorg.xtrans xorg.bigreqsproto
+      ];
+    propagatedBuildInputs =
+      [ xorg.libpciaccess xorg.inputproto xorg.xextproto xorg.randrproto
+        xorg.dri2proto xorg.kbproto
+      ];
+    postInstall =
+      ''
+        rm -fr $out/share/X11/xkb/compiled
+        ln -s /var/tmp $out/share/X11/xkb/compiled
+      '';
   };
 
+  libSM = attrs: attrs
+    // { propagatedBuildInputs = [ xorg.libICE ]; }
+    // args.stdenv.lib.optionalAttrs (args.stdenv.system == "i686-darwin") {
+      configureFlags = "LIBUUID_CFLAGS='' LIBUUID_LIBS=''";
+    };
+
   lndir = attrs: attrs // {
     preConfigure = ''
       substituteInPlace lndir.c \
@@ -207,4 +271,11 @@ in
     buildInputs = attrs.buildInputs ++ [xorg.libXrender];
   };
 
+  xinput = attrs: attrs // {
+    buildInputs = attrs.buildInputs ++ [xorg.libXrender];
+  };
+
+  xwd = attrs: attrs // {
+    buildInputs = attrs.buildInputs ++ [xorg.libXt];
+  };
 }
diff --git a/pkgs/servers/x11/xorg/tarballs-7.6.list b/pkgs/servers/x11/xorg/tarballs-7.6.list
deleted file mode 100644
index 613c3107c867..000000000000
--- a/pkgs/servers/x11/xorg/tarballs-7.6.list
+++ /dev/null
@@ -1,199 +0,0 @@
-mirror://xorg/X11R7.6/src/everything/applewmproto-1.4.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/bdftopcf-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/bigreqsproto-1.1.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/compositeproto-0.4.2.tar.bz2
-mirror://xorg/X11R7.6/src/everything/damageproto-1.2.1.tar.bz2
-mirror://xorg/individual/proto/dri2proto-2.6.tar.bz2
-mirror://xorg/individual/proto/dmxproto-2.3.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/encodings-1.0.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/fixesproto-4.1.2.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-adobe-100dpi-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-adobe-75dpi-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-100dpi-1.0.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-75dpi-1.0.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-adobe-utopia-type1-1.0.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-alias-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-arabic-misc-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-bh-100dpi-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-bh-75dpi-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-bh-ttf-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-bh-type1-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-bitstream-100dpi-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-bitstream-75dpi-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-bitstream-type1-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-cronyx-cyrillic-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-cursor-misc-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-daewoo-misc-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-dec-misc-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-ibm-type1-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-isas-misc-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-jis-misc-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-micro-misc-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-misc-cyrillic-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-misc-ethiopic-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-misc-meltho-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-misc-misc-1.1.2.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-mutt-misc-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-schumacher-misc-1.1.2.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-screen-cyrillic-1.0.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-sony-misc-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/fontsproto-2.1.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-sun-misc-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-util-1.2.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-winitzki-cyrillic-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/font-xfree86-type1-1.0.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/glproto-1.4.12.tar.bz2
-mirror://xorg/X11R7.6/src/everything/iceauth-1.0.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/inputproto-2.0.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/kbproto-1.0.5.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libAppleWM-1.4.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libdmx-1.1.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libfontenc-1.1.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libFS-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libICE-1.0.7.tar.bz2
-mirror://xorg/individual/lib/libpciaccess-0.12.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libpthread-stubs-0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libSM-1.2.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libWindowsWM-1.0.1.tar.bz2
-mirror://xorg/individual/lib/libX11-1.4.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXau-1.0.6.tar.bz2
-mirror://xorg/individual/lib/libXaw-1.0.9.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libxcb-1.7.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXcomposite-0.4.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXcursor-1.1.11.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXdamage-1.1.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXdmcp-1.1.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXext-1.2.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXfixes-4.0.5.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXfont-1.4.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXft-2.2.0.tar.bz2
-mirror://xorg/individual/lib/libXi-1.4.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXinerama-1.1.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libxkbfile-1.0.7.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXmu-1.1.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXpm-3.5.9.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXrandr-1.3.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXrender-0.9.6.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXres-1.0.5.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXScrnSaver-1.2.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXt-1.0.9.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXtst-1.2.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXv-1.0.6.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXvMC-1.0.6.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXxf86dga-1.1.2.tar.bz2
-mirror://xorg/X11R7.6/src/everything/libXxf86vm-1.1.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/luit-1.1.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/makedepend-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/mkfontdir-1.0.6.tar.bz2
-mirror://xorg/X11R7.6/src/everything/mkfontscale-1.0.8.tar.bz2
-mirror://xorg/X11R7.6/src/everything/randrproto-1.3.2.tar.bz2
-mirror://xorg/X11R7.6/src/everything/recordproto-1.14.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/renderproto-0.11.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/resourceproto-1.1.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/scrnsaverproto-1.2.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/sessreg-1.0.6.tar.bz2
-mirror://xorg/X11R7.6/src/everything/setxkbmap-1.2.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/smproxy-1.0.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/util-macros-1.11.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/videoproto-2.3.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/windowswmproto-1.0.4.tar.bz2
-mirror://xorg/individual/app/x11perf-1.5.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xauth-1.0.5.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xbacklight-1.1.2.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xbitmaps-1.1.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xcb-proto-1.6.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xcmiscproto-1.2.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xcmsdb-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xcursorgen-1.0.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xcursor-themes-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xdpyinfo-1.2.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xdriinfo-1.0.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xev-1.1.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xextproto-7.1.2.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86bigfontproto-1.2.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86dgaproto-2.1.tar.bz2
-mirror://xorg/individual/proto/xf86driproto-2.1.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-input-acecad-1.4.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-input-aiptek-1.3.1.tar.bz2
-mirror://xorg/individual/driver/xf86-input-evdev-2.6.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-input-joystick-1.5.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-input-keyboard-1.5.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-input-mouse-1.6.0.tar.bz2
-mirror://xorg/individual/driver/xf86-input-synaptics-1.5.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-input-vmmouse-12.6.10.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-input-void-1.3.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-apm-1.2.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-ark-0.7.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-ast-0.91.10.tar.bz2
-mirror://xorg/individual/driver/xf86-video-ati-6.14.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-chips-1.2.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-cirrus-1.3.2.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-dummy-0.3.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-fbdev-0.4.2.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-geode-2.11.10.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-glide-1.1.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-glint-1.2.5.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-i128-1.3.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-i740-1.3.2.tar.bz2
-mirror://xorg/individual/driver/xf86-video-intel-2.15.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-mach64-6.8.2.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-mga-1.4.13.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-neomagic-1.2.5.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-newport-0.2.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-nv-2.1.18.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-openchrome-0.2.904.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-r128-6.8.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-rendition-4.2.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-s3-0.6.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-s3virge-1.10.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-savage-2.3.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-siliconmotion-1.7.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-sis-0.10.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-sisusb-0.9.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-suncg14-1.1.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-suncg3-1.1.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-suncg6-1.1.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-sunffb-1.2.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-sunleo-1.2.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-suntcx-1.1.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-tdfx-1.4.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-tga-1.2.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-trident-1.3.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-tseng-1.2.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-v4l-0.2.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-vesa-2.3.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-vmware-11.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-voodoo-1.2.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-wsfb-0.3.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-xgi-1.6.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xf86-video-xgixp-1.8.0.tar.bz2
-mirror://xorg/individual/proto/xf86vidmodeproto-2.3.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xgamma-1.0.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xhost-1.0.4.tar.bz2
-mirror://xorg/individual/proto/xineramaproto-1.2.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xinput-1.5.3.tar.bz2
-mirror://xorg/individual/app/xkbcomp-1.2.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xkbevd-1.1.2.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xkbutils-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xkill-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xlsatoms-1.1.0.tar.bz2
-mirror://xorg/individual/app/xlsclients-1.1.2.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xmodmap-1.0.5.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xorg-docs-1.6.tar.bz2
-mirror://xorg/individual/xserver/xorg-server-1.9.5.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xorg-sgml-doctools-1.6.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xpr-1.0.3.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xprop-1.2.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xproto-7.0.20.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xrandr-1.3.4.tar.bz2
-mirror://xorg/individual/app/xrdb-1.0.8.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xrefresh-1.0.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xset-1.2.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xsetroot-1.1.0.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xtrans-1.2.6.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xvinfo-1.1.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xwd-1.0.4.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xwininfo-1.1.1.tar.bz2
-mirror://xorg/X11R7.6/src/everything/xwud-1.0.3.tar.bz2
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
new file mode 100644
index 000000000000..7b3616362649
--- /dev/null
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -0,0 +1,184 @@
+mirror://xorg/X11R7.7/src/everything/applewmproto-1.4.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/bdftopcf-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/bigreqsproto-1.1.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/compositeproto-0.4.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/damageproto-1.2.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/dmxproto-2.3.1.tar.bz2
+mirror://xorg/individual/proto/dri2proto-2.8.tar.bz2
+mirror://xorg/X11R7.7/src/everything/encodings-1.0.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/fixesproto-5.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-adobe-100dpi-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-adobe-75dpi-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-100dpi-1.0.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-75dpi-1.0.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-type1-1.0.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-alias-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-arabic-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-bh-100dpi-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-bh-75dpi-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-bh-ttf-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-bh-type1-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-bitstream-100dpi-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-bitstream-75dpi-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-bitstream-type1-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-cronyx-cyrillic-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-cursor-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-daewoo-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-dec-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-ibm-type1-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-isas-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-jis-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-micro-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-misc-cyrillic-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-misc-ethiopic-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-misc-meltho-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-misc-misc-1.1.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-mutt-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-schumacher-misc-1.1.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-screen-cyrillic-1.0.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-sony-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/fontsproto-2.1.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-sun-misc-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-util-1.3.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-winitzki-cyrillic-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/font-xfree86-type1-1.0.4.tar.bz2
+mirror://xorg/individual/proto/glproto-1.4.16.tar.bz2
+mirror://xorg/X11R7.7/src/everything/iceauth-1.0.5.tar.bz2
+mirror://xorg/X11R7.7/src/everything/inputproto-2.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/kbproto-1.0.6.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libAppleWM-1.4.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libdmx-1.1.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libfontenc-1.1.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libFS-1.0.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libICE-1.0.8.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libpciaccess-0.13.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libpthread-stubs-0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libSM-1.2.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libWindowsWM-1.0.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libX11-1.5.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXau-1.0.7.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXaw-1.0.11.tar.bz2
+mirror://xorg/individual/xcb/libxcb-1.9.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXcomposite-0.4.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXcursor-1.1.13.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXdamage-1.1.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXdmcp-1.1.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXext-1.3.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXfixes-5.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXfont-1.4.5.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXft-2.3.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXi-1.6.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXinerama-1.1.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libxkbfile-1.0.8.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXmu-1.1.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXpm-3.5.10.tar.bz2
+mirror://xorg/individual/lib/libXrandr-1.4.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXrender-0.9.7.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXres-1.0.6.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXScrnSaver-1.2.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXt-1.1.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXtst-1.2.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXv-1.0.7.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXvMC-1.0.7.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXxf86dga-1.1.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/libXxf86vm-1.1.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/luit-1.1.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/makedepend-1.0.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/mkfontdir-1.0.7.tar.bz2
+mirror://xorg/X11R7.7/src/everything/mkfontscale-1.1.0.tar.bz2
+mirror://xorg/individual/proto/randrproto-1.4.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/recordproto-1.14.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/renderproto-0.11.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/resourceproto-1.2.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/scrnsaverproto-1.2.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/sessreg-1.0.7.tar.bz2
+mirror://xorg/X11R7.7/src/everything/setxkbmap-1.3.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/smproxy-1.0.5.tar.bz2
+mirror://xorg/X11R7.7/src/everything/util-macros-1.17.tar.bz2
+mirror://xorg/X11R7.7/src/everything/videoproto-2.3.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/windowswmproto-1.0.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/x11perf-1.5.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xauth-1.0.7.tar.bz2
+mirror://xorg/individual/app/xbacklight-1.2.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xbitmaps-1.1.1.tar.bz2
+mirror://xorg/individual/xcb/xcb-proto-1.8.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xcmiscproto-1.2.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xcmsdb-1.0.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xcursorgen-1.0.5.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xcursor-themes-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xdpyinfo-1.3.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xdriinfo-1.0.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xev-1.2.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xextproto-7.2.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86bigfontproto-1.2.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86dgaproto-2.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2
+mirror://xorg/individual/driver/xf86-input-evdev-2.7.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-input-joystick-1.6.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-input-keyboard-1.6.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-input-mouse-1.7.2.tar.bz2
+mirror://xorg/individual/driver/xf86-input-synaptics-1.6.2.tar.bz2
+mirror://xorg/individual/driver/xf86-input-vmmouse-12.9.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-input-void-1.4.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-ark-0.7.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-ast-0.93.10.tar.bz2
+mirror://xorg/individual/driver/xf86-video-ati-6.14.4.tar.bz2
+mirror://xorg/individual/driver/xf86-video-cirrus-1.5.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-dummy-0.3.5.tar.bz2
+mirror://xorg/individual/driver/xf86-video-fbdev-0.4.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-geode-2.11.13.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-glide-1.2.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-glint-1.2.7.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-i128-1.3.5.tar.bz2
+mirror://xorg/individual/driver/xf86-video-intel-2.20.10.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-mach64-6.9.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-mga-1.5.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-neomagic-1.2.6.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-newport-0.2.4.tar.bz2
+mirror://xorg/individual/driver/xf86-video-nv-2.1.20.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-openchrome-0.2.906.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-r128-6.8.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-savage-2.3.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-siliconmotion-1.7.6.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-sis-0.10.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-suncg6-1.1.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-sunffb-1.2.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-tdfx-1.4.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-tga-1.2.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-trident-1.3.5.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-v4l-0.2.0.tar.bz2
+mirror://xorg/individual/driver/xf86-video-vesa-2.3.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-vmware-12.0.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-voodoo-1.2.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86-video-wsfb-0.4.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xf86vidmodeproto-2.3.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xgamma-1.0.5.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xhost-1.0.5.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xineramaproto-1.2.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xinput-1.6.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xkbcomp-1.2.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xkbevd-1.1.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xkbutils-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xkeyboard-config-2.6.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xkill-1.0.3.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xlsatoms-1.1.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xlsclients-1.1.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xmodmap-1.0.7.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xorg-docs-1.7.tar.bz2
+mirror://xorg/individual/xserver/xorg-server-1.12.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xprop-1.2.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xproto-7.0.23.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xrandr-1.3.5.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xrdb-1.0.9.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xrefresh-1.0.4.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xset-1.2.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xsetroot-1.1.0.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xtrans-1.2.7.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xvinfo-1.1.1.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xwd-1.0.5.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xwininfo-1.1.2.tar.bz2
+mirror://xorg/X11R7.7/src/everything/xwud-1.0.4.tar.bz2
diff --git a/pkgs/servers/x11/xorg/unichrome/default.nix b/pkgs/servers/x11/xorg/unichrome/default.nix
index 5cc26338c953..720ccd10158d 100644
--- a/pkgs/servers/x11/xorg/unichrome/default.nix
+++ b/pkgs/servers/x11/xorg/unichrome/default.nix
@@ -1,24 +1,25 @@
 {stdenv, fetchgit, pkgconfig, fontsproto, libdrm, libpciaccess, randrproto, renderproto,
 videoproto, libX11,
 xextproto, xf86driproto, xorgserver, xproto, libXvMC, glproto, mesa, automake,
-autoconf, libtool, libXext, utilmacros}:
+autoconf, libtool, libXext, utilmacros, pixman}:
 
 stdenv.mkDerivation {
   name = "xf86-video-unichrome-git";
   src = fetchgit {
-    url = "git://anongit.freedesktop.org/~libv/xf86-video-unichrome";
+    url = "git://people.freedesktop.org/~libv/xf86-video-unichrome";
     md5 = "6e5e0f8ee204af2385a02e502d1ca8f1";
     rev = "6260e0fc9f0754d101dda014a8f4b5f76f58e978";
   };
   buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto
     videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC
-    glproto mesa automake autoconf libtool libXext utilmacros ];
+    glproto mesa automake autoconf libtool libXext utilmacros pixman ];
   preConfigure = "chmod +x autogen.sh";
   prePatch = ''
     sed s,/bin/bash,/bin/sh, -i git_version.sh
   '';
   patches = [ ./configure.patch ];
   configureScript = "./autogen.sh";
+  CFLAGS="-I${pixman}/include/pixman-1";
 
   meta = {
     homepage = "http://unichrome.sourceforge.net/";
diff --git a/pkgs/servers/x11/xorg/xorgserver-dri-path.patch b/pkgs/servers/x11/xorg/xorgserver-dri-path.patch
index 30e423ba3cbe..3a5f061eb9a1 100644
--- a/pkgs/servers/x11/xorg/xorgserver-dri-path.patch
+++ b/pkgs/servers/x11/xorg/xorgserver-dri-path.patch
@@ -1,52 +1,19 @@
-diff --git a/glx/glxdri.c b/glx/glxdri.c
-index 6122653..3f5fc2b 100644
---- a/glx/glxdri.c
-+++ b/glx/glxdri.c
-@@ -1042,8 +1042,11 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
- 	goto handle_error;
-     }
+diff -Naur xorg-server-1.12.2-orig/glx/glxdricommon.c xorg-server-1.12.2/glx/glxdricommon.c
+--- xorg-server-1.12.2-orig/glx/glxdricommon.c	2012-05-17 13:09:02.000000000 -0400
++++ xorg-server-1.12.2/glx/glxdricommon.c	2012-07-14 14:57:37.972791909 -0400
+@@ -219,10 +219,14 @@
+     int i;
+     void *driver;
+     char filename[PATH_MAX];
++    char *real_dri_driver_path;
+     const __DRIextension **extensions;
  
-+    char *real_dri_driver_path = getenv("XORG_DRI_DRIVER_PATH");
++    real_dri_driver_path = getenv("XORG_DRI_DRIVER_PATH");
 +    if (!real_dri_driver_path) real_dri_driver_path = dri_driver_path;
 +
      snprintf(filename, sizeof filename, "%s/%s_dri.so",
 -             dri_driver_path, driverName);
 +             real_dri_driver_path, driverName);
  
-     screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
-     if (screen->driver == NULL) {
-diff --git a/glx/glxdri2.c b/glx/glxdri2.c
-index ed7fb4c..135b1c8 100644
---- a/glx/glxdri2.c
-+++ b/glx/glxdri2.c
-@@ -617,8 +617,11 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
- 
-     __glXInitExtensionEnableBits(screen->glx_enable_bits);
- 
--    snprintf(filename, sizeof filename,
--	     "%s/%s_dri.so", dri_driver_path, driverName);
-+     char *real_dri_driver_path = getenv("XORG_DRI_DRIVER_PATH");
-+     if (!real_dri_driver_path) real_dri_driver_path = dri_driver_path;
-+ 
-+     snprintf(filename, sizeof filename, "%s/%s_dri.so",
-+              real_dri_driver_path, driverName);
- 
-     screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
-     if (screen->driver == NULL) {
-diff --git a/glx/glxdriswrast.c b/glx/glxdriswrast.c
-index 44f658f..8922414 100644
---- a/glx/glxdriswrast.c
-+++ b/glx/glxdriswrast.c
-@@ -458,8 +458,11 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
-     screen->base.swapInterval   = NULL;
-     screen->base.pScreen       = pScreen;
- 
-+    char *real_dri_driver_path = getenv("XORG_DRI_DRIVER_PATH");
-+    if (!real_dri_driver_path) real_dri_driver_path = dri_driver_path;
-+
-     snprintf(filename, sizeof filename,
--	     "%s/%s_dri.so", dri_driver_path, driverName);
-+	     "%s/%s_dri.so", real_dri_driver_path, driverName);
- 
-     screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
-     if (screen->driver == NULL) {
+     driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
+     if (driver == NULL) {
diff --git a/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch b/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch
index 825d09ba1e0c..f5196c60c7c6 100644
--- a/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch
+++ b/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch
@@ -9,7 +9,7 @@ diff -rc xorg-server-X11R7.2-1.2.0-orig/xkb/xkbInit.c xorg-server-X11R7.2-1.2.0/
       }
 +     char *xkbBinDir = getenv("XKB_BINDIR");
 +     if (xkbBinDir)
-+         XkbBinDirectory = _XkbDupString(xkbBinDir);
++         XkbBinDirectory = Xstrdup(xkbBinDir);
       return 0;
   }
   
diff --git a/pkgs/servers/xinetd/default.nix b/pkgs/servers/xinetd/default.nix
index 6f752a7194fe..c841f8431deb 100644
--- a/pkgs/servers/xinetd/default.nix
+++ b/pkgs/servers/xinetd/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "xinetd-2.3.14";
-  
+  name = "xinetd-2.3.15";
+
   src = fetchurl {
     url = "http://www.xinetd.org/${name}.tar.gz";
-    sha256 = "07xws1ydxrrx4xinvfqkc66diwfjh2apxz33xw4hb6k0gihhw3kn";
+    sha256 = "1qsv1al506x33gh92bqa8w21k7mxqrbsrwmxvkj0amn72420ckmz";
   };
 
   meta = {
diff --git a/pkgs/shells/bash-completion/default.nix b/pkgs/shells/bash-completion/default.nix
index d79c9774569b..7e4c0f230155 100644
--- a/pkgs/shells/bash-completion/default.nix
+++ b/pkgs/shells/bash-completion/default.nix
@@ -11,11 +11,6 @@ stdenv.mkDerivation {
     sha256 = "e5a490a4301dfb228361bdca2ffca597958e47dd6056005ef9393a5852af5804";
   };
 
-  postInstall = ''
-    sed -i "$out/share/bash-completion/bash_completion" \
-        -e 's|: .{BASH_COMPLETION_COMPAT_DIR:=.*}|BASH_COMPLETION_COMPAT_DIR="$HOME/.nix-profile/etc/bash_completion.d"|'
-  '';
-
   doCheck = true;
 
   meta = {
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index dc9314f6885c..fb0eed51d56d 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -3,8 +3,8 @@
    compiler. */
 
 {dietlibc, fetchurl, runCommand}:
-   
-   
+
+
 rec {
 
 
@@ -14,7 +14,7 @@ rec {
       inherit gcc;
     };
 
-    
+
   # Add some arbitrary packages to buildInputs for specific packages.
   # Used to override packages in stdenv like Make.  Should not be used
   # for other dependencies.
@@ -65,7 +65,7 @@ rec {
       isDietLibC = true;
     } // {inherit fetchurl;};
 
-    
+
   # Return a modified stdenv that uses klibc to create small
   # statically linked binaries.
   useKlibc = stdenv: klibc: stdenv //
@@ -94,7 +94,7 @@ rec {
       isStatic = true;
     } // {inherit fetchurl;};
 
-    
+
   # Return a modified stdenv that tries to build statically linked
   # binaries.
   makeStaticBinaries = stdenv: stdenv //
@@ -108,7 +108,7 @@ rec {
       isStatic = true;
     } // {inherit fetchurl;};
 
-    
+
   # Return a modified stdenv that builds static libraries instead of
   # shared libraries.
   makeStaticLibraries = stdenv: stdenv //
@@ -120,7 +120,7 @@ rec {
       });
     } // {inherit fetchurl;};
 
-    
+
   # Return a modified stdenv that adds a cross compiler to the
   # builds.
   makeStdenvCross = stdenv: cross: binutilsCross: gccCross: stdenv //
@@ -185,7 +185,7 @@ rec {
       inherit cross gccCross binutilsCross;
     };
 
-    
+
   /* Modify a stdenv so that the specified attributes are added to
      every derivation returned by its mkDerivation function.
 
@@ -202,7 +202,7 @@ rec {
   /* Return a modified stdenv that performs the build under $out/.build
      instead of in $TMPDIR.  Thus, the sources are kept available.
      This is useful for things like debugging or generation of
-     dynamic analysis reports. */ 
+     dynamic analysis reports. */
   keepBuildTree = stdenv:
     addAttrsToDerivation
       { prePhases = "moveBuildDir";
@@ -230,12 +230,12 @@ rec {
               \( -name "*.c" -o -name "*.h" -o -name "*.gcno" \) \
               | xargs rm -f --
 
-            for i in $(find $out/.build/ -name ".tmp_*.gcno"); do 
+            for i in $(find $out/.build/ -name ".tmp_*.gcno"); do
                 mv "$i" "$(echo $i | sed s/.tmp_//)"
             done
           '';
-      } stdenv;          
-      
+      } stdenv;
+
 
   /* Return a modified stdenv that builds packages with GCC's coverage
      instrumentation.  The coverage note files (*.gcno) are stored in
@@ -258,7 +258,7 @@ rec {
             export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -O0 --coverage"
           '';
       }
-      
+
       # Object files instrumented with coverage analysis write
       # runtime coverage data to <path>/<object>.gcda, where <path>
       # is the location where gcc originally created the object
@@ -269,7 +269,7 @@ rec {
       # we need the source code.  So we have to use the
       # `keepBuildTree' adapter as well.
       (cleanupBuildTree (keepBuildTree stdenv));
-      
+
 
   /* Replace the meta.maintainers field of a derivation.  This is useful
      when you want to fork to update some packages without disturbing other
@@ -311,7 +311,7 @@ rec {
         };
     };
 
-    
+
   /* Abort if the license predicate is not verified for a derivation
      declared with mkDerivation.
 
@@ -355,4 +355,16 @@ rec {
           drvPath = validate pkg.drvPath;
         };
     };
+
+
+  /* Modify a stdenv so that it produces debug builds; that is,
+     binaries have debug info, and compiler optimisations are
+     disabled. */
+  keepDebugInfo = stdenv: stdenv //
+    { mkDerivation = args: stdenv.mkDerivation (args // {
+        dontStrip = true;
+        NIX_CFLAGS_COMPILE = toString (args.NIX_CFLAGS_COMPILE or "") + " -g -O0";
+      });
+    };
+
 }
diff --git a/pkgs/stdenv/linux/bootstrap/loongson2f/default.nix b/pkgs/stdenv/linux/bootstrap/loongson2f/default.nix
index a87f07e00ceb..b0ad8d6545d5 100644
--- a/pkgs/stdenv/linux/bootstrap/loongson2f/default.nix
+++ b/pkgs/stdenv/linux/bootstrap/loongson2f/default.nix
@@ -7,7 +7,7 @@
   curl = ./curl.bz2;
 
   bootstrapTools = {
-    url = "file:///root/cross-bootstrap-tools.cpio.bz2";
+    url = "http://nixos.org/tarballs/stdenv-linux/loongson2f/r22849/cross-bootstrap-tools.cpio.bz2";
     sha256 = "00aavbk76qjj2gdlmpaaj66r8nzl4d7pyl8cv1gigyzgpbr5vv3j";
   };
 }
diff --git a/pkgs/tools/X11/xdg-utils/default.nix b/pkgs/tools/X11/xdg-utils/default.nix
index cc166ba20d99..df5d59c7b57c 100644
--- a/pkgs/tools/X11/xdg-utils/default.nix
+++ b/pkgs/tools/X11/xdg-utils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, file }:
 
 stdenv.mkDerivation rec {
   name = "xdg-utils-1.0.2";
@@ -7,6 +7,10 @@ stdenv.mkDerivation rec {
     url = "http://portland.freedesktop.org/download/${name}.tgz";
     sha256 = "1b019d3r1379b60p33d6z44kx589xjgga62ijz9vha95dg8vgbi1";
   };
+
+  postInstall = ''
+    substituteInPlace $out/bin/xdg-mime --replace /usr/bin/file ${file}/bin/file
+  '';
   
   meta = {
     homepage = http://portland.freedesktop.org/wiki/;
diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix
index 36aae0684385..f74463b10635 100644
--- a/pkgs/tools/admin/tigervnc/default.nix
+++ b/pkgs/tools/admin/tigervnc/default.nix
@@ -3,23 +3,25 @@
 , fontDirectories, fontutil, libgcrypt, gnutls, pam, flex, bison
 , fixesproto, damageproto, xcmiscproto, bigreqsproto, randrproto, renderproto
 , fontsproto, videoproto, compositeproto, scrnsaverproto, resourceproto
-, libxkbfile, libXfont, libpciaccess
+, libxkbfile, libXfont, libpciaccess, cmake, libjpeg_turbo, libXft, fltk, libXinerama
+, xineramaproto, libXcursor, fetchsvn, libxcrypt
 }:
 
-
-
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "tigervnc-1.1.0";
+  # Release version = "1.2.0";
+  revision = 5005;
+  version = "r${toString revision}";
+  name = "tigervnc-${version}";
   
-  src = fetchurl {
-    url = "mirror://sourceforge/tigervnc/${name}.tar.gz";
-    sha256 = "1x30s12fwv9rk0fnwwn631qq0d8rpjjx53bvzlx8c91cba170jsr";
+  src = fetchsvn {
+    # Release url = "mirror://sourceforge/tigervnc/${version}/${name}.tar.gz";
+    url = "https://tigervnc.svn.sourceforge.net/svnroot/tigervnc/trunk";
+    rev = revision;
+    sha256 = "2401e0ede9a2d50a37caeb094e5e832d24878749239578f44ae2acd42de01b43";
   };
 
-  configureFlags = "--enable-nls";
-
   inherit fontDirectories;
 
   patchPhase = ''
@@ -41,7 +43,11 @@ stdenv.mkDerivation rec {
   # this:  ${concatStringsSep " " (map (f: "${f}") xorgserver.patches)}
   xorgPatches = xorgserver.patches;
 
+  dontUseCmakeBuildDir = "yes";
+
   postBuild = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fpermissive -Wno-error=int-to-pointer-cast"
+
     # Build Xvnc
     tar xf ${xorgserver.src}
     cp -R xorg*/* unix/xserver
@@ -50,19 +56,13 @@ stdenv.mkDerivation rec {
     do
       patch -p1 < $a
     done
-    patch -p1 < ../xserver18.patch
+    patch -p1 < ../xserver113.patch
     autoreconf -vfi
-    ./configure $configureFlags --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 --prefix="$out"
     make TIGERVNC_SRCDIR=`pwd`/../..
     popd
   '';
 
-  # I don't know why I need this; it may have to do with this problem:
-  # http://bugs.gentoo.org/show_bug.cgi?id=142852
-  preInstall = ''
-    sed -i -e s,@MKINSTALLDIRS@,`pwd`/mkinstalldirs, po/Makefile
-  '';
-
   postInstall = ''
     pushd unix/xserver
     make TIGERVNC_SRCDIR=`pwd`/../.. install
@@ -72,17 +72,20 @@ stdenv.mkDerivation rec {
     buildInputs = (map (x : x.hostDrv) (buildInputs ++ [
       fixesproto damageproto xcmiscproto bigreqsproto randrproto renderproto
       fontsproto videoproto compositeproto scrnsaverproto resourceproto
-      libxkbfile libXfont libpciaccess
+      libxkbfile libXfont libpciaccess xineramaproto
     ]));
   };
 
   buildInputs =
-    [ libX11 libXext gettext libICE libXtst libXi libSM
-      nasm libgcrypt gnutls pam pixman
+    [ libX11 libXext gettext libICE libXtst libXi libSM libXft
+      nasm libgcrypt gnutls pam pixman libjpeg_turbo fltk xineramaproto
+      libXinerama libXcursor libxcrypt
     ];
   
   buildNativeInputs = 
-    [ autoconf automake cvs utilmacros fontutil libtool flex bison ] 
+    [ autoconf automake cvs utilmacros fontutil libtool flex bison 
+      cmake
+    ] 
       ++ xorgserver.buildNativeInputs;
 
   propagatedBuildNativeInputs = xorgserver.propagatedBuildNativeInputs;
diff --git a/pkgs/tools/archivers/cabextract/default.nix b/pkgs/tools/archivers/cabextract/default.nix
index 9e11a1bf761e..79be818bfb39 100644
--- a/pkgs/tools/archivers/cabextract/default.nix
+++ b/pkgs/tools/archivers/cabextract/default.nix
@@ -1,10 +1,11 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "cabextract-1.3";
+  name = "cabextract-1.4";
+
   src = fetchurl {
-    url = meta.homepage + name + ".tar.gz";
-    sha256 = "00f0qcrz9f2gwvm98qglbrjpwrzwrfdgh0hck6im93dl6lx3hr6l";
+    url = "http://www.cabextract.org.uk/${name}.tar.gz";
+    sha256 = "07p49053a727nwnw7vnx1bpj4xqa43cvx8mads2146fpqai8pfpp";
   };
 
   meta = {
diff --git a/pkgs/tools/archivers/p7zip/default.nix b/pkgs/tools/archivers/p7zip/default.nix
index bb9743e8e5d9..767e85d67733 100644
--- a/pkgs/tools/archivers/p7zip/default.nix
+++ b/pkgs/tools/archivers/p7zip/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "p7zip-9.13";
+  name = "p7zip-9.20.1";
   
   src = fetchurl {
-    url = mirror://sourceforge/p7zip/p7zip_9.13_src_all.tar.bz2;
-    sha256 = "08yr0cfbjx60r1ia7vhphzvc3gax62xhgsn3vdm7sdmxxai0z77w";
+    url = mirror://sourceforge/p7zip/p7zip_9.20.1_src_all.tar.bz2;
+    sha256 = "10j7rc1nzdp7vvcpc3340yi3qw7abby4szv8zkwh10d0zizpwma9";
   };
 
   preConfigure =
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
       buildFlags=all3
     '';
 
+  enableParallelBuilding = true;
+
   meta = {
     homepage = http://p7zip.sourceforge.net/;
     description = "A port of the 7-zip archiver";
diff --git a/pkgs/tools/archivers/sharutils/default.nix b/pkgs/tools/archivers/sharutils/default.nix
index bbf585d058bb..7346b8e4e058 100644
--- a/pkgs/tools/archivers/sharutils/default.nix
+++ b/pkgs/tools/archivers/sharutils/default.nix
@@ -20,6 +20,10 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  crossAttrs = {
+    patches = [ ./sharutils-4.11.1-cross-binary-mode-popen.patch ];
+  };
+
   meta = {
     description = "GNU Sharutils, tools for remote synchronization and `shell archives'";
 
diff --git a/pkgs/tools/archivers/sharutils/sharutils-4.11.1-cross-binary-mode-popen.patch b/pkgs/tools/archivers/sharutils/sharutils-4.11.1-cross-binary-mode-popen.patch
new file mode 100644
index 000000000000..f05eab251d4c
--- /dev/null
+++ b/pkgs/tools/archivers/sharutils/sharutils-4.11.1-cross-binary-mode-popen.patch
@@ -0,0 +1,63 @@
+diff -Naur sharutils-4.11.1.orig/configure sharutils-4.11.1/configure
+--- sharutils-4.11.1.orig/configure	2011-06-20 11:07:40.000000000 -0400
++++ sharutils-4.11.1/configure	2011-06-20 11:09:30.000000000 -0400
+@@ -26962,33 +26962,33 @@
+   CATALOGS="$new_CATALOGS"
+ fi
+ 
+-if test "$cross_compiling" = yes; then :
+-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error $? "cannot run test program while cross compiling
+-See \`config.log' for more details" "$LINENO" 5; }
+-else
+-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h.  */
+-
+-int
+-main ()
+-{
+-    FILE * fp = popen ("date", "rb");
+-    exit (fp == NULL);
+-  ;
+-  return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_run "$LINENO"; then :
+-
++#if test "$cross_compiling" = yes; then :
++#  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++#$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++#as_fn_error $? "cannot run test program while cross compiling
++#See \`config.log' for more details" "$LINENO" 5; }
++#else
++#  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++#/* end confdefs.h.  */
++#
++#int
++#main ()
++#{
++#    FILE * fp = popen ("date", "rb");
++#    exit (fp == NULL);
++#  ;
++#  return 0;
++#}
++#_ACEOF
++#if ac_fn_c_try_run "$LINENO"; then :
++#
+ $as_echo "#define BINARY_MODE_POPEN 1" >>confdefs.h
+-
+-
+-fi
+-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+-fi
++#
++#
++#fi
++#rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++#  conftest.$ac_objext conftest.beam conftest.$ac_ext
++#fi
+ 
+ 
+ 
diff --git a/pkgs/tools/archivers/zip/default.nix b/pkgs/tools/archivers/zip/default.nix
index c7bddfd6de2c..2e3f111aba46 100644
--- a/pkgs/tools/archivers/zip/default.nix
+++ b/pkgs/tools/archivers/zip/default.nix
@@ -6,7 +6,10 @@ stdenv.mkDerivation {
   name = "zip-3.0";
 
   src = fetchurl {
-    url = ftp://ftp.info-zip.org/pub/infozip/src/zip30.tgz;
+    urls = [
+      ftp://ftp.info-zip.org/pub/infozip/src/zip30.tgz
+      http://pkgs.fedoraproject.org/repo/pkgs/zip/zip30.tar.gz/7b74551e63f8ee6aab6fbc86676c0d37/zip30.tar.gz
+    ];
     sha256 = "0sb3h3067pzf3a7mlxn1hikpcjrsvycjcnj9hl9b1c3ykcgvps7h";
   };
 
diff --git a/pkgs/tools/backup/obnam/default.nix b/pkgs/tools/backup/obnam/default.nix
index 119633e06387..07b86c2e41ed 100644
--- a/pkgs/tools/backup/obnam/default.nix
+++ b/pkgs/tools/backup/obnam/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, python, pythonPackages, pycrypto, attr }:
 
 pythonPackages.buildPythonPackage {
-  name = "obnam-1.1";
+  name = "obnam-1.2";
   namePrefix = "";
 
   src = fetchurl rec {
-    url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_1.1.orig.tar.gz";
-    sha256 = "763693e5ea4e8d6a63b1a16c2aacd5fe0dc97abc687c8f0dde5840f77d549349";
+    url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_1.2.orig.tar.gz";
+    sha256 = "33457452726d5c393d98c565b8e1ab3ac11276cc42bf67c4eee6c4e4ac9976d6";
   };
 
   buildInputs = [ pythonPackages.sphinx attr ];
diff --git a/pkgs/tools/backup/tarsnap/default.nix b/pkgs/tools/backup/tarsnap/default.nix
new file mode 100644
index 000000000000..bcf03356c683
--- /dev/null
+++ b/pkgs/tools/backup/tarsnap/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, openssl, zlib, e2fsprogs }:
+
+stdenv.mkDerivation {
+  name = "tarsnap-1.0.33";
+
+  src = fetchurl {
+    url = "https://www.tarsnap.com/download/tarsnap-autoconf-1.0.33.tgz";
+    sha256 = "0z8bmra3xms9vcgvkiy9fy1j97192z6w7n658j6zr5cniid8438c";
+  };
+
+  buildInputs = [ openssl zlib e2fsprogs ];
+
+  meta = {
+    description = "Online backups for the truly paranoid";
+    homepage = "http://www.tarsnap.com/";
+    maintainers = with stdenv.lib.maintainers; [roconnor];
+  };
+}
diff --git a/pkgs/tools/bluetooth/obexd/default.nix b/pkgs/tools/bluetooth/obexd/default.nix
index 215ecb167bad..1cf3918c21fc 100644
--- a/pkgs/tools/bluetooth/obexd/default.nix
+++ b/pkgs/tools/bluetooth/obexd/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, dbus, openobex, bluez, libical }:
    
 stdenv.mkDerivation rec {
-  name = "obexd-0.40";
+  name = "obexd-0.47";
    
   src = fetchurl {
     url = "mirror://kernel/linux/bluetooth/${name}.tar.gz";
-    sha256 = "0jz0ldg2wvdzzl639xzf76hqwj23svlg3zv1r8nc3hik3pgs6h2l";
+    sha256 = "15zw008098qr5az9y1c010yv8gkw1f6hi3mnfcvpmwxwh23kfh4i";
   };
 
   buildInputs = [ glib dbus.libs openobex bluez libical ];
diff --git a/pkgs/tools/filesystems/btrfsprogs/default.nix b/pkgs/tools/filesystems/btrfsprogs/default.nix
index 861bacd46c2a..4c1963f46332 100644
--- a/pkgs/tools/filesystems/btrfsprogs/default.nix
+++ b/pkgs/tools/filesystems/btrfsprogs/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchgit, zlib, libuuid, acl, attr, e2fsprogs }:
 
-let version = "0.19-20120328"; in
+let version = "0.20pre20121005"; in
 
 stdenv.mkDerivation {
   name = "btrfs-progs-${version}";
 
   src = fetchgit {
     url = "git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git";
-    rev = "1957076ab4fefa47b6efed3da541bc974c83eed7";
-    sha256 = "566d863c5500652e999d0d6b823365fb06f2f8f9523e65e69eaa3e993e9b26e1";
+    rev = "91d9eec1ff044394f2b98ee7fcb76713dd33b994";
+    sha256 = "72d4cd4fb23d876a17146d6231ad40a2151fa47c648485c54cf7478239b43764";
   };
 
   buildInputs = [ zlib libuuid acl attr e2fsprogs ];
diff --git a/pkgs/tools/filesystems/dosfstools/default.nix b/pkgs/tools/filesystems/dosfstools/default.nix
index 21e2ceea9dd8..b0ee47e23b56 100644
--- a/pkgs/tools/filesystems/dosfstools/default.nix
+++ b/pkgs/tools/filesystems/dosfstools/default.nix
@@ -4,7 +4,10 @@ stdenv.mkDerivation rec {
   name = "dosfstools-3.0.11";
 
   src = fetchurl {
-    url = "http://www.daniel-baumann.ch/software/dosfstools/${name}.tar.bz2";
+    urls = [
+      "http://www.daniel-baumann.ch/software/dosfstools/${name}.tar.bz2"
+      "http://pkgs.fedoraproject.org/repo/pkgs/dosfstools/${name}.tar.bz2/8d2211d5bd813164e20740e7c852aa06/${name}.tar.bz2"
+    ];
     sha256 = "1a6rzjy82f6579ywaln33g1wc7k8gbgjdss9q2q8daplac7pmcll";
   };
 
diff --git a/pkgs/tools/filesystems/mtdutils/default.nix b/pkgs/tools/filesystems/mtdutils/default.nix
index 9e7e3a16e01c..4cb09d53adcf 100644
--- a/pkgs/tools/filesystems/mtdutils/default.nix
+++ b/pkgs/tools/filesystems/mtdutils/default.nix
@@ -1,22 +1,19 @@
 {stdenv, fetchgit, libuuid, lzo, zlib, acl}:
 
 let
-  version = "1.3.1";
+  version = "1.5.0";
 in
 stdenv.mkDerivation {
   name = "mtd-utils-${version}";
 
   src = fetchgit {
     url = git://git.infradead.org/mtd-utils.git;
-    rev = "v" + version;
-    sha256 = "0pjjs9x03bgvphqwlw99c2cpkpjsx0vkqi79vjl7fcb9pyrghgd1";
+    rev = "refs/tags/v" + version;
+    sha256 = "cc645c0ec28083431b11f3b38f9f7759378d89e11047a883529f703e1b6c1cce";
   };
 
   patchPhase = ''
     sed -i -e s,/usr/local,, -e s,/usr,$out, common.mk
-
-    # gcc 4.5.1 issues a warning where 4.4.3 did not
-    sed -i -e s/-Werror// ubi-utils/old-utils/Makefile
   '';
 
   buildInputs = [ libuuid lzo zlib acl ];
diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix
index bdde709c2c22..e9baac43cbdd 100644
--- a/pkgs/tools/graphics/asymptote/default.nix
+++ b/pkgs/tools/graphics/asymptote/default.nix
@@ -3,11 +3,11 @@ a @ {
   boehmgc,mesa,ncurses,readline,gsl,libsigsegv,
   python,zlib, perl, texLive, texinfo, lzma,
 
-  noDepEntry, fullDepEntry, fetchUrlFromSrcInfo, 
+  noDepEntry, fullDepEntry, fetchUrlFromSrcInfo,
   lib,
 
   ...}:
-let 
+let
   s = import ./src-for-default.nix;
   buildInputs = with a; [
     freeglut ghostscriptX imagemagick fftw boehmgc
@@ -54,8 +54,9 @@ rec {
     description = "A tool for programming graphics intended to replace Metapost";
     maintainers = [
       a.lib.maintainers.raskin
+      a.lib.maintainers.simons
     ];
-    platforms = with a.lib.platforms; 
+    platforms = with a.lib.platforms;
       linux;
   };
 }
diff --git a/pkgs/tools/graphics/asymptote/src-for-default.nix b/pkgs/tools/graphics/asymptote/src-for-default.nix
index e9d822904afc..277393283abb 100644
--- a/pkgs/tools/graphics/asymptote/src-for-default.nix
+++ b/pkgs/tools/graphics/asymptote/src-for-default.nix
@@ -1,7 +1,7 @@
 rec {
-   version="2.16";
-   name="asymptote-2.16";
-   hash="1yj8dx320s1ypqbpb2116y4kkc8lwg5q4d49n992ds3g59w98djj";
+   version="2.20";
+   name="asymptote-2.20";
+   hash="0ji45v0d9jps8clsl86pvmr22acci3f0ciicmyzak6dbczqyrj80";
    url="http://downloads.sourceforge.net/project/asymptote/${version}/asymptote-${version}.src.tgz";
-   advertisedUrl="http://downloads.sourceforge.net/project/asymptote/2.16/asymptote-2.16.src.tgz";
+   advertisedUrl="http://downloads.sourceforge.net/project/asymptote/2.20/asymptote-2.20.src.tgz";
 }
diff --git a/pkgs/tools/graphics/graphviz/default.nix b/pkgs/tools/graphics/graphviz/default.nix
index 4edec43e243c..db4d766b7605 100644
--- a/pkgs/tools/graphics/graphviz/default.nix
+++ b/pkgs/tools/graphics/graphviz/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
       pango gd gts
     ] ++ stdenv.lib.optionals (xlibs != null) [ xlibs.xlibs xlibs.libXrender ];
 
+  patches = [ ./fix-broken-memcp-signature.patch ];
+
   configureFlags =
     [ "--with-pngincludedir=${libpng}/include"
       "--with-pnglibdir=${libpng}/lib"
diff --git a/pkgs/tools/graphics/graphviz/fix-broken-memcp-signature.patch b/pkgs/tools/graphics/graphviz/fix-broken-memcp-signature.patch
new file mode 100644
index 000000000000..e93728d4850e
--- /dev/null
+++ b/pkgs/tools/graphics/graphviz/fix-broken-memcp-signature.patch
@@ -0,0 +1,15 @@
+diff -ubr graphviz-2.28.0-orig/lib/cdt/cdt.h graphviz-2.28.0-new/lib/cdt/cdt.h
+--- graphviz-2.28.0-orig/lib/cdt/cdt.h	2012-11-11 20:05:55.674397100 +0100
++++ graphviz-2.28.0-new/lib/cdt/cdt.h	2012-11-11 20:06:28.069511092 +0100
+@@ -238,11 +238,6 @@
+ extern int		dtstat _ARG_((Dt_t*, Dtstat_t*, int));
+ extern unsigned int	dtstrhash _ARG_((unsigned int, Void_t*, int));
+ 
+-#if !_PACKAGE_ast
+-extern int		memcmp _ARG_((const Void_t*, const Void_t*, size_t));
+-extern int		strcmp _ARG_((const char*, const char*));
+-#endif
+-
+ #undef extern
+ _END_EXTERNS_
+ 
diff --git a/pkgs/tools/graphics/plotutils/debian-patches.nix b/pkgs/tools/graphics/plotutils/debian-patches.nix
index d72974445e6d..0615d1f52e1a 100644
--- a/pkgs/tools/graphics/plotutils/debian-patches.nix
+++ b/pkgs/tools/graphics/plotutils/debian-patches.nix
@@ -1,6 +1,6 @@
 # Generated by debian-patches.sh from debian-patches.txt
 let
-  prefix = "http://patch-tracker.debian.org/patch/series/dl/plotutils/2.6-2";
+  prefix = "http://patch-tracker.debian.org/patch/series/dl/plotutils/2.6-3";
 in
 [
   {
diff --git a/pkgs/tools/misc/debian-devscripts/default.nix b/pkgs/tools/misc/debian-devscripts/default.nix
new file mode 100644
index 000000000000..ddf30f342d15
--- /dev/null
+++ b/pkgs/tools/misc/debian-devscripts/default.nix
@@ -0,0 +1,36 @@
+{stdenv, fetchurl, perl, CryptSSLeay, LWP, unzip, xz, dpkg, TimeDate, DBFile
+  , FileDesktopEntry, libxslt, docbook_xsl, python, setuptools, makeWrapper
+}:
+stdenv.mkDerivation rec {
+  version = "2.12.4";
+  name = "debian-devscripts-${version}";
+  src = fetchurl {
+    url = "mirror://debian/pool/main/d/devscripts/devscripts_${version}.tar.gz";
+    sha256 = "34bcbec78bd4fe34d9f1326b9d1477ff2410e20e2dca6b7bfbf2bf92dbb83904";
+  };
+  buildInputs = [ perl CryptSSLeay LWP unzip xz dpkg TimeDate DBFile 
+    FileDesktopEntry libxslt python setuptools makeWrapper ];
+  preConfigure = ''
+    export PERL5LIB="$PERL5LIB''${PERL5LIB:+:}${dpkg}";
+    sed -e "s@/usr/share/sgml/[^ ]*/manpages/docbook.xsl@${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl@" -i scripts/Makefile
+    sed -e 's/ translated_manpages//; s/--install-layout=deb//; s@--root="[^ ]*"@--prefix="'"$out"'"@' -i Makefile */Makefile
+    tgtpy="$out/lib/${python.libPrefix}/site-packages"
+    mkdir -p "$tgtpy"
+    export PYTHONPATH="$PYTHONPATH''${PYTHONPATH:+:}$tgtpy"
+    sed -re "s@/usr( |$|/)@$out\\1@" -i Makefile* */Makefile*
+    sed -re "s@/etc( |$|/)@$out/etc\\1@" -i Makefile* */Makefile*
+  '';
+  postInstall = ''
+    sed -re 's@(^|[ !`"])/bin/bash@\1${stdenv.shell}@g' -i "$out/bin"/*
+    for i in "$out/bin"/*; do
+      wrapProgram "$i" \
+        --prefix PERL5LIB : "$PERL5LIB" \
+        --prefix PERL5LIB : "$out/share/devscripts"
+    done
+  '';
+  meta = {
+    description = ''Debian package maintenance scripts'';
+    license = "GPL (various)"; # Mix of public domain, Artistic+GPL, GPL1+, GPL2+, GPL3+, and GPL2-only...
+    maintainers = with stdenv.lib.maintainers; [raskin];
+  };
+}
diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix
index 33a1fc839ce0..388cfa14e41e 100644
--- a/pkgs/tools/misc/debootstrap/default.nix
+++ b/pkgs/tools/misc/debootstrap/default.nix
@@ -1,55 +1,65 @@
-{ stdenv, fetchurl, dpkg, gettext, gawk, perl, wget }:
+{ stdenv, fetchurl, dpkg, gettext, gawk, perl, wget, coreutils, fakeroot }:
 
 let
 
-  devices = fetchurl {
-    url = mirror://gentoo/distfiles/devices.tar.gz;
-    sha256 = "0j4yhajmlgvbksr2ij0dm7jy3q52j3wzhx2fs5lh05i1icygk4qd";
+# USAGE like this: debootstrap sid /tmp/target-chroot-directory
+
+# There is also cdebootstrap now. Is that easier to maintain?
+
+  makedev = stdenv.mkDerivation {
+    name = "makedev-for-debootstrap";
+    src = fetchurl {
+            url = mirror://debian/pool/main/m/makedev/makedev_2.3.1.orig.tar.gz;
+            sha256 = "1yhxlj2mhn1nqkx1f0sn0bl898nf28arxxa4lgp7hdrb5cpp36c5";
+    };
+    patches = [
+      (fetchurl {
+       url = "http://ftp.de.debian.org/debian/pool/main/m/makedev/makedev_2.3.1-89.diff.gz";
+       sha256 = "1zbifw2jkq6471fb67y893nq4lq009xbfbi57jbjwxnhqmrppcy9";
+       })
+    ];
+    # TODO install man
+    installPhase = ''
+      ensureDir $out/sbin
+      ls -l
+      t=$out/sbin/MAKEDEV
+      cp MAKEDEV $t
+      chmod +x $t
+    '';
   };
   
 in
 
 stdenv.mkDerivation {
-  name = "debootstrap-1.0.10lenny";
+
+  name = "debootstrap-1.0.42";
 
   src = fetchurl {
-    # I'd like to use the source. However it's lacking the lanny script ?
-    url = mirror://debian/pool/main/d/debootstrap/debootstrap_1.0.10lenny1_all.deb;
-    sha256 = "a70af8e3369408ce9d6314fb5219de73f9523b347b75a3b07ee17ea92c445051";
+    # git clone git://git.debian.org/d-i/debootstrap.git
+    # I'd like to use the source. However it's lacking the lanny script ? (still true?)
+    url = http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.42.tar.gz;
+    sha256 = "0a5azl22wz1q92b2c91zlpz6krd7wqyi63yk87vyczp363ml0nz0";
   };
-  
+
   buildInputs = [ dpkg gettext gawk perl ];
 
-  unpackPhase = ''
-    dpkg-deb --extract "$src" .
-  '';
-  
   buildPhase = ":";
 
-  patches = [
-    # replace /usr/* and /sbin/* executables by @executable@ so that they can be replaced by substitute
-    # Be careful not to replace code being run in the debian chroot !
-    ./subst.patch
-  ];
-
-  # from deb 
+  # If you have to update the patch for functions a vim regex like this
+  # can help you identify which lines are used to write scripts on TARGET and
+  # which should /bin/ paths should be replaced:
+  # \<echo\>\|\/bin\/\|^\s*\<cat\>\|EOF\|END
   installPhase = ''
-    cp -r . $out; cd $out
-    t=bin/debootstrap
-    mkdir -p bin man/man8
-    cat >> $t << EOF
-    #!/bin/sh
-    export DEBOOTSTRAP_DIR=$out/usr/share/debootstrap
-    # mount and other tools must be found in chroot. So add default debain paths!
-    # TODO only add paths which are required by the scripts!
-    export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
-    $out/usr/sbin/debootstrap "\$@"
-    EOF
-    chmod +x $t
-    mv usr/share/man/man8/debootstrap.8.gz man/man8
 
-    set -x
-    for file in usr/share/debootstrap/functions usr/sbin/debootstrap; do
+    sed -i \
+      -e 's@/usr/bin/id@id@' \
+      -e 's@/usr/bin/dpkg@${dpkg}/bin/dpkg@' \
+      -e 's@/usr/bin/sha@${coreutils}/bin/sha@' \
+      -e 's@/bin/sha@${coreutils}/bin/sha@' \
+      debootstrap
+
+
+    for file in functions debootstrap; do
       substituteInPlace "$file" \
         --subst-var-by gunzip "$(type -p gunzip)" \
         --subst-var-by bunzip "$(type -p bunzip)" \
@@ -61,28 +71,36 @@ stdenv.mkDerivation {
         --subst-var-by uname "$(type -p uname)" \
         --subst-var-by wget "${wget}/bin/wget"
     done
-  '';
 
-  /* build from source:
-  installPhase = ''
-    cp ${devices} devices.tar.gz
-    mkdir -p $out/{bin,man/man8};
-    cp debootstrap.8 $out/man/man8
+
     sed -i  \
-      -e 's@-o root@@'   \
-      -e 's@-g root@@'   \
-      -e 's@chown@true@' \
-      Makefile
-    make pkgdetails debootstrap-arch
-    make DESTDIR="''\${out}" install-arch
-    t=$out/bin/debootstrap
-    cat >> $t << EOF
+      -e 's@\<wget\>@${wget}/bin/wget@' \
+      functions
+
+    d=$out/share/debootstrap
+    ensureDir $out/{share/debootstrap,bin}
+
+    ${fakeroot}/bin/fakeroot -- make devices.tar.gz MAKEDEV=${makedev}/sbin/MAKEDEV
+
+    cp -r . $d
+
+    cat >> $out/bin/debootstrap << EOF
     #!/bin/sh
-    DEBOOTSTRAP_DIR=$out/usr/share/debootstrap $out/usr/sbin/debootstrap "\$@"
+    export DEBOOTSTRAP_DIR="''${DEBOOTSTRAP_DIR:-$d}"
+    # mount and other tools must be found in chroot. So add default debain paths!
+    # TODO only add paths which are required by the scripts!
+    export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+    exec $d/debootstrap "\$@"
     EOF
-    chmod +x $t
+    chmod +x $out/bin/debootstrap
+
+    ensureDir $out/man/man8
+    mv debootstrap.8 $out/man/man8
   '';
-  */
+
+  passthru = {
+    inherit makedev;
+  };
 
   meta = { 
     description = "Tool to create a Debian system in a chroot";
diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix
index 4e62462b8b35..d7e88ec1a8cd 100644
--- a/pkgs/tools/misc/file/default.nix
+++ b/pkgs/tools/misc/file/default.nix
@@ -1,5 +1,5 @@
 {stdenv, fetchurl, zlib}:
- 
+
 stdenv.mkDerivation rec {
   name = "file-5.11";
 
diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix
index e85e8de3dd84..fae10a10a2ea 100644
--- a/pkgs/tools/misc/grub/2.0x.nix
+++ b/pkgs/tools/misc/grub/2.0x.nix
@@ -55,6 +55,8 @@ stdenv.mkDerivation rec {
            -e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g"
     '';
 
+  patches = [ ./fix-bash-completion.patch ];
+
   configureFlags =
     let arch = if stdenv.system == "i686-linux" then "i386"
                else if stdenv.system == "x86_64-linux" then "x86_64"
diff --git a/pkgs/tools/misc/grub/fix-bash-completion.patch b/pkgs/tools/misc/grub/fix-bash-completion.patch
new file mode 100644
index 000000000000..97cecdce373f
--- /dev/null
+++ b/pkgs/tools/misc/grub/fix-bash-completion.patch
@@ -0,0 +1,24 @@
+diff -ubr grub-2.00-orig/util/bash-completion.d/grub-completion.bash.in grub-2.00/util/bash-completion.d/grub-completion.bash.in
+--- grub-2.00-orig/util/bash-completion.d/grub-completion.bash.in	2012-10-16 19:02:36.342733957 +0200
++++ grub-2.00/util/bash-completion.d/grub-completion.bash.in	2012-10-16 19:04:48.262733941 +0200
+@@ -17,6 +17,12 @@
+ # along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
+ # bash completion for grub
+ 
++have()
++{
++    unset -v have
++    _have $1 && have=yes
++}
++
+ __grub_dir() {
+     local i c=1 boot_dir
+ 
+@@ -479,6 +485,7 @@
+ have ${__grub_script_check_program} && \
+  complete -F _grub_script_check -o filenames ${__grub_script_check_program}
+ 
++unset -f have
+ 
+ # Local variables:
+ # mode: shell-script
diff --git a/pkgs/tools/misc/gsmartcontrol/default.nix b/pkgs/tools/misc/gsmartcontrol/default.nix
new file mode 100644
index 000000000000..60003b3b5d53
--- /dev/null
+++ b/pkgs/tools/misc/gsmartcontrol/default.nix
@@ -0,0 +1,23 @@
+{ fetchurl, stdenv, smartmontools, gtk, gtkmm, libglademm, pkgconfig, pcre }:
+
+stdenv.mkDerivation rec {
+  version="0.8.7";
+  name = "gsmartcontrol";
+
+  src = fetchurl {
+    url = "http://artificialtime.com/gsmartcontrol/gsmartcontrol-${version}.tar.bz2";
+    sha256 = "1ipykzqpfvlr84j38hr7q2cag4imrn1gql10slp8bfrs4h1si3vh";
+  };
+
+  buildInputs = [ smartmontools gtk gtkmm libglademm pkgconfig pcre ];
+
+  #installTargets = "install datainstall";
+
+  meta = {
+    description = "GSmartControl is a graphical user interface for smartctl (from smartmontools package), which is a tool for querying and controlling SMART (Self-Monitoring, Analysis, and Reporting Technology) data on modern hard disk drives.";
+    homepage = http://gsmartcontrol.berlios.de;
+    license = "GPLv2+";
+    maintainers = with stdenv.lib.maintainers; [qknight];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/tools/misc/jdiskreport/builder.sh b/pkgs/tools/misc/jdiskreport/builder.sh
index 1e73b674c157..cdc5f94bde0c 100644
--- a/pkgs/tools/misc/jdiskreport/builder.sh
+++ b/pkgs/tools/misc/jdiskreport/builder.sh
@@ -2,13 +2,14 @@ source $stdenv/setup
 
 unzip $src
 
-mkdir -p $out/jars
-mv */*.jar $out/jars
-jar=$(ls $out/jars/jdiskreport-*.jar)
+jar=$(ls */*.jar)
+
+mkdir -p $out/lib/java
+mv $jar $out/lib/java
 
 mkdir -p $out/bin
 cat > $out/bin/jdiskreport <<EOF
 #! $SHELL -e
-exec $jdk/bin/java -jar $jar
+exec $jre/bin/java -jar $out/lib/java/$(basename $jar)
 EOF
 chmod +x $out/bin/jdiskreport
diff --git a/pkgs/tools/misc/jdiskreport/default.nix b/pkgs/tools/misc/jdiskreport/default.nix
index 7a4de418a8c3..2457668d5b02 100644
--- a/pkgs/tools/misc/jdiskreport/default.nix
+++ b/pkgs/tools/misc/jdiskreport/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchurl, unzip, jdk }:
+{ stdenv, fetchurl, unzip, jre }:
 
 stdenv.mkDerivation rec {
   name = "jdiskreport-1.4.0";
-  
+
   builder = ./builder.sh;
-  
+
   src = fetchurl {
     url = http://www.jgoodies.com/download/jdiskreport/jdiskreport-1_4_0.zip;
     sha256 = "0kx43480p89wlyza94lzqygqfafsdf964syc2c24q28y42psz4kd";
   };
-  
+
   buildInputs = [ unzip ];
-  
-  inherit jdk;
+
+  inherit jre;
 
   meta = {
     homepage = http://www.jgoodies.com/freeware/jdiskreport/;
     description = "A graphical utility to visualize disk usage";
     license = "unfree-redistributable";
-  };  
+  };
 }
diff --git a/pkgs/tools/misc/picocom/default.nix b/pkgs/tools/misc/picocom/default.nix
new file mode 100644
index 000000000000..bb08091ad57a
--- /dev/null
+++ b/pkgs/tools/misc/picocom/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "picocom-1.7";
+
+  src = fetchurl {
+    url = "http://picocom.googlecode.com/files/${name}.tar.gz";
+    sha256 = "17hjq713naq02xar711aw24qqd52p591mj1h5n97cni1ga7irwyh";
+  };
+
+  installPhase = ''
+    ensureDir $out/bin $out/share/man/man8
+    cp picocom $out/bin
+    cp picocom.8 $out/share/man/man8
+  '';
+
+  meta = {
+    description = "Minimal dumb-terminal emulation program";
+    homepage = http://code.google.com/p/picocom/;
+    license = "GPLv2+";
+    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  };
+}
diff --git a/pkgs/tools/misc/plowshare/default.nix b/pkgs/tools/misc/plowshare/default.nix
index 5e684cfa377f..4634585cbd26 100644
--- a/pkgs/tools/misc/plowshare/default.nix
+++ b/pkgs/tools/misc/plowshare/default.nix
@@ -1,16 +1,14 @@
 { stdenv, fetchurl, makeWrapper, curl }:
 
-let
+stdenv.mkDerivation rec {
 
-  v  = "20120807";
+  name = "plowshare-${version}";
 
-in stdenv.mkDerivation {
-
-  name = "plowshare-git${v}";
+  version = "20120916";
 
   src = fetchurl {
-    url = "http://plowshare.googlecode.com/files/plowshare-snapshot-git${v}.tar.gz";
-    sha256 = "0clryfssaa4rjvsy760p51ppq1275lwvhm9jh3g4mi973xv4n8si";
+    url = "http://plowshare.googlecode.com/files/plowshare-snapshot-git${version}.tar.gz";
+    sha256 = "eccdb28d49ac47782abc8614202b3a88426cd587371641ecf2ec008880dc6067";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/refind/default.nix b/pkgs/tools/misc/refind/default.nix
index bd0a7040adff..1fbb177afa06 100644
--- a/pkgs/tools/misc/refind/default.nix
+++ b/pkgs/tools/misc/refind/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchurl, gnu_efi, unzip }:
 
-let version = "0.2.3"; in
+let version = "0.4.5"; in
 
 stdenv.mkDerivation {
   name = "refind-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/refind/refind-src-${version}.zip";
-    sha256 = "0q3p4mczr6wchk4vbgsb0cq7829vk3b3kg9qaizrb02pdak3s2nf";
+    sha256 = "05nbalsl5csgph0v2amzgay9k2vzm47z8n1n6blbh9hvb7j5vn2c";
   };
 
   buildInputs = [ unzip ];
 
-  buildFlags = [ "prefix=" "EFIINC=${gnu_efi}/include/efi" "GNUEFILIB=${gnu_efi}/lib" "EFILIB=${gnu_efi}/lib" "EFICRT0=${gnu_efi}/lib" ];
+  buildFlags = [ "prefix=" "EFIINC=${gnu_efi}/include/efi" "GNUEFILIB=${gnu_efi}/lib" "EFILIB=${gnu_efi}/lib" "EFICRT0=${gnu_efi}/lib" "LOCAL_CFLAGS=-I${gnu_efi}/include" ];
 
   installPhase = ''
     mkdir -pv $out
-    install -v -m644 refind/refind.efi refind.conf-sample $out
+    install -v -m644 refind/refind*.efi refind.conf-sample $out
     mv -v icons $out
   '';
 
diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix
index 329754ab5f5f..930cd67bb135 100644
--- a/pkgs/tools/misc/screen/default.nix
+++ b/pkgs/tools/misc/screen/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ncurses}:
+{ stdenv, fetchurl, ncurses, pam }:
 
 stdenv.mkDerivation rec {
   name = "screen-4.0.3";
@@ -9,11 +9,11 @@ stdenv.mkDerivation rec {
   };
 
   preConfigure = ''
-    configureFlags="--enable-telnet --infodir=$out/share/info --mandir=$out/share/man"
+    configureFlags="--enable-telnet --enable-pam --infodir=$out/share/info --mandir=$out/share/man"
     sed -i -e "s|/usr/local|/non-existent|g" -e "s|/usr|/non-existent|g" configure Makefile.in */Makefile.in
   '';
 
-  buildInputs = [ ncurses ];
+  buildInputs = [ ncurses pam ];
 
   doCheck = true;
 
diff --git a/pkgs/tools/misc/testdisk/default.nix b/pkgs/tools/misc/testdisk/default.nix
index fd9f45782940..6ccfea50482b 100644
--- a/pkgs/tools/misc/testdisk/default.nix
+++ b/pkgs/tools/misc/testdisk/default.nix
@@ -1,18 +1,18 @@
-{stdenv, fetchurl, ncurses, libjpeg, e2fsprogs, zlib, openssl}:
+{stdenv, fetchurl, ncurses, libjpeg, e2fsprogs, zlib, openssl, libuuid}:
 
 stdenv.mkDerivation {
-  name = "testdisk-6.8";
+  name = "testdisk-6.13";
   
   src = fetchurl {
-    url = http://www.cgsecurity.org/testdisk-6.8.tar.bz2;
-    sha256 = "0cyqikcyi6zj671kkr8vydqskh2r7f3n1v3xks1vh1biaffqq2ir";
+    url = http://www.cgsecurity.org/testdisk-6.13.tar.bz2;
+    sha256 = "087jrn41z3ymf1b6njl2bg99pr79v8l1f63f7rn5ni69vz6mq9s8";
   };
 
-  buildInputs = [ncurses libjpeg e2fsprogs zlib openssl];
+  buildInputs = [ncurses libjpeg e2fsprogs zlib openssl libuuid];
 
   meta = {
     homepage = http://www.cgsecurity.org/wiki/TestDisk;
-    license = "GPL";
+    license = "GPLv2+";
     longDescription = ''
       TestDisk is a program for data recovery, primarily designed to
       help recover lost partitions and/or make non-booting disks
diff --git a/pkgs/tools/misc/timidity/default.nix b/pkgs/tools/misc/timidity/default.nix
index 4fae21250cac..89ff6f4677fc 100644
--- a/pkgs/tools/misc/timidity/default.nix
+++ b/pkgs/tools/misc/timidity/default.nix
@@ -7,7 +7,7 @@ composableDerivation.composableDerivation {} {
   name = "timidity-2.13.0";
 
   src = fetchurl {
-    url = http://ovh.dl.sourceforge.net/sourceforge/timidity/TiMidity++-2.13.0.tar.bz2;
+    url = mirror://sourceforge/timidity/TiMidity++-2.13.0.tar.bz2;
     sha256 = "1jbmk0m375fh5nj2awqzns7pdjbi7dxpjdwcix04zipfcilppbmf";
   };
 
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 0422383ed3bc..1fc5c08042cb 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchgit, python}:
 
 let pkgname = "youtube-dl";
-    pkgver  = "2011.12.08";
+    pkgver  = "2012.09.27";
     
 in
 stdenv.mkDerivation {
@@ -9,8 +9,8 @@ stdenv.mkDerivation {
 
   src = fetchgit {
     url = "git://github.com/rg3/${pkgname}";
-    rev = "661a807c65a154eccdddb875b45e4782ca86132c";
-    sha256 = "32fd193b867b122400e9d5d32f6dfaf15704f837a9dc2ff809e1ce06712857ba";
+    rev = "refs/tags/${pkgver}";
+    sha256 = "a98f3339301324ddd6620f7b1353abed807cd8dea5586d6901d7fe69bc6a397c";
   };
 
   buildInputs = [python];
diff --git a/pkgs/tools/networking/aircrack-ng/default.nix b/pkgs/tools/networking/aircrack-ng/default.nix
index 9ecaf183f1f6..ea4f517000a2 100644
--- a/pkgs/tools/networking/aircrack-ng/default.nix
+++ b/pkgs/tools/networking/aircrack-ng/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   src = fetchsvn {
     url = "http://trac.aircrack-ng.org/svn/trunk";
     inherit rev;
-    sha256 = "0rwj2nk4nyy0l9dg6rpg2h5gpvcygs5irj4i6fdcsr8xf0blq7yw";
+    sha256 = "d16fd3a4e918fd6a855c0d0ae0c863247a45189e6ec35c0c7082d3d07b6438db";
   };
 
   buildInputs = [libpcap openssl zlib];
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 4dcab442119d..028b672380cf 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -10,11 +10,11 @@ assert sslSupport -> openssl != null;
 assert scpSupport -> libssh2 != null;
 
 stdenv.mkDerivation rec {
-  name = "curl-7.26.0";
+  name = "curl-7.28.0";
 
   src = fetchurl {
     url = "http://curl.haxx.se/download/${name}.tar.bz2";
-    sha256 = "0snj41knvy4xbfirr88l9gq5zjzz0mwlmq0mxbfgqszb2qpjdvgw";
+    sha256 = "b7f510db60f520ba0bc8a39cccee7e913362205b4a7709e16af2cba14093099b";
   };
 
   # Zlib and OpenSSL must be propagated because `libcurl.la' contains
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
+    homepage = "http://curl.haxx.se/";
     description = "A command line tool for transferring files with URL syntax";
-    homepage = http://curl.haxx.se/;
   };
 }
diff --git a/pkgs/tools/networking/ddclient/ddclient-foreground.patch b/pkgs/tools/networking/ddclient/ddclient-foreground.patch
index 954b3e1132fa..1ae3621f5079 100644
--- a/pkgs/tools/networking/ddclient/ddclient-foreground.patch
+++ b/pkgs/tools/networking/ddclient/ddclient-foreground.patch
@@ -1,80 +1,12 @@
-diff -rc ddclient-3.8.0/ddclient ddclient-3.8.0-new/ddclient
-*** ddclient-3.8.0/ddclient	2009-01-27 20:14:02.000000000 +0100
---- ddclient-3.8.0-new/ddclient	2009-09-16 12:56:43.720654327 +0200
-***************
-*** 307,313 ****
-  my %variables = (
-      'global-defaults'    => {
-  	'daemon'              => setv(T_DELAY, 0, 0, 1, 0,                    interval('60s')),
-! 	'file'                => setv(T_FILE,  0, 0, 1, "$etc$program.conf",  undef),
-  	'cache'               => setv(T_FILE,  0, 0, 1, "$cachedir$program.cache", undef),
-  	'pid'                 => setv(T_FILE,  0, 0, 1, "",                   undef),
-  	'proxy'               => setv(T_FQDNP, 0, 0, 1, '',                   undef),
---- 307,314 ----
-  my %variables = (
-      'global-defaults'    => {
-  	'daemon'              => setv(T_DELAY, 0, 0, 1, 0,                    interval('60s')),
-!         'foreground'          => setv(T_BOOL,  0, 0, 1, 0,                    undef),	
-!         'file'                => setv(T_FILE,  0, 0, 1, "$etc$program.conf",  undef),
-  	'cache'               => setv(T_FILE,  0, 0, 1, "$cachedir$program.cache", undef),
-  	'pid'                 => setv(T_FILE,  0, 0, 1, "",                   undef),
-  	'proxy'               => setv(T_FQDNP, 0, 0, 1, '',                   undef),
-***************
-*** 535,540 ****
---- 536,542 ----
-      "usage: ${program} [options]",
-      "options are:",
-      [ "daemon",      "=s", "-daemon delay         : run as a daemon, specify delay as an interval." ],
-+     [ "foreground",  "!",  "-foreground           : do not fork" ],
-      [ "proxy",       "=s", "-proxy host           : use 'host' as the HTTP proxy" ],
-      [ "server",      "=s", "-server host          : update DNS information on 'host'" ],
-      [ "protocol",    "=s", "-protocol type        : update protocol used" ],
-***************
-*** 623,629 ****
-  $SIG{'HUP'}    = sub { $caught_hup  = 1; };
-  $SIG{'TERM'}   = sub { $caught_term = 1; };
-  $SIG{'KILL'}   = sub { $caught_kill = 1; };
-! if (opt('daemon') && !opt('force')) {
-      $SIG{'CHLD'}   = 'IGNORE';
-      my $pid = fork;
-      if ($pid < 0) {
---- 625,634 ----
-  $SIG{'HUP'}    = sub { $caught_hup  = 1; };
-  $SIG{'TERM'}   = sub { $caught_term = 1; };
-  $SIG{'KILL'}   = sub { $caught_kill = 1; };
-! # don't fork() if foreground or force is on
-! if (opt('foreground') || opt('force')) {
-!     ;
-! } elsif (opt('daemon')) {
-      $SIG{'CHLD'}   = 'IGNORE';
-      my $pid = fork;
-      if ($pid < 0) {
-***************
-*** 633,644 ****
-  	exit 0;
-      }
-      $SIG{'CHLD'}   = 'DEFAULT';
--     $opt{'syslog'} = 1;
-      open(STDOUT, ">/dev/null");
-      open(STDERR, ">/dev/null");
-      open(STDIN,  "</dev/null");
-! 
-!     write_pid();
-  }
-  
-  umask 077;
---- 638,650 ----
-  	exit 0;
-      }
-      $SIG{'CHLD'}   = 'DEFAULT';
-      open(STDOUT, ">/dev/null");
-      open(STDERR, ">/dev/null");
-      open(STDIN,  "</dev/null");
-! }
-! if(opt('daemon')) {
-!      write_pid();
-!     $opt{'syslog'} = 1;
-  }
-  
-  umask 077;
-Only in ddclient-3.8.0-new: ddclient~
+diff -u ddclient-3.8.1/ddclient ddclient-3.8.1.patched/ddclient
+--- ddclient-3.8.1/ddclient	2011-07-11 23:04:21.000000000 +0200
++++ ddclient-3.8.1.patched/ddclient	2012-11-08 11:52:31.930647236 +0100
+@@ -574,7 +574,7 @@
+     "usage: ${program} [options]",
+     "options are:",
+     [ "daemon",      "=s", "-daemon delay         : run as a daemon, specify delay as an interval." ],
+-+     [ "foreground",  "!",  "-foreground           : do not fork" ],
++    [ "foreground",  "!",  "-foreground           : do not fork" ],
+     [ "proxy",       "=s", "-proxy host           : use 'host' as the HTTP proxy" ],
+     [ "server",      "=s", "-server host          : update DNS information on 'host'" ],
+     [ "protocol",    "=s", "-protocol type        : update protocol used" ],
diff --git a/pkgs/tools/networking/ddclient/default.nix b/pkgs/tools/networking/ddclient/default.nix
index e57ba489450f..22539657b1f1 100644
--- a/pkgs/tools/networking/ddclient/default.nix
+++ b/pkgs/tools/networking/ddclient/default.nix
@@ -1,17 +1,23 @@
-{buildPerlPackage, fetchurl, perl}:
+{buildPerlPackage, fetchurl, perlPackages, iproute}:
 
 buildPerlPackage {
-  name = "ddclient-3.8.0";
+  name = "ddclient-3.8.1";
 
   src = fetchurl {
-    url = mirror://sourceforge/ddclient/ddclient-3.8.0.tar.gz ;
-    sha256 = "1cqz6fwx8bcl7zdrvm6irh3bzs8858gkyficww9simyjmz7z3w48";
+    url = mirror://sourceforge/ddclient/ddclient-3.8.1.tar.gz ;
+    sha256 = "f22ac7b0ec78e310d7b88a1cf636e5c00360b2ed9c087f231b3522ef3e6295f2";
   };
 
+  buildInputs = [ perlPackages.IOSocketSSL ];
+
   patches = [ ./ddclient-foreground.patch ];
 
+  # Use iproute2 instead of ifconfig
   preConfigure = '' 
     touch Makefile.PL
+    substituteInPlace ddclient --replace 'in the output of ifconfig' 'in the output of ip addr show'
+    substituteInPlace ddclient --replace 'ifconfig -a' '${iproute}/sbin/ip addr show'
+    substituteInPlace ddclient --replace 'ifconfig $arg' '${iproute}/sbin/ip addr show $arg'
   ''; 
 
   installPhase = ''
@@ -20,5 +26,4 @@ buildPerlPackage {
   '';
 
   doCheck = false;
-
 }
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index 89c15b91a1af..20964213d539 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -1,18 +1,20 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "dnsmasq-2.59";
+  name = "dnsmasq-2.63";
 
   src = fetchurl {
     url = "http://www.thekelleys.org.uk/dnsmasq/${name}.tar.gz";
-    sha256 = "02s1y5320aiqhcrgzc7c2zs292vidijc156k5w7apzzsk5hfdhdx";
+    sha256 = "043p8qjd1zx8bklcli9qnk3vzfz7j2kvl82abvipcg56qsyf71px";
   };
 
   makeFlags = "DESTDIR= BINDIR=$(out)/bin MANDIR=$(out)/man LOCALEDIR=$(out)/share/locale";
 
-  meta = { 
+  meta = {
     description = "An integrated DNS, DHCP and TFTP server for small networks";
     homepage = http://www.thekelleys.org.uk/dnsmasq/doc.html;
     license = "GPL";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix
index 6db47f8e079f..b5002d229903 100644
--- a/pkgs/tools/networking/miniupnpd/default.nix
+++ b/pkgs/tools/networking/miniupnpd/default.nix
@@ -1,33 +1,34 @@
-{ stdenv, fetchurl, iptables }:
+{ stdenv, fetchurl, iptables, libnfnetlink, libnetfilter_conntrack }:
 
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "miniupnpd-1.4";
+  name = "miniupnpd-1.7.20121005";
 
   src = fetchurl {
     url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
-    sha256 = "06q5agkzv2snjxcsszpm27h8bqv41jijahs8jqnarxdrik97rfl5";
+    sha256 = "03kaxj808hgj1zf2528pzilgywgh70mh0qivjb5nm3spziiq32sv";
   };
 
-  buildInputs = [ iptables ];
+  buildInputs = [ iptables libnfnetlink libnetfilter_conntrack ];
+
+  patchPhase = ''
+    sed -i -e 's/upnputils\.o -lnfnetlink/upnputils.o/' Makefile.linux
+  '';
 
   NIX_CFLAGS_COMPILE = "-DIPTABLES_143";
 
-  NIX_CFLAGS_LINK = "-liptc";
-  
+  NIX_CFLAGS_LINK = "-liptc -lnfnetlink";
+
   makefile = "Makefile.linux";
 
   makeFlags = "LIBS=";
 
-  postBuild = "cat config.h";
-
   installFlags = "PREFIX=$(out) INSTALLPREFIX=$(out)";
 
-  postInstall =
+  preInstall =
     ''
-      mkdir -p $out/share/man/man1
-      cp miniupnpd.1 $out/share/man/man1/
+      mkdir -p $out/share/man/man8
     '';
 
   meta = {
diff --git a/pkgs/tools/networking/modemmanager/default.nix b/pkgs/tools/networking/modemmanager/default.nix
index c9c975d557c6..d3198cee32c7 100644
--- a/pkgs/tools/networking/modemmanager/default.nix
+++ b/pkgs/tools/networking/modemmanager/default.nix
@@ -5,8 +5,8 @@ stdenv.mkDerivation rec {
 
   src = fetchurl_gnome {
     project = "ModemManager";
-    major = "0"; minor = "5"; extension = "xz";
-    sha256 = "0zvwrni4l21d856nq28khigrhwgrq5cc7nh45zidwjj8q7bsxiz7";
+    major = "0"; minor = "5"; patchlevel = "4.0"; extension = "xz";
+    sha256 = "1fdf5d5cc494825afe9f551248e00a2d91e220e88435b47f109ca2a707a40f1f";
   };
 
   buildNativeInputs = [ intltool pkgconfig ];
diff --git a/pkgs/tools/networking/mosh/default.nix b/pkgs/tools/networking/mosh/default.nix
index 60a9e5cab871..e5d9a656494e 100644
--- a/pkgs/tools/networking/mosh/default.nix
+++ b/pkgs/tools/networking/mosh/default.nix
@@ -2,11 +2,11 @@
 , makeWrapper, perl }:
 
 stdenv.mkDerivation rec {
-  name = "mosh-1.1.3";
+  name = "mosh-1.2.2";
 
   src = fetchurl {
     url = "https://github.com/downloads/keithw/mosh/${name}.tar.gz";
-    sha256 = "1vkf7h8mcmfn9dgcwrww05mdijrl7321xv9wlhf7j99nwmklc8sk";
+    sha256 = "1763s6f398hmdgy73brpknwahnys28zk3pm37n66sr8iyz2cq8xp";
   };
 
   buildInputs = [ boost protobuf ncurses zlib pkgconfig IOTty makeWrapper perl ];
diff --git a/pkgs/tools/networking/nss-myhostname/default.nix b/pkgs/tools/networking/nss-myhostname/default.nix
new file mode 100644
index 000000000000..80296b0d992c
--- /dev/null
+++ b/pkgs/tools/networking/nss-myhostname/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "nss-myhostname-0.3";
+
+  src = fetchurl {
+    url = "http://0pointer.de/lennart/projects/nss-myhostname/${name}.tar.gz";
+    sha256 = "1wnawxklsv3z796l752j7a21gvj2615fk12qr1bir3apipm499rb";
+  };
+
+  patches = [ ./nscd-segfault.patch ./ignore-ipv6-link-local.patch ];
+
+  meta = {
+    description = "Name Service Switch module ensuring that the hostname always resolves to a valid address";
+    homepage = http://0pointer.de/lennart/projects/nss-myhostname/;
+    maintainers = [ stdenv.lib.maintainers.eelco ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/nss-myhostname/ignore-ipv6-link-local.patch b/pkgs/tools/networking/nss-myhostname/ignore-ipv6-link-local.patch
new file mode 100644
index 000000000000..396bb2e10ccd
--- /dev/null
+++ b/pkgs/tools/networking/nss-myhostname/ignore-ipv6-link-local.patch
@@ -0,0 +1,13 @@
+--- nss-myhostname-0.3/netlink.c	2011-05-09 08:56:34.344579140 -0400
++++ nss-myhostname-0.3-new/netlink.c	2012-10-06 23:52:10.577755588 -0400
+@@ -179,6 +179,10 @@
+                             ifaddrmsg->ifa_scope == RT_SCOPE_NOWHERE)
+                                 continue;
+ 
++                        if (ifaddrmsg->ifa_family == AF_INET6 &&
++                            ifaddrmsg->ifa_scope == RT_SCOPE_LINK)
++                                continue;
++
+                         if (ifaddrmsg->ifa_flags & IFA_F_DEPRECATED)
+                                 continue;
+ 
diff --git a/pkgs/tools/networking/nss-myhostname/nscd-segfault.patch b/pkgs/tools/networking/nss-myhostname/nscd-segfault.patch
new file mode 100644
index 000000000000..a2947461c87d
--- /dev/null
+++ b/pkgs/tools/networking/nss-myhostname/nscd-segfault.patch
@@ -0,0 +1,15 @@
+--- nss-myhostname-0.3/nss-myhostname.c	2011-05-09 09:01:27.421581560 -0400
++++ nss-myhostname-0.3-new/nss-myhostname.c	2012-10-06 23:40:09.836894004 -0400
+@@ -177,7 +177,11 @@
+         /* Verify the size matches */
+         assert(idx == ms);
+ 
+-        *pat = r_tuple_prev;
++        /* Nscd expects us to store the first record in **pat. */
++        if (*pat)
++                **pat = *r_tuple_prev;
++        else
++                *pat = r_tuple_prev;
+ 
+         if (ttlp)
+                 *ttlp = 0;
diff --git a/pkgs/tools/networking/nss-pam-ldapd/default.nix b/pkgs/tools/networking/nss-pam-ldapd/default.nix
new file mode 100644
index 000000000000..92cb053bb44b
--- /dev/null
+++ b/pkgs/tools/networking/nss-pam-ldapd/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, pkgconfig, openldap, python, pam, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "nss-pam-ldapd-${version}";
+  version = "0.8.11";
+  
+  src = fetchurl {
+    url = "http://arthurdejong.org/nss-pam-ldapd/${name}.tar.gz";
+    sha256 = "9a841f6a46bf9f87213dc806c0f6507ac5016a2ee550d42c3ed9fb280c1e38e6";
+  };
+  
+  buildInputs = [ makeWrapper pkgconfig python openldap pam ];
+
+  preConfigure = ''
+    substituteInPlace Makefile.in --replace "install-data-local: " "# install-data-local: "
+  '';
+
+  configureFlags = [
+    "--with-bindpw-file=/run/nslcd/bindpw"
+    "--with-nslcd-socket=/run/nslcd/socket"
+    "--with-nslcd-pidfile=/run/nslcd/nslcd.pid"
+    "--with-pam-seclib-dir=$(out)/lib/security"
+  ];
+
+  postInstall = ''
+    wrapProgram $out/sbin/nslcd --prefix LD_LIBRARY_PATH ":" $out/lib
+  '';
+
+  meta = {
+    description = "LDAP identity and authentication for NSS/PAM";
+    homepage = http://arthurdejong.org/nss-pam-ldapd/;
+    license = [ "GPLv21" ];
+  };
+}
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index f708ede2f69f..c1504697a186 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -13,11 +13,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "openssh-6.0p1";
+  name = "openssh-6.1p1";
 
   src = fetchurl {
     url = "ftp://ftp.nl.uu.net/pub/OpenBSD/OpenSSH/portable/${name}.tar.gz";
-    sha1 = "f691e53ef83417031a2854b8b1b661c9c08e4422";
+    sha1 = "751c92c912310c3aa9cadc113e14458f843fc7b3";
   };
 
   prePatch = stdenv.lib.optionalString hpnSupport
diff --git a/pkgs/tools/networking/sitecopy/default.nix b/pkgs/tools/networking/sitecopy/default.nix
index 6beaff56aeab..5667744ef221 100644
--- a/pkgs/tools/networking/sitecopy/default.nix
+++ b/pkgs/tools/networking/sitecopy/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, neon, zlib, openssl, autoconf, automake, libtool }:
+{ stdenv, fetchurl, neon, zlib, openssl, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "sitecopy-0.16.6";
@@ -10,9 +10,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./neon-29.patch ];
 
-  preConfigure = "autoreconf";
-
-  buildInputs = [ openssl neon zlib autoconf automake libtool ]; 
+  buildInputs = [ openssl neon zlib autoreconfHook ]; 
 
   configureFlags= "--with-ssl=openssl"; 
 }
diff --git a/pkgs/tools/package-management/cabal-install/0.14.0.nix b/pkgs/tools/package-management/cabal-install/0.14.0.nix
index ecbd46de52c2..15fe5f1e22ce 100644
--- a/pkgs/tools/package-management/cabal-install/0.14.0.nix
+++ b/pkgs/tools/package-management/cabal-install/0.14.0.nix
@@ -9,6 +9,10 @@ cabal.mkDerivation (self: {
   buildDepends = [
     Cabal filepath HTTP mtl network random time zlib
   ];
+  postInstall = ''
+    mkdir $out/etc
+    mv bash-completion $out/etc/bash_completion.d
+  '';
   meta = {
     homepage = "http://www.haskell.org/cabal/";
     description = "The command-line interface for Cabal and Hackage";
diff --git a/pkgs/tools/package-management/cabal-install/1.16.0.2.nix b/pkgs/tools/package-management/cabal-install/1.16.0.2.nix
new file mode 100644
index 000000000000..8f28f57c18f3
--- /dev/null
+++ b/pkgs/tools/package-management/cabal-install/1.16.0.2.nix
@@ -0,0 +1,23 @@
+{ cabal, Cabal, filepath, HTTP, mtl, network, random, time, zlib }:
+
+cabal.mkDerivation (self: {
+  pname = "cabal-install";
+  version = "1.16.0.2";
+  sha256 = "162nbkkffpbalg368m5s49jrvg9nibdwlwj0j1b8wriyyg4srpv6";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    Cabal filepath HTTP mtl network random time zlib
+  ];
+  postInstall = ''
+    mkdir $out/etc
+    mv bash-completion $out/etc/bash_completion.d
+  '';
+  meta = {
+    homepage = "http://www.haskell.org/cabal/";
+    description = "The command-line interface for Cabal and Hackage";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix
index 2ffacb084793..849780ad047d 100644
--- a/pkgs/tools/package-management/dpkg/default.nix
+++ b/pkgs/tools/package-management/dpkg/default.nix
@@ -1,21 +1,18 @@
-{stdenv, fetchurl, perl, zlib, bzip2}:
+{ stdenv, fetchurl, perl, zlib, bzip2, xz, makeWrapper }:
 
-let version = "1.14.29"; in
+let version = "1.16.9"; in
 
 stdenv.mkDerivation {
   name = "dpkg-${version}";
 
   src = fetchurl {
-    url = "mirror://debian/pool/main/d/dpkg/dpkg_${version}.tar.gz";
-    sha256 = "0cynms4vziy957r4zskybbid87sz99vrfy8d999vlhxgc74c2zpa";
+    url = "mirror://debian/pool/main/d/dpkg/dpkg_${version}.tar.xz";
+    sha256 = "0ykby9x4x2zb7rfj30lfjcsrq2q32z2lnsrl8pbdvb2l9sx7zkbk";
   };
 
-  configureFlags = "--without-dselect --with-admindir=/var/lib/dpkg";
+  configureFlags = "--disable-dselect --with-admindir=/var/lib/dpkg PERL_LIBDIR=$(out)/${perl.libPrefix}";
 
   preConfigure = ''
-    # Can't use substitute pending resolution of NIXPKGS-89.
-    sed -s 's^/usr/bin/perl^${perl}/bin/perl^' -i scripts/dpkg-architecture.pl
-
     # Nice: dpkg has a circular dependency on itself.  Its configure
     # script calls scripts/dpkg-architecture, which calls "dpkg" in
     # $PATH.  It doesn't actually use its result, but fails if it
@@ -24,14 +21,25 @@ stdenv.mkDerivation {
     chmod +x $TMPDIR/dpkg
     PATH=$TMPDIR:$PATH
 
-    substituteInPlace src/Makefile.in --replace "install-data-local:" "disabled:"
-    substituteInPlace dpkg-split/Makefile.in --replace "install-data-local:" "disabled:"
+    for i in $(find . -name Makefile.in); do
+      substituteInPlace $i --replace "install-data-local:" "disabled:" ;
+    done
   '';
 
-  buildInputs = [ perl zlib bzip2 ];
+  buildInputs = [ perl zlib bzip2 xz makeWrapper ];
+
+  postInstall =
+    ''
+      for i in $out/bin/*; do
+        if head -n 1 $i | grep -q perl; then
+          wrapProgram $i --prefix PERL5LIB : $out/${perl.libPrefix}
+        fi
+      done # */
+    '';
 
   meta = {
     description = "The Debian package manager";
     homepage = http://wiki.debian.org/Teams/Dpkg;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index 103d92a0ee90..30e52da86389 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.2pre2793_d950cfe";
+  name = "nix-1.2pre2980_9de6bc5";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/2955697/download/4/${name}.tar.bz2";
-    sha256 = "f91367d8e7ed795b2bc9a47fb3ecff00d005633f248ecaafa25e8e101a5dc682";
+    url = "http://hydra.nixos.org/build/3338447/download/4/${name}.tar.bz2";
+    sha256 = "b767c2b75a0036edfc6be209dcaab23643887b192e3788640380ac27298b08d0";
   };
 
   buildNativeInputs = [ perl pkgconfig ];
@@ -27,8 +27,9 @@ stdenv.mkDerivation rec {
   configureFlags =
     ''
       --with-store-dir=${storeDir} --localstatedir=${stateDir}
-      --with-dbi=${perlPackages.DBI}/lib/perl5/site_perl
-      --with-dbd-sqlite=${perlPackages.DBDSQLite}/lib/perl5/site_perl
+      --with-dbi=${perlPackages.DBI}/${perl.libPrefix}
+      --with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix}
+      --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}
       --disable-init-state
       --enable-gc
       CFLAGS=-O3 CXXFLAGS=-O3
@@ -45,15 +46,16 @@ stdenv.mkDerivation rec {
     configureFlags =
       ''
         --with-store-dir=${storeDir} --localstatedir=${stateDir}
-        --with-dbi=${perlPackages.DBI}/lib/perl5/site_perl
-        --with-dbd-sqlite=${perlPackages.DBDSQLite}/lib/perl5/site_perl
+        --with-dbi=${perlPackages.DBI}/${perl.libPrefix}
+        --with-dbd-sqlite=${perlPackages.DBDSQLite}/${perl.libPrefix}
+        --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix}
         --disable-init-state
         --enable-gc
         CFLAGS=-O3 CXXFLAGS=-O3
       '' + stdenv.lib.optionalString (
           stdenv.cross ? nix && stdenv.cross.nix ? system
       ) ''--with-system=${stdenv.cross.nix.system}'';
-      
+
     doInstallCheck = false;
   };
 
diff --git a/pkgs/tools/security/gnupg/default.nix b/pkgs/tools/security/gnupg/default.nix
index 0667a7f9885c..ba680cb8ba43 100644
--- a/pkgs/tools/security/gnupg/default.nix
+++ b/pkgs/tools/security/gnupg/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     sha256 = "08n636sfffs5qvg9ppiprvsh00q0dmdw425psg3m3nssja53m8pg";
   };
 
-  buildInputs = [ readline zlib libgpgerror pth libgcrypt libassuan libksba ]
+  buildInputs = [ readline zlib libgpgerror libgcrypt libassuan libksba pth ]
     ++ stdenv.lib.optional useLdap openldap
     ++ stdenv.lib.optional useBzip2 bzip2
     ++ stdenv.lib.optional useUsb libusb
diff --git a/pkgs/tools/security/gnupg1/default.nix b/pkgs/tools/security/gnupg1/default.nix
index 0674fc4e4803..b3bf309b48e1 100644
--- a/pkgs/tools/security/gnupg1/default.nix
+++ b/pkgs/tools/security/gnupg1/default.nix
@@ -15,11 +15,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "gnupg-1.4.11";
+  name = "gnupg-1.4.12";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "1xkfxr4z2fy9d5d6hj4lzv854lk227kgv6qb2w0sam752snfx36i";
+    sha1 = "9b78e20328d35525af7b8a9c1cf081396910e937";
   };
 
   buildInputs = [ readline bzip2 ];
diff --git a/pkgs/tools/security/pinentry/default.nix b/pkgs/tools/security/pinentry/default.nix
index 524a582fcb02..ba4ce8a3e220 100644
--- a/pkgs/tools/security/pinentry/default.nix
+++ b/pkgs/tools/security/pinentry/default.nix
@@ -6,11 +6,11 @@
 assert useGtk || useNcurses || useQt4;
 
 stdenv.mkDerivation rec {
-  name = "pinentry-0.8.0";
+  name = "pinentry-0.8.2";
 
   src = fetchurl {
-    url = "mirror://gnupg/pinentry/${name}.tar.gz";
-    sha256 = "06phs3gbs6gf0z9g28z3jgsw312dhhpdgzrx4hhps53xrbwpyv22";
+    url = "mirror://gnupg/pinentry/${name}.tar.bz2";
+    sha256 = "1c9r99ck8072y7nkirddg3p372xadl95y65hyc1m6wn5mavbg12h";
   };
 
   buildInputs = let opt = stdenv.lib.optional; in []
@@ -27,14 +27,13 @@ stdenv.mkDerivation rec {
   buildNativeInputs = [ pkgconfig ];
 
   meta = {
+    homepage = "http://gnupg.org/aegypten2/";
     description = "GnuPG's interface to passphrase input";
+    license = "GPLv2+";
 
     longDescription = ''
       Pinentry provides a console and a GTK+ GUI that allows users to
       enter a passphrase when `gpg' or `gpg2' is run and needs it.
     '';
-
-    homepage = http://gnupg.org/aegypten2/;
-    license = "GPLv2+";
   };
 }
diff --git a/pkgs/tools/system/ddrescue/default.nix b/pkgs/tools/system/ddrescue/default.nix
index 0ca5d6af2d75..8fa40e5710f1 100644
--- a/pkgs/tools/system/ddrescue/default.nix
+++ b/pkgs/tools/system/ddrescue/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "ddrescue-1.15";
+  name = "ddrescue-1.16";
 
   src = fetchurl {
     url = "mirror://gnu/ddrescue/${name}.tar.gz";
-    sha256 = "0y1dxkbl82nli6xjlg2kaq5kxd19480rvpay4ydbb9av01i17q3m";
+    sha256 = "1rixya7p8c4jrn4p0flf6h5dqwybrilf3hrj4r7x41h3zgjz5cvn";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/system/fakeroot/default.nix b/pkgs/tools/system/fakeroot/default.nix
index d80b35e1a111..1bf18ed867c3 100644
--- a/pkgs/tools/system/fakeroot/default.nix
+++ b/pkgs/tools/system/fakeroot/default.nix
@@ -1,13 +1,21 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl, utillinux}:
 
-stdenv.mkDerivation {
-  name = "fakeroot-1.18.1";
+stdenv.mkDerivation rec {
+  name = "fakeroot-1.18.4";
 
   src = fetchurl {
-    url = http://ftp.de.debian.org/debian/pool/main/f/fakeroot/fakeroot_1.18.1.orig.tar.bz2;
-    sha256 = "0h5jsw715a9hv32cb1m1bajy26l7xxrbgrk6qk1b6m91lxh6rnw9";
+    url = https://launchpad.net/ubuntu/+archive/primary/+files/fakeroot_1.18.4.orig.tar.bz2;
+    sha256 = "18mydrz49n7ic7147pikkpdb96x00s9wisdk6hrc75ll7vx9wd8a";
   };
 
+  buildInputs = [ utillinux /* provides getopt */ ];
+
+  postUnpack = ''
+    for prog in getopt; do
+      sed -i "s@getopt@$(type -p getopt)@g" ${name}/scripts/fakeroot.in
+    done
+  '';
+
   meta = {
     homepage = http://fakeroot.alioth.debian.org/;
     description = "Give a fake root environment through LD_PRELOAD";
diff --git a/pkgs/tools/system/hardlink/default.nix b/pkgs/tools/system/hardlink/default.nix
index 1655fdba6f47..192f7d871a1f 100644
--- a/pkgs/tools/system/hardlink/default.nix
+++ b/pkgs/tools/system/hardlink/default.nix
@@ -1,33 +1,27 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, unzip }:
 
 let
-  rev = "269cc6";
-
-  src = fetchurl {
-    url = "http://pkgs.fedoraproject.org/gitweb/?p=hardlink.git;a=blob_plain;f=hardlink.c;hb=${rev}";
-    sha256 = "721c54e653772e11bf0d30fb02aa21b96b147a1b68c0acb4f05cb87e7718bc12";
-    name = "hardlink.c";
-  };
-
-  man =  fetchurl {
-    url = "pkgs.fedoraproject.org/gitweb/?p=hardlink.git;a=blob_plain;f=hardlink.1;hb=${rev}";
-    sha256 = "2f7e18a0259a2ceae316592e8b18bee525eb7e83fe3bb6b881e5dafa24747f2d";
-    name = "hardlink.1";
-  };
+  rev = "3ec908d539";
 in
 stdenv.mkDerivation {
-  name = "hardlink-2010.1.${rev}";
+  name = "hardlink-2012.9.${rev}";
 
-  phases = ["buildPhase"];
+  src = fetchurl {
+    url = "pkgs.fedoraproject.org/cgit/hardlink.git/snapshot/hardlink-${rev}.zip";
+    sha256 = "fea1803170b538d5fecf6a8d312ded1d25d516e9386a3797441a247487551647";
+    name = "hardlink-${rev}.zip";
+  };
 
-  buildPhase = ''
+  installPhase = ''
     mkdir -p $out/bin $out/share/man/man1
-    gcc -O2 ${src} -o $out/bin/hardlink
-    install -m 444 ${man} $out/share/man/man1/hardlink.1
+    gcc -O2 hardlink.c -o $out/bin/hardlink
+    mv hardlink.1 $out/share/man/man1/hardlink.1
   '';
 
+  buildInputs = [ unzip ];
+
   meta = {
-    homepage = "http://pkgs.fedoraproject.org/gitweb/?p=hardlink.git;a=summary";
+    homepage = "http://pkgs.fedoraproject.org/cgit/hardlink.git/";
     description = "consolidate duplicate files via hardlinks";
     license = stdenv.lib.licenses.gpl2Plus;
 
diff --git a/pkgs/tools/system/pciutils/default.nix b/pkgs/tools/system/pciutils/default.nix
index 563521429a8e..3cab8b0ef104 100644
--- a/pkgs/tools/system/pciutils/default.nix
+++ b/pkgs/tools/system/pciutils/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "pciutils-3.1.7";
-  
+  name = "pciutils-3.1.10";
+
   src = fetchurl {
     url = "mirror://kernel/software/utils/pciutils/${name}.tar.bz2";
-    sha256 = "0i7mqf1fkmdqsawdk2badv6k3xrkryq0i2xknclvy6kcjsv27znq";
+    sha256 = "0xdahcxd00c921wnxi0f0w3lzjqdfphwa5vglfcpf0lv3l2w40pl";
   };
-  
+
   buildInputs = [ zlib ];
 
   pciids = fetchurl {
     # Obtained from http://pciids.sourceforge.net/v2.2/pci.ids.bz2.
-    url = http://nixos.org/tarballs/pci.ids.20100714.bz2;
-    sha256 = "0vll4svr60l6217yna7bfhcjm3prxr2b62ynq4jaagdp1rilfbap";
+    url = http://nixos.org/tarballs/pci.ids.20120929.bz2;
+    sha256 = "1q3i479ay88wam1zz1vbgkbqb2axg8av9qjxaigrqbnw2pv0srmb";
   };
 
   # Override broken auto-detect logic.
@@ -27,6 +27,9 @@ stdenv.mkDerivation rec {
 
   installTargets = "install install-lib";
 
+  # Get rid of update-pciids as it won't work.
+  postInstall = "rm $out/sbin/update-pciids $out/man/man8/update-pciids.8";
+
   meta = {
     homepage = http://mj.ucw.cz/pciutils.shtml;
     description = "A collection of programs for inspecting and manipulating configuration of PCI devices";
diff --git a/pkgs/tools/system/safecopy/default.nix b/pkgs/tools/system/safecopy/default.nix
new file mode 100644
index 000000000000..a6a5fced8794
--- /dev/null
+++ b/pkgs/tools/system/safecopy/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "safecopy-1.7";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/safecopy/safecopy/${name}/${name}.tar.gz";
+    sha256 = "1zf4kk9r8za9pn4hzy1y3j02vrhl1rxfk5adyfq0w0k48xfyvys2";
+  };
+
+  meta = {
+    description = "data recovery tool for damaged hardware";
+
+    longDescription =
+      '' Safecopy is a data recovery tool which tries to extract as much data as possible from a
+         problematic (i.e. damaged sectors) source - like floppy drives, hard disk partitions, CDs,
+         tape devices, etc, where other tools like dd would fail due to I/O errors.
+
+         Safecopy includes a low level IO layer to read CDROM disks in raw mode, and issue device
+         resets and other helpful low level operations on a number of other device classes.
+       '';
+
+    homepage = http://safecopy.sourceforge.net;
+
+    license = "GPLv2+";
+
+    platforms = stdenv.lib.platforms.all;
+    maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
+  };
+}
diff --git a/pkgs/tools/system/smartmontools/default.nix b/pkgs/tools/system/smartmontools/default.nix
index eee0b0de571d..89f8d3f5e77f 100644
--- a/pkgs/tools/system/smartmontools/default.nix
+++ b/pkgs/tools/system/smartmontools/default.nix
@@ -1,13 +1,25 @@
 { stdenv, fetchurl }:
 
+let
+  driverdb = fetchurl {
+    url = "http://smartmontools.svn.sourceforge.net/viewvc/smartmontools/trunk/smartmontools/drivedb.h?revision=3685";
+    sha256 = "11zczy03asfpj4wwip5bf3fpingdc7biz1cs3cykg4vnlxiwjxkx";
+    name = "smartmontools-drivedb.h";
+  };
+in
 stdenv.mkDerivation rec {
-  name = "smartmontools-5.43";
+  name = "smartmontools-6.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/smartmontools/${name}.tar.gz";
-    sha256 = "d845187d1500b87ef8d2c43772bd0218a59114fe58474a903c56777c9175351e";
+    sha256 = "9fe4ff2b7bcd00fde19db82bba168f5462ed6e857d3ef439495e304e3231d3a6";
   };
 
+  patchPhase = ''
+    cp ${driverdb} drivedb.h
+    sed -i -e 's@which which >/dev/null || exit 1@alias which="type -p"@' update-smart-drivedb.in
+  '';
+
   meta = {
     description = "Tools for monitoring the health of hard drivers";
     homepage = "http://smartmontools.sourceforge.net/";
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index a4b9d375bced..f392ad065cc8 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -1,10 +1,10 @@
 { fetchurl, stdenv, python }:
 
 stdenv.mkDerivation rec {
-  name = "asciidoc-8.6.6";
+  name = "asciidoc-8.6.8";
   src = fetchurl {
     url = "mirror://sourceforge/asciidoc/${name}.tar.gz";
-    sha256 = "9d54c11716e4309ff4d942cf6a6d9745d6a28754ff1de01efed0dc659457ac71";
+    sha256 = "ffb67f59dccaf6f15db72fcd04fdf21a2f9b703d31f94fcd0c49a424a9fcfbc4";
   };
 
   patchPhase = ''
@@ -20,11 +20,13 @@ stdenv.mkDerivation rec {
   buildInputs = [ python ];
 
   meta = {
+    homepage = "http://www.methods.co.nz/asciidoc/";
+    description = "ASCII text-based document generation system";
+    license = "GPLv2+";
+
     longDescription = ''
       AsciiDoc is a text-based document generation system.  AsciiDoc
       input files can be translated to HTML and DocBook markups.
     '';
-    homepage = http://www.methods.co.nz/asciidoc/;
-    license = "GPLv2+";
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive/beamer.nix b/pkgs/tools/typesetting/tex/texlive/beamer.nix
index 851ad0707a1d..bf9079ab1046 100644
--- a/pkgs/tools/typesetting/tex/texlive/beamer.nix
+++ b/pkgs/tools/typesetting/tex/texlive/beamer.nix
@@ -1,9 +1,9 @@
 args: with args;
 rec {
-  name = "texlive-beamer-2007";
+  name = "texlive-beamer-2012";
   src = fetchurl {
-    url = mirror://debian/pool/main/l/latex-beamer/latex-beamer_3.07.orig.tar.gz;
-    sha256 = "07ldhg5f0hcnhjgzg5g8ailqacn8zhqc8nl2jkxc43c2qxbvswbv";
+    url = mirror://debian/pool/main/l/latex-beamer/latex-beamer_3.10.orig.tar.gz;
+    sha256 = "1vk7nr1lxinyj941nz5xzcpzircd60s8sgmq7jd2gqmf5ynd27nx";
   };
 
   buildInputs = [texLive];
diff --git a/pkgs/tools/virtualization/ec2-api-tools/default.nix b/pkgs/tools/virtualization/ec2-api-tools/default.nix
index 22669c67b121..ac2902aab94d 100644
--- a/pkgs/tools/virtualization/ec2-api-tools/default.nix
+++ b/pkgs/tools/virtualization/ec2-api-tools/default.nix
@@ -1,28 +1,31 @@
 { stdenv, fetchurl, unzip, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  name = "ec2-api-tools-1.6.0.0";
-  
+  name = "ec2-api-tools-1.6.5.1";
+
   src = fetchurl {
     url = "http://nixos.org/tarballs/${name}.zip";
-    sha256 = "1j9isvi6g68zhk7zxs29yad2d0rpnbqx8fz25yn5paqx9c8pzqcl";
+    sha256 = "1j2pc20vggi4hv950999mhh7dl6475yma76nyj6k0hzkd1lf5hda";
   };
 
   buildInputs = [ unzip makeWrapper ];
 
   installPhase =
     ''
-      mkdir -p $out
-      mv * $out
-      rm $out/bin/*.cmd # Windows stuff
+      d=$out/libexec/ec2-api-tools
+      mkdir -p $d
+      mv * $d
+      rm $d/bin/*.cmd # Windows stuff
 
-      for i in $out/bin/*; do
-          wrapProgram $i \
-            --set EC2_HOME $out \
+      for i in $d/bin/*; do
+          b=$(basename $i)
+          if [ $b = "ec2-cmd" ]; then continue; fi
+          makeWrapper $i $out/bin/$(basename $i) \
+            --set EC2_HOME $d \
             --set JAVA_HOME ${jre}
       done
     ''; # */
-  
+
   meta = {
     homepage = http://developer.amazonwebservices.com/connect/entry.jspa?externalID=351;
     description = "Command-line tools to create and manage Amazon EC2 virtual machines";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d7d9a82d8fb0..7d4fac6f20a0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -78,11 +78,7 @@ let
 
   # Allow setting the platform in the config file. Otherwise, let's use a reasonable default (pc)
   platform = if platform_ != null then platform_
-    else getConfig [ "platform" ] (import ./platforms.nix).pc;
-
-  # Return an attribute from the Nixpkgs configuration file, or
-  # a default value if the attribute doesn't exist.
-  getConfig = attrPath: default: lib.attrByPath attrPath default config;
+    else config.platform or (import ./platforms.nix).pc;
 
 
   # Helper functions that are exported through `pkgs'.
@@ -101,7 +97,7 @@ let
   # (un-overriden) set of packages, allowing packageOverrides
   # attributes to refer to the original attributes (e.g. "foo =
   # ... pkgs.foo ...").
-  pkgs = applyGlobalOverrides (getConfig ["packageOverrides"] (pkgs: {}));
+  pkgs = applyGlobalOverrides (config.packageOverrides or (pkgs: {}));
 
 
   # Return the complete set of packages, after applying the overrides
@@ -178,7 +174,7 @@ let
   ### Helper functions.
 
 
-  inherit lib config getConfig stdenvAdapters;
+  inherit lib config stdenvAdapters;
 
   inherit (lib) lowPrio hiPrio appendToName makeOverridable;
 
@@ -206,8 +202,7 @@ let
 
   defaultStdenv = allStdenvs.stdenv // { inherit platform; };
 
-  stdenvCross = makeStdenvCross defaultStdenv crossSystem binutilsCross
-    gccCrossStageFinal;
+  stdenvCross = lowPrio (makeStdenvCross defaultStdenv crossSystem binutilsCross gccCrossStageFinal);
 
   stdenv =
     if bootStdenv != null then (bootStdenv // {inherit platform;}) else
@@ -215,7 +210,7 @@ let
         stdenvCross
       else
         let
-            changer = getConfig ["replaceStdenv"] null;
+            changer = config.replaceStdenv or null;
         in if changer != null then
           changer {
             # We import again all-packages to avoid recursivities.
@@ -233,11 +228,11 @@ let
   # A stdenv capable of building 32-bit binaries.  On x86_64-linux,
   # it uses GCC compiled with multilib support; on i686-linux, it's
   # just the plain stdenv.
-  stdenv_32bit =
+  stdenv_32bit = lowPrio (
     if system == "x86_64-linux" then
       overrideGCC stdenv gcc43_multi
     else
-      stdenv;
+      stdenv);
 
 
   ### BUILD SUPPORT
@@ -247,6 +242,10 @@ let
     theAttrSet = arg;
   };
 
+  autoreconfHook = makeSetupHook
+    { substitutions = { inherit autoconf automake libtool; }; }
+    ../build-support/setup-hooks/autoreconf.sh;
+
   buildEnv = import ../build-support/buildenv {
     inherit (pkgs) runCommand perl;
   };
@@ -278,7 +277,7 @@ let
 
   fetchgitrevision = import ../build-support/fetchgitrevision runCommand git;
 
-  fetchmtn = callPackage ../build-support/fetchmtn (getConfig ["fetchmtn"] {});
+  fetchmtn = callPackage ../build-support/fetchmtn (config.fetchmtn or {});
 
   fetchsvn = import ../build-support/fetchsvn {
     inherit stdenv subversion openssh;
@@ -329,7 +328,7 @@ let
     inherit stdenv perl cpio contents ubootChooser;
   };
 
-  makeWrapper = makeSetupHook {} ../build-support/make-wrapper/make-wrapper.sh;
+  makeWrapper = makeSetupHook { } ../build-support/setup-hooks/make-wrapper.sh;
 
   makeModulesClosure = {kernel, rootModules, allowMissing ? false}:
     import ../build-support/kernel/modules-closure.nix {
@@ -403,6 +402,13 @@ let
     client = true;
   });
 
+  androidenv = import ../development/androidenv {
+    inherit pkgs;
+    pkgs_i686 = pkgsi686Linux;
+  };
+
+  inherit (androidenv) androidsdk_4_1;
+
   aria = builderDefsPackage (import ../tools/networking/aria) { };
 
   aria2 = callPackage ../tools/networking/aria2 { };
@@ -418,7 +424,7 @@ let
   autojump = callPackage ../tools/misc/autojump { };
 
   avahi = callPackage ../development/libraries/avahi {
-    qt4Support = getConfig [ "avahi" "qt4Support" ] false;
+    qt4Support = config.avahi.qt4Support or false;
   };
 
   aws = callPackage ../tools/virtualization/aws { };
@@ -592,6 +598,10 @@ let
 
   dcraw = callPackage ../tools/graphics/dcraw { };
 
+  debian_devscripts = callPackage ../tools/misc/debian-devscripts {
+    inherit (perlPackages) CryptSSLeay LWP TimeDate DBFile FileDesktopEntry;
+  };
+
   debootstrap = callPackage ../tools/misc/debootstrap { };
 
   detox = callPackage ../tools/misc/detox { };
@@ -728,6 +738,9 @@ let
 
   fortune = callPackage ../tools/misc/fortune { };
 
+  fox = callPackage ../development/libraries/fox/default.nix { };
+  fox_1_6 = callPackage ../development/libraries/fox/fox-1.6.nix { };
+
   fprot = callPackage ../tools/security/fprot { };
 
   freeipmi = callPackage ../tools/system/freeipmi {};
@@ -837,7 +850,7 @@ let
   };
 
   grub = callPackage_i686 ../tools/misc/grub {
-    buggyBiosCDSupport = getConfig ["grub" "buggyBiosCDSupport"] true;
+    buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true;
   };
 
   grub2 = callPackage ../tools/misc/grub/2.0x.nix { };
@@ -989,6 +1002,7 @@ let
 
   nodePackages = recurseIntoAttrs (import ./node-packages.nix {
     inherit pkgs stdenv nodejs fetchurl;
+    neededNatives = [python] ++ lib.optional (lib.elem system lib.platforms.linux) utillinux;
   });
 
   ldns = callPackage ../development/libraries/ldns { };
@@ -1019,7 +1033,7 @@ let
 
   lshw = callPackage ../tools/system/lshw { };
 
-  lxc = callPackage ../applications/virtualization/lxc { };
+  lxc = callPackage ../os-specific/linux/lxc { };
 
   lzma = xz;
 
@@ -1069,8 +1083,6 @@ let
 
   mktemp = callPackage ../tools/security/mktemp { };
 
-  mldonkey = callPackage ../applications/networking/p2p/mldonkey { };
-
   modemmanager = callPackage ../tools/networking/modemmanager {};
 
   monit = builderDefsPackage ../tools/system/monit {
@@ -1166,6 +1178,10 @@ let
     inherit (pythonPackages) pysqlite;
   };
 
+  nss_myhostname = callPackage ../tools/networking/nss-myhostname {};
+
+  nss_pam_ldapd = callPackage ../tools/networking/nss-pam-ldapd {};
+
   ntfs3g = callPackage ../tools/filesystems/ntfs-3g { };
 
   # ntfsprogs are merged into ntfs-3g
@@ -1263,6 +1279,8 @@ let
            { hurd = gnu.hurdCrossIntermediate; })
     else null;
 
+  ipsecTools = callPackage ../os-specific/linux/ipsec-tools { };
+
   patch = gnupatch;
 
   pbzip2 = callPackage ../tools/compression/pbzip2 { };
@@ -1388,6 +1406,8 @@ let
 
   replace = callPackage ../tools/text/replace { };
 
+  reptyr = callPackage ../os-specific/linux/reptyr {};
+
   rdiff_backup = callPackage ../tools/backup/rdiff-backup { };
 
   ripmime = callPackage ../tools/networking/ripmime {};
@@ -1430,6 +1450,10 @@ let
 
   sablotron = callPackage ../tools/text/xml/sablotron { };
 
+  safecopy = callPackage ../tools/system/safecopy { };
+
+  salut_a_toi = callPackage ../applications/networking/instant-messengers/salut-a-toi {};
+
   screen = callPackage ../tools/misc/screen { };
 
   scrot = callPackage ../tools/graphics/scrot { };
@@ -1508,6 +1532,8 @@ let
 
   svnfs = callPackage ../tools/filesystems/svnfs { };
 
+  sysbench = callPackage ../development/tools/misc/sysbench {};
+
   system_config_printer = callPackage ../tools/misc/system-config-printer {
     libxml2 = libxml2Python;
    };
@@ -1518,6 +1544,8 @@ let
     autoconf = autoconf213;
   };
 
+  tarsnap = callPackage ../tools/backup/tarsnap { };
+
   tcpdump = callPackage ../tools/networking/tcpdump { };
 
   /*
@@ -1604,6 +1632,8 @@ let
   tigervnc = callPackage ../tools/admin/tigervnc {
     fontDirectories = [ xorg.fontadobe75dpi xorg.fontmiscmisc xorg.fontcursormisc
       xorg.fontbhlucidatypewriter75dpi ];
+    xorgserver = xorg.xorgserver_1_13_0;
+    fltk = fltk13;
   };
 
   tightvnc = callPackage ../tools/admin/tightvnc {
@@ -1617,6 +1647,17 @@ let
 
   tkabber_plugins = callPackage ../applications/networking/instant-messengers/tkabber-plugins { };
 
+  qfsm = callPackage ../applications/science/electronics/qfsm { };
+
+  tkgate = callPackage ../applications/science/electronics/tkgate/1.x.nix {
+    inherit (xlibs) libX11 imake xproto gccmakedep;
+  };
+
+  # The newer package is low-priority because it segfaults at startup.
+  tkgate2 = lowPrio (callPackage ../applications/science/electronics/tkgate/2.x.nix {
+    inherit (xlibs) libX11;
+  });
+
   tm = callPackage ../tools/system/tm { };
 
   trang = callPackage ../tools/text/xml/trang { };
@@ -1630,7 +1671,7 @@ let
   };
 
   truecrypt = callPackage ../applications/misc/truecrypt {
-    wxGUI = getConfig [ "truecrypt" "wxGUI" ] true;
+    wxGUI = config.truecrypt.wxGUI or true;
   };
 
   ttmkfdir = callPackage ../tools/misc/ttmkfdir { };
@@ -1815,7 +1856,7 @@ let
   clang = wrapClang clangUnwrapped;
 
   #Use this instead of stdenv to build with clang
-  clangStdenv = stdenvAdapters.overrideGCC stdenv clang;
+  clangStdenv = lowPrio (stdenvAdapters.overrideGCC stdenv clang);
 
   clean = callPackage ../development/compilers/clean { };
 
@@ -1932,7 +1973,19 @@ let
       cross = assert crossSystem != null; crossSystem;
     });
 
-  gcc_realCross = gcc46_realCross;
+  gcc47_realCross = lib.addMetaAttrs { platforms = []; }
+    (makeOverridable (import ../development/compilers/gcc/4.7) {
+      inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib
+        cloog ppl gettext which noSysDirs;
+      binutilsCross = binutilsCross;
+      libcCross = libcCross;
+      profiledCompiler = false;
+      enableMultilib = false;
+      crossStageStatic = false;
+      cross = assert crossSystem != null; crossSystem;
+    });
+
+  gcc_realCross = gcc47_realCross;
 
   gccCrossStageStatic = let
       isMingw = (stdenv.cross.libc == "msvcrt");
@@ -2279,6 +2332,11 @@ let
     };
   };
 
+  jhc = callPackage ../development/compilers/jhc {
+    inherit (haskellPackages_ghc6123) ghc binary zlib utf8String readline fgl
+    regexCompat HsSyck random;
+  };
+
   # Haskell and GHC
 
   # Import Haskell infrastructure.
@@ -2295,9 +2353,9 @@ let
   # particularly in connection with Hydra builds for all these packages.
   # So we enable it for selected versions only.
 
-  # Current default version: 7.4.1.
-  haskellPackages = haskellPackages_ghc741;
-  # Current Haskell platform.
+  # Current default version: 7.4.2.
+  haskellPackages = haskellPackages_ghc742;
+  # Current Haskell Platform: 2012.4.0.0
   haskellPlatform = haskellPackages.haskellPlatform;
 
   haskellPackages_ghc6104             = recurseIntoAttrs (haskell.packages_ghc6104);
@@ -2314,19 +2372,15 @@ let
   # The following three lines achieve that: the first two make Hydra build explicit
   # profiling and non-profiling versions; the final respects the user-configured
   # default setting.
-  haskellPackages_ghc741_no_profiling = recurseIntoAttrs (haskell.packages_ghc741.noProfiling);
-  haskellPackages_ghc741_profiling    = recurseIntoAttrs (haskell.packages_ghc741.profiling);
-  haskellPackages_ghc741              = recurseIntoAttrs (haskell.packages_ghc741.highPrio);
-  haskellPackages_ghc742              = recurseIntoAttrs (haskell.packages_ghc742);
+  haskellPackages_ghc741              = recurseIntoAttrs (haskell.packages_ghc741);
+  haskellPackages_ghc742_no_profiling = recurseIntoAttrs (haskell.packages_ghc741.noProfiling);
+  haskellPackages_ghc742_profiling    = recurseIntoAttrs (haskell.packages_ghc741.profiling);
+  haskellPackages_ghc742              = recurseIntoAttrs (haskell.packages_ghc742.highPrio);
   haskellPackages_ghc761              = recurseIntoAttrs (haskell.packages_ghc761);
   # Reasonably current HEAD snapshot.
   haskellPackages_ghcHEAD             =                   haskell.packages_ghcHEAD;
 
-  haxeDist = import ../development/compilers/haxe {
-    inherit fetchurl sourceFromHead stdenv lib ocaml zlib makeWrapper neko;
-  };
-  haxe = haxeDist.haxe;
-  haxelib = haxeDist.haxelib;
+  haxe = callPackage ../development/compilers/haxe { };
 
   falcon = builderDefsPackage (import ../development/interpreters/falcon) {
     inherit cmake;
@@ -2353,31 +2407,36 @@ let
 
   openjdkBootstrap = callPackage ../development/compilers/openjdk/bootstrap.nix {};
 
+  openjdkStage1 = callPackage ../development/compilers/openjdk {
+    jdk = pkgs.openjdkBootstrap;
+    ant = pkgs.ant.override { jdk = pkgs.openjdkBootstrap; };
+  };
+
   openjdk =
     if stdenv.isDarwin then
       callPackage ../development/compilers/openjdk-darwin { }
     else
       callPackage ../development/compilers/openjdk {
-        jdk = pkgs.openjdkBootstrap;
-        ant = pkgs.ant.override { jdk = pkgs.openjdkBootstrap; };
+        jdk = pkgs.openjdkStage1;
+        ant = pkgs.ant.override { jdk = pkgs.openjdkStage1; };
       };
 
-  openjre = callPackage ../development/compilers/openjdk {
+  openjre = pkgs.openjdk.override {
     jreOnly = true;
   };
 
   jdk = if (stdenv.isDarwin || stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
-    then openjdk
-    else jdkdistro true false;
+    then pkgs.openjdk
+    else pkgs.oraclejdk;
   jre = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
-    then openjre
-    else jdkdistro false false;
+    then pkgs.openjre
+    else pkgs.oraclejre;
 
-  oraclejdk = jdkdistro true false;
+  oraclejdk = pkgs.jdkdistro true false;
 
-  oraclejre = jdkdistro false false;
+  oraclejre = pkgs.jdkdistro false false;
 
-  jrePlugin = lowPrio (jdkdistro false true);
+  jrePlugin = lowPrio (pkgs.jdkdistro false true);
 
   supportsJDK =
     system == "i686-linux" ||
@@ -2406,7 +2465,6 @@ let
   };
 
   llvm = callPackage ../development/compilers/llvm { };
-  llvm_3_1 = callPackage ../development/compilers/llvm/3.1.nix { };
 
   mitscheme = callPackage ../development/compilers/mit-scheme { };
 
@@ -2434,7 +2492,7 @@ let
 
   ocaml_3_12_1 = callPackage ../development/compilers/ocaml/3.12.1.nix { };
 
-  ocaml_4_00_0 = callPackage ../development/compilers/ocaml/4.00.0.nix { };
+  ocaml_4_00_1 = callPackage ../development/compilers/ocaml/4.00.1.nix { };
 
   metaocaml_3_09 = callPackage ../development/compilers/ocaml/metaocaml-3.09.nix { };
 
@@ -2482,6 +2540,8 @@ let
 
     menhir = callPackage ../development/ocaml-modules/menhir { };
 
+    mldonkey = callPackage ../applications/networking/p2p/mldonkey { };
+
     ocaml_batteries = callPackage ../development/ocaml-modules/batteries {
       camomile = camomile_0_8_2;
     };
@@ -2531,7 +2591,7 @@ let
   ocamlPackages_3_10_0 = mkOcamlPackages ocaml_3_10_0 pkgs.ocamlPackages_3_10_0;
   ocamlPackages_3_11_2 = mkOcamlPackages ocaml_3_11_2 pkgs.ocamlPackages_3_11_2;
   ocamlPackages_3_12_1 = mkOcamlPackages ocaml_3_12_1 pkgs.ocamlPackages_3_12_1;
-  ocamlPackages_4_00_0 = mkOcamlPackages ocaml_4_00_0 pkgs.ocamlPackages_4_00_0;
+  ocamlPackages_4_00_1 = mkOcamlPackages ocaml_4_00_1 pkgs.ocamlPackages_4_00_1;
 
   ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { };
 
@@ -2681,9 +2741,9 @@ let
     clooj = clooj_standalone_binary;
   };
 
-  erlang = callPackage ../development/interpreters/erlang { };
-
   erlangR14B04 = callPackage ../development/interpreters/erlang/R14B04.nix { };
+  erlangR15B02 = callPackage ../development/interpreters/erlang/R15B02.nix { };
+  erlang = erlangR15B02;
 
   groovy = callPackage ../development/interpreters/groovy { };
 
@@ -2706,10 +2766,9 @@ let
   love = callPackage ../development/interpreters/love {};
 
   lua4 = callPackage ../development/interpreters/lua-4 { };
-
   lua5 = callPackage ../development/interpreters/lua-5 { };
-
   lua5_0 = callPackage ../development/interpreters/lua-5/5.0.3.nix { };
+  lua5_1 = callPackage ../development/interpreters/lua-5/5.1.nix { };
 
   maude = callPackage ../development/interpreters/maude { };
 
@@ -2734,21 +2793,7 @@ let
 
   perl = if system != "i686-cygwin" then perl516 else sysPerl;
 
-  php = php5_3;
-
-  php5_2 = makeOverridable (import ../development/interpreters/php/5.2.nix) {
-    inherit
-      stdenv fetchurl lib composableDerivation autoconf automake
-      flex bison apacheHttpd mysql libxml2 readline
-      zlib curl gd postgresql openssl pkgconfig sqlite getConfig libiconv libjpeg libpng;
-  };
-
-  php5_3 = makeOverridable (import ../development/interpreters/php/5.3.nix) {
-    inherit
-      stdenv fetchurl lib composableDerivation autoconf automake
-      flex bison apacheHttpd mysql libxml2 readline
-      zlib curl gd postgresql openssl pkgconfig sqlite getConfig libiconv libjpeg libpng;
-  };
+  php = callPackage ../development/interpreters/php/5.3.nix { };
 
   php_apc = callPackage ../development/libraries/php-apc { };
 
@@ -2817,7 +2862,7 @@ let
   rubySqlite3 = callPackage ../development/ruby-modules/sqlite3 { };
 
   rLang = callPackage ../development/interpreters/r-lang {
-    withBioconductor = getConfig ["rLang" "withBioconductor"] false;
+    withBioconductor = config.rLang.withBioconductor or false;
   };
 
   rubygemsFun = ruby: builderDefsPackage (import ../development/interpreters/ruby/rubygems.nix) {
@@ -2855,7 +2900,7 @@ let
   */
 
   sourceFromHead = import ../build-support/source-from-head-fun.nix {
-    inherit getConfig;
+    inherit config;
   };
 
   ecj = callPackage ../development/eclipse/ecj { };
@@ -2893,6 +2938,7 @@ let
   apacheAnt = callPackage ../development/tools/build-managers/apache-ant { };
 
   apacheAntOpenJDK = apacheAnt.override { jdk = openjdk; };
+  apacheAntOracleJDK = ant.override { jdk = pkgs.oraclejdk; };
 
   apacheAntGcj = callPackage ../development/tools/build-managers/apache-ant/from-source.nix {
     # must be either pre-built or built with GCJ *alone*
@@ -2930,11 +2976,11 @@ let
     gold = true;
   };
 
-  binutilsCross = forceBuildDrv (import ../development/tools/misc/binutils {
+  binutilsCross = lowPrio (forceBuildDrv (import ../development/tools/misc/binutils {
     inherit stdenv fetchurl zlib;
     noSysDirs = true;
     cross = assert crossSystem != null; crossSystem;
-  });
+  }));
 
   bison = callPackage ../development/tools/parsing/bison { };
 
@@ -2964,7 +3010,7 @@ let
   #
   ccacheWrapper = makeOverridable ({ extraConfig ? "" }:
      wrapGCC (ccache.links extraConfig)) {};
-  ccacheStdenv = overrideGCC stdenv ccacheWrapper;
+  ccacheStdenv = lowPrio (overrideGCC stdenv ccacheWrapper);
 
   cgdb = callPackage ../development/tools/misc/cgdb { };
 
@@ -3000,6 +3046,8 @@ let
 
   csslint = callPackage ../development/web/csslint { };
 
+  libcxx = callPackage ../development/libraries/libc++ { stdenv = pkgs.clangStdenv; };
+
   dejagnu = callPackage ../development/tools/misc/dejagnu { };
 
   ddd = callPackage ../development/tools/misc/ddd { };
@@ -3117,6 +3165,10 @@ let
 
   mk = callPackage ../development/tools/build-managers/mk { };
 
+  neoload = callPackage ../development/tools/neoload {
+    licenseAccepted = (config.neoload.accept_license or false);
+  };
+
   noweb = callPackage ../development/tools/literate-programming/noweb { };
 
   omake = callPackage ../development/tools/ocaml/omake { };
@@ -3149,10 +3201,10 @@ let
   radare = callPackage ../development/tools/analysis/radare {
     inherit (gnome) vte;
     lua = lua5;
-    useX11 = getConfig ["radare" "useX11"] false;
-    pythonBindings = getConfig ["radare" "pythonBindings"] false;
-    rubyBindings = getConfig ["radare" "rubyBindings"] false;
-    luaBindings = getConfig ["radare" "luaBindings"] false;
+    useX11 = config.radare.useX11 or false;
+    pythonBindings = config.radare.pythonBindings or false;
+    rubyBindings = config.radare.rubyBindings or false;
+    luaBindings = config.radare.luaBindings or false;
   };
 
   ragel = callPackage ../development/tools/parsing/ragel { };
@@ -3170,6 +3222,11 @@ let
 
   sloccount = callPackage ../development/tools/misc/sloccount { };
 
+  smatch = callPackage ../development/tools/analysis/smatch {
+    buildllvmsparse = false;
+    buildc2xml = false;
+  };
+
   sparse = callPackage ../development/tools/analysis/sparse { };
 
   spin = callPackage ../development/tools/analysis/spin { };
@@ -3199,9 +3256,9 @@ let
     inherit (gnu) mig;
   };
 
-  gdbCross = callPackage ../development/tools/misc/gdb {
+  gdbCross = lowPrio (callPackage ../development/tools/misc/gdb {
     target = crossSystem;
-  };
+  });
 
   valgrind = callPackage ../development/tools/analysis/valgrind {
     stdenv =
@@ -3291,13 +3348,14 @@ let
   boost146 = callPackage ../development/libraries/boost/1.46.nix { };
   boost147 = callPackage ../development/libraries/boost/1.47.nix { };
   boost149 = callPackage ../development/libraries/boost/1.49.nix { };
-  boost150 = callPackage ../development/libraries/boost/1.50.nix { };
   boost151 = callPackage ../development/libraries/boost/1.51.nix { };
-  boost = boost151;
+  boost152 = callPackage ../development/libraries/boost/1.52.nix { };
+  boost = boost152;
 
   boostHeaders149 = callPackage ../development/libraries/boost/1.49-headers.nix { };
-  boostHeaders150 = callPackage ../development/libraries/boost/1.50-headers.nix { };
-  boostHeaders = boostHeaders150;
+  boostHeaders151 = callPackage ../development/libraries/boost/1.51-headers.nix { };
+  boostHeaders152 = callPackage ../development/libraries/boost/1.52-headers.nix { };
+  boostHeaders = boostHeaders152;
 
   botan = callPackage ../development/libraries/botan { };
 
@@ -3472,11 +3530,15 @@ let
   fcgi = callPackage ../development/libraries/fcgi { };
 
   ffmpeg = callPackage ../development/libraries/ffmpeg {
-    vpxSupport = if !stdenv.isMips then true else false;
+    vpxSupport = !stdenv.isMips;
   };
 
   ffmpeg_0_6_90 = callPackage ../development/libraries/ffmpeg/0.6.90.nix {
-    vpxSupport = if !stdenv.isMips then true else false;
+    vpxSupport = !stdenv.isMips;
+  };
+
+  ffmpeg_1_0 = callPackage ../development/libraries/ffmpeg/1.0.nix {
+    vpxSupport = !stdenv.isMips;
   };
 
   fftw = callPackage ../development/libraries/fftw {
@@ -3575,7 +3637,7 @@ let
 
   glibc213 = (callPackage ../development/libraries/glibc/2.13 {
     kernelHeaders = linuxHeaders;
-    installLocales = getConfig [ "glibc" "locales" ] false;
+    installLocales = config.glibc.locales or false;
     machHeaders = null;
     hurdHeaders = null;
     gccCross = null;
@@ -3587,7 +3649,7 @@ let
        inherit stdenv fetchurl;
        gccCross = gccCrossStageStatic;
        kernelHeaders = if crossGNU then gnu.hurdHeaders else linuxHeadersCross;
-       installLocales = getConfig [ "glibc" "locales" ] false;
+       installLocales = config.glibc.locales or false;
      }
      // lib.optionalAttrs crossGNU {
         inherit (gnu) machHeaders hurdHeaders libpthreadHeaders mig;
@@ -3614,7 +3676,7 @@ let
 
   eglibc = callPackage ../development/libraries/eglibc {
     kernelHeaders = linuxHeaders;
-    installLocales = getConfig [ "glibc" "locales" ] false;
+    installLocales = config.glibc.locales or false;
   };
 
   glibcLocales = callPackage ../development/libraries/glibc/2.13/locales.nix { };
@@ -3722,17 +3784,19 @@ let
   };
 
   gnutls = callPackage ../development/libraries/gnutls {
-    guileBindings = getConfig ["gnutls" "guile"] true;
+    guileBindings = config.gnutls.guile or true;
   };
 
   gnutls2 = callPackage ../development/libraries/gnutls/2.12.nix {
-    guileBindings = getConfig ["gnutls" "guile"] true;
+    guileBindings = config.gnutls.guile or true;
   };
 
   gnutls_without_guile = gnutls.override { guileBindings = false; };
   gnutls2_without_guile = gnutls2.override { guileBindings = false; };
 
-  gpgme = callPackage ../development/libraries/gpgme { };
+  gpgme = callPackage ../development/libraries/gpgme {
+    gnupg1 = gnupg1orig;
+  };
 
   grantlee = callPackage ../development/libraries/grantlee { };
 
@@ -3755,23 +3819,23 @@ let
       gtkmm;
   };
 
-  glib = callPackage ../development/libraries/glib/2.30.x.nix { };
+  glib = callPackage ../development/libraries/glib/2.34.x.nix { };
 
   glibmm = callPackage ../development/libraries/glibmm/2.30.x.nix { };
 
   glib_networking = callPackage ../development/libraries/glib-networking {};
 
-  atk = callPackage ../development/libraries/atk/2.2.x.nix { };
+  atk = callPackage ../development/libraries/atk/2.6.x.nix { };
 
   atkmm = callPackage ../development/libraries/atkmm/2.22.x.nix { };
 
   cairo = callPackage ../development/libraries/cairo { };
 
-  pango = callPackage ../development/libraries/pango/1.29.x.nix { };
+  pango = callPackage ../development/libraries/pango/1.30.x.nix { };
 
   pangomm = callPackage ../development/libraries/pangomm/2.28.x.nix { };
 
-  gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf/2.24.x.nix { };
+  gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf/2.26.x.nix { };
 
   gtk2 = callPackage ../development/libraries/gtk+/2.24.x.nix { };
 
@@ -3812,6 +3876,8 @@ let
   # TODO : Add MIT Kerberos and let admin choose.
   kerberos = heimdal;
 
+  harfbuzz = callPackage ../development/libraries/harfbuzz { };
+
   hawknl = callPackage ../development/libraries/hawknl { };
 
   heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { };
@@ -3915,7 +3981,7 @@ let
   libaal = callPackage ../development/libraries/libaal { };
 
   libao = callPackage ../development/libraries/libao {
-    usePulseAudio = getConfig [ "pulseaudio" ] true;
+    usePulseAudio = config.pulseaudio or true;
   };
 
   libarchive = callPackage ../development/libraries/libarchive { };
@@ -4086,7 +4152,7 @@ let
   libimobiledevice = callPackage ../development/libraries/libimobiledevice { };
 
   libiodbc = callPackage ../development/libraries/libiodbc {
-    useGTK = getConfig [ "libiodbc" "gtk" ] false;
+    useGTK = config.libiodbc.gtk or false;
   };
 
   liblastfmSF = callPackage ../development/libraries/liblastfmSF { };
@@ -4111,6 +4177,9 @@ let
 
   libQGLViewer = callPackage ../development/libraries/libqglviewer { };
 
+  libre = callPackage ../development/libraries/libre {};
+  librem = callPackage ../development/libraries/librem {};
+
   libsamplerate = callPackage ../development/libraries/libsamplerate { };
 
   libspectre = callPackage ../development/libraries/libspectre { };
@@ -4176,6 +4245,8 @@ let
 
   libmng = callPackage ../development/libraries/libmng { };
 
+  libmnl = callPackage ../development/libraries/libmnl { };
+
   libmodplug = callPackage ../development/libraries/libmodplug {};
 
   libmpcdec = callPackage ../development/libraries/libmpcdec { };
@@ -4194,6 +4265,10 @@ let
 
   libmusicbrainz = libmusicbrainz3;
 
+  libnetfilter_conntrack = callPackage ../development/libraries/libnetfilter_conntrack { };
+
+  libnfnetlink = callPackage ../development/libraries/libnfnetlink { };
+
   libnih = callPackage ../development/libraries/libnih { };
 
   libnova = callPackage ../development/libraries/libnova { };
@@ -4212,6 +4287,8 @@ let
 
   liboop = callPackage ../development/libraries/liboop { };
 
+  libopus = callPackage ../development/libraries/libopus { };
+
   libosip = callPackage ../development/libraries/osip {};
 
   libotr = callPackage ../development/libraries/libotr { };
@@ -4549,6 +4626,10 @@ let
 
   openssl = callPackage ../development/libraries/openssl {
     fetchurl = fetchurlBoot;
+    cryptodevHeaders = linuxPackages.cryptodev.override {
+      fetchurl = fetchurlBoot;
+      onlyHeaders = true;
+    };
   };
 
   ortp = callPackage ../development/libraries/ortp { };
@@ -4558,7 +4639,7 @@ let
   pangoxsl = callPackage ../development/libraries/pangoxsl { };
 
   pcre = callPackage ../development/libraries/pcre {
-    unicodeSupport = getConfig ["pcre" "unicode"] true;
+    unicodeSupport = config.pcre.unicode or true;
     cplusplusSupport = !stdenv ? isDietLibC;
   };
 
@@ -4607,6 +4688,8 @@ let
 
   protobuf = callPackage ../development/libraries/protobuf { };
 
+  protobufc = callPackage ../development/libraries/protobufc { };
+
   pth = callPackage ../development/libraries/pth { };
 
   ptlib = callPackage ../development/libraries/ptlib {};
@@ -4748,6 +4831,8 @@ let
 
   sord = callPackage ../development/libraries/sord {};
 
+  spandsp = callPackage ../development/libraries/spandsp {};
+
   speechd = callPackage ../development/libraries/speechd { };
 
   speech_tools = callPackage ../development/libraries/speech-tools {};
@@ -4761,7 +4846,7 @@ let
     inherit (xlibs) libXrandr libXfixes libXext libXrender libXinerama;
   };
 
-  spiceProtocol = callPackage ../development/libraries/spice-protocol { };
+  spice_protocol = callPackage ../development/libraries/spice-protocol { };
 
   sratom = callPackage ../development/libraries/audio/sratom { };
 
@@ -4865,6 +4950,8 @@ let
 
   vtk = callPackage ../development/libraries/vtk { };
 
+  vtkWithQt4 = vtk.override { useQt4 = true; };
+
   vxl = callPackage ../development/libraries/vxl {
     libpng = libpng12;
   };
@@ -4878,7 +4965,7 @@ let
         libjpeg libtiff libxml2 libxslt sqlite
         icu cairo intltool automake libtool
         pkgconfig autoconf bison libproxy enchant
-        python ruby which flex geoclue;
+        python ruby which flex geoclue mesa;
       inherit gstreamer gst_plugins_base gst_ffmpeg
         gst_plugins_good;
       inherit (xlibs) libXt renderproto libXrender kbproto;
@@ -4988,7 +5075,8 @@ let
     static = true;
   }));
 
-  zeromq = callPackage ../development/libraries/zeromq {};
+  zeromq2 = callPackage ../development/libraries/zeromq/2.x.nix {};
+  zeromq3 = callPackage ../development/libraries/zeromq/3.x.nix {};
 
   ### DEVELOPMENT / LIBRARIES / JAVA
 
@@ -5207,9 +5295,6 @@ let
   };
 
   dovecot = callPackage ../servers/mail/dovecot { };
-  dovecot_1_1_1 = callPackage ../servers/mail/dovecot/1.1.1.nix { };
-  dovecot_2 = callPackage ../servers/mail/dovecot/2.x.nix { };
-  dovecot_2_0 = pkgs.dovecot_2; # Actually, 2.1
 
   ejabberd = callPackage ../servers/xmpp/ejabberd { };
 
@@ -5268,6 +5353,8 @@ let
 
   nginx = callPackage ../servers/http/nginx { };
 
+  popa3d = callPackage ../servers/mail/popa3d { };
+
   postfix = callPackage ../servers/mail/postfix { };
 
   pulseaudio = callPackage ../servers/pulseaudio {
@@ -5290,7 +5377,7 @@ let
   #monetdb = callPackage ../servers/sql/monetdb { };
 
   mongodb = callPackage ../servers/nosql/mongodb {
-    useV8 = (getConfig ["mongodb" "useV8"] false);
+    useV8 = (config.mongodb.useV8 or false);
   };
 
   mysql4 = import ../servers/sql/mysql {
@@ -5340,6 +5427,10 @@ let
 
   postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { };
 
+  psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc {
+    postgresql = postgresql91;
+  };
+
   pyIRCt = builderDefsPackage (import ../servers/xmpp/pyIRCt) {
     inherit xmpppy pythonIRClib python makeWrapper;
   };
@@ -5356,9 +5447,11 @@ let
 
   redstore = callPackage ../servers/http/redstore { };
 
+  restund = callPackage ../servers/restund {};
+
   spamassassin = callPackage ../servers/mail/spamassassin {
     inherit (perlPackages) HTMLParser NetDNS NetAddrIP DBFile
-      HTTPDate MailDKIM;
+      HTTPDate MailDKIM LWP IOSocketSSL;
   };
 
   samba = callPackage ../servers/samba { };
@@ -5404,7 +5497,7 @@ let
     inherit fetchurl fetchsvn stdenv pkgconfig freetype fontconfig
       libxslt expat libdrm libpng zlib perl mesa
       xkeyboard_config dbus libuuid openssl gperf m4
-      autoconf libtool xmlto asciidoc udev flex bison python;
+      autoconf libtool xmlto asciidoc udev flex bison python mtdev;
     automake = automake110x;
   });
 
@@ -5544,14 +5637,6 @@ let
 
   gpm = callPackage ../servers/gpm { };
 
-  hal = callPackage ../os-specific/linux/hal { };
-
-  halevt = callPackage ../os-specific/linux/hal/hal-evt.nix { };
-
-  hal_info = callPackage ../os-specific/linux/hal/info.nix { };
-
-  hal_info_synaptics = callPackage ../os-specific/linux/hal/synaptics.nix { };
-
   hdparm = callPackage ../os-specific/linux/hdparm { };
 
   hibernate = callPackage ../os-specific/linux/hibernate { };
@@ -5621,6 +5706,8 @@ let
 
   linuxHeaders = linuxHeaders35;
 
+  linuxConsoleTools = callPackage ../os-specific/linux/consoletools { };
+
   linuxHeaders35 = callPackage ../os-specific/linux/kernel-headers/3.5.nix { };
 
   linuxHeaders26Cross = forceBuildDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix {
@@ -5762,9 +5849,24 @@ let
         kernelPatches.sec_perm_2_6_24
         kernelPatches.aufs3_5
         kernelPatches.perf3_5
+        kernelPatches.cifs_timeout_3_5_7
       ] ++ lib.optionals (platform.kernelArch == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
+        kernelPatches.mips_ext3_n32
+      ];
+  };
+
+  linux_3_6 = makeOverridable (import ../os-specific/linux/kernel/linux-3.6.nix) {
+    inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
+    kernelPatches =
+      [
+        kernelPatches.sec_perm_2_6_24
+        kernelPatches.aufs3_6
+      ] ++ lib.optionals (platform.kernelArch == "mips")
+      [ kernelPatches.mips_fpureg_emu
+        kernelPatches.mips_fpu_sigill
+        kernelPatches.mips_ext3_n32
       ];
   };
 
@@ -5804,6 +5906,8 @@ let
 
     blcr = callPackage ../os-specific/linux/blcr { };
 
+    cryptodev = callPackage ../os-specific/linux/cryptodev { };
+
     e1000e = callPackage ../os-specific/linux/e1000e {};
 
     exmap = callPackage ../os-specific/linux/exmap { };
@@ -5859,6 +5963,8 @@ let
 
     perf = callPackage ../os-specific/linux/kernel/perf.nix { };
 
+    spl = callPackage ../os-specific/linux/spl/default.nix { };
+
     sysprof = callPackage ../development/tools/profiling/sysprof {
       inherit (gnome) libglade;
     };
@@ -5878,6 +5984,8 @@ let
     };
 
     virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { };
+
+    zfs = callPackage ../os-specific/linux/zfs/default.nix { };
   };
 
   # Build the kernel modules for the some of the kernels.
@@ -5891,6 +5999,7 @@ let
   linuxPackages_3_3 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_3 pkgs.linuxPackages_3_3);
   linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 pkgs.linuxPackages_3_4);
   linuxPackages_3_5 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_5 pkgs.linuxPackages_3_5);
+  linuxPackages_3_6 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_6 pkgs.linuxPackages_3_6);
 
   # The current default kernel / kernel modules.
   linux = linuxPackages.kernel;
@@ -5953,9 +6062,7 @@ let
 
   module_init_tools = callPackage ../os-specific/linux/module-init-tools { };
 
-  mountall = callPackage ../os-specific/linux/mountall {
-    automake = automake111x;
-  };
+  mountall = callPackage ../os-specific/linux/mountall { };
 
   aggregateModules = modules:
     import ../os-specific/linux/module-init-tools/aggregator.nix {
@@ -6007,18 +6114,16 @@ let
   pam_usb = callPackage ../os-specific/linux/pam_usb { };
 
   pcmciaUtils = callPackage ../os-specific/linux/pcmciautils {
-    firmware = getConfig ["pcmciaUtils" "firmware"] [];
-    config = getConfig ["pcmciaUtils" "config"] null;
-  };
-
-  phat = callPackage ../development/libraries/phat {
-    inherit (gnome) libgnomecanvas;
+    firmware = config.pcmciaUtils.firmware or [];
+    config = config.pcmciaUtils.config or null;
   };
 
   pmount = callPackage ../os-specific/linux/pmount { };
 
   pmutils = callPackage ../os-specific/linux/pm-utils { };
 
+  pmtools = callPackage ../os-specific/linux/pmtools { };
+
   policycoreutils = callPackage ../os-specific/linux/policycoreutils { };
 
   powertop = callPackage ../os-specific/linux/powertop { };
@@ -6111,12 +6216,12 @@ let
 
   uclibc = callPackage ../os-specific/linux/uclibc { };
 
-  uclibcCross = callPackage ../os-specific/linux/uclibc {
+  uclibcCross = lowPrio (callPackage ../os-specific/linux/uclibc {
     inherit fetchurl stdenv libiconv;
     linuxHeaders = linuxHeadersCross;
     gccCross = gccCrossStageStatic;
     cross = assert crossSystem != null; crossSystem;
-  };
+  });
 
   udev145 = callPackage ../os-specific/linux/udev/145.nix { };
   udev173 = callPackage ../os-specific/linux/udev/173.nix { };
@@ -6124,14 +6229,6 @@ let
 
   udisks = callPackage ../os-specific/linux/udisks { };
 
-  uml = linux.override {
-    userModeLinux = true;
-  };
-
-  umlutilities = callPackage ../os-specific/linux/uml-utilities {
-    tunctl = true; mconsole = true;
-  };
-
   untie = callPackage ../os-specific/linux/untie { };
 
   upower = callPackage ../os-specific/linux/upower { };
@@ -6366,6 +6463,8 @@ let
 
   ttf_bitstream_vera = callPackage ../data/fonts/ttf-bitstream-vera { };
 
+  tzdata = callPackage ../data/misc/tzdata { };
+
   ubuntu_font_family = callPackage ../data/fonts/ubuntu-font-family { };
 
   ucsFonts = callPackage ../data/fonts/ucs-fonts { };
@@ -6399,7 +6498,9 @@ let
 
   aangifte2011 = callPackage_i686 ../applications/taxes/aangifte-2011 { };
 
-  abcde = callPackage ../applications/audio/abcde { };
+  abcde = callPackage ../applications/audio/abcde {
+    inherit (perlPackages) DigestSHA MusicBrainz MusicBrainzDiscID;
+  };
 
   abiword = callPackage ../applications/office/abiword {
     inherit (gnome) libglade libgnomecanvas;
@@ -6407,6 +6508,8 @@ let
 
   adobeReader = callPackage_i686 ../applications/misc/adobe-reader { };
 
+  aewan = callPackage ../applications/editors/aewan { };
+
   amsn = callPackage ../applications/networking/instant-messengers/amsn { };
 
   antiword = callPackage ../applications/office/antiword {};
@@ -6442,6 +6545,8 @@ let
     cairo = cairo.override { xcbSupport = true; };
   };
 
+  baresip = callPackage ../applications/networking/instant-messengers/baresip {};
+
   batik = callPackage ../applications/graphics/batik { };
 
   bazaar = callPackage ../applications/version-management/bazaar { };
@@ -6528,6 +6633,8 @@ let
     inherit (gnome) libgnomeui GConf;
   };
 
+  csound = callPackage ../applications/audio/csound { };
+
   libcompizconfig = callPackage ../applications/window-managers/compiz/libcompizconfig.nix { };
 
   compiz_bcop = callPackage ../applications/window-managers/compiz/bcop.nix { };
@@ -6573,12 +6680,16 @@ let
     inherit (pkgs.gnome) libart_lgpl libgnomeui;
   };
 
+  distrho = callPackage ../applications/audio/distrho {};
+
   djvulibre = callPackage ../applications/misc/djvulibre { };
 
   djview = callPackage ../applications/graphics/djview { };
   djview4 = pkgs.djview;
 
-  dmenu = callPackage ../applications/misc/dmenu { };
+  dmenu = callPackage ../applications/misc/dmenu {
+    enableXft = config.dmenu.enableXft or false;
+  };
 
   dmtx = builderDefsPackage (import ../tools/graphics/dmtx) {
     inherit libpng libtiff libjpeg imagemagick librsvg
@@ -6594,7 +6705,7 @@ let
   dvswitch = callPackage ../applications/video/dvswitch { };
 
   dwm = callPackage ../applications/window-managers/dwm {
-    patches = getConfig [ "dwm" "patches" ] [];
+    patches = config.dwm.patches or [];
   };
 
   eaglemode = callPackage ../applications/misc/eaglemode { };
@@ -6627,8 +6738,8 @@ let
          literal backslashes have changed.  */
       else overrideGCC stdenv gcc44;
 
-    xaw3dSupport = getConfig [ "emacs" "xaw3dSupport" ] false;
-    gtkGUI = getConfig [ "emacs" "gtkSupport" ] true;
+    xaw3dSupport = config.emacs.xaw3dSupport or false;
+    gtkGUI = config.emacs.gtkSupport or true;
   };
 
   emacs23 = callPackage ../applications/editors/emacs-23 {
@@ -6690,6 +6801,8 @@ let
 
     gh = callPackage ../applications/editors/emacs-modes/gh { };
 
+    graphvizDot = callPackage ../applications/editors/emacs-modes/graphviz-dot { };
+
     gist = callPackage ../applications/editors/emacs-modes/gist { };
 
     jade = callPackage ../applications/editors/emacs-modes/jade { };
@@ -6799,12 +6912,14 @@ let
 
   fossil = callPackage ../applications/version-management/fossil { };
 
+  geany = callPackage ../applications/editors/geany { };
+
   goldendict = callPackage ../applications/misc/goldendict { };
 
   grass = import ../applications/misc/grass {
     inherit (xlibs) libXmu libXext libXp libX11 libXt libSM libICE libXpm
       libXaw libXrender;
-    inherit getConfig composableDerivation stdenv fetchurl
+    inherit config composableDerivation stdenv fetchurl
       lib flex bison cairo fontconfig
       gdal zlib ncurses gdbm proj pkgconfig swig
       blas liblapack libjpeg libpng mysql unixODBC mesa postgresql python
@@ -6835,7 +6950,7 @@ let
 
   firefoxWrapper = wrapFirefox { browser = pkgs.firefox; };
 
-  firefoxPkgs = pkgs.firefox12Pkgs;
+  firefoxPkgs = pkgs.firefox16Pkgs;
 
   firefox36Pkgs = callPackage ../applications/networking/browsers/firefox/3.6.nix {
     inherit (gnome) libIDL;
@@ -6843,12 +6958,6 @@ let
 
   firefox36Wrapper = wrapFirefox { browser = firefox36Pkgs.firefox; };
 
-  firefox12Pkgs = callPackage ../applications/networking/browsers/firefox/12.0.nix {
-    inherit (gnome) libIDL;
-  };
-
-  firefox12Wrapper = wrapFirefox { browser = firefox12Pkgs.firefox; };
-
   firefox13Pkgs = callPackage ../applications/networking/browsers/firefox/13.0.nix {
     inherit (gnome) libIDL;
   };
@@ -6862,18 +6971,17 @@ let
 
   firefox15Wrapper = lowPrio (wrapFirefox { browser = firefox15Pkgs.firefox; });
 
-  flac = callPackage ../applications/audio/flac { };
-
-  flashplayer = flashplayer11;
+  firefox16Pkgs = callPackage ../applications/networking/browsers/firefox/16.0.nix {
+    inherit (gnome) libIDL;
+    inherit (pythonPackages) pysqlite;
+  };
 
-  flashplayer9 = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer-9 { };
+  firefox16Wrapper = lowPrio (wrapFirefox { browser = firefox16Pkgs.firefox; });
 
-  flashplayer10 = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer-10 {
-    debug = getConfig ["flashplayer" "debug"] false;
-  };
+  flac = callPackage ../applications/audio/flac { };
 
-  flashplayer11 = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer-11 {
-    debug = getConfig ["flashplayer" "debug"] false;
+  flashplayer = callPackage ../applications/networking/browsers/mozilla-plugins/flashplayer-11 {
+    debug = config.flashplayer.debug or false;
     # !!! Fix the dependency on two different builds of nss.
   };
 
@@ -6927,6 +7035,8 @@ let
     pcre = pcre.override { unicodeSupport = true; };
   };
 
+  gmrun = callPackage ../applications/misc/gmrun {};
+
   gnucash = callPackage ../applications/office/gnucash {
     inherit (gnome) libgnomeui libgtkhtml gtkhtml libbonoboui libgnomeprint;
     gconf = gnome.GConf;
@@ -6967,7 +7077,7 @@ let
   gnunet08 = callPackage ../applications/networking/p2p/gnunet/0.8.nix {
     inherit (gnome) libglade;
     guile = guile_1_8;
-    gtkSupport = getConfig [ "gnunet" "gtkSupport" ] true;
+    gtkSupport = config.gnunet.gtkSupport or true;
   };
 
   gnunet = callPackage ../applications/networking/p2p/gnunet { };
@@ -7042,6 +7152,8 @@ let
 
   hello = callPackage ../applications/misc/hello/ex-2 { };
 
+  hexedit = callPackage ../applications/editors/hexedit { };
+
   homebank = callPackage ../applications/office/homebank { };
 
   htmldoc = callPackage ../applications/misc/htmldoc {
@@ -7148,6 +7260,8 @@ let
 
   kermit = callPackage ../tools/misc/kermit { };
 
+  keymon = callPackage ../applications/video/key-mon { };
+
   kino = callPackage ../applications/video/kino {
     inherit (gnome) libglade;
   };
@@ -7326,7 +7440,7 @@ let
     avahi = avahi.override {
       withLibdnssdCompat = true;
     };
-    jackSupport = getConfig [ "mumble" "jackSupport" ] false;
+    jackSupport = config.mumble.jackSupport or false;
   };
 
   mutt = callPackage ../applications/networking/mailreaders/mutt { };
@@ -7349,6 +7463,8 @@ let
 
   navit = callPackage ../applications/misc/navit { };
 
+  netbeans = callPackage ../applications/editors/netbeans { };
+
   ncdu = callPackage ../tools/misc/ncdu { };
 
   nedit = callPackage ../applications/editors/nedit {
@@ -7367,6 +7483,8 @@ let
 
   novaclient = callPackage ../applications/virtualization/nova/client.nix { };
 
+  nspluginwrapper = callPackage ../applications/networking/browsers/mozilla-plugins/nspluginwrapper {};
+
   nvi = callPackage ../applications/editors/nvi { };
 
   ocrad = callPackage ../applications/graphics/ocrad { };
@@ -7395,6 +7513,8 @@ let
     inherit (pkgs.kde4) kdelibs;
   };
 
+  opusTools = callPackage ../applications/audio/opus-tools { };
+
   pan = callPackage ../applications/networking/newsreaders/pan {
     spellChecking = false;
   };
@@ -7417,10 +7537,12 @@ let
 
   picard = callPackage ../applications/audio/picard { };
 
+  picocom = callPackage ../tools/misc/picocom { };
+
   pidgin = callPackage ../applications/networking/instant-messengers/pidgin {
-    openssl = if (getConfig ["pidgin" "openssl"] true) then openssl else null;
-    gnutls = if (getConfig ["pidgin" "gnutls"] false) then gnutls else null;
-    libgcrypt = if (getConfig ["pidgin" "gnutls"] false) then libgcrypt else null;
+    openssl = if (config.pidgin.openssl or true) then openssl else null;
+    gnutls = if (config.pidgin.gnutls or false) then gnutls else null;
+    libgcrypt = if (config.pidgin.gnutls or false) then libgcrypt else null;
     inherit (gnome) startupnotification;
   };
 
@@ -7476,6 +7598,8 @@ let
 
   qsynth = callPackage ../applications/audio/qsynth { };
 
+  qtcreator = callPackage ../development/qtcreator { };
+
   qtpfsgui = callPackage ../applications/graphics/qtpfsgui { };
 
   qtractor = callPackage ../applications/audio/qtractor { };
@@ -7509,7 +7633,7 @@ let
 
   rsync = callPackage ../applications/networking/sync/rsync {
     enableACLs = !(stdenv.isDarwin || stdenv.isSunOS);
-    enableCopyDevicesPatch = (getConfig ["rsync" "enableCopyDevicesPatch"] false);
+    enableCopyDevicesPatch = (config.rsync.enableCopyDevicesPatch or false);
   };
 
   rxvt = callPackage ../applications/misc/rxvt { };
@@ -7541,8 +7665,8 @@ let
 
   siproxd = callPackage ../applications/networking/siproxd { };
 
-  skype_linux = callPackage_i686 ../applications/networking/instant-messengers/skype {
-    usePulseAudio = getConfig [ "pulseaudio" ] false; # disabled by default (the 100% cpu bug)
+  skype = callPackage_i686 ../applications/networking/instant-messengers/skype {
+    usePulseAudio = config.pulseaudio or false; # disabled by default (the 100% cpu bug)
   };
 
   st = callPackage ../applications/misc/st { };
@@ -7580,6 +7704,8 @@ let
     clisp = clisp_2_44_1;
   };
 
+  sublime = callPackage ../applications/editors/sublime { };
+
   subversion = callPackage ../applications/version-management/subversion/default.nix {
     neon = pkgs.neon029;
     bdbSupport = true;
@@ -7608,6 +7734,8 @@ let
 
   svk = perlPackages.SVK;
 
+  swh_lv2 = callPackage ../applications/audio/swh-lv2 { };
+
   sylpheed = callPackage ../applications/networking/mailreaders/sylpheed {
     sslSupport = true;
     gpgSupport = true;
@@ -7637,7 +7765,7 @@ let
   taskjuggler = callPackage ../applications/misc/taskjuggler {
     # KDE support is not working yet.
     inherit (kde3) kdelibs kdebase;
-    withKde = getConfig [ "taskJuggler" "kde" ] false;
+    withKde = config.taskJuggler.kde or false;
   };
 
   taskwarrior = callPackage ../applications/misc/taskwarrior { };
@@ -7660,7 +7788,7 @@ let
 
   thinkingRock = callPackage ../applications/misc/thinking-rock { };
 
-  thunderbird = callPackage ../applications/networking/mailreaders/thunderbird/11.x.nix {
+  thunderbird = callPackage ../applications/networking/mailreaders/thunderbird {
     inherit (gnome) libIDL;
   };
 
@@ -7691,9 +7819,11 @@ let
     libzrtpcpp = libzrtpcpp_1_6;
   };
 
+  umurmur = callPackage ../applications/networking/umurmur { };
+
   unison = callPackage ../applications/networking/sync/unison {
     inherit (ocamlPackages) lablgtk;
-    enableX11 = getConfig [ "unison" "enableX11" ] true;
+    enableX11 = config.unison.enableX11 or true;
   };
 
   uucp = callPackage ../tools/misc/uucp { };
@@ -7701,10 +7831,11 @@ let
   uwimap = callPackage ../tools/networking/uwimap { };
 
   uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) {
-    inherit pkgconfig webkit makeWrapper glib_networking;
-    inherit gtk3 glib;
+    inherit pkgconfig webkit makeWrapper glib_networking python3;
+    inherit glib pango cairo gdk_pixbuf atk;
     inherit (xlibs) libX11 kbproto;
     inherit (gnome) libsoup;
+    gtk = gtk3;
   };
 
   vdpauinfo = callPackage ../tools/X11/vdpauinfo { };
@@ -7723,19 +7854,15 @@ let
   vimHugeX = vim_configurable;
 
   vim_configurable = import ../applications/editors/vim/configurable.nix {
-    inherit (pkgs) fetchurl stdenv ncurses pkgconfig gettext composableDerivation lib
-      getConfig;
-    inherit (pkgs.xlibs) libX11 libXext libSM libXpm
-        libXt libXaw libXau libXmu libICE;
+    inherit (pkgs) fetchurl stdenv ncurses pkgconfig gettext composableDerivation lib config;
+    inherit (pkgs.xlibs) libX11 libXext libSM libXpm libXt libXaw libXau libXmu libICE;
     inherit (pkgs) glib gtk;
     features = "huge"; # one of  tiny, small, normal, big or huge
     # optional features by passing
     # python
     # TODO mzschemeinterp perlinterp
     inherit (pkgs) python perl tcl ruby /*x11*/;
-
     lua = pkgs.lua5;
-
     # optional features by flags
     flags = [ "X11" ]; # only flag "X11" by now
   };
@@ -7755,7 +7882,9 @@ let
     inherit (xlibs) libX11;
   };
 
-  vlc = callPackage ../applications/video/vlc { };
+  vlc = callPackage ../applications/video/vlc {
+    ffmpeg = ffmpeg_1_0;
+  };
 
   vnstat = callPackage ../applications/networking/vnstat { };
 
@@ -7773,6 +7902,8 @@ let
 
   wings = callPackage ../applications/graphics/wings { };
 
+  wmname = callPackage ../applications/misc/wmname { };
+
   # I'm keen on wmiimenu only  >wmii-3.5 no longer has it...
   wmiimenu = import ../applications/window-managers/wmii31 {
     libixp = libixp_for_wmii;
@@ -7784,7 +7915,7 @@ let
     libixp = libixp_for_wmii;
     inherit fetchurl /* fetchhg */ stdenv gawk;
     inherit (xlibs) libX11 xextproto libXt libXext;
-    includeUnpack = getConfig ["stdenv" "includeUnpack"] false;
+    includeUnpack = config.stdenv.includeUnpack or false;
   };
 
   wordnet = callPackage ../applications/misc/wordnet { };
@@ -7796,23 +7927,24 @@ let
       inherit stdenv makeWrapper makeDesktopItem browser browserName desktopName nameSuffix icon;
       plugins =
         let
-          enableAdobeFlash = getConfig [ browserName "enableAdobeFlash" ] true;
-          enableGnash = getConfig [ browserName "enableGnash" ] false;
+          cfg = stdenv.lib.attrByPath [ browserName ] {} config;
+          enableAdobeFlash = cfg.enableAdobeFlash or true;
+          enableGnash = cfg.enableGnash or false;
         in
          assert !(enableGnash && enableAdobeFlash);
          ([ ]
           ++ lib.optional enableGnash gnash
           ++ lib.optional enableAdobeFlash flashplayer
           # RealPlayer is disabled by default for legal reasons.
-          ++ lib.optional (system != "i686-linux" && getConfig [browserName "enableRealPlayer"] false) RealPlayer
-          ++ lib.optional (getConfig [browserName "enableDjvu"] false) (djview4)
-          ++ lib.optional (getConfig [browserName "enableMPlayer"] false) (MPlayerPlugin browser)
-          ++ lib.optional (getConfig [browserName "enableGeckoMediaPlayer"] false) gecko_mediaplayer
-          ++ lib.optional (supportsJDK && getConfig [browserName "jre"] false && jrePlugin ? mozillaPlugin) jrePlugin
-          ++ lib.optional (getConfig [browserName "enableGoogleTalkPlugin"] false) google_talk_plugin
+          ++ lib.optional (system != "i686-linux" && cfg.enableRealPlayer or false) RealPlayer
+          ++ lib.optional (cfg.enableDjvu or false) (djview4)
+          ++ lib.optional (cfg.enableMPlayer or false) (MPlayerPlugin browser)
+          ++ lib.optional (cfg.enableGeckoMediaPlayer or false) gecko_mediaplayer
+          ++ lib.optional (supportsJDK && cfg.jre or false && jrePlugin ? mozillaPlugin) jrePlugin
+          ++ lib.optional (cfg.enableGoogleTalkPlugin or false) google_talk_plugin
          );
       libs =
-        if getConfig [ browserName "enableQuakeLive" ] false
+        if config.browserName.enableQuakeLive or false
         then with xlibs; [ stdenv.gcc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ]
         else [ ];
     };
@@ -7849,6 +7981,8 @@ let
 
   xen = callPackage ../applications/virtualization/xen { };
 
+  xfe = callPackage ../applications/misc/xfe { };
+
   xfig = callPackage ../applications/graphics/xfig {
     stdenv = overrideGCC stdenv gcc34;
   };
@@ -8021,6 +8155,10 @@ let
     inherit (gnome) gnomedocutils;
   };
 
+  gsmartcontrol = callPackage ../tools/misc/gsmartcontrol {
+    inherit (gnome) libglademm;
+  };
+
   gtypist = callPackage ../games/gtypist { };
 
   hexen = callPackage ../games/hexen { };
@@ -8078,6 +8216,8 @@ let
     mygui = myguiSvn;
   };
 
+  rili = callPackage ../games/rili { };
+
   rogue = callPackage ../games/rogue { };
 
   sauerbraten = callPackage ../games/sauerbraten {};
@@ -8103,7 +8243,7 @@ let
   # You still can override by passing more arguments.
   spaceOrbit = callPackage ../games/orbit { };
 
-  spring = callPackage ../games/spring { };
+  spring = callPackage ../games/spring { boost = boost149;};
 
   springLobby = callPackage ../games/spring/springlobby.nix { };
 
@@ -8158,6 +8298,8 @@ let
     lua = lua5;
   };
 
+  uqm = callPackage ../games/uqm { };
+
   urbanterror = callPackage ../games/urbanterror { };
 
   ut2004demo = callPackage ../games/ut2004demo { };
@@ -8238,15 +8380,15 @@ let
 
   kde4 = recurseIntoAttrs pkgs.kde47;
 
-  kde47 = kdePackagesFor pkgs.kde47 "4.7";
+  kde47 = kdePackagesFor (pkgs.kde47 // {boost = boost149;}) ../desktops/kde-4.7;
 
-  kde48 = kdePackagesFor pkgs.kde48 "4.8";
+  kde48 = kdePackagesFor (pkgs.kde48 // {boost = boost149;}) ../desktops/kde-4.8;
 
-  kdePackagesFor = self: version:
+  kdePackagesFor = self: dir:
     let callPackageOrig = callPackage; in
     let
       callPackage = newScope self;
-      kde4 = callPackageOrig (../desktops/kde- + version) {
+      kde4 = callPackageOrig dir {
         inherit callPackage callPackageOrig;
       };
     in kde4 // {
@@ -8370,10 +8512,6 @@ let
 
   xfce = xfce48;
 
-  xfce46 = recurseIntoAttrs
-    (let callPackage = newScope pkgs.xfce46; in
-     import ../desktops/xfce-4.6 { inherit callPackage pkgs; });
-
   xfce48 = recurseIntoAttrs
     (let callPackage = newScope pkgs.xfce48; in
      import ../desktops/xfce-4.8 { inherit callPackage pkgs; });
@@ -8628,11 +8766,12 @@ let
   gajim = builderDefsPackage (import ../applications/networking/instant-messengers/gajim) {
     inherit perl intltool pyGtkGlade gettext pkgconfig makeWrapper pygobject
       pyopenssl gtkspell libsexy pycrypto aspell pythonDBus pythonSexy
-      docutils gtk;
+      docutils gtk farstream gst_plugins_bad gstreamer gst_ffmpeg gst_python;
     dbus = dbus.libs;
     inherit (gnome) libglade;
     inherit (xlibs) libXScrnSaver libXt xproto libXext xextproto libX11
       scrnsaverproto;
+    inherit (pythonPackages) pyasn1;
     python = pythonFull;
   };
 
@@ -8640,8 +8779,8 @@ let
 
   ghostscript = callPackage ../misc/ghostscript {
     x11Support = false;
-    cupsSupport = getConfig [ "ghostscript" "cups" ] true;
-    gnuFork = getConfig [ "ghostscript" "gnu" ] false;
+    cupsSupport = config.ghostscript.cups or true;
+    gnuFork = config.ghostscript.gnu or false;
   };
 
   ghostscriptX = appendToName "with-X" (ghostscript.override {
@@ -8677,13 +8816,13 @@ let
   nix = nixStable;
 
   nixStable = callPackage ../tools/package-management/nix {
-    storeDir = getConfig [ "nix" "storeDir" ] "/nix/store";
-    stateDir = getConfig [ "nix" "stateDir" ] "/nix/var";
+    storeDir = config.nix.storeDir or "/nix/store";
+    stateDir = config.nix.stateDir or "/nix/var";
   };
 
   nixUnstable = callPackage ../tools/package-management/nix/unstable.nix {
-    storeDir = getConfig [ "nix" "storeDir" ] "/nix/store";
-    stateDir = getConfig [ "nix" "stateDir" ] "/nix/var";
+    storeDir = config.nix.storeDir or "/nix/store";
+    stateDir = config.nix.stateDir or "/nix/var";
   };
 
   nixCustomFun = src: preConfigure: enableScripts: configureFlags:
@@ -8703,13 +8842,13 @@ let
   disnix = callPackage ../tools/package-management/disnix { };
 
   disnix_activation_scripts = callPackage ../tools/package-management/disnix/activation-scripts {
-    enableApacheWebApplication = getConfig ["disnix" "enableApacheWebApplication"] false;
-    enableAxis2WebService = getConfig ["disnix" "enableAxis2WebService"] false;
-    enableEjabberdDump = getConfig ["disnix" "enableEjabberdDump"] false;
-    enableMySQLDatabase = getConfig ["disnix" "enableMySQLDatabase"] false;
-    enablePostgreSQLDatabase = getConfig ["disnix" "enablePostgreSQLDatabase"] false;
-    enableSubversionRepository = getConfig ["disnix" "enableSubversionRepository"] false;
-    enableTomcatWebApplication = getConfig ["disnix" "enableTomcatWebApplication"] false;
+    enableApacheWebApplication = config.disnix.enableApacheWebApplication or false;
+    enableAxis2WebService = config.disnix.enableAxis2WebService or false;
+    enableEjabberdDump = config.disnix.enableEjabberdDump or false;
+    enableMySQLDatabase = config.disnix.enableMySQLDatabase or false;
+    enablePostgreSQLDatabase = config.disnix.enablePostgreSQLDatabase or false;
+    enableSubversionRepository = config.disnix.enableSubversionRepository or false;
+    enableTomcatWebApplication = config.disnix.enableTomcatWebApplication or false;
   };
 
   disnixos = callPackage ../tools/package-management/disnix/disnixos { };
@@ -8754,12 +8893,12 @@ let
   xlockmore = callPackage ../misc/screensavers/xlockmore { };
 
   saneBackends = callPackage ../misc/sane-backends {
-    gt68xxFirmware = getConfig ["sane" "gt68xxFirmware"] null;
-    hotplugSupport = getConfig ["sane" "hotplugSupport"] true;
+    gt68xxFirmware = config.sane.gt68xxFirmware or null;
+    hotplugSupport = config.sane.hotplugSupport or true;
   };
 
   saneBackendsSnapshot = callPackage ../misc/sane-backends/snapshot.nix {
-    gt68xxFirmware = getConfig ["sane" "gt68xxFirmware"] null;
+    gt68xxFirmware = config.sane.gt68xxFirmware or null;
   };
 
   saneFrontends = callPackage ../misc/sane-front { };
diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix
index f33defcb8095..aa43203fe533 100644
--- a/pkgs/top-level/haskell-defaults.nix
+++ b/pkgs/top-level/haskell-defaults.nix
@@ -8,7 +8,7 @@
 # The actual Haskell packages are composed in haskell-packages.nix. There is
 # more documentation in there.
 
-{ makeOverridable, lowPrio, stdenv, pkgs, newScope, getConfig, callPackage } : rec {
+{ makeOverridable, lowPrio, stdenv, pkgs, newScope, config, callPackage } : rec {
 
   # Preferences functions.
   #
@@ -22,6 +22,12 @@
       extensibleExceptions = self.extensibleExceptions_0_1_1_4;
     };
 
+  ghc742Prefs =
+    self : self.haskellPlatformArgs_2012_4_0_0 self // {
+      haskellPlatform = self.haskellPlatform_2012_4_0_0;
+      binary = null; # now a core package
+    };
+
   ghc741Prefs =
     self : self.haskellPlatformArgs_2012_2_0_0 self // {
       haskellPlatform = self.haskellPlatform_2012_2_0_0;
@@ -40,7 +46,6 @@
   ghc704Prefs =
     self : self.haskellPlatformArgs_2011_4_0_0 self // {
       haskellPlatform = self.haskellPlatform_2011_4_0_0;
-      repaExamples = null;      # don't pick this version of 'repa-examples' during nix-env -u
       cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; };
       monadPar = self.monadPar_0_1_0_3;
       jailbreakCabal = self.jailbreakCabal.override { Cabal = self.Cabal_1_14_0; };
@@ -49,7 +54,6 @@
   ghc703Prefs =
     self : self.haskellPlatformArgs_2011_2_0_1 self // {
       haskellPlatform = self.haskellPlatform_2011_2_0_1;
-      repaExamples = null;      # don't pick this version of 'repa-examples' during nix-env -u
       cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; zlib = self.zlib_0_5_3_3; };
       monadPar = self.monadPar_0_1_0_3;
       jailbreakCabal = self.jailbreakCabal.override { Cabal = self.Cabal_1_14_0; };
@@ -60,7 +64,6 @@
   ghc701Prefs =
     self : self.haskellPlatformArgs_2011_2_0_0 self // {
       haskellPlatform = self.haskellPlatform_2011_2_0_0;
-      repaExamples = null;      # don't pick this version of 'repa-examples' during nix-env -u
       cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; zlib = self.zlib_0_5_3_3; };
       monadPar = self.monadPar_0_1_0_3;
       jailbreakCabal = self.jailbreakCabal.override { Cabal = self.Cabal_1_14_0; };
@@ -72,7 +75,6 @@
     self : self.haskellPlatformArgs_2010_2_0_0 self // {
       haskellPlatform = self.haskellPlatform_2010_2_0_0;
       mtl1 = self.mtl_1_1_0_2;
-      repaExamples = null;      # don't pick this version of 'repa-examples' during nix-env -u
       cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; zlib = self.zlib_0_5_3_3; };
       monadPar = self.monadPar_0_1_0_3;
       deepseq = self.deepseq_1_1_0_2;
@@ -85,7 +87,6 @@
       haskellPlatform = self.haskellPlatform_2010_1_0_0;
       mtl1 = self.mtl_1_1_0_2;
       extensibleExceptions = self.extensibleExceptions_0_1_1_0;
-      repaExamples = null;      # don't pick this version of 'repa-examples' during nix-env -u
       deepseq = self.deepseq_1_1_0_2;
       monadPar = self.monadPar_0_1_0_3;
       jailbreakCabal = self.jailbreakCabal.override { Cabal = self.Cabal_1_14_0; };
@@ -99,7 +100,6 @@
       mtl1 = self.mtl_1_1_0_2;
       extensibleExceptions = self.extensibleExceptions_0_1_1_0;
       text = self.text_0_11_0_6;
-      repaExamples = null;      # don't pick this version of 'repa-examples' during nix-env -u
       cabalInstall_0_14_0 = self.cabalInstall_0_14_0.override { Cabal = self.Cabal_1_14_0; zlib = self.zlib_0_5_3_3; };
       deepseq = self.deepseq_1_1_0_2;
       monadPar = self.monadPar_0_1_0_3;
@@ -122,13 +122,13 @@
         # prefFun = self : super : self;
         enableLibraryProfiling =
           if profExplicit then profDefault
-                          else getConfig [ "cabal" "libraryProfiling" ] profDefault;
+                          else config.cabal.libraryProfiling or profDefault;
         ghc = callPackage ghcPath { ghc = ghcBinary; };
       });
 
   defaultVersionPrioFun =
     profDefault :
-    if getConfig [ "cabal" "libraryProfiling" ] false == profDefault
+    if config.cabal.libraryProfiling or false == profDefault
       then (x : x)
       else lowPrio;
 
@@ -173,6 +173,10 @@
     gmp = pkgs.gmp4;
   });
 
+  ghc742Binary = lowPrio (callPackage ../development/compilers/ghc/7.4.2-binary.nix {
+    gmp = pkgs.gmp4;
+  });
+
   ghc6101BinaryDarwin = if stdenv.isDarwin then ghc704Binary else ghc6101Binary;
   ghc6121BinaryDarwin = if stdenv.isDarwin then ghc704Binary else ghc6121Binary;
 
@@ -260,7 +264,7 @@
   packages_ghc742 =
     packages { ghcPath = ../development/compilers/ghc/7.4.2.nix;
                ghcBinary = ghc6121BinaryDarwin;
-               prefFun = ghc741Prefs;
+               prefFun = ghc742Prefs;
              };
 
   packages_ghc761 =
@@ -272,7 +276,7 @@
   # Reasonably current HEAD snapshot. Should *always* be lowPrio.
   packages_ghcHEAD =
     packages { ghcPath = ../development/compilers/ghc/head.nix;
-               ghcBinary = ghc704Binary;
+               ghcBinary = ghc742Binary;
                prefFun = ghcHEADPrefs;
              };
 
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 30edecc335dd..97992bd3b1c5 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -116,39 +116,82 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   # GHC version, change the "preferences function" for that GHC version
   # in haskell-defaults.nix.
 
-  # NOTE: 2012.2.0.0 is the current default.
+  # NOTE: 2012.4.0.0 is the current default.
 
   haskellPlatformArgs_future = self : {
     inherit (self) cabal ghc;
-    cgi          = self.cgi_3001_1_8_2;         # 7.6 fail
+    async        = self.async_2_0_1_4;          # 7.6 ok
+    cgi          = self.cgi_3001_1_8_3;         # 7.6 ok
     fgl          = self.fgl_5_4_2_4;            # 7.6 ok
-    GLUT         = self.GLUT_2_3_0_0;           # 7.6 fail
-    haskellSrc   = self.haskellSrc_1_0_1_5;     # 7.6 fail
+    GLUT         = self.GLUT_2_3_1_0;           # 7.6 ok
+    haskellSrc   = self.haskellSrc_1_0_1_5;     # 7.6 ok
     html         = self.html_1_0_1_2;           # 7.6 ok
-    HTTP         = self.HTTP_4000_2_4;          # 7.6 ok
+    HTTP         = self.HTTP_4000_2_6;          # 7.6 ok
     HUnit        = self.HUnit_1_2_5_1;          # 7.6 ok
     mtl          = self.mtl_2_1_2;              # 7.6 ok
-    network      = self.network_2_3_1_0;        # 7.6 ok
-    OpenGL       = self.OpenGL_2_5_0_0;         # 7.6 ok
+    network      = self.network_2_4_0_1;        # 7.6 ok
+    OpenGL       = self.OpenGL_2_6_0_1;         # 7.6 ok
     parallel     = self.parallel_3_2_0_3;       # 7.6 ok
     parsec       = self.parsec_3_1_3;           # 7.6 ok
-    QuickCheck   = self.QuickCheck_2_5;         # 7.6 ok
+    QuickCheck   = self.QuickCheck_2_5_1_1;     # 7.6 ok
     random       = self.random_1_0_1_1;         # 7.6 ok
     regexBase    = self.regexBase_0_93_2;       # 7.6 ok
-    regexCompat  = self.regexCompat_0_95_1;     # 7.6 fail
-    regexPosix   = self.regexPosix_0_95_1;      # 7.6 fail
-    stm          = self.stm_2_4;                # 7.6 ok
+    regexCompat  = self.regexCompat_0_95_1;     # 7.6 ok
+    regexPosix   = self.regexPosix_0_95_2;      # 7.6 ok
+    split        = self.split_0_2_1_1;          # 7.6 ok
+    stm          = self.stm_2_4_2;              # 7.6 ok
     syb          = self.syb_0_3_7;              # 7.6 ok
     text         = self.text_0_11_2_3;          # 7.6 ok
     transformers = self.transformers_0_3_0_0;   # 7.6 ok
+    vector       = self.vector_0_10_0_1;        # 7.6 ok
     xhtml        = self.xhtml_3000_2_1;         # 7.6 ok
-    zlib         = self.zlib_0_5_3_3;           # 7.6 ok
-    cabalInstall = self.cabalInstall_0_14_0;    # 7.6 ok
-    alex         = self.alex_3_0_1;             # 7.6 ok
-    haddock      = self.haddock_2_12_0;         # 7.6 ok
-    happy        = self.happy_1_18_9;           # 7.6 fail
+    zlib         = self.zlib_0_5_4_0;           # 7.6 ok
+    cabalInstall = self.cabalInstall_1_16_0_2;  # 7.6 ok
+    alex         = self.alex_3_0_2;             # 7.6 ok
+    haddock      = self.haddock_2_13_1;         # 7.6 ok
+    happy        = self.happy_1_18_10;          # 7.6 ok
+    primitive    = self.primitive_0_5_0_1; # semi-official, but specified
   };
 
+  haskellPlatformArgs_2012_4_0_0 = self : {
+    inherit (self) cabal ghc;
+    async        = self.async_2_0_1_3;
+    cgi          = self.cgi_3001_1_7_4;
+    fgl          = self.fgl_5_4_2_4;
+    GLUT         = self.GLUT_2_1_2_1;
+    haskellSrc   = self.haskellSrc_1_0_1_5;
+    html         = self.html_1_0_1_2;
+    HTTP         = self.HTTP_4000_2_5;
+    HUnit        = self.HUnit_1_2_5_1;
+    mtl          = self.mtl_2_1_2;
+    network      = self.network_2_3_1_0;
+    OpenGL       = self.OpenGL_2_2_3_1;
+    parallel     = self.parallel_3_2_0_3;
+    parsec       = self.parsec_3_1_3;
+    QuickCheck   = self.QuickCheck_2_5_1_1;
+    random       = self.random_1_0_1_1;
+    regexBase    = self.regexBase_0_93_2;
+    regexCompat  = self.regexCompat_0_95_1;
+    regexPosix   = self.regexPosix_0_95_2;
+    split        = self.split_0_2_1_1;
+    stm          = self.stm_2_4;
+    syb          = self.syb_0_3_7;
+    text         = self.text_0_11_2_3;
+    transformers = self.transformers_0_3_0_0;
+    vector       = self.vector_0_10_0_1;
+    xhtml        = self.xhtml_3000_2_1;
+    zlib         = self.zlib_0_5_4_0;
+    cabalInstall = self.cabalInstall_0_14_0;
+    alex         = self.alex_3_0_2;
+    haddock      = self.haddock_2_11_0;
+    happy        = self.happy_1_18_10;
+    primitive    = self.primitive_0_5_0_1; # semi-official, but specified
+  };
+
+  haskellPlatform_2012_4_0_0 =
+    callPackage ../development/libraries/haskell/haskell-platform/2012.4.0.0.nix
+      (self.haskellPlatformArgs_2012_4_0_0 self);
+
   haskellPlatformArgs_2012_2_0_0 = self : {
     inherit (self) cabal ghc;
     cgi          = self.cgi_3001_1_7_4;         # 7.4.1 ok
@@ -386,7 +429,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   Agda = callPackage ../development/libraries/haskell/Agda {
     haskellSrcExts = self.haskellSrcExts_1_11_1;
-    haskeline = self.haskeline_0_6_4_7;
+    QuickCheck = self.QuickCheck_2_4_2;
   };
 
   accelerate = callPackage ../development/libraries/haskell/accelerate {};
@@ -409,6 +452,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   alternativeIo = callPackage ../development/libraries/haskell/alternative-io {};
 
+  appar = callPackage ../development/libraries/haskell/appar {};
+
   ansiTerminal = callPackage ../development/libraries/haskell/ansi-terminal {};
 
   ansiWlPprint = callPackage ../development/libraries/haskell/ansi-wl-pprint {};
@@ -419,12 +464,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   AspectAG = callPackage ../development/libraries/haskell/AspectAG {};
 
-  async = callPackage ../development/libraries/haskell/async {};
+  async_2_0_1_3 = callPackage ../development/libraries/haskell/async/2.0.1.3.nix {};
+  async_2_0_1_4 = callPackage ../development/libraries/haskell/async/2.0.1.4.nix {};
+  async = self.async_2_0_1_4;
 
   attempt = callPackage ../development/libraries/haskell/attempt {};
 
   attoparsec = callPackage ../development/libraries/haskell/attoparsec {};
 
+  attoparsecBinary = callPackage ../development/libraries/haskell/attoparsec-binary {};
+
   attoparsecConduit = callPackage ../development/libraries/haskell/attoparsec-conduit {};
 
   attoparsecEnumerator = callPackage ../development/libraries/haskell/attoparsec/enumerator.nix {};
@@ -439,6 +488,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   baseUnicodeSymbols = callPackage ../development/libraries/haskell/base-unicode-symbols {};
 
+  basicPrelude = callPackage ../development/libraries/haskell/basic-prelude {};
+
   benchpress = callPackage ../development/libraries/haskell/benchpress {
     time = self.time_1_1_3;
   };
@@ -480,6 +531,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   bson = callPackage ../development/libraries/haskell/bson {};
 
+  boomerang = callPackage ../development/libraries/haskell/boomerang {};
+
   byteorder = callPackage ../development/libraries/haskell/byteorder {};
 
   bytestringNums = callPackage ../development/libraries/haskell/bytestring-nums {};
@@ -495,6 +548,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   };
 
   Cabal_1_14_0 = callPackage ../development/libraries/haskell/Cabal/1.14.0.nix { cabal = self.cabal.override { Cabal = null; }; };
+  Cabal_1_16_0_3 = callPackage ../development/libraries/haskell/Cabal/1.16.0.3.nix { cabal = self.cabal.override { Cabal = null; }; };
   Cabal = null; # core package in GHC
 
   cabalFileTh = callPackage ../development/libraries/haskell/cabal-file-th {};
@@ -518,8 +572,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   cgi_3001_1_7_2 = callPackage ../development/libraries/haskell/cgi/3001.1.7.2.nix {};
   cgi_3001_1_7_3 = callPackage ../development/libraries/haskell/cgi/3001.1.7.3.nix {};
   cgi_3001_1_7_4 = callPackage ../development/libraries/haskell/cgi/3001.1.7.4.nix {};
-  cgi_3001_1_8_2 = callPackage ../development/libraries/haskell/cgi/3001.1.8.2.nix {};
-  cgi = self.cgi_3001_1_8_2;
+  cgi_3001_1_8_3 = callPackage ../development/libraries/haskell/cgi/3001.1.8.3.nix {};
+  cgi = self.cgi_3001_1_8_3;
 
   Chart = callPackage ../development/libraries/haskell/Chart {};
 
@@ -527,6 +581,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   cipherAes = callPackage ../development/libraries/haskell/cipher-aes {};
 
+  classyPrelude = callPackage ../development/libraries/haskell/classy-prelude {};
+
+  classyPreludeConduit = callPackage ../development/libraries/haskell/classy-prelude-conduit {};
+
   clientsession = callPackage ../development/libraries/haskell/clientsession {};
 
   cmdargs = callPackage ../development/libraries/haskell/cmdargs {};
@@ -539,6 +597,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   comonad = callPackage ../development/libraries/haskell/comonad {};
 
+  comonadsFd = callPackage ../development/libraries/haskell/comonads-fd {};
+
   comonadTransformers = callPackage ../development/libraries/haskell/comonad-transformers {};
 
   compactStringFix = callPackage ../development/libraries/haskell/compact-string-fix {};
@@ -613,6 +673,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   datetime = callPackage ../development/libraries/haskell/datetime {};
 
+  DAV = callPackage ../development/libraries/haskell/DAV {};
+
+  dbus = callPackage ../development/libraries/haskell/dbus {};
+
   deepseq_1_1_0_0 = callPackage ../development/libraries/haskell/deepseq/1.1.0.0.nix {};
   deepseq_1_1_0_2 = callPackage ../development/libraries/haskell/deepseq/1.1.0.2.nix {};
   deepseq_1_2_0_1 = callPackage ../development/libraries/haskell/deepseq/1.2.0.1.nix {};
@@ -649,10 +713,18 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   directoryTree = callPackage ../development/libraries/haskell/directory-tree {};
 
+  distributedProcess = callPackage ../development/libraries/haskell/distributed-process {};
+
+  distributedProcessSimplelocalnet = callPackage ../development/libraries/haskell/distributed-process-simplelocalnet {};
+
+  distributedStatic = callPackage ../development/libraries/haskell/distributed-static {};
+
   distributive = callPackage ../development/libraries/haskell/distributive {};
 
   dlist = callPackage ../development/libraries/haskell/dlist {};
 
+  dns = callPackage ../development/libraries/haskell/dns {};
+
   dotgen = callPackage ../development/libraries/haskell/dotgen {};
 
   doubleConversion = callPackage ../development/libraries/haskell/double-conversion {};
@@ -669,6 +741,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   editline = callPackage ../development/libraries/haskell/editline {};
 
+  elerea = callPackage ../development/libraries/haskell/elerea {};
+
   emailValidate = callPackage ../development/libraries/haskell/email-validate {};
 
   enumerator = callPackage ../development/libraries/haskell/enumerator {};
@@ -712,6 +786,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   filestore = callPackage ../development/libraries/haskell/filestore {};
 
+  filesystemConduit = callPackage ../development/libraries/haskell/filesystem-conduit {};
+
   fgl_5_4_2_2 = callPackage ../development/libraries/haskell/fgl/5.4.2.2.nix {};
   fgl_5_4_2_3 = callPackage ../development/libraries/haskell/fgl/5.4.2.3.nix {};
   fgl_5_4_2_4 = callPackage ../development/libraries/haskell/fgl/5.4.2.4.nix {};
@@ -721,8 +797,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   fingertree = callPackage ../development/libraries/haskell/fingertree {};
 
+  fsnotify = callPackage ../development/libraries/haskell/fsnotify {};
+
   gamma = callPackage ../development/libraries/haskell/gamma {};
 
+  geniplate = callPackage ../development/libraries/haskell/geniplate {};
+
   gd = callPackage ../development/libraries/haskell/gd {
     inherit (pkgs) gd zlib;
   };
@@ -767,8 +847,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   GlomeVec = callPackage ../development/libraries/haskell/GlomeVec {};
 
   gloss = callPackage ../development/libraries/haskell/gloss {
-    GLUT   = self.GLUT23;
-    OpenGL = self.OpenGL25;
+    OpenGL = self.OpenGL_2_6_0_1;
+    GLUT   = self.GLUT_2_3_1_0;
   };
 
   glpkHs = callPackage ../development/libraries/haskell/glpk-hs {};
@@ -781,12 +861,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   GLUT_2_2_2_1 = callPackage ../development/libraries/haskell/GLUT/2.2.2.1.nix {
     OpenGL = self.OpenGL_2_4_0_2;
   };
-  GLUT_2_3_0_0 = callPackage ../development/libraries/haskell/GLUT/2.3.0.0.nix {
-    OpenGL = self.OpenGL_2_5_0_0;
+  GLUT_2_3_1_0 = callPackage ../development/libraries/haskell/GLUT/2.3.1.0.nix {
+    OpenGL = self.OpenGL_2_6_0_1;
   };
-  GLUT22 = self.GLUT_2_2_2_1;
-  GLUT23 = self.GLUT_2_3_0_0;
-  GLUT = self.GLUT_2_3_0_0;
+  GLUT = self.GLUT_2_3_1_0;
+
+  gnuidn = callPackage ../development/libraries/haskell/gnuidn {};
+
+  gnutls = callPackage ../development/libraries/haskell/gnutls { inherit (pkgs) gnutls; };
+
+  gsasl = callPackage ../development/libraries/haskell/gsasl { inherit (pkgs) gsasl; };
 
   gtk = callPackage ../development/libraries/haskell/gtk {
     inherit (pkgs) gtk;
@@ -849,6 +933,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   hastache = callPackage ../development/libraries/haskell/hastache {};
 
+  hexpat = callPackage ../development/libraries/haskell/hexpat {};
+
   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 {};
@@ -856,8 +942,11 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   HTTP_4000_2_1 = callPackage ../development/libraries/haskell/HTTP/4000.2.1.nix {};
   HTTP_4000_2_2 = callPackage ../development/libraries/haskell/HTTP/4000.2.2.nix {};
   HTTP_4000_2_3 = callPackage ../development/libraries/haskell/HTTP/4000.2.3.nix {};
-  HTTP_4000_2_4 = callPackage ../development/libraries/haskell/HTTP/4000.2.4.nix {};
-  HTTP = self.HTTP_4000_2_4;
+  HTTP_4000_2_5 = callPackage ../development/libraries/haskell/HTTP/4000.2.5.nix {};
+  HTTP_4000_2_6 = callPackage ../development/libraries/haskell/HTTP/4000.2.6.nix {};
+  HTTP = self.HTTP_4000_2_6;
+
+  httpReverseProxy = callPackage ../development/libraries/haskell/http-reverse-proxy {};
 
   hackageDb = callPackage ../development/libraries/haskell/hackage-db {};
 
@@ -877,7 +966,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   HDBCPostgresql = callPackage ../development/libraries/haskell/HDBC/HDBC-postgresql.nix {};
 
-  HDBCSqlite = callPackage ../development/libraries/haskell/HDBC/HDBC-sqlite3.nix {};
+  HDBCSqlite3 = callPackage ../development/libraries/haskell/HDBC/HDBC-sqlite3.nix {};
 
   heist = callPackage ../development/libraries/haskell/heist {};
 
@@ -895,9 +984,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   hjsmin = callPackage ../development/libraries/haskell/hjsmin {};
 
-  hledger = callPackage ../development/libraries/haskell/hledger {
-    haskeline = self.haskeline_0_6_4_7;
-  };
+  hledger = callPackage ../development/libraries/haskell/hledger {};
   hledgerLib = callPackage ../development/libraries/haskell/hledger-lib {};
   hledgerInterest = callPackage ../applications/office/hledger-interest {};
   hledgerWeb = callPackage ../development/libraries/haskell/hledger-web {};
@@ -940,11 +1027,17 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   hsloggerTemplate = callPackage ../development/libraries/haskell/hslogger-template {};
 
+  hspec = callPackage ../development/libraries/haskell/hspec {};
+
+  hspecExpectations = callPackage ../development/libraries/haskell/hspec-expectations {};
+
   hsyslog = callPackage ../development/libraries/haskell/hsyslog {};
 
   html_1_0_1_2 = callPackage ../development/libraries/haskell/html/1.0.1.2.nix {};
   html = self.html_1_0_1_2;
 
+  htmlConduit = callPackage ../development/libraries/haskell/html-conduit {};
+
   httpConduit = callPackage ../development/libraries/haskell/http-conduit {};
 
   httpdShed = callPackage ../development/libraries/haskell/httpd-shed {};
@@ -983,6 +1076,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   ioStorage = callPackage ../development/libraries/haskell/io-storage {};
 
+  iproute = callPackage ../development/libraries/haskell/iproute {};
+
   irc = callPackage ../development/libraries/haskell/irc {
     parsec = self.parsec2;
   };
@@ -1018,20 +1113,30 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   lambdabotUtils = callPackage ../development/libraries/haskell/lambdabot-utils {};
 
+  lambdacubeEngine = callPackage ../development/libraries/haskell/lambdacube-engine {};
+
   largeword = callPackage ../development/libraries/haskell/largeword {};
 
   lazysmallcheck = callPackage ../development/libraries/haskell/lazysmallcheck {};
 
   leksahServer = callPackage ../development/libraries/haskell/leksah/leksah-server.nix {};
 
+  lens = callPackage ../development/libraries/haskell/lens {};
+
   libmpd = callPackage ../development/libraries/haskell/libmpd {};
 
   liblastfm = callPackage ../development/libraries/haskell/liblastfm {};
 
+  libxmlSax = callPackage ../development/libraries/haskell/libxml-sax {};
+
   liftedBase = callPackage ../development/libraries/haskell/lifted-base {};
 
+  List = callPackage ../development/libraries/haskell/List {};
+
   ListLike = callPackage ../development/libraries/haskell/ListLike {};
 
+  ListZipper = callPackage ../development/libraries/haskell/ListZipper {};
+
   lrucache = callPackage ../development/libraries/haskell/lrucache {};
 
   ltk = callPackage ../development/libraries/haskell/ltk {};
@@ -1123,10 +1228,21 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   network_2_3_0_5 = callPackage ../development/libraries/haskell/network/2.3.0.5.nix {};
   network_2_3_0_13 = callPackage ../development/libraries/haskell/network/2.3.0.13.nix {};
   network_2_3_1_0 = callPackage ../development/libraries/haskell/network/2.3.1.0.nix {};
-  network = self.network_2_3_1_0;
+  network_2_4_0_1 = callPackage ../development/libraries/haskell/network/2.4.0.1.nix {};
+  network = self.network_2_4_0_1;
 
   networkConduit = callPackage ../development/libraries/haskell/network-conduit {};
 
+  networkInfo = callPackage ../development/libraries/haskell/network-info {};
+
+  networkMulticast = callPackage ../development/libraries/haskell/network-multicast {};
+
+  networkPprotocolXmpp = callPackage ../development/libraries/haskell/network-protocol-xmpp {};
+
+  networkTransport = callPackage ../development/libraries/haskell/network-transport {};
+
+  networkTransportTcp = callPackage ../development/libraries/haskell/network-transport-tcp {};
+
   newtype = callPackage ../development/libraries/haskell/newtype {};
 
   nonNegative = callPackage ../development/libraries/haskell/non-negative {};
@@ -1151,13 +1267,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   OpenGL_2_2_3_0 = callPackage ../development/libraries/haskell/OpenGL/2.2.3.0.nix {};
   OpenGL_2_2_3_1 = callPackage ../development/libraries/haskell/OpenGL/2.2.3.1.nix {};
   OpenGL_2_4_0_2 = callPackage ../development/libraries/haskell/OpenGL/2.4.0.2.nix {};
-  OpenGL_2_5_0_0 = callPackage ../development/libraries/haskell/OpenGL/2.5.0.0.nix {};
-  OpenGL24 = self.OpenGL_2_4_0_2;
-  OpenGL25 = self.OpenGL_2_5_0_0;
-  OpenGL = self.OpenGL_2_5_0_0;
+  OpenGL_2_6_0_1 = callPackage ../development/libraries/haskell/OpenGL/2.6.0.1.nix {};
+  OpenGL = self.OpenGL_2_6_0_1;
 
   OpenGLRaw = callPackage ../development/libraries/haskell/OpenGLRaw {};
 
+  optparseApplicative = callPackage ../development/libraries/haskell/optparse-applicative {};
+
   pathPieces = callPackage ../development/libraries/haskell/path-pieces {};
 
   pandoc = callPackage ../development/libraries/haskell/pandoc {};
@@ -1176,6 +1292,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   parallel_3_2_0_3 = callPackage ../development/libraries/haskell/parallel/3.2.0.3.nix {};
   parallel = self.parallel_3_2_0_3;
 
+  parallelIo = callPackage ../development/libraries/haskell/parallel-io {};
+
   parseargs = callPackage ../development/libraries/haskell/parseargs {};
 
   parsec_2_1_0_1 = callPackage ../development/libraries/haskell/parsec/2.1.0.1.nix {};
@@ -1224,7 +1342,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   prettyShow = callPackage ../development/libraries/haskell/pretty-show {};
 
-  primitive = callPackage ../development/libraries/haskell/primitive {};
+  primitive_0_4_1 = callPackage ../development/libraries/haskell/primitive/0.4.1.nix {};
+  primitive_0_5   = callPackage ../development/libraries/haskell/primitive/0.5.nix   {};
+  primitive_0_5_0_1 = callPackage ../development/libraries/haskell/primitive/0.5.0.1.nix   {};
+  primitive = self.primitive_0_5_0_1;
+
+  projectTemplate = callPackage ../development/libraries/haskell/project-template {};
 
   processExtras = callPackage ../development/libraries/haskell/process-extras {};
 
@@ -1250,9 +1373,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   QuickCheck_2_4_0_1 = callPackage ../development/libraries/haskell/QuickCheck/2.4.0.1.nix {};
   QuickCheck_2_4_1_1 = callPackage ../development/libraries/haskell/QuickCheck/2.4.1.1.nix {};
   QuickCheck_2_4_2 = callPackage ../development/libraries/haskell/QuickCheck/2.4.2.nix {};
-  QuickCheck_2_5 = callPackage ../development/libraries/haskell/QuickCheck/2.5.nix {};
+  QuickCheck_2_5_1_1 = callPackage ../development/libraries/haskell/QuickCheck/2.5.1.1.nix {};
   QuickCheck1 = self.QuickCheck_1_2_0_1;
-  QuickCheck2 = self.QuickCheck_2_5;
+  QuickCheck2 = self.QuickCheck_2_5_1_1;
   QuickCheck  = self.QuickCheck2;
 
   RangedSets = callPackage ../development/libraries/haskell/Ranged-sets {};
@@ -1266,6 +1389,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   randomShuffle = callPackage ../development/libraries/haskell/random-shuffle {};
 
+  rank1dynamic = callPackage ../development/libraries/haskell/rank1dynamic {};
+
   ranges = callPackage ../development/libraries/haskell/ranges {};
 
   rvar = callPackage ../development/libraries/haskell/rvar {};
@@ -1274,6 +1399,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   reactiveBananaWx = callPackage ../development/libraries/haskell/reactive-banana-wx {};
 
+  ReadArgs = callPackage ../development/libraries/haskell/ReadArgs {};
+
   readline = callPackage ../development/libraries/haskell/readline {
     inherit (pkgs) readline;
   };
@@ -1288,9 +1415,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   regexCompat_0_71_0_1 = callPackage ../development/libraries/haskell/regex-compat/0.71.0.1.nix {};
   regexCompat_0_92     = callPackage ../development/libraries/haskell/regex-compat/0.92.nix     {};
   regexCompat_0_93_1   = callPackage ../development/libraries/haskell/regex-compat/0.93.1.nix   {};
-  regexCompat_0_95_1   = callPackage ../development/libraries/haskell/regex-compat/0.95.1.nix   {
-    regexPosix = self.regexPosix_0_95_1;
-  };
+  regexCompat_0_95_1   = callPackage ../development/libraries/haskell/regex-compat/0.95.1.nix   {};
   regexCompat93 = self.regexCompat_0_93_1;
   regexCompat = self.regexCompat_0_71_0_1;
 
@@ -1298,12 +1423,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   regexPosix_0_94_1 = callPackage ../development/libraries/haskell/regex-posix/0.94.1.nix {};
   regexPosix_0_94_2 = callPackage ../development/libraries/haskell/regex-posix/0.94.2.nix {};
   regexPosix_0_94_4 = callPackage ../development/libraries/haskell/regex-posix/0.94.4.nix {};
-  regexPosix_0_95_1 = callPackage ../development/libraries/haskell/regex-posix/0.95.1.nix {
-    regexBase = self.regexBase_0_93_2;
-  };
-  regexPosix_0_95_2 = callPackage ../development/libraries/haskell/regex-posix/0.95.2.nix {
-    regexBase = self.regexBase_0_93_2;
-  };
+  regexPosix_0_95_1 = callPackage ../development/libraries/haskell/regex-posix/0.95.1.nix {};
+  regexPosix_0_95_2 = callPackage ../development/libraries/haskell/regex-posix/0.95.2.nix {};
   regexPosix = self.regexPosix_0_95_2;
 
   regexTDFA = callPackage ../development/libraries/haskell/regex-tdfa {};
@@ -1312,8 +1433,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   regexPCRE = callPackage ../development/libraries/haskell/regex-pcre {};
   regexPcre = self.regexPCRE;
 
-  regexPcreBuiltin = callPackage ../development/libraries/haskell/regex-pcre-builtin {};
-
   regexpr = callPackage ../development/libraries/haskell/regexpr {};
 
   regular = callPackage ../development/libraries/haskell/regular {};
@@ -1337,16 +1456,22 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   safe = callPackage ../development/libraries/haskell/safe {};
 
+  SafeSemaphore = callPackage ../development/libraries/haskell/SafeSemaphore {};
+
   sendfile = callPackage ../development/libraries/haskell/sendfile {};
 
   semigroups = callPackage ../development/libraries/haskell/semigroups {};
 
   semigroupoids = callPackage ../development/libraries/haskell/semigroupoids {};
 
+  setenv = callPackage ../development/libraries/haskell/setenv {};
+
   shelly = callPackage ../development/libraries/haskell/shelly {};
 
   simpleSendfile = callPackage ../development/libraries/haskell/simple-sendfile {};
 
+  silently = callPackage ../development/libraries/haskell/silently {};
+
   skein = callPackage ../development/libraries/haskell/skein {};
 
   smallcheck = callPackage ../development/libraries/haskell/smallcheck {};
@@ -1379,6 +1504,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   stringsearch = callPackage ../development/libraries/haskell/stringsearch {};
 
+  strptime = callPackage ../development/libraries/haskell/strptime {};
+
   stylishHaskell = callPackage ../development/libraries/haskell/stylish-haskell {};
 
   syb_0_2_2 = callPackage ../development/libraries/haskell/syb/0.2.2.nix {};
@@ -1422,7 +1549,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   SMTPClient = callPackage ../development/libraries/haskell/SMTPClient {};
 
-  split = callPackage ../development/libraries/haskell/split {};
+  split_0_2_1_1 = callPackage ../development/libraries/haskell/split/0.2.1.1.nix {};
+  split = self.split_0_2_1_1;
 
   stbImage = callPackage ../development/libraries/haskell/stb-image {};
 
@@ -1431,7 +1559,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   stm_2_2_0_1 = callPackage ../development/libraries/haskell/stm/2.2.0.1.nix {};
   stm_2_3 = callPackage ../development/libraries/haskell/stm/2.3.nix {};
   stm_2_4 = callPackage ../development/libraries/haskell/stm/2.4.nix {};
-  stm = self.stm_2_4;
+  stm_2_4_2 = callPackage ../development/libraries/haskell/stm/2.4.2.nix {};
+  stm = self.stm_2_4_2;
 
   storableComplex = callPackage ../development/libraries/haskell/storable-complex {};
 
@@ -1459,6 +1588,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   tagsoup = callPackage ../development/libraries/haskell/tagsoup {};
 
+  tagstreamConduit = callPackage ../development/libraries/haskell/tagstream-conduit {};
+
   temporary = callPackage ../development/libraries/haskell/temporary {};
 
   Tensor = callPackage ../development/libraries/haskell/Tensor {};
@@ -1477,7 +1608,11 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   testFrameworkTh = callPackage ../development/libraries/haskell/test-framework-th {};
 
-  testpack = callPackage ../development/libraries/haskell/testpack {};
+  testFrameworkThPrime = callPackage ../development/libraries/haskell/test-framework-th-prime {};
+
+  testpack = callPackage ../development/libraries/haskell/testpack {
+    QuickCheck = self.QuickCheck_2_4_2;
+  };
 
   texmath = callPackage ../development/libraries/haskell/texmath {};
 
@@ -1499,6 +1634,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   threadmanager = callPackage ../development/libraries/haskell/threadmanager {};
 
+  threads = callPackage ../development/libraries/haskell/threads {};
+
   time_1_1_2_4 = callPackage ../development/libraries/haskell/time/1.1.2.4.nix {};
   time_1_1_3   = callPackage ../development/libraries/haskell/time/1.1.3.nix {};
   time_1_2_0_3 = callPackage ../development/libraries/haskell/time/1.2.0.3.nix {};
@@ -1556,9 +1693,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   vault = callPackage ../development/libraries/haskell/vault {};
 
+  vcsRevision = callPackage ../development/libraries/haskell/vcs-revision {};
+
   Vec = callPackage ../development/libraries/haskell/Vec {};
 
-  vector = callPackage ../development/libraries/haskell/vector {};
+  vect = callPackage ../development/libraries/haskell/vect {};
+
+  vector_0_9_1 = callPackage ../development/libraries/haskell/vector/0.9.1.nix {};
+  vector_0_10 = callPackage ../development/libraries/haskell/vector/0.10.nix  {};
+  vector_0_10_0_1  = callPackage ../development/libraries/haskell/vector/0.10.0.1.nix  {};
+  vector = self.vector_0_10_0_1;
 
   vectorAlgorithms = callPackage ../development/libraries/haskell/vector-algorithms {};
 
@@ -1578,6 +1722,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   waiLogger = callPackage ../development/libraries/haskell/wai-logger {};
 
+  waiTest = callPackage ../development/libraries/haskell/wai-test {};
+
   warp = callPackage ../development/libraries/haskell/warp {};
 
   WebBits_1_0 = callPackage ../development/libraries/haskell/WebBits/1.0.nix {
@@ -1601,6 +1747,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   wlPprintText = callPackage ../development/libraries/haskell/wl-pprint-text {};
 
+  word8 = callPackage ../development/libraries/haskell/word8 {};
+
   wx = callPackage ../development/libraries/haskell/wxHaskell/wx.nix {};
 
   wxc = callPackage ../development/libraries/haskell/wxHaskell/wxc.nix {
@@ -1616,8 +1764,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   };
 
   X11_1_5_0_1 = callPackage ../development/libraries/haskell/X11/1.5.0.1.nix {};
-  X11_1_6_0_1 = callPackage ../development/libraries/haskell/X11/1.6.0.1.nix {};
-  X11 = self.X11_1_6_0_1;
+  X11_1_6_0_2 = callPackage ../development/libraries/haskell/X11/1.6.0.2.nix {};
+  X11 = self.X11_1_6_0_2;
 
   X11Xft = callPackage ../development/libraries/haskell/X11-xft {};
 
@@ -1631,6 +1779,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   xmlConduit = callPackage ../development/libraries/haskell/xml-conduit {};
 
+  xmlHamlet = callPackage ../development/libraries/haskell/xml-hamlet {};
+
   xmlhtml = callPackage ../development/libraries/haskell/xmlhtml {};
 
   xmlTypes = callPackage ../development/libraries/haskell/xml-types {};
@@ -1659,9 +1809,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   yesodStatic = callPackage ../development/libraries/haskell/yesod-static {};
 
+  yesodTest = callPackage ../development/libraries/haskell/yesod-test {};
+
   yst = callPackage ../development/libraries/haskell/yst {};
 
-  zeromqHaskell = callPackage ../development/libraries/haskell/zeromq-haskell {};
+  zeromqHaskell = callPackage ../development/libraries/haskell/zeromq-haskell { zeromq = pkgs.zeromq2; };
+
+  zeromq3Haskell = callPackage ../development/libraries/haskell/zeromq3-haskell { zeromq = pkgs.zeromq3; };
 
   zipArchive = callPackage ../development/libraries/haskell/zip-archive {};
 
@@ -1679,7 +1833,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   zlib_0_5_3_3 = callPackage ../development/libraries/haskell/zlib/0.5.3.3.nix {
     inherit (pkgs) zlib;
   };
-  zlib = self.zlib_0_5_3_3;
+  zlib_0_5_4_0 = callPackage ../development/libraries/haskell/zlib/0.5.4.0.nix {
+    inherit (pkgs) zlib;
+  };
+  zlib = self.zlib_0_5_4_0;
 
   zlibBindings = callPackage ../development/libraries/haskell/zlib-bindings {};
 
@@ -1730,14 +1887,16 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   haddock_2_10_0 = callPackage ../development/tools/documentation/haddock/2.10.0.nix {};
   haddock_2_11_0 = callPackage ../development/tools/documentation/haddock/2.11.0.nix {};
   haddock_2_12_0 = callPackage ../development/tools/documentation/haddock/2.12.0.nix {};
-  haddock = self.haddock_2_12_0;
+  haddock_2_13_1 = callPackage ../development/tools/documentation/haddock/2.13.1.nix {};
+  haddock = self.haddock_2_13_1;
 
   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_1_18_8 = callPackage ../development/tools/parsing/happy/1.18.8.nix {};
   happy_1_18_9 = callPackage ../development/tools/parsing/happy/1.18.9.nix {};
-  happy = self.happy_1_18_9;
+  happy_1_18_10 = callPackage ../development/tools/parsing/happy/1.18.10.nix {};
+  happy = self.happy_1_18_10;
 
   happyMeta = callPackage ../development/tools/haskell/happy-meta {};
 
@@ -1756,8 +1915,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   };
 
   tar_0_3_2_0 = callPackage ../development/tools/haskell/tar/0.3.2.0.nix {};
-  tar_0_4_0_0 = callPackage ../development/tools/haskell/tar/0.4.0.0.nix {};
-  tar = self.tar_0_4_0_0;
+  tar_0_4_0_1 = callPackage ../development/tools/haskell/tar/0.4.0.1.nix {};
+  tar = self.tar_0_4_0_1;
 
   threadscope = callPackage ../development/tools/haskell/threadscope {};
 
@@ -1797,6 +1956,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   cabal2nix = callPackage ../development/tools/haskell/cabal2nix {};
 
+  cabalDev = callPackage ../development/tools/haskell/cabal-dev {
+    mtl          = self.mtl_2_0_1_0.override { transformers = self.transformers_0_2_2_0; };
+    transformers = self.transformers_0_2_2_0;
+    tar          = self.tar_0_3_2_0;
+  };
+
+
   cabalGhci = callPackage ../development/tools/haskell/cabal-ghci {};
 
   cabalInstall_0_6_2  = callPackage ../tools/package-management/cabal-install/0.6.2.nix  {};
@@ -1804,7 +1970,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   cabalInstall_0_8_2  = callPackage ../tools/package-management/cabal-install/0.8.2.nix  {};
   cabalInstall_0_10_2 = callPackage ../tools/package-management/cabal-install/0.10.2.nix {};
   cabalInstall_0_14_0 = callPackage ../tools/package-management/cabal-install/0.14.0.nix {};
-  cabalInstall = self.cabalInstall_0_14_0;
+  cabalInstall_1_16_0_2 = callPackage ../tools/package-management/cabal-install/1.16.0.2.nix {};
+  cabalInstall = self.cabalInstall_1_16_0_2;
 
   jailbreakCabal = callPackage ../development/tools/haskell/jailbreak-cabal {};
 
@@ -1812,6 +1979,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   myhasktags = callPackage ../tools/misc/myhasktags {};
 
+  splot = callPackage ../development/tools/haskell/splot {};
+
+  timeplot = callPackage ../development/tools/haskell/timeplot {};
+
   # Games.
 
   LambdaHack = callPackage ../games/LambdaHack {};
diff --git a/pkgs/top-level/node-packages.nix b/pkgs/top-level/node-packages.nix
index 7c083c7e0eee..291108c3f6d9 100644
--- a/pkgs/top-level/node-packages.nix
+++ b/pkgs/top-level/node-packages.nix
@@ -1,8 +1,9 @@
-{ pkgs, stdenv, nodejs, fetchurl }:
+{ pkgs, stdenv, nodejs, fetchurl, neededNatives }:
 
 let self = {
   buildNodePackage = import ../development/web/nodejs/build-node-package.nix {
-    inherit stdenv nodejs;
+    inherit stdenv nodejs neededNatives;
+    inherit (pkgs) runCommand;
   };
 
   patchLatest = srcAttrs:
@@ -52,6 +53,19 @@ let self = {
     ];
   };
 
+  "async" = self."async-0.1.22";
+
+  "async-0.1.22" = self.buildNodePackage rec {
+    name = "async-0.1.22";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/async/-/${name}.tgz";
+      sha256 = "6fd2750cd519a754b0e32ef3423e64768055129e00a95d9297005bda29fdef18";
+    };
+    deps = [
+
+    ];
+  };
+
   "backbone" = self."backbone-0.9.2";
 
   "backbone-0.9.2" = self.buildNodePackage rec {
@@ -65,6 +79,19 @@ let self = {
     ];
   };
 
+  "bindings" = self."bindings-1";
+
+  "bindings-1" = self.buildNodePackage rec {
+    name = "bindings-1.0.0";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bindings/-/${name}.tgz";
+      sha256 = "cb211ac856d135af5ee864762fae9e554225a613ea1fd815c20b8fdd1679c9ed";
+    };
+    deps = [
+
+    ];
+  };
+
   "block-stream" = self."block-stream-*";
 
   "block-stream-*" = self.buildNodePackage rec {
@@ -95,13 +122,26 @@ let self = {
     ];
   };
 
-  "bson" = self."bson-0.1.0";
+  "bson" = self."bson-0.1.5";
 
-  "bson-0.1.0" = self.buildNodePackage rec {
-    name = "bson-0.1.0";
+  "bson-0.1.5" = self.buildNodePackage rec {
+    name = "bson-0.1.5";
     src = fetchurl {
       url = "http://registry.npmjs.org/bson/-/${name}.tgz";
-      sha256 = "32618266420f4d2688e957a6a145aab6a1402c950b7b7c7c1d0520cbd08251c9";
+      sha256 = "3fad2209466740ea81d0bc285b92d940efe5104a6314946ea40180c431a19692";
+    };
+    deps = [
+
+    ];
+  };
+
+  "buffertools" = self."buffertools-~1";
+
+  "buffertools-~1" = self.buildNodePackage rec {
+    name = "buffertools-1.1.0";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/buffertools/-/${name}.tgz";
+      sha256 = "a0520dbf39eedbd8c685ac4989bf822ac57cc161924abf82ba567234620380a5";
     };
     deps = [
 
@@ -121,8 +161,25 @@ let self = {
     ];
   };
 
-  "coffee-script" = self."coffee-script-1.3.3";
-  "coffee-script-~1" = self."coffee-script-1.3.3";
+  "cipher-block-size" = self."cipher-block-size-0.0.0";
+
+  "cipher-block-size-0.0.0" = self.buildNodePackage rec {
+    name = "cipher-block-size-0.0.0";
+    src = fetchurl {
+      url = https://bitbucket.org/shlevy/node-cipher-block-size/get/0.0.0.tar.gz;
+      sha256 = "0j4i19ckb9ab9aqd4w3j0vrvcw7c6icq279x4fx8xs1h9massxng";
+      name = "${name}.tgz";
+    };
+    deps = [
+      self."bindings-1"
+    ];
+    buildInputs = [
+      pkgs.openssl
+    ];
+  };
+
+  "coffee-script" = self."coffee-script-1.4.0";
+  "coffee-script-~1" = self."coffee-script-1.4.0";
 
   "coffee-script-~1.1.2" = self.buildNodePackage rec {
     name = "coffee-script-1.1.3";
@@ -146,6 +203,17 @@ let self = {
     ];
   };
 
+  "coffee-script-1.4.0" = self.buildNodePackage rec {
+    name = "coffee-script-1.4.0";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/coffee-script/-/${name}.tgz";
+      sha256 = "146e8985d89210b63dae83378fd851ccf54d38d7d11cadcdca01520d50882613";
+    };
+    deps = [
+
+    ];
+  };
+
   "commander" = self."commander-~0.6.1";
 
   "commander-~0.6.1" = self.buildNodePackage rec {
@@ -270,6 +338,19 @@ let self = {
     ];
   };
 
+  "escape-html" = self."escape-html-0.0.1";
+
+  "escape-html-0.0.1" = self.buildNodePackage rec {
+    name = "escape-html-0.0.1";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/escape-html/-/${name}.tgz";
+      sha256 = "03c24a492f80659c25f788809ae64277408a4c12594cff62f89db4b3259c6b58";
+    };
+    deps = [
+
+    ];
+  };
+
   "eyes" = self."eyes->=0.1.6";
 
   "eyes->=0.1.6" = self.buildNodePackage rec {
@@ -283,6 +364,19 @@ let self = {
     ];
   };
 
+  "faye-websocket" = self."faye-websocket-0.4.0";
+
+  "faye-websocket-0.4.0" = self.buildNodePackage rec {
+    name = "faye-websocket-0.4.0";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/faye-websocket/-/${name}.tgz";
+      sha256 = "853b8d2f4611013da89faf45b6c9f6e440ad6c46616e405b8cf59b4302e78e2f";
+    };
+    deps = [
+
+    ];
+  };
+
   "formidable" = self."formidable-1.0.11";
 
   "formidable-1.0.11" = self.buildNodePackage rec {
@@ -400,6 +494,19 @@ let self = {
     ];
   };
 
+  "knox" = self."knox-*";
+
+  "knox-*" = self.buildNodePackage rec {
+    name = "knox-0.3.1";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/knox/-/${name}.tgz";
+      sha256 = "d62623482cc2f8b2fe08ff0c0cf2ed7f35a320e806ebdfa6ac36df5486018517";
+    };
+    deps = [
+      self."mime"
+    ];
+  };
+
   "less" = self."less-1.3.0";
 
   "less-1.3.0" = self.buildNodePackage rec {
@@ -426,24 +533,26 @@ let self = {
     ];
   };
 
-  "mime" = self."mime-1.2.6";
+  "mime" = self."mime-*";
 
-  "mime->= 0.0.1" = self.buildNodePackage rec {
-    name = "mime-1.2.7";
+  "mime->= 0.0.1" = self."mime-*";
+
+  "mime-1.2.6" = self.buildNodePackage rec {
+    name = "mime-1.2.6";
     src = fetchurl {
       url = "http://registry.npmjs.org/mime/-/${name}.tgz";
-      sha256 = "a80244918c9c75fa4d0b37f311920c7d5270aab9a05aca9a74783764ad152df6";
+      sha256 = "7460134d6b4686d64fd1e7b878d34e2bdd258ad29b6665cf62e6d92659e81591";
     };
     deps = [
 
     ];
   };
 
-  "mime-1.2.6" = self.buildNodePackage rec {
-    name = "mime-1.2.6";
+  "mime-*" = self.buildNodePackage rec {
+    name = "mime-1.2.7";
     src = fetchurl {
       url = "http://registry.npmjs.org/mime/-/${name}.tgz";
-      sha256 = "7460134d6b4686d64fd1e7b878d34e2bdd258ad29b6665cf62e6d92659e81591";
+      sha256 = "a80244918c9c75fa4d0b37f311920c7d5270aab9a05aca9a74783764ad152df6";
     };
     deps = [
 
@@ -476,16 +585,16 @@ let self = {
     ];
   };
 
-  "mongodb" = self."mongodb-1.1.0-beta";
+  "mongodb" = self."mongodb-1.1.11";
 
-  "mongodb-1.1.0-beta" = self.buildNodePackage rec {
-    name = "mongodb-1.1.0-beta";
+  "mongodb-1.1.11" = self.buildNodePackage rec {
+    name = "mongodb-1.1.11";
     src = fetchurl {
       url = "http://registry.npmjs.org/mongodb/-/${name}.tgz";
-      sha256 = "05e5a798d4c3a499af1e77a33eb13a31d4fb688a63e97b3fe970a3bccea39ab3";
+      sha256 = "fedd14b097a58ae5c2c83e5cb0af85a191ad00c2ce8d6db46520ee6cc1650277";
     };
     deps = [
-      self."bson-0.1.0"
+      self."bson-0.1.5"
     ];
   };
 
@@ -502,6 +611,20 @@ let self = {
     ];
   };
 
+  "node-expat" = self."node-expat-*";
+
+  "node-expat-*" = self.buildNodePackage rec {
+    name = "node-expat-1.6.1";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-expat/-/${name}.tgz";
+      sha256 = "15c0566889ef8a54b2b626956b7dfc160469eb6c0d44a582a0b1077fadf034d2";
+    };
+    deps = [
+
+    ];
+    buildInputs = [ pkgs.expat ];
+  };
+
   "node-gyp" = self."node-gyp-*";
 
   "node-gyp-*" = self.buildNodePackage rec {
@@ -527,6 +650,19 @@ let self = {
     ];
   };
 
+  "node-uuid" = self."node-uuid-1.3.3";
+
+  "node-uuid-1.3.3" = self.buildNodePackage rec {
+    name = "node-uuid-1.3.3";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/node-uuid/-/${name}.tgz";
+      sha256 = "a3fbccc904944a9c8eadc59e55aaac908cc458569f539b50077d9672a84587a8";
+    };
+    deps = [
+
+    ];
+  };
+
   "nopt" = self."nopt-2";
 
   "nopt-2" = self.buildNodePackage rec {
@@ -567,6 +703,19 @@ let self = {
     ];
   };
 
+  "optimist" = self."optimist-*";
+
+  "optimist-*" = self.buildNodePackage rec {
+    name = "optimist-0.3.4";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/optimist/-/${name}.tgz";
+      sha256 = "add88b473a660ad8a9ff88a3eec49a74d9c64f592acbcd219ff4c0d7249f4d60";
+    };
+    deps = [
+      self."wordwrap-~0.0.2"
+    ];
+  };
+
   "options" = self."options-*";
 
   "options-*" = self.buildNodePackage rec {
@@ -657,6 +806,22 @@ let self = {
     ];
   };
 
+  "rbytes" = self."rbytes-0.0.2";
+
+  "rbytes-0.0.2" = self.buildNodePackage rec {
+    name = "rbytes-0.0.2";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/rbytes/-/${name}.tgz";
+      sha256 = "0fd4697be996ee12c65f8fb13b2edc7a554d22c31d1a344539bc611ce73b69aa";
+    };
+    deps = [
+
+    ];
+    buildInputs = [
+      pkgs.openssl
+    ];
+  };
+
   "redis" = self."redis-0.7.2";
 
   "redis-0.6.7" = self.buildNodePackage rec {
@@ -705,6 +870,21 @@ let self = {
     ];
   };
 
+  "requirejs" = self."requirejs-0.26.0";
+
+  "requirejs-==0.26.0" = self."requirejs-0.26.0";
+
+  "requirejs-0.26.0" = self.buildNodePackage rec {
+    name = "requirejs-0.26.0";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/requirejs/-/${name}.tgz";
+      sha256 = "5ec7264031784fd1b5844aba813ace9045918a0b004a52fafa6b52e9e9760407";
+    };
+    deps = [
+
+    ];
+  };
+
   "rimraf" = self."rimraf-2";
 
   "rimraf-2" = self.buildNodePackage rec {
@@ -791,6 +971,47 @@ let self = {
     ];
   };
 
+  "sockjs" = self."sockjs-0.3.1";
+
+  "sockjs-0.3.1" = self.buildNodePackage rec {
+    name = "sockjs-0.3.1";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/sockjs/-/${name}.tgz";
+      sha256 = "056476f23dbe2e2182e5edea755108a8b6dbaea4b675b228172e876c8649efdf";
+    };
+    deps = [
+      self."node-uuid-1.3.3"
+      self."faye-websocket-0.4.0"
+      self."rbytes-0.0.2"
+    ];
+  };
+
+  "source-map" = self."source-map-0.1.2";
+
+  "source-map-0.1.2" = self.buildNodePackage rec {
+    name = "source-map-0.1.2";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/source-map/-/${name}.tgz";
+      sha256 = "4465bb3a293c0e86092affb7cbdd6d9356cad69231c56f6e73bba7750497035f";
+    };
+    deps = [
+      self."requirejs-==0.26.0"
+    ];
+  };
+  
+  "swig" = self."swig-0.13.2";
+  
+  "swig-0.13.2" = self.buildNodePackage rec {
+    name = "swig-0.13.2";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/swig/-/${name}.tgz";
+      sha256 = "1fxc1cg0g5bn0ksm4gddx75ff5yzzbhqn4yqh6xqa5ag73nvxiyg";
+    };
+    deps = [
+      self."underscore"
+    ];
+  };
+
   "tar" = self."tar-~0.1.12";
 
   "tar-~0.1.12" = self.buildNodePackage rec {
@@ -806,6 +1027,19 @@ let self = {
     ];
   };
 
+  "temp" = self."temp-*";
+
+  "temp-*" = self.buildNodePackage rec {
+    name = "temp-0.4.0";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/temp/-/${name}.tgz";
+      sha256 = "ca8274250d36d94e670b8773bf062a28bc43eb342ae47ff629fbb627d48d710b";
+    };
+    deps = [
+
+    ];
+  };
+
   "timerstub" = self."timerstub-*";
 
   "timerstub-*" = self.buildNodePackage rec {
@@ -856,14 +1090,14 @@ let self = {
     ];
   };
 
-  "underscore" = self."underscore-1.3.3";
-  "underscore->=1.3.1" = self."underscore-1.3.3";
+  "underscore" = self."underscore-1.4.2";
+  "underscore->=1.3.1" = self."underscore-1.4.2";
 
-  "underscore-1.3.3" = self.buildNodePackage rec {
-    name = "underscore-1.3.3";
+  "underscore-1.4.2" = self.buildNodePackage rec {
+    name = "underscore-1.4.2";
     src = fetchurl {
       url = "http://registry.npmjs.org/underscore/-/${name}.tgz";
-      sha256 = "e710644e53f5a6d75a41a3e19d8c35eedbce0db1e886e470daf9f909c9d1ea8a";
+      sha256 = "329ab22ba9b37be4a0c694ca21b9ed85b99256a45c2e0cf3624c4719443366d6";
     };
     deps = [
 
@@ -897,9 +1131,23 @@ let self = {
     ];
   };
 
+  "wordwrap" = self."wordwrap-~0.0.2";
+
+  "wordwrap-~0.0.2" = self.buildNodePackage rec {
+    name = "wordwrap-0.0.2";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/wordwrap/-/${name}.tgz";
+      sha256 = "66a2fa688509738922c3ad62a6159fe3c93268bd3bca2bff24df4bc02cc31582";
+    };
+    deps = [
+
+    ];
+  };
+
   "ws" = self."ws-0.4.x";
+  "ws-0.4.x" = self."ws-0.4.21";
 
-  "ws-0.4.x" = self.buildNodePackage rec {
+  "ws-0.4.21" = self.buildNodePackage rec {
     name = "ws-0.4.21";
     src = self.patchLatest {
       url = "http://registry.npmjs.org/ws/-/${name}.tgz";
@@ -912,6 +1160,19 @@ let self = {
     ];
   };
 
+  "wu" = self."wu-0.1.8";
+
+  "wu-0.1.8" = self.buildNodePackage rec {
+    name = "wu-0.1.8";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/wu/-/${name}.tgz";
+      sha256 = "2400d0ca7da862a9063a6a8d914bb4e585f81a5121b0fda8e40b1f6e782c72c6";
+    };
+    deps = [
+
+    ];
+  };
+
   "xmlhttprequest" = self."xmlhttprequest-1.2.2";
 
   "xmlhttprequest-1.2.2" = self.buildNodePackage rec {
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 3e7eceae5c11..754d946a3d52 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -1439,10 +1439,10 @@ rec {
   };
 
   EmailSender = buildPerlPackage rec {
-    name = "Email-Sender-0.110001";
+    name = "Email-Sender-0.120002";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "0z4nl7aizbailraqwkkqhx6k3hdz67wxszjfhd5yg2vn06ybsjwj";
+      sha256 = "1cp735ndmh76xzijsm1hd0yh0m9yj34jc8akjhidkn677h2021dc";
     };
     buildInputs = [ TestMore ];
     propagatedBuildInputs =
@@ -1578,6 +1578,19 @@ rec {
     };
   };
 
+  FileBaseDir = buildPerlPackage rec {
+    version = "0.03";
+    name = "File-BaseDir-${version}";
+    configurePhase = ''
+      preConfigure || true
+      perl Build.PL PREFIX="$out" prefix="$out"
+    '';
+    src = fetchurl {
+      url = "mirror://cpan/modules/by-module/File/${name}.tar.gz";
+      sha256 = "0029cba7a3b5d8aa5f7d03cb1b7ba2bcf2829382f7f26aa3bee06fce8611a886";
+    };
+  };
+
   FileCopyRecursive = buildPerlPackage rec {
     name = "File-Copy-Recursive-0.38";
     src = fetchurl {
@@ -1586,6 +1599,20 @@ rec {
     };
   };
 
+  FileDesktopEntry = buildPerlPackage rec {
+    version = "0.04";
+    name = "File-DesktopEntry-${version}";
+    configurePhase = ''
+      preConfigure || true
+      perl Build.PL PREFIX="$out" prefix="$out"
+    '';
+    src = fetchurl {
+      url = "mirror://cpan/modules/by-module/File/${name}.tar.gz";
+      sha256 = "d7f80d8bd303651a43dc1810c73740d38a0d2b158fb33cd3b6ca4d3a566da7cb";
+    };
+    propagatedBuildInputs = [ FileBaseDir ];
+  };
+
   FileFindRule = buildPerlPackage rec {
     name = "File-Find-Rule-0.32";
     src = fetchurl {
@@ -2073,10 +2100,10 @@ rec {
   };
 
   IOSocketSSL = buildPerlPackage rec {
-    name = "IO-Socket-SSL-1.44";
+    name = "IO-Socket-SSL-1.77";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/IO/${name}.tar.gz";
-      sha256 = "1xbgx1ij34a3dlwv94zjh3a02cj2lyhwzxcmv59harl784xn1mlg";
+      sha256 = "2a090167a0d13cdefdac7fb25ca49decd5fd925f37d032bca98c73c4856570a9";
     };
     propagatedBuildInputs = [ URI NetSSLeay ];
   };
@@ -2748,6 +2775,30 @@ rec {
     };
   };
 
+  MusicBrainzDiscID = buildModule rec {
+    name = "MusicBrainz-DiscID-0.03";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/N/NJ/NJH/${name}.tar.gz";
+      sha256 = "0fjph2q3yp0aa87gckv3391s47m13wbyylj7jb7vqx7hv0pzj0jh";
+    };
+    # Build.PL in this package uses which to find pkg-config -- make it use path instead
+    patchPhase = ''sed -ie 's/`which pkg-config`/"pkg-config"/' Build.PL'';
+    doCheck = false; # The main test performs network access
+    #buildInputs = [ TestMore TestPod ];
+    buildInputs = [ pkgs.pkgconfig ];
+    propagatedBuildInputs = [ pkgs.libdiscid ];
+  };
+
+  MusicBrainz = buildPerlPackage rec {
+    name = "WebService-MusicBrainz-0.93";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/B/BF/BFAIST/${name}.tar.gz";
+      sha256 = "1gg62x6qv4jj73jsqh0sb237k96i22blj29afpbp1scp3m7i5g61";
+    };
+    propagatedBuildInputs = [ XMLLibXML LWP ClassAccessor URI ];
+    doCheck = false; # Test performs network access.
+  };
+
   NamespaceAutoclean = buildPerlPackage rec {
     name = "namespace-autoclean-0.12";
     src = fetchurl {
@@ -2871,6 +2922,15 @@ rec {
     propagatedBuildInputs = [IOSocketSSL];
   };
 
+  NetSMTPTLS = buildPerlPackage {
+    name = "Net-SMTP-TLS-0.12";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/A/AW/AWESTHOLM/Net-SMTP-TLS-0.12.tar.gz;
+      sha256 = "19g48kabj22v66jbf69q78xplhi7r1y2kdbddfwh4xy3g9k75rzg";
+    };
+    propagatedBuildInputs = [IOSocketSSL DigestHMAC];
+  };
+
   NetSSLeay = buildPerlPackage rec {
     name = "Net-SSLeay-1.42";
     src = fetchurl {
@@ -4309,13 +4369,13 @@ rec {
     };
   };
 
-  XSLoader = buildPerlPackage {
-    name = "XSLoader-0.08";
-    src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SAPER/XSLoader-0.08.tar.gz;
-      sha256 = "0mr4l3givrpyvz1kg0kap2ds8g0rza2cim9kbnjy8hi64igkixi5";
-    };
-  };
+  # XSLoader = buildPerlPackage {
+  #   name = "XSLoader-0.08";
+  #   src = fetchurl {
+  #     url = mirror://cpan/authors/id/S/SA/SAPER/XSLoader-0.08.tar.gz;
+  #     sha256 = "0mr4l3givrpyvz1kg0kap2ds8g0rza2cim9kbnjy8hi64igkixi5";
+  #   };
+  # };
 
   YAML = buildPerlPackage rec {
     name = "YAML-0.80";
diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix
index 7a45492b0323..14f967bf8cf8 100644
--- a/pkgs/top-level/platforms.nix
+++ b/pkgs/top-level/platforms.nix
@@ -50,6 +50,9 @@ rec {
         EXT4_FS m
         USB_STORAGE_CYPRESS_ATACB m
 
+        # mv cesa requires this sw fallback, for mv-sha1
+        CRYPTO_SHA1 y
+
         IP_PNP y
         IP_PNP_DHCP y
         NFS_FS y
@@ -70,6 +73,7 @@ rec {
         IP_NF_TARGET_LOG y
         IP_NF_MANGLE y
         IPV6 m
+        VLAN_8021Q m
 
         CIFS y
         CIFS_XATTR y
@@ -77,6 +81,10 @@ rec {
         CIFS_FSCACHE y
         CIFS_ACL y
 
+        WATCHDOG y
+        WATCHDOG_CORE y
+        ORION_WATCHDOG m
+
         ZRAM m
         NETCONSOLE m
 
@@ -99,6 +107,18 @@ rec {
 
         # nixos mounts some cgroup
         CGROUPS y
+
+        # Latencytop 
+        LATENCYTOP y
+
+        # Ubi for the mtd
+        MTD_UBI y
+        UBIFS_FS y
+        UBIFS_FS_XATTR y
+        UBIFS_FS_ADVANCED_COMPR y
+        UBIFS_FS_LZO y
+        UBIFS_FS_ZLIB y
+        UBIFS_FS_DEBUG n
       '';
     kernelTarget = "uImage";
     uboot = "sheevaplug";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 0cd489fb176b..3ffcb9b0fd9f 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -33,11 +33,13 @@ let pythonPackages = python.modules // rec {
 
 
   afew = buildPythonPackage rec {
-    name = "afew-1.0pre";
+    rev = "6bb3915636aaf86f046a017ffffd9a4ef395e199";
+    name = "afew-1.0_${rev}";
+
     src = fetchurl {
-      url = "https://github.com/teythoon/afew/tarball/master";
+      url = "https://github.com/teythoon/afew/tarball/${rev}";
       name = "${name}.tar.bz";
-      sha256 = "949710f8dcf503f42f2a2d77ea71e48ccf70155a764f75ad29cc93edc120809b";
+      sha256 = "74926d9ddfa69534cfbd08a82f0acccab2c649558062654d5d2ff2999d201384";
     };
 
     propagatedBuildInputs = [ notmuch pkgs.dbacl ];
@@ -59,12 +61,13 @@ let pythonPackages = python.modules // rec {
 
 
   alot = buildPythonPackage rec {
-    name = "alot-0.3.1";
+    rev = "5ed59825ffaeaacea90ea10be4b932c60428ed8e";
+    name = "alot-0.3.3_${rev}";
 
     src = fetchurl {
-      url = "https://github.com/pazz/alot/tarball/master";
+      url = "https://github.com/pazz/alot/tarball/${rev}";
       name = "${name}.tar.bz";
-      sha256 = "06683de36688615d3d526198c93133e1131897c888ffa31e83f1ad292eae57af";
+      sha256 = "1b724d47bf766ba3ca7cb6d27c7bb597dbc67dcae1347c5a0f01f80c2246ca07";
     };
 
     doCheck = false;
@@ -73,7 +76,7 @@ let pythonPackages = python.modules // rec {
 
     postInstall = ''
       wrapProgram $out/bin/alot \
-        --prefix LD_LIBRARY_PATH : ${pkgs.notmuch}/lib:${pkgs.file}/lib
+        --prefix LD_LIBRARY_PATH : ${pkgs.notmuch}/lib:${pkgs.file}/lib:${pkgs.gpgme}/lib
     '';
 
     meta = {
@@ -184,18 +187,19 @@ let pythonPackages = python.modules // rec {
   });
 
 
-  astng = buildPythonPackage rec {
-    name = "logilab-astng-0.21.1";
+  logilab_astng = buildPythonPackage rec {
+    name = "logilab-astng-0.24.1";
 
     src = fetchurl {
-      url = "ftp://ftp.logilab.org/pub/astng/${name}.tar.gz";
-      sha256 = "0rqp2vwrnv6gkzdd96j078h1sz26plh49cmnyswy2wb6l4wans67";
+      url = "http://download.logilab.org/pub/astng/${name}.tar.gz";
+      sha256 = "00qxaxsax80sknwv25xl1r49lc4gbhkxs1kjywji4ad8y1npax0s";
     };
-    propagatedBuildInputs = [logilabCommon];
+
+    propagatedBuildInputs = [ logilab_common ];
   };
 
-  beautifulsoap = buildPythonPackage (rec {
-    name = "beautifulsoap-3.0.8";
+  beautifulsoup = buildPythonPackage (rec {
+    name = "beautifulsoup-3.0.8";
 
     src = fetchurl {
       url = "http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.0.8.tar.gz";
@@ -214,7 +218,6 @@ let pythonPackages = python.modules // rec {
     };
   });
 
-
   # euca2ools (and maybe Nova) needs boto 1.9, 2.0 doesn't work.
   boto_1_9 = buildPythonPackage (rec {
     name = "boto-1.9b";
@@ -243,11 +246,11 @@ let pythonPackages = python.modules // rec {
 
 
   boto = buildPythonPackage rec {
-    name = "boto-2.3.0";
+    name = "boto-2.6.0";
 
     src = fetchurl {
       url = "https://github.com/downloads/boto/boto/${name}.tar.gz";
-      sha256 = "05im9vyk9wq8cjw4cp93jlqb9v98rnrm067p93ih7f0ynnlnjaf1";
+      sha256 = "1wnzs9frf44mrnw7l2vijc5anbcvcqqrv7237gjn27v0ja76slff";
     };
 
     # The tests seem to require AWS credentials.
@@ -368,8 +371,8 @@ let pythonPackages = python.modules // rec {
       md5 = "5f39727415b837abd02651eeb2721749";
     };
 
-    propagatedBuildInputs = [ stompclient distribute ]; 
-      
+    propagatedBuildInputs = [ stompclient distribute ];
+
     doCheck = false;
 
     meta = {
@@ -448,7 +451,7 @@ let pythonPackages = python.modules // rec {
     };
   });
 
-  
+
   dateutil = buildPythonPackage (rec {
     name = "dateutil-1.5";
 
@@ -484,12 +487,12 @@ let pythonPackages = python.modules // rec {
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/d/distribute/distribute-0.6.26.tar.gz";
       md5 = "841f4262a70107f85260362f5def8206"; #"ecd75ea629fee6d59d26f88c39b2d291";
-      
+
     };
 
     buildInputs = [ pkgs.unzip ];
-    
-    installCommand = 
+
+    installCommand =
       ''
         # ehm, YES, the --verbose flags needs to be there, otherwise it tries to patch setuptools!
         easy_install --verbose --prefix=$out .
@@ -503,7 +506,7 @@ let pythonPackages = python.modules // rec {
       platforms = python.meta.platforms;
     };
   });
-  
+
 
   distutils_extra = buildPythonPackage rec {
     name = "distutils-extra-2.26";
@@ -519,7 +522,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  
+
   django = buildPythonPackage rec {
     name = "Django-${version}";
     version = "1.4.1";
@@ -537,13 +540,13 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  
+
   django_1_3 = buildPythonPackage rec {
-    name = "Django-1.3.2";
+    name = "Django-1.3.3";
 
     src = fetchurl {
       url = "http://www.djangoproject.com/m/releases/1.3/${name}.tar.gz";
-      sha256 = "0r6pdm33x96aba9x36jvqpkh2bf1zixnzvr12mcc8qq8wc7hii3j";
+      sha256 = "0snlrcvk92qj1v0n9dpycn6sw56w4zns4mpc30837q6yi7ylrx4f";
     };
 
     doCheck = false;
@@ -554,7 +557,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  
+
   django_evolution = buildPythonPackage rec {
     name = "django_evolution-0.6.7";
 
@@ -571,13 +574,13 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  
+
   djblets = buildPythonPackage rec {
-    name = "Djblets-0.6.19";
+    name = "Djblets-0.6.23";
 
     src = fetchurl {
       url = "http://downloads.reviewboard.org/releases/Djblets/0.6/${name}.tar.gz";
-      sha256 = "1hhvpi81yknvlaazq1cpgamp9vf3x1fcr0ba64q3j2yz1kgin1i8";
+      sha256 = "1d8vg5a9q2ldnbxqap1893lqb66jwcsli2brbjx7mcnqrzcz449x";
     };
 
     propagatedBuildInputs = [ pkgs.pil django_1_3 ];
@@ -588,7 +591,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  
+
   dulwich = buildPythonPackage rec {
     name = "dulwich-0.8.1";
 
@@ -609,7 +612,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  
+
   hggit = buildPythonPackage rec {
     name = "hg-git-0.3.1";
 
@@ -626,7 +629,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  
+
   docutils = buildPythonPackage rec {
     name = "docutils-0.8.1";
 
@@ -701,6 +704,26 @@ let pythonPackages = python.modules // rec {
   };
 
 
+  flake8 = buildPythonPackage (rec {
+    name = "flake8-1.5";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/f/flake8/${name}.tar.gz";
+      md5 = "525be5c7fcaf85f6819c77752cb2ee72";
+    };
+
+    doCheck = false;
+
+    meta = {
+      description = "code checking using pep8 and pyflakes.";
+      homepage = http://pypi.python.org/pypi/flake8;
+      license = pkgs.lib.licenses.mit;
+      maintainers = [ stdenv.lib.maintainers.garbas ];
+      platforms = python.meta.platforms;
+    };
+  });
+
+
   flask = buildPythonPackage {
     name = "flask-0.9";
 
@@ -733,7 +756,7 @@ let pythonPackages = python.modules // rec {
     };
   });
 
-  
+
   foolscap = buildPythonPackage (rec {
     name = "foolscap-0.6.1";
 
@@ -903,18 +926,21 @@ let pythonPackages = python.modules // rec {
 
 
   httplib2 = buildPythonPackage rec {
-    name = "httplib2-0.6.0";
+    name = "httplib2-0.7.6";
 
     src = fetchurl {
       url = "http://httplib2.googlecode.com/files/${name}.tar.gz";
-      sha256 = "134pldyxayc0x4akzzvkciz2kj1w2dsim1xvd9b1qrpmba70dpjq";
+      sha256 = "baa7bf431fa9d3c1016562de717e1ebb322a99df72a2918f6b5b8f65fa65bc2e";
     };
 
     doCheck = false; # doesn't have a test
 
     meta = {
-      homepage = http://code.google.com/p/httplib2/;
+      homepage = "http://code.google.com/p/httplib2";
       description = "A comprehensive HTTP client library";
+      license = pkgs.lib.licenses.mit;
+      maintainers = [ stdenv.lib.maintainers.garbas ];
+      platforms = python.meta.platforms;
     };
   };
 
@@ -1028,14 +1054,15 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  logilabCommon = buildPythonPackage rec {
-    name = "logilab-common-0.56.0";
+  logilab_common = buildPythonPackage rec {
+    name = "logilab-common-0.58.2";
 
     src = fetchurl {
-      url = "ftp://ftp.logilab.org/pub/common/${name}.tar.gz";
-      sha256 = "14p557nqypbd10d8k7qs6jlm58pksiwh86wvvl0axyki00hj6971";
+      url = "http://download.logilab.org/pub/common/${name}.tar.gz";
+      sha256 = "0qfdyj2is0scpnkgpnqm12lh4yl27617l0irlilhk25cpgbbfbf9";
     };
-    propagatedBuildInputs = [unittest2];
+
+    propagatedBuildInputs = [ unittest2 ];
   };
 
   lxml = buildPythonPackage ( rec {
@@ -1137,7 +1164,7 @@ let pythonPackages = python.modules // rec {
     };
   });
 
-  
+
   mechanize = buildPythonPackage (rec {
     name = "mechanize-0.1.11";
 
@@ -1172,7 +1199,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  
+
   mock = buildPythonPackage (rec {
     name = "mock-0.7.0";
 
@@ -1423,6 +1450,26 @@ let pythonPackages = python.modules // rec {
     };
   });
 
+  oauth2 = buildPythonPackage (rec {
+    name = "auth2-1.5.211";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/o/oauth2/oauth2-1.5.211.tar.gz";
+      sha256 = "82a38f674da1fa496c0fc4df714cbb058540bed72a30c50a2e344b0d984c4d21";
+    };
+
+    propagatedBuildInputs = [ httplib2 ];
+    doCheck = false;
+
+    meta = {
+      homepage = "https://github.com/simplegeo/python-oauth2";
+      description = "library for OAuth version 1.0";
+      license = pkgs.lib.licenses.mit;
+      maintainers = [ stdenv.lib.maintainers.garbas ];
+      platforms = stdenv.lib.platforms.linux;
+    };
+  });
+
   optfunc = buildPythonPackage ( rec {
     name = "optfunc-git";
 
@@ -1479,7 +1526,7 @@ let pythonPackages = python.modules // rec {
     };
   });
 
-  
+
   paramiko = buildPythonPackage rec {
     name = "paramiko-1.7.7.1";
 
@@ -1605,6 +1652,25 @@ let pythonPackages = python.modules // rec {
   };
 
 
+  polib = buildPythonPackage rec {
+    name = "polib-${version}";
+    version = "1.0.1";
+
+    src = fetchurl {
+      url = "http://bitbucket.org/izi/polib/downloads/${name}.tar.gz";
+      sha256 = "1sr2bb3g7rl7gr6156j5qv71kg06q1x01r1lbps9ksnyz37djn2q";
+    };
+
+    doCheck = false;
+
+    meta = {
+      description = "A library to manipulate gettext files (po and mo files)";
+      homepage = "http://bitbucket.org/izi/polib/";
+      license = pkgs.lib.licenses.mit;
+    };
+  };
+
+
   prettytable = buildPythonPackage rec {
     name = "prettytable-0.5";
 
@@ -1652,6 +1718,23 @@ let pythonPackages = python.modules // rec {
   };
 
 
+  publicsuffix = buildPythonPackage rec {
+    name = "publicsuffix-${version}";
+    version = "1.0.2";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/publicsuffix/${name}.tar.gz";
+      md5 = "f86babf56f6e58b564d3853adebcf37a";
+    };
+
+    meta = {
+      description = "Allows to get the public suffix of a domain name";
+      homepage = "http://pypi.python.org/pypi/publicsuffix/";
+      license = pkgs.lib.licenses.mit;
+    };
+  };
+
+
   pyasn1 = buildPythonPackage ({
     name = "pyasn1-0.0.11a";
 
@@ -1671,6 +1754,32 @@ let pythonPackages = python.modules // rec {
     };
   });
 
+
+  pyaudio = pkgs.stdenv.mkDerivation rec {
+    name = "python-pyaudio-${version}";
+    version = "0.2.4";
+
+    src = fetchurl {
+      url = "http://people.csail.mit.edu/hubert/pyaudio/packages/pyaudio-${version}.tar.gz";
+      md5 = "623809778f3d70254a25492bae63b575";
+    };
+
+    buildInputs = [ python pkgs.portaudio ];
+
+    installPhase = ''
+      python setup.py install --prefix=$out
+    '';
+
+    doCheck = false;
+
+    meta = {
+      description = "Python bindings for PortAudio";
+      homepage = "http://people.csail.mit.edu/hubert/pyaudio/";
+      license = stdenv.lib.licenses.mit;
+    };
+  };
+
+
   Babel = buildPythonPackage (rec {
     name = "Babel-0.9.6";
 
@@ -1757,6 +1866,23 @@ let pythonPackages = python.modules // rec {
     };
   };
 
+  pyfeed = buildPythonPackage rec {
+    url = "http://www.blarg.net/%7Esteveha/pyfeed-0.7.4.tar.gz";
+    name = stdenv.lib.nameFromURL url ".tar";
+    src = fetchurl {
+      inherit url;
+      sha256 = "1h4msq573m7wm46h3cqlx4rsn99f0l11rhdqgf50lv17j8a8vvy1";
+    };
+    propagatedBuildInputs = [xe];
+
+    # tests not described in setup.py
+    doCheck = false;
+
+    meta = {
+      homepage = "http://home.blarg.net/~steveha/pyfeed.html";
+      description = "Tools for syndication feeds";
+    };
+  };
 
   pygments = buildPythonPackage rec {
     name = "Pygments-1.5";
@@ -1765,7 +1891,7 @@ let pythonPackages = python.modules // rec {
       url = "http://pypi.python.org/packages/source/P/Pygments/${name}.tar.gz";
       md5 = "ef997066cc9ee7a47d01fb4f3da0b5ff";
     };
-    
+
     meta = {
       homepage = http://pygments.org/;
       description = "A generic syntax highlighter";
@@ -1834,7 +1960,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  
+
   ldap = buildPythonPackage rec {
     name = "python-ldap-2.4.3";
     namePrefix = "";
@@ -1869,16 +1995,23 @@ let pythonPackages = python.modules // rec {
 
 
   pylint = buildPythonPackage rec {
-    name = "pylint-0.23.0";
+    name = "pylint-0.26.0";
+    namePrefix = "";
 
     src = fetchurl {
       url = "ftp://ftp.logilab.org/pub/pylint/${name}.tar.gz";
-      sha256 = "07091avcc2b374i5f3blszmawjcin8xssjfryz91qbxybb8r7c6d";
+      sha256 = "1mg1ywpj0klklv63s2hwn5xwxi3wfwgnyz9d4pz32hzb53azq835";
+    };
+
+    propagatedBuildInputs = [ logilab_astng ];
+
+    meta = {
+      homepage = http://www.logilab.org/project/pylint;
+      description = "A bug and style checker for Python";
     };
-    propagatedBuildInputs = [astng];
   };
 
-  
+
   pymacs = pkgs.stdenv.mkDerivation rec {
     version = "v0.24-beta2";
     name = "Pymacs-${version}";
@@ -1907,7 +2040,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  
+
   pyopengl =
     let version = "3.0.0b5";
     in
@@ -1936,7 +2069,7 @@ let pythonPackages = python.modules // rec {
         };
       };
 
-      
+
   pyreport = buildPythonPackage (rec {
     name = "pyreport-0.3.4c";
 
@@ -2072,7 +2205,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  
+
   pyutil = buildPythonPackage (rec {
     name = "pyutil-1.7.9";
 
@@ -2144,7 +2277,7 @@ let pythonPackages = python.modules // rec {
     };
   });
 
-  
+
   RBTools = buildPythonPackage rec {
     name = "rbtools-0.4.1";
     namePrefix = "";
@@ -2157,7 +2290,7 @@ let pythonPackages = python.modules // rec {
     propagatedBuildInputs = [ setuptools ];
   };
 
-  
+
   recaptcha_client = buildPythonPackage rec {
     name = "recaptcha-client-1.0.6";
 
@@ -2172,7 +2305,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  
+
   reportlab =
    let freetype = pkgs.lib.overrideDerivation pkgs.freetype (args: { configureFlags = "--enable-static --enable-shared"; });
    in buildPythonPackage rec {
@@ -2192,13 +2325,13 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  
+
   reviewboard = buildPythonPackage rec {
-    name = "ReviewBoard-1.6.9";
+    name = "ReviewBoard-1.6.13";
 
     src = fetchurl {
       url = "http://downloads.reviewboard.org/releases/ReviewBoard/1.6/${name}.tar.gz";
-      sha256 = "06pwbmqwsb0g2y8zg5hk5ibaivsl1af7v0vnkqranimf4yaa10mc";
+      sha256 = "06q9vgvmmwiyqj6spw6sbhrcxwds02pvqir50psbpps74nxn2mph";
     };
 
     propagatedBuildInputs =
@@ -2208,7 +2341,7 @@ let pythonPackages = python.modules // rec {
       ];
   };
 
-  
+
   rdflib = buildPythonPackage (rec {
     name = "rdflib-3.0.0";
 
@@ -2382,7 +2515,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  
+
   setuptoolsTrial = buildPythonPackage {
     name = "setuptools-trial-0.5.12";
 
@@ -2402,7 +2535,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  
+
   simplejson = buildPythonPackage (rec {
     name = "simplejson-2.1.3";
 
@@ -2428,7 +2561,7 @@ let pythonPackages = python.modules // rec {
     };
   });
 
-  
+
   six = buildPythonPackage rec {
     name = "six-1.1.0";
 
@@ -2445,7 +2578,7 @@ let pythonPackages = python.modules // rec {
     };
   };
 
-  
+
   skype4py = buildPythonPackage (rec {
     name = "Skype4Py-1.0.32.0";
 
@@ -2477,11 +2610,11 @@ let pythonPackages = python.modules // rec {
   });
 
   sphinx = buildPythonPackage (rec {
-    name = "Sphinx-1.0.7";
+    name = "Sphinx-1.1.3";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/S/Sphinx/${name}.tar.gz";
-      md5 = "42c722d48e52d4888193965dd473adb5";
+      md5 = "8f55a6d4f87fc6d528120c5d1f983e98";
     };
 
     propagatedBuildInputs = [docutils jinja2 pygments];
@@ -2640,6 +2773,45 @@ let pythonPackages = python.modules // rec {
     };
   };
 
+  turses = buildPythonPackage (rec {
+    name = "turses-0.2.8";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/t/turses/${name}.tar.gz";
+      sha256 = "fbbc0ca93324535bcafa8434395caded8047e40c25d7a4004806415dd6ca023f";
+    };
+
+    propagatedBuildInputs = [ oauth2 urwid tweepy ];
+    doCheck = false;
+
+    meta = {
+      homepage = "https://github.com/alejandrogomez/turses";
+      description = "A Twitter client for the console.";
+      license = pkgs.lib.licenses.gpl3;
+      maintainers = [ stdenv.lib.maintainers.garbas ];
+      platforms = stdenv.lib.platforms.linux;
+    };
+  });
+
+  tweepy = buildPythonPackage (rec {
+    name = "tweepy-1.11";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/t/tweepy/${name}.tar.gz";
+      sha256 = "2b9fa225e9254e2cbbb01e59c6e92d9c42e5d41d97e8c74dee93eb09babffde5";
+    };
+
+    doCheck = false;
+
+    meta = {
+      homepage = "https://github.com/tweepy/tweepy";
+      description = "Twitter library for python";
+      license = pkgs.lib.licenses.mit;
+      maintainers = [ stdenv.lib.maintainers.garbas ];
+      platforms = stdenv.lib.platforms.linux;
+    };
+  });
+
   twisted = buildPythonPackage rec {
     name = "twisted-10.2.0";
 
@@ -2711,13 +2883,13 @@ let pythonPackages = python.modules // rec {
 
 
   urwid = buildPythonPackage (rec {
-    name = "urwid-1.0.1";
+    name = "urwid-1.0.2";
 
     doCheck = false;
 
     src = fetchurl {
       url = "http://excess.org/urwid/${name}.tar.gz";
-      md5 = "828f7144b94920205e755c249d2e297f";
+      md5 = "00542bbd15fae7ea60b02a7570edee2b";
     };
 
     meta = {
@@ -2823,6 +2995,24 @@ let pythonPackages = python.modules // rec {
   };
 
 
+  wokkel = buildPythonPackage (rec {
+    url = "http://wokkel.ik.nu/releases/0.7.0/wokkel-0.7.0.tar.gz";
+    name = pkgs.lib.nameFromURL url ".tar";
+    src = fetchurl {
+      inherit url;
+      sha256 = "0rnshrzw8605x05mpd8ndrx3ri8h6cx713mp8sl4f04f4gcrz8ml";
+    };
+
+    propagatedBuildInputs = [twisted dateutil];
+
+    meta = {
+      description = "Some (mainly XMPP-related) additions to twisted";
+      homepage = "http://wokkel.ik.nu/";
+      license = stdenv.lib.licenses.mit;
+    };
+  });
+
+
   wxPython = wxPython28;
 
 
@@ -2832,6 +3022,23 @@ let pythonPackages = python.modules // rec {
     wxGTK = pkgs.wxGTK28;
   };
 
+  xe = buildPythonPackage rec {
+    url = "http://www.blarg.net/%7Esteveha/xe-0.7.4.tar.gz";
+    name = stdenv.lib.nameFromURL url ".tar";
+    src = fetchurl {
+      inherit url;
+      sha256 = "0v9878cl0y9cczdsr6xjy8v9l139lc23h4m5f86p4kpf2wlnpi42";
+    };
+
+    # tests not described in setup.py
+    doCheck = false;
+
+    meta = {
+      homepage = "http://home.blarg.net/~steveha/xe.html";
+      description = "XML elements";
+    };
+  };
+
   xlib = buildPythonPackage (rec {
     name = "xlib-0.15rc1";
 
@@ -2939,11 +3146,11 @@ let pythonPackages = python.modules // rec {
   };
 
   cliapp = buildPythonPackage rec {
-    name = "cliapp-1.20120630";
+    name = "cliapp-1.20120929";
 
     src = fetchurl rec {
-      url = "http://code.liw.fi/debian/pool/main/p/python-cliapp/python-cliapp_1.20120630.orig.tar.gz";
-      sha256 = "6beeb1fb3077561540094584ce36055266ac67b80f158b9b82fe4075096f4716";
+      url = "http://code.liw.fi/debian/pool/main/p/python-cliapp/python-cliapp_1.20120929.orig.tar.gz";
+      sha256 = "30d5077e53b3e45f892b1c49feaaf4f47e4664400ed71435e77a82a2b823a0f8";
     };
 
     buildInputs = [ sphinx ];
@@ -2959,11 +3166,11 @@ let pythonPackages = python.modules // rec {
   };
 
   tracing = buildPythonPackage rec {
-    name = "tracing-0.6";
+    name = "tracing-0.7";
 
     src = fetchurl rec {
-      url = "http://code.liw.fi/debian/pool/main/p/python-tracing/python-tracing_0.6.orig.tar.gz";
-      sha256 = "1164cf05891f9bca93fb87413f32d2c4da90348adbf69b0ad36a464b7adcd354";
+      url = "http://code.liw.fi/debian/pool/main/p/python-tracing/python-tracing_0.7.orig.tar.gz";
+      sha256 = "9954a1b0cc6b957d15975b048f929bbdd46766d397a6fa51bf8f6498b9459276";
     };
 
     buildInputs = [ sphinx ];
@@ -2979,11 +3186,11 @@ let pythonPackages = python.modules // rec {
   };
 
   ttystatus = buildPythonPackage rec {
-    name = "ttystatus-0.19";
+    name = "ttystatus-0.21";
 
     src = fetchurl rec {
-      url = "http://code.liw.fi/debian/pool/main/p/python-ttystatus/python-ttystatus_0.19.orig.tar.gz";
-      sha256 = "7cc112a4783f2e0c354c5244f8e50b18733b5957677b56a755c1016e04c0c28d";
+      url = "http://code.liw.fi/debian/pool/main/p/python-ttystatus/python-ttystatus_0.21.orig.tar.gz";
+      sha256 = "4a1f3a41c9bd3b5d2bd8e6f093890857301e590aa1d428fc9a6dca591227244c";
     };
 
     buildInputs = [ sphinx ];
@@ -2999,11 +3206,11 @@ let pythonPackages = python.modules // rec {
   };
 
   larch = buildPythonPackage rec {
-    name = "larch-1.20120527";
+    name = "larch-1.20121006";
 
     src = fetchurl rec {
-      url = "http://code.liw.fi/debian/pool/main/p/python-larch/python-larch_1.20120527.orig.tar.gz";
-      sha256 = "2865a1bfa6bd276bf746e8e7cb73d5199d0b6d00045d8c92e158626687d3bbe1";
+      url = "http://code.liw.fi/debian/pool/main/p/python-larch/python-larch_1.20121006.orig.tar.gz";
+      sha256 = "b4482981010e9c22ee3fce6fdc664b8fc0a1a3a18ed30b40f247f3b44437ccfa";
     };
 
     buildInputs = [ sphinx ];
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 390c8855e568..5aa64c8fffa9 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -134,8 +134,6 @@ with (import ./release-lib.nix);
   guile = linux;  # tests fail on Cygwin
   gv = linux;
   gzip = all;
-  hal = linux;
-  hal_info = linux;
   hddtemp = linux;
   hello = all;
   host = linux;
@@ -168,8 +166,6 @@ with (import ./release-lib.nix);
   libsmbios = linux;
   libtool = all;
   libtool_2 = all;
-  libxml2 = all;
-  libxslt = all;
   lout = linux;
   lsh = linux;
   lsof = linux;
@@ -297,7 +293,6 @@ with (import ./release-lib.nix);
   tinycc = ["i686-linux"];
   uae = linux;
   udev = linux;
-  uml = ["i686-linux"];
   unrar = linux;
   upstart = linux;
   usbutils = linux;
@@ -357,9 +352,8 @@ with (import ./release-lib.nix);
   };
 
   firefox36Pkgs.firefox = linux;
-  firefox12Pkgs.firefox = linux;
-  firefox13Pkgs.firefox = linux;
   firefox15Pkgs.firefox = linux;
+  firefox16Pkgs.firefox = linux;
 
   gnome = {
     gnome_panel = linux;