summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2014-08-31 13:00:19 +0200
committerVladimír Čunát <vcunat@gmail.com>2014-09-08 18:16:54 +0200
commit1e389c976cc5326b08bd166785e643364bb2d8b4 (patch)
tree58f51874e758fb2f6412f1d15717a5cfe1a8fb01 /pkgs
parenta8fc68a5c02488a2228a1dc4984a3fa6351002eb (diff)
parent773595540bd3a52476a7c84799e374d086d1c648 (diff)
merge 'staging' into modular-stdenv
In 2c62a36b77 the messages in pkgs/stdenv/generic/default.nix
were not merged correctly.

Conflicts:
	pkgs/stdenv/generic/default.nix
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/clementine/default.nix10
-rw-r--r--pkgs/applications/audio/lastwatch/default.nix1
-rw-r--r--pkgs/applications/audio/mopidy-moped/default.nix4
-rw-r--r--pkgs/applications/audio/mopidy/default.nix4
-rw-r--r--pkgs/applications/editors/emacs-24/darwin-new-sections.patch50
-rw-r--r--pkgs/applications/editors/emacs-24/default.nix10
-rw-r--r--pkgs/applications/editors/emacs-24/macport.nix11
-rw-r--r--pkgs/applications/editors/idea/pycharm.nix10
-rw-r--r--pkgs/applications/editors/nano/default.nix6
-rw-r--r--pkgs/applications/editors/yi/yi-contrib.nix5
-rw-r--r--pkgs/applications/editors/yi/yi.nix4
-rw-r--r--pkgs/applications/graphics/hoodle/default.nix2
-rw-r--r--pkgs/applications/graphics/hugin/default.nix31
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix3
-rw-r--r--pkgs/applications/graphics/kipi-plugins/default.nix1
-rw-r--r--pkgs/applications/graphics/luminance-hdr/default.nix26
-rw-r--r--pkgs/applications/graphics/openimageio/default.nix12
-rw-r--r--pkgs/applications/misc/bitcoin/default.nix4
-rw-r--r--pkgs/applications/misc/blender/default.nix7
-rw-r--r--pkgs/applications/misc/dunst/default.nix17
-rw-r--r--pkgs/applications/misc/lyx/default.nix33
-rw-r--r--pkgs/applications/misc/xfontsel/default.nix4
-rw-r--r--pkgs/applications/misc/xlsfonts/default.nix4
-rw-r--r--pkgs/applications/misc/xmobar/default.nix3
-rw-r--r--pkgs/applications/misc/xterm/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/dwb/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/firefox/30.nix211
-rw-r--r--pkgs/applications/networking/browsers/vimb/default.nix4
-rw-r--r--pkgs/applications/networking/dropbox/default.nix19
-rw-r--r--pkgs/applications/networking/instant-messengers/ekiga/default.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/kadu/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix12
-rw-r--r--pkgs/applications/networking/newsreaders/liferea/default.nix1
-rw-r--r--pkgs/applications/networking/p2p/eiskaltdcpp/default.nix35
-rw-r--r--pkgs/applications/office/hledger-interest/default.nix5
-rw-r--r--pkgs/applications/office/hledger-irr/default.nix2
-rw-r--r--pkgs/applications/office/libreoffice/default.nix56
-rw-r--r--pkgs/applications/office/libreoffice/libreoffice-srcs.nix284
-rw-r--r--pkgs/applications/office/libreoffice/ooxmlexport.diff31
-rw-r--r--pkgs/applications/office/zotero/default.nix9
-rw-r--r--pkgs/applications/science/logic/leo2/default.nix22
-rw-r--r--pkgs/applications/science/logic/leo2/default.upstream6
-rw-r--r--pkgs/applications/science/misc/fityk/default.nix23
-rw-r--r--pkgs/applications/science/misc/simgrid/default.nix35
-rw-r--r--pkgs/applications/version-management/git-and-tools/github-backup/default.nix2
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix9
-rw-r--r--pkgs/applications/version-management/subversion/default.nix4
-rw-r--r--pkgs/applications/video/aegisub/default.nix4
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix2
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix1
-rw-r--r--pkgs/applications/window-managers/bar/default.nix23
-rw-r--r--pkgs/applications/window-managers/bspwm/default.nix29
-rw-r--r--pkgs/applications/window-managers/sxhkd/default.nix27
-rw-r--r--pkgs/applications/window-managers/xmonad/xmonad-contrib.nix5
-rw-r--r--pkgs/applications/window-managers/xmonad/xmonad-extras.nix5
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git5
-rw-r--r--pkgs/build-support/fetchurl/mirrors.nix1
-rw-r--r--pkgs/build-support/release/ant-build.nix7
-rw-r--r--pkgs/build-support/release/functions.sh23
-rw-r--r--pkgs/build-support/vm/default.nix12
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/dconf/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/default.nix32
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/disable_x_access_control.patch18
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch26
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/sessions_dir.patch17
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/xserver_path.patch15
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/vino/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix43
-rw-r--r--pkgs/development/compilers/chicken/default.nix2
-rw-r--r--pkgs/development/compilers/cryptol/1.8.x.nix2
-rw-r--r--pkgs/development/compilers/epic/default.nix3
-rw-r--r--pkgs/development/compilers/gcc/3.3/default.nix1
-rw-r--r--pkgs/development/compilers/gcc/4.2-apple64/default.nix2
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix5
-rw-r--r--pkgs/development/compilers/ocaml/4.01.0.nix21
-rw-r--r--pkgs/development/compilers/opa/default.nix30
-rw-r--r--pkgs/development/compilers/pakcs/default.nix4
-rw-r--r--pkgs/development/compilers/stalin/default.nix2
-rw-r--r--pkgs/development/interpreters/erlang/R17.nix6
-rw-r--r--pkgs/development/interpreters/lua-5/5.0.3.nix2
-rw-r--r--pkgs/development/interpreters/lua-5/5.1.nix2
-rw-r--r--pkgs/development/interpreters/lua-5/5.2.nix2
-rw-r--r--pkgs/development/interpreters/lua-5/expat.nix2
-rw-r--r--pkgs/development/interpreters/lua-5/filesystem.nix2
-rw-r--r--pkgs/development/interpreters/lua-5/sec.nix2
-rw-r--r--pkgs/development/interpreters/lua-5/sockets.nix2
-rw-r--r--pkgs/development/interpreters/perl/5.16/default.nix6
-rw-r--r--pkgs/development/interpreters/python/2.6/default.nix7
-rw-r--r--pkgs/development/libraries/allegro/5-unstable.nix3
-rw-r--r--pkgs/development/libraries/buddy/default.nix2
-rw-r--r--pkgs/development/libraries/cln/default.nix2
-rw-r--r--pkgs/development/libraries/cloog-ppl/default.nix2
-rw-r--r--pkgs/development/libraries/cloog/default.nix2
-rw-r--r--pkgs/development/libraries/commoncpp2/default.nix2
-rw-r--r--pkgs/development/libraries/dbus/default.nix2
-rw-r--r--pkgs/development/libraries/ffmpeg/2.x.nix4
-rw-r--r--pkgs/development/libraries/freeglut/default.nix24
-rw-r--r--pkgs/development/libraries/glib/default.nix13
-rw-r--r--pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch25
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix7
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/gnonlin/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/python/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/AC-Vector/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/Boolean/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/Cabal/1.14.0.nix5
-rw-r--r--pkgs/development/libraries/haskell/Cabal/1.16.0.3.nix5
-rw-r--r--pkgs/development/libraries/haskell/Cabal/1.18.1.3.nix6
-rw-r--r--pkgs/development/libraries/haskell/Cabal/1.20.0.2.nix5
-rw-r--r--pkgs/development/libraries/haskell/Chart-cairo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Chart-diagrams/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/Chart-gtk/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/Chart/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/ConfigFile/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/CouchDB/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/Crypto/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/Diff/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/EitherT/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/FerryCore/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/GLFW/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/GLURaw/1.3.0.0.nix2
-rw-r--r--pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.1.1.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.2.2.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.3.1.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.4.0.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/GlomeVec/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/Graphalyze/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix5
-rw-r--r--pkgs/development/libraries/haskell/HDBC/HDBC-postgresql.nix1
-rw-r--r--pkgs/development/libraries/haskell/HDBC/HDBC-sqlite3.nix1
-rw-r--r--pkgs/development/libraries/haskell/HDBC/HDBC.nix1
-rw-r--r--pkgs/development/libraries/haskell/HFuse/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/HList/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/HStringTemplate/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.0.6.nix1
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.0.9.nix1
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.1.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.1.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.5.nix1
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.8.nix1
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.4.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.5.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.5.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/HaXml/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/HaskellForMaths/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/HaskellNet/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/HsOpenSSL/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/HsSyck/0.51.nix1
-rw-r--r--pkgs/development/libraries/haskell/HsSyck/0.52.nix1
-rw-r--r--pkgs/development/libraries/haskell/IOSpec/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/IfElse/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/IntervalMap/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/JuicyPixels/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/ListLike/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/MFlow/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/MaybeT/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/MemoTrie/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/MissingH/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/MonadPrompt/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/MonadRandom/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/NumInstances/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/ObjectName/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/OneTuple/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/OpenAL/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.2.1.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.4.0.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.8.0.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/OpenGLRaw/1.3.0.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/OpenGLRaw/1.4.0.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/PSQueue/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/1.2.0.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.1.1.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.4.1.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.4.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.5.1.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.6.nix1
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.7.5.nix1
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.7.6.nix1
-rw-r--r--pkgs/development/libraries/haskell/RSA/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/Ranged-sets/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/RefSerialize/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/RepLib/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/SDL-image/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/SDL-mixer/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/SDL-ttf/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/SDL/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/SHA/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/SMTPClient/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/Shellac/Shellac.nix1
-rw-r--r--pkgs/development/libraries/haskell/StateVar/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/Stream/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/TCache/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/TableAlgebra/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/Tensor/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/TypeCompose/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/Vec/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/Workflow/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/X11-xft/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/X11/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/abstract-deque/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/abstract-par/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/accelerate-cuda/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/accelerate-examples/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/aeson-utils/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/aeson/0.7.0.4.nix1
-rw-r--r--pkgs/development/libraries/haskell/aeson/0.7.0.6.nix28
-rw-r--r--pkgs/development/libraries/haskell/aeson/0.8.0.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/ansi-terminal/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/ansi-wl-pprint/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/ariadne/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/arrows/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/asn1-data/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/async/2.0.1.3.nix2
-rw-r--r--pkgs/development/libraries/haskell/async/2.0.1.4.nix2
-rw-r--r--pkgs/development/libraries/haskell/async/2.0.1.5.nix1
-rw-r--r--pkgs/development/libraries/haskell/attempt/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/attoparsec-conduit/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/attoparsec-enumerator/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/0.10.4.0.nix2
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/0.11.3.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix2
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/0.12.1.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/authenticate-oauth/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/authenticate/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/aws/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/base-unicode-symbols/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/base16-bytestring/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/base64-bytestring/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/base64-conduit/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/base64-string/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/benchpress/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/bert/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/bimap/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/binary-conduit/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/binary-shared/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/binary/0.7.2.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/bitarray/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/bitmap/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/bits-atomic/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/bktrees/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/blaze-html/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/blaze-markup/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/blaze-textual/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/bmp/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/bound/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/brainfuck/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/bson/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/bv/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/byteorder/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/bytestring-lexing/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/bytestring-mmap/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/bytestring-nums/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/bytestring-trie/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/c2hs/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/cabal-cargs/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/cabal-file-th/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/cabal-lenses/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/cabal-macosx/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/cairo/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/case-insensitive/1.0.0.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/case-insensitive/1.0.0.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/cassava/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/categories/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/cautious-file/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/cereal/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/certificate/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.7.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.7.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix1
-rw-r--r--pkgs/development/libraries/haskell/cgi/3001.1.8.5.nix3
-rw-r--r--pkgs/development/libraries/haskell/citeproc-hs/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/clientsession/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/cmdargs/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/cmdlib/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/cmdtheline/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/codec-image-devil/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/colorize-haskell/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/colour/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/comonad-transformers/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/compact-string-fix/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/compdata/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/concurrent-extra/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/conduit/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/constraints/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/continued-fractions/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/converge/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/convertible/1.0.11.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/convertible/1.1.0.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/cookie/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/coroutine-object/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/cprng-aes/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/cpu/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/criterion/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/crypto-api/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/crypto-conduit/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/cryptocipher/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/cryptohash/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/css-text/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/csv/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/cuda/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/curl/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix1
-rw-r--r--pkgs/development/libraries/haskell/data-accessor/data-accessor.nix1
-rw-r--r--pkgs/development/libraries/haskell/data-binary-ieee754/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/data-default/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/data-inttrie/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/data-lens-template/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/data-lens/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/data-memocombinators/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/data-reify/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/dataenc/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/datetime/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/dbmigrations/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/deepseq-th/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/deepseq/1.2.0.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/deepseq/1.3.0.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/derive/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/derp/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/diagrams/cairo.nix1
-rw-r--r--pkgs/development/libraries/haskell/diagrams/postscript.nix2
-rw-r--r--pkgs/development/libraries/haskell/diff3/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/digest/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/digits/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/dimensional/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/directory-tree/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/distributed-static/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/djinn/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/dlist/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/dns/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/dotgen/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/double-conversion/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/download-curl/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/download/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/dstring/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/edit-distance/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/editline/0.2.1.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/editline/0.2.1.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/ekg-carbon/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/ekg/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/email-validate/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/engine-io-snap/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/engine-io/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/entropy/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/enumerator/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/enummapset/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/enumset/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/equivalence/0.2.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/erf/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/esqueleto/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/ex-pool/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/exception-mtl/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/exception-transformers/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/exceptions/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/executable-path/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/explicit-exception/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/extensible-effects/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.0.nix2
-rw-r--r--pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.2.nix2
-rw-r--r--pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.3.nix2
-rw-r--r--pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.4.nix1
-rw-r--r--pkgs/development/libraries/haskell/failure/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/fast-logger/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/fastcgi/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/fay-base/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/fay/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/fclabels/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/feed/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/fgl-visualize/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.4.2.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.4.2.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.4.2.4.nix1
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.5.0.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.5.0.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/file-embed/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/filemanip/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/filepath/1.3.0.2.nix17
-rw-r--r--pkgs/development/libraries/haskell/filestore/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/fingertree/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/flexible-defaults/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/foldl/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/folds/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/formatting/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/free/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/funcmp/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/gamma/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/gd/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/gdiff/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/generic-deriving/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/generics-sop/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/ghc-core/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/ghc-events/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/ghc-mtl/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/ghc-syb-utils/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/ghc-syb/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/gio/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/git-date/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/gitit/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/gitlib-libgit2/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/gitlib-test/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/gitlib/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/glade/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/glib/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/gloss/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/glpk-hs/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/graphscc/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/graphviz/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/gtk/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/gtkglext/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/gtksourceview2/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hS3/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hackage-db/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hakyll/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hamlet/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-fastcgi.nix3
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix1
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-server.nix1
-rw-r--r--pkgs/development/libraries/haskell/hashable-extras/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/hashable/1.1.2.5.nix2
-rw-r--r--pkgs/development/libraries/haskell/hashable/1.2.2.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/hashed-storage/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hashtables/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/haskeline-class/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/haskeline/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/haskell-lexer/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/haskell-mpi/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/haskell-names/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/haskell-packages/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-exts/1.13.5.nix2
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-exts/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-meta/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/haskell-src/1.0.1.3.nix2
-rw-r--r--pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix2
-rw-r--r--pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix1
-rw-r--r--pkgs/development/libraries/haskell/haskell-token-utils/default.nix29
-rw-r--r--pkgs/development/libraries/haskell/haskelldb/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/hastache/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/haste-perch/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/haxl/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/haxr-th/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/haxr/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hfsevents/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hgal/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/highlighting-kate/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hint/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hjsmin/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hledger-lib/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hledger/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hlibgit2/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/hmatrix-special/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/hmatrix/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/hoauth/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hoauth2/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hoodle-builder/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/hoodle-core/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/hoodle-extra/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/hoodle-parser/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/hoodle-render/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/hoodle-types/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/hoogle/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hopenssl/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hostname/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hp2any-core/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hp2any-graph/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hplayground/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/hs-bibutils/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hsdns/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hse-cpp/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/hsemail/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hsimport/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/hslogger-template/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hspec-expectations/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hspec-meta/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hspec/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/hspec2/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/hspread/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hsyslog/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/html/1.0.1.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/http-attoparsec/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/http-conduit/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/http-date/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/http-types/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/httpd-shed/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hxt-charproperties/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hxt-regex-xmlschema/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hxt-unicode/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hxt/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/iCalendar/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/ieee754/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/indexed-free/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/indexed/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/instant-generics/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/io-choice/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/io-storage/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/io-streams/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/irc/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/iteratee/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/ivor/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/jack/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/jpeg/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/json-assertions/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/json/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/jsonTypes/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/lambdabot-utils/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/lambdabot/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/lambdabot/wrapper.nix5
-rw-r--r--pkgs/development/libraries/haskell/language-c-quote/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/language-c/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/language-haskell-extract/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/language-javascript/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/largeword/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/lazysmallcheck/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/libmpd/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/lifted-base/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/linear/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/list-tries/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/llvm-general-pure/3.3.8.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/llvm-general/3.3.8.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/logfloat/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/logict/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/mainland-pretty/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/math-functions/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/maude/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/mime-mail/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/mime-types/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/mime/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/mmap/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/monad-control/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/monad-loops/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/monad-par-extras/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/monad-par/0.1.0.3.nix2
-rw-r--r--pkgs/development/libraries/haskell/monad-par/0.3.4.6.nix1
-rw-r--r--pkgs/development/libraries/haskell/monad-peel/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/monadcryptorandom/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/monadlib/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/monadloc-pp/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/monads-tf/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/mongoDB/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/mpppc/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/mtl/1.1.0.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.0.1.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.1.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.1.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.2.0.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.2.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/mtlparse/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/multiarg/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/multiplate/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/multirec/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/multiset/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/murmur-hash/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/mwc-random/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/network-carbon/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/network-conduit/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/network-metrics/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/network-multicast/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/network-simple/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/network-transport/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/network/2.2.1.4.nix1
-rw-r--r--pkgs/development/libraries/haskell/network/2.2.1.7.nix1
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.0.13.nix1
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.0.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.0.5.nix1
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.1.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/network/2.4.1.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/network/2.5.0.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/non-negative/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/numbers/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/numeric-prelude/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/numtype/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/pandoc-types/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/pandoc/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/pango/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/parallel/1.1.0.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/parallel/2.2.0.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/parallel/3.1.0.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/parallel/3.2.0.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/parallel/3.2.0.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/parallel/3.2.0.4.nix1
-rw-r--r--pkgs/development/libraries/haskell/parseargs/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/parsec/2.1.0.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.2.nix2
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.3.nix2
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.5.nix1
-rw-r--r--pkgs/development/libraries/haskell/parsers/0.10.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/parsimony/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/path-pieces/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/pathtype/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/pcre-light/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/pem/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/permutation/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/persistent-postgresql/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/persistent-sqlite/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/persistent-template/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/persistent/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/pgm/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/pipes-aeson/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/pipes-attoparsec/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/pipes-bytestring/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/pipes-concurrency/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/pipes-network/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/pipes-parse/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/pipes-postgresql-simple/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/pipes-safe/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/pipes-zlib/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/pipes/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/polyparse/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/pool-conduit/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/poppler/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/postgresql-libpq/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/postgresql-simple/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/ppm/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/presburger/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/pretty-show/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/primitive/0.5.0.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/primitive/0.5.1.0.nix2
-rw-r--r--pkgs/development/libraries/haskell/primitive/0.5.2.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/primitive/0.5.3.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/process-extras/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/process/1.2.0.0.nix2
-rw-r--r--pkgs/development/libraries/haskell/profunctor-extras/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/prolog-graph-lib/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/prolog-graph/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/prolog/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/protocol-buffers/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/pure-cdb/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/pureMD5/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/purescript/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/pwstore-fast/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/quickcheck-assertions/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/quickcheck-instances/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/random-fu/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/random-shuffle/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/random-source/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/random/1.0.1.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/ranges/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/rank1dynamic/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/reactive-banana-wx/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/reactive-banana/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/recaptcha/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/regex-applicative/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix2
-rw-r--r--pkgs/development/libraries/haskell/regex-base/0.93.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/regex-base/0.93.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/0.92.nix2
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/0.93.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/0.95.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/regex-pcre/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix2
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.94.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.94.2.nix2
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.94.4.nix2
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.95.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.95.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/regex-tdfa/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/regexpr/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/regular/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/remote/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/repa-algorithms/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/repa-examples/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/repa-io/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/repa/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/repr/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/resource-pool/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/resourcet/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/rest-core/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/rest-gen/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/rest-stringmap/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/rest-types/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/rethinkdb/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/rvar/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/safe/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/scientific/0.2.0.2.nix3
-rw-r--r--pkgs/development/libraries/haskell/scientific/0.3.3.0.nix2
-rw-r--r--pkgs/development/libraries/haskell/semigroups/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/sendfile/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-css/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-i18n/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-js/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/shakespeare-text/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/shakespeare/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/shelly/0.15.4.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/shelly/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/show/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/simple-sendfile/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/skein/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/smallcheck/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/smtLib/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/snap/core.nix1
-rw-r--r--pkgs/development/libraries/haskell/snaplet-acid-state/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/socket-activation/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/socket-io/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/socks/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/sourcemap/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/split/0.1.4.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/split/0.2.1.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/split/0.2.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/srcloc/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/stateref/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/statistics/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/stb-image/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/stm/2.1.1.2.nix2
-rw-r--r--pkgs/development/libraries/haskell/stm/2.1.2.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/stm/2.2.0.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/stm/2.3.nix2
-rw-r--r--pkgs/development/libraries/haskell/stm/2.4.2.nix2
-rw-r--r--pkgs/development/libraries/haskell/stm/2.4.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/stm/2.4.nix2
-rw-r--r--pkgs/development/libraries/haskell/storable-complex/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/storable-record/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/streamproc/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/strict/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/strictConcurrency/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/string-combinators/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/stringbuilder/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/stringsearch/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/stripe/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/svgcairo/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.3.nix2
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.6.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.7.nix2
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.nix2
-rw-r--r--pkgs/development/libraries/haskell/syb/0.4.0.nix2
-rw-r--r--pkgs/development/libraries/haskell/syb/0.4.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/syb/syb-with-class-instances-text.nix1
-rw-r--r--pkgs/development/libraries/haskell/syb/syb-with-class.nix1
-rw-r--r--pkgs/development/libraries/haskell/symbol/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/system-fileio/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/system-filepath/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/tabular/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/tagged/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/tagsoup/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/tar/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/tasty-ant-xml/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/tasty-golden/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/tasty-hspec/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/tasty-hunit/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/tasty-quickcheck/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/tasty-rerun/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/tasty-smallcheck/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/tasty-th/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/tasty/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/tcache-AWS/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/temporary/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/terminfo/0.3.2.6.nix2
-rw-r--r--pkgs/development/libraries/haskell/terminfo/0.4.0.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/test-framework-hunit/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/test-framework-th/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/test-framework/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/texmath/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/text-icu/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.0.5.nix2
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.0.6.nix2
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.1.5.nix2
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.2.0.nix2
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.2.3.nix2
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.3.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/text/1.1.1.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/th-desugar/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/th-extras/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/th-lift/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/thespian/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/threadmanager/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/threepenny-gui/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/time/1.1.2.4.nix2
-rw-r--r--pkgs/development/libraries/haskell/time/1.4.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/timezone-olson/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/timezone-series/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/tls/1.1.5.nix2
-rw-r--r--pkgs/development/libraries/haskell/tls/1.2.8.nix1
-rw-r--r--pkgs/development/libraries/haskell/transformers-base/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/transformers-free/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/transformers/0.2.2.0.nix2
-rw-r--r--pkgs/development/libraries/haskell/transformers/0.3.0.0.nix2
-rw-r--r--pkgs/development/libraries/haskell/transformers/0.4.1.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/traverse-with-class/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/tuple/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/twitter-conduit/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/twitter-types/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/type-eq/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/type-equality/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/unbound/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/uniplate/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/uniqueid/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/unix-compat/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/unlambda/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/unordered-containers/0.2.3.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/unordered-containers/0.2.4.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/url/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/utf8-light/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/utility-ht/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/uu-parsinglib/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/uulib/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/vacuum-cairo/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/vacuum/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/vault/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/vcsgui/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/vector-algorithms/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/vector-space/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/vector/0.10.0.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/vector/0.10.11.0.nix1
-rw-r--r--pkgs/development/libraries/haskell/vector/0.10.9.3.nix2
-rw-r--r--pkgs/development/libraries/haskell/void/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/vty/4.7.5.nix2
-rw-r--r--pkgs/development/libraries/haskell/vty/5.1.4.nix1
-rw-r--r--pkgs/development/libraries/haskell/wai-app-static/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/wai-extra/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/wai-logger/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/wai/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/warp/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/web-routes-boomerang/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/web-routes/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/webkit/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/websockets-snap/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/websockets/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/wl-pprint-text/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/wreq/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix1
-rw-r--r--pkgs/development/libraries/haskell/xdot/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/xhtml/3000.2.0.4.nix2
-rw-r--r--pkgs/development/libraries/haskell/xhtml/3000.2.0.5.nix2
-rw-r--r--pkgs/development/libraries/haskell/xhtml/3000.2.1.nix1
-rw-r--r--pkgs/development/libraries/haskell/xml-conduit-writer/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/xml-conduit/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/xml-types/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/xml/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/xournal-parser/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/xournal-types/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/xss-sanitize/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/yaml-light/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/yaml/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/yap/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/yesod-auth/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/yesod-core/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/yesod-default/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/yesod-form/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/yesod-json/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/yesod-persistent/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/yesod-routes/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/yesod-static/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/yesod-test/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/yst/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/zeromq-haskell/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/zip-archive/0.2.2.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/zip-archive/0.2.3.4.nix (renamed from pkgs/development/libraries/haskell/zip-archive/0.2.3.2.nix)5
-rw-r--r--pkgs/development/libraries/haskell/zipper/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/zlib-bindings/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/zlib-conduit/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/zlib-enum/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.0.0.nix2
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.2.0.nix2
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.3.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.3.3.nix2
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.4.0.nix2
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.4.1.nix1
-rw-r--r--pkgs/development/libraries/ibus/default.nix5
-rw-r--r--pkgs/development/libraries/java/junit/default.nix39
-rw-r--r--pkgs/development/libraries/libav/default.nix2
-rw-r--r--pkgs/development/libraries/libcdr/default.nix10
-rw-r--r--pkgs/development/libraries/libmwaw/default.nix7
-rw-r--r--pkgs/development/libraries/libnm-qt/default.nix2
-rw-r--r--pkgs/development/libraries/libpar2/default.nix10
-rw-r--r--pkgs/development/libraries/libpar2/libpar2-0.4-external-verification.patch16
-rw-r--r--pkgs/development/libraries/libtiff/default.nix6
-rw-r--r--pkgs/development/libraries/libvisio/default.nix12
-rw-r--r--pkgs/development/libraries/libwpd/default.nix8
-rw-r--r--pkgs/development/libraries/libwpg/default.nix8
-rw-r--r--pkgs/development/libraries/mesa-darwin/default.nix62
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch147
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch33
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch28
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch29
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch28
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch40
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch30
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch55
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch69
-rw-r--r--pkgs/development/libraries/mesa-darwin/patches/patch-src-mapi-vgapi-Makefile.diff11
-rw-r--r--pkgs/development/libraries/openssl/default.nix7
-rw-r--r--pkgs/development/libraries/science/math/arpack/default.nix4
-rw-r--r--pkgs/development/libraries/thrift/default.nix2
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix4
-rw-r--r--pkgs/development/libraries/wxGTK-3.0/default.nix4
-rw-r--r--pkgs/development/libraries/xylib/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/pcre/default.nix6
-rw-r--r--pkgs/development/pharo/vm/default.nix23
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix51
-rw-r--r--pkgs/development/python-modules/sip/4.16.nix26
-rwxr-xr-xpkgs/development/tools/build-managers/cmake/setup-hook.sh2
-rw-r--r--pkgs/development/tools/build-managers/rebar/default.nix4
-rw-r--r--pkgs/development/tools/documentation/haddock/2.12.0.nix1
-rw-r--r--pkgs/development/tools/documentation/haddock/2.14.3.nix1
-rw-r--r--pkgs/development/tools/documentation/haddock/2.4.2.nix1
-rw-r--r--pkgs/development/tools/documentation/haddock/2.9.4.nix1
-rw-r--r--pkgs/development/tools/haskell/HaRe/default.nix36
-rw-r--r--pkgs/development/tools/haskell/PastePipe/default.nix19
-rw-r--r--pkgs/development/tools/haskell/SourceGraph/default.nix22
-rw-r--r--pkgs/development/tools/haskell/cabal-bounds/default.nix5
-rw-r--r--pkgs/development/tools/haskell/cabal-delete/default.nix2
-rw-r--r--pkgs/development/tools/haskell/cabal-ghci/default.nix1
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/default.nix9
-rw-r--r--pkgs/development/tools/haskell/happy-meta/default.nix3
-rw-r--r--pkgs/development/tools/haskell/haskdogs/default.nix1
-rw-r--r--pkgs/development/tools/haskell/haskell-docs/default.nix24
-rw-r--r--pkgs/development/tools/haskell/hlint/default.nix1
-rw-r--r--pkgs/development/tools/haskell/hp2any-manager/default.nix1
-rw-r--r--pkgs/development/tools/haskell/hscolour/default.nix1
-rw-r--r--pkgs/development/tools/haskell/hscope/default.nix24
-rw-r--r--pkgs/development/tools/haskell/hslogger/default.nix1
-rw-r--r--pkgs/development/tools/haskell/pointfree/default.nix19
-rw-r--r--pkgs/development/tools/haskell/pointful/default.nix18
-rw-r--r--pkgs/development/tools/haskell/threadscope/default.nix3
-rw-r--r--pkgs/development/tools/haskell/uuagc/bootstrap.nix1
-rw-r--r--pkgs/development/tools/haskell/uuagc/cabal.nix1
-rw-r--r--pkgs/development/tools/haskell/uuagc/default.nix1
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix10
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix1
-rw-r--r--pkgs/development/tools/misc/cpphs/default.nix1
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix1
-rw-r--r--pkgs/development/tools/misc/dfu-programmer/default.nix13
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix35
-rw-r--r--pkgs/development/tools/parsing/Ebnf2ps/default.nix1
-rw-r--r--pkgs/development/tools/parsing/alex/3.0.1.nix1
-rw-r--r--pkgs/development/tools/parsing/alex/3.0.2.nix1
-rw-r--r--pkgs/development/tools/parsing/alex/3.1.3.nix1
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.10.nix2
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.4.nix2
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.5.nix2
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.6.nix2
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.9.nix2
-rw-r--r--pkgs/development/tools/parsing/happy/1.19.4.nix1
-rw-r--r--pkgs/development/tools/watchman/default.nix1
-rw-r--r--pkgs/development/web/remarkjs/default.nix4
-rw-r--r--pkgs/games/Allure/default.nix19
-rw-r--r--pkgs/games/LambdaHack/default.nix16
-rw-r--r--pkgs/misc/emulators/mednafen/default.nix9
-rw-r--r--pkgs/misc/screensavers/xscreensaver/default.nix2
-rw-r--r--pkgs/os-specific/linux/bluez/bluez5.nix4
-rw-r--r--pkgs/os-specific/linux/checkpolicy/default.nix10
-rw-r--r--pkgs/os-specific/linux/criu/default.nix10
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.15.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.16.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.2.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.4.nix4
-rw-r--r--pkgs/os-specific/linux/ldm/default.nix8
-rw-r--r--pkgs/os-specific/linux/libselinux/default.nix4
-rw-r--r--pkgs/os-specific/linux/libsemanage/default.nix4
-rw-r--r--pkgs/os-specific/linux/libsepol/default.nix6
-rw-r--r--pkgs/os-specific/linux/policycoreutils/default.nix4
-rw-r--r--pkgs/os-specific/linux/powertop/default.nix6
-rw-r--r--pkgs/os-specific/linux/setools/default.nix4
-rw-r--r--pkgs/os-specific/linux/setools/ftbfs-invalid-operands-of-types.patch15
-rw-r--r--pkgs/os-specific/linux/sysdig/default.nix4
-rw-r--r--pkgs/os-specific/linux/systemd/fixes.patch2476
-rw-r--r--pkgs/servers/consul/default.nix33
-rw-r--r--pkgs/servers/consul/deps.nix239
-rw-r--r--pkgs/servers/consul/ui.nix17
-rw-r--r--pkgs/servers/misc/taskserver/default.nix22
-rw-r--r--pkgs/servers/sql/virtuoso/7.x.nix5
-rw-r--r--pkgs/servers/x11/quartz-wm/default.nix27
-rw-r--r--pkgs/servers/x11/quartz-wm/extern-patch.patch13
-rw-r--r--pkgs/servers/x11/quartz-wm/no_title_crash.patch25
-rw-r--r--pkgs/servers/x11/xorg/darwin/0001-XQuartz-Ensure-we-wait-for-the-server-thread-to-term.patch33
-rw-r--r--pkgs/servers/x11/xorg/darwin/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch40
-rw-r--r--pkgs/servers/x11/xorg/darwin/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch165
-rw-r--r--pkgs/servers/x11/xorg/darwin/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch316
-rw-r--r--pkgs/servers/x11/xorg/darwin/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch230
-rw-r--r--pkgs/servers/x11/xorg/darwin/5004-Use-old-miTrapezoids-and-miTriangles-routines.patch297
-rw-r--r--pkgs/servers/x11/xorg/darwin/bundle_main.patch118
-rw-r--r--pkgs/servers/x11/xorg/darwin/dri/GL/internal/dri_interface.h1409
-rw-r--r--pkgs/servers/x11/xorg/darwin/function-pointer-test.patch46
-rw-r--r--pkgs/servers/x11/xorg/darwin/private-extern.patch12
-rw-r--r--pkgs/servers/x11/xorg/darwin/stub.patch80
-rw-r--r--pkgs/servers/x11/xorg/default.nix866
-rwxr-xr-xpkgs/servers/x11/xorg/generate-expr-from-tarballs.pl9
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix124
-rwxr-xr-xpkgs/servers/x11/xquartz/X1120
-rw-r--r--pkgs/servers/x11/xquartz/default.nix187
-rwxr-xr-xpkgs/servers/x11/xquartz/font_cache240
-rw-r--r--pkgs/servers/x11/xquartz/org.nixos.xquartz.privileged_startx.plist23
-rw-r--r--pkgs/servers/x11/xquartz/org.nixos.xquartz.startx.plist27
-rw-r--r--pkgs/servers/x11/xquartz/patch_plist.rb47
-rwxr-xr-xpkgs/servers/x11/xquartz/privileged43
-rwxr-xr-xpkgs/servers/x11/xquartz/startx232
-rw-r--r--pkgs/servers/x11/xquartz/system-fonts.nix36
-rwxr-xr-xpkgs/servers/x11/xquartz/xinitrc40
-rw-r--r--pkgs/stdenv/generic/default.nix28
-rw-r--r--pkgs/tools/backup/obnam/default.nix4
-rw-r--r--pkgs/tools/compression/kzipmix/default.nix25
-rw-r--r--pkgs/tools/compression/xz/default.nix3
-rw-r--r--pkgs/tools/graphics/barcode/default.nix3
-rw-r--r--pkgs/tools/graphics/dcraw/default.nix2
-rw-r--r--pkgs/tools/graphics/enblend-enfuse/default.nix27
-rw-r--r--pkgs/tools/graphics/glmark2/default.nix36
-rw-r--r--pkgs/tools/graphics/gnuplot/default.nix33
-rw-r--r--pkgs/tools/graphics/pngout/default.nix33
-rw-r--r--pkgs/tools/misc/file/default.nix1
-rw-r--r--pkgs/tools/misc/plowshare/default.nix13
-rw-r--r--pkgs/tools/misc/sl/default.nix6
-rw-r--r--pkgs/tools/misc/sutils/default.nix20
-rw-r--r--pkgs/tools/misc/xdo/default.nix22
-rw-r--r--pkgs/tools/misc/xtitle/default.nix23
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/networking/atftp/default.nix12
-rw-r--r--pkgs/tools/networking/chrony/default.nix2
-rw-r--r--pkgs/tools/networking/dhcp/default.nix22
-rw-r--r--pkgs/tools/networking/isync/default.nix6
-rw-r--r--pkgs/tools/networking/nzbget/default.nix4
-rw-r--r--pkgs/tools/networking/ucspi-tcp/default.nix85
-rw-r--r--pkgs/tools/package-management/cabal-install/0.10.2.nix5
-rw-r--r--pkgs/tools/package-management/cabal-install/0.6.2.nix5
-rw-r--r--pkgs/tools/package-management/cabal-install/0.8.0.nix5
-rw-r--r--pkgs/tools/package-management/cabal-install/0.8.2.nix5
-rw-r--r--pkgs/tools/package-management/nox/default.nix2
-rw-r--r--pkgs/tools/security/muscleframework/default.nix3
-rw-r--r--pkgs/tools/security/muscletool/default.nix3
-rw-r--r--pkgs/tools/security/tboot/default.nix33
-rw-r--r--pkgs/tools/security/tboot/tboot-add-well-known-secret-option-to-lcp_writepol.patch50
-rw-r--r--pkgs/tools/security/tpm-quote-tools/default.nix22
-rw-r--r--pkgs/tools/security/tpm-tools/default.nix26
-rw-r--r--pkgs/tools/security/trousers/allow-non-tss-config-file-owner.patch19
-rw-r--r--pkgs/tools/security/trousers/default.nix33
-rw-r--r--pkgs/tools/security/trousers/disable-install-rule.patch27
-rw-r--r--pkgs/tools/security/trousers/double-installed-man-page.patch32
-rw-r--r--pkgs/tools/system/acct/default.nix2
-rw-r--r--pkgs/tools/system/ddrescue/default.nix12
-rw-r--r--pkgs/tools/system/plan9port/builder.sh7
-rw-r--r--pkgs/tools/system/plan9port/default.nix20
-rw-r--r--pkgs/tools/system/sizes/default.nix4
-rw-r--r--pkgs/tools/system/tree/default.nix2
-rw-r--r--pkgs/tools/text/kdiff3/default.nix4
-rw-r--r--pkgs/tools/typesetting/pdfgrep/default.nix32
-rw-r--r--pkgs/top-level/all-packages.nix188
-rw-r--r--pkgs/top-level/haskell-defaults.nix5
-rw-r--r--pkgs/top-level/haskell-packages.nix56
-rw-r--r--pkgs/top-level/python-packages.nix83
-rw-r--r--pkgs/top-level/release-small.nix10
-rw-r--r--pkgs/top-level/release.nix68
1093 files changed, 10752 insertions, 2364 deletions
diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix
index 82f24b05f7299..604c35f46ce97 100644
--- a/pkgs/applications/audio/clementine/default.nix
+++ b/pkgs/applications/audio/clementine/default.nix
@@ -6,11 +6,11 @@
 let withSpotify = config.clementine.spotify or false;
 in
 stdenv.mkDerivation {
-  name = "clementine-1.2.1";
+  name = "clementine-1.2.3";
 
   src = fetchurl {
-    url = http://clementine-player.googlecode.com/files/clementine-1.2.1.tar.gz;
-    sha256 = "0kk5cjmb8nirx0im3c0z91af2k72zxi6lwzm6rb57qihya5nwmfv";
+    url = https://github.com/clementine-player/Clementine/archive/1.2.3.tar.gz;
+    sha256 = "1gx1109i4pylz6x7gvp4rdzc6dvh0w6in6hfbygw01d08l26bxbx";
   };
 
   patches = [ ./clementine-1.2.1-include-paths.patch ];
@@ -40,6 +40,8 @@ stdenv.mkDerivation {
     usbmuxd
   ] ++ stdenv.lib.optional withSpotify libspotify;
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = "http://www.clementine-player.org";
     description = "A multiplatform music player";
@@ -47,6 +49,6 @@ stdenv.mkDerivation {
     platforms = platforms.linux;
     maintainers = [ maintainers.ttuegel ];
     # libspotify is unfree
-    hydraPlatforms = optional (!withSpotify) platforms.linux;
+    hydraPlatforms = optionals (!withSpotify) platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/lastwatch/default.nix b/pkgs/applications/audio/lastwatch/default.nix
index c09d397eefa38..2cffb0ebacf4a 100644
--- a/pkgs/applications/audio/lastwatch/default.nix
+++ b/pkgs/applications/audio/lastwatch/default.nix
@@ -23,5 +23,6 @@ pythonPackages.buildPythonPackage rec {
     homepage = "https://github.com/aszlig/LastWatch";
     description = "An inotify-based last.fm audio scrobbler";
     license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/mopidy-moped/default.nix b/pkgs/applications/audio/mopidy-moped/default.nix
index 8e3489a912233..c50a1798b47f4 100644
--- a/pkgs/applications/audio/mopidy-moped/default.nix
+++ b/pkgs/applications/audio/mopidy-moped/default.nix
@@ -3,11 +3,11 @@
 pythonPackages.buildPythonPackage rec {
   name = "mopidy-moped-${version}";
 
-  version = "0.3.1";
+  version = "0.3.3";
 
   src = fetchurl {
     url = "https://github.com/martijnboland/moped/archive/v${version}.tar.gz";
-    sha256 = "0sjp8vr4yfyjx233gamhg0p67zjnlpc9yq3szbw897igsh23j2yr";
+    sha256 = "19f3asqx7wmla53nhrxzdwj6qlkjv2rcwh34jxp27bz7nkhn0ihv";
   };
 
   propagatedBuildInputs = [ mopidy ];
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index 10c7c1751ff8b..bbdd1f05fde5f 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -5,11 +5,11 @@
 pythonPackages.buildPythonPackage rec {
   name = "mopidy-${version}";
 
-  version = "0.19.0";
+  version = "0.19.3";
 
   src = fetchurl {
     url = "https://github.com/mopidy/mopidy/archive/v${version}.tar.gz";
-    sha256 = "10cnc1bipr0brk7478201cgm71lp5bci3qiaadyxv9hhcn0nmn9b";
+    sha256 = "0rjq69vqak1d6fhvih259wmwp50xgr6x0x5nd0hl6hlkbbysc8dp";
   };
 
   propagatedBuildInputs = with pythonPackages; [
diff --git a/pkgs/applications/editors/emacs-24/darwin-new-sections.patch b/pkgs/applications/editors/emacs-24/darwin-new-sections.patch
new file mode 100644
index 0000000000000..dfd72fe3f5116
--- /dev/null
+++ b/pkgs/applications/editors/emacs-24/darwin-new-sections.patch
@@ -0,0 +1,50 @@
+http://bazaar.launchpad.net/~naesten/emacs/nextstep-stuff/revision/108961
+
+diff -ru emacs-24.3-orig/src/unexmacosx.c emacs-24.3/src/unexmacosx.c
+--- emacs-24.3-orig/src/unexmacosx.c	2013-01-01 21:37:17.000000000 +0100
++++ emacs-24.3/src/unexmacosx.c	2014-08-09 18:39:52.000000000 +0200
+@@ -838,7 +838,7 @@
+ 	  if (!(sectp->addr <= (unsigned long)my_edata
+ 		&& my_size <= sectp->size))
+ 	    unexec_error ("my_edata is not in section %s", SECT_DATA);
+-	  if (!unexec_write (sectp->offset, (void *) sectp->addr, my_size))
++          if (!unexec_write (sectp->offset, (void *) sectp->addr, sectp->size))
+ 	    unexec_error ("cannot write section %s", SECT_DATA);
+ 	  if (!unexec_copy (sectp->offset + my_size, old_file_offset + my_size,
+ 			    sectp->size - my_size))
+@@ -880,6 +880,27 @@
+ 	  if (!unexec_write (header_offset, sectp, sizeof (struct section)))
+ 	    unexec_error ("cannot write section %.16s's header", sectp->sectname);
+ 	}
++      else if (strncmp (sectp->sectname, "__bss", 5) == 0
++	       || strncmp (sectp->sectname, "__pu_bss", 8) == 0)
++	{
++	  sectp->flags = S_REGULAR;
++	  
++	  /* These sections are produced by GCC 4.6+.
++
++	     FIXME: We possibly ought to clear uninitialized local
++	     variables in statically linked libraries like for
++	     SECT_BSS (__bss) above, but setting up the markers we
++	     need in lastfile.c would be rather messy.  See
++	     darwin_output_aligned_bss () in gcc/config/darwin.c for
++	     the root of the problem, keeping in mind that the
++	     sections are numbered by their alignment in GCC 4.6, but
++	     by log2(alignment) in GCC 4.7.  */
++
++	  if (!unexec_write (sectp->offset, (void *) sectp->addr, sectp->size))
++	    unexec_error ("cannot copy section %.16s", sectp->sectname);
++	  if (!unexec_write (header_offset, sectp, sizeof (struct section)))
++	    unexec_error ("cannot write section %.16s's header", sectp->sectname);
++	}
+       else if (strncmp (sectp->sectname, "__la_symbol_ptr", 16) == 0
+ 	       || strncmp (sectp->sectname, "__nl_symbol_ptr", 16) == 0
+ 	       || strncmp (sectp->sectname, "__got", 16) == 0
+@@ -891,6 +912,7 @@
+ 	       || strncmp (sectp->sectname, "__program_vars", 16) == 0
+ 	       || strncmp (sectp->sectname, "__mod_init_func", 16) == 0
+ 	       || strncmp (sectp->sectname, "__mod_term_func", 16) == 0
++	       || strncmp (sectp->sectname, "__static_data", 16) == 0
+ 	       || strncmp (sectp->sectname, "__objc_", 7) == 0)
+ 	{
+ 	  if (!unexec_copy (sectp->offset, old_file_offset, sectp->size))
diff --git a/pkgs/applications/editors/emacs-24/default.nix b/pkgs/applications/editors/emacs-24/default.nix
index 6ecee37d21e12..329fa3a5626e6 100644
--- a/pkgs/applications/editors/emacs-24/default.nix
+++ b/pkgs/applications/editors/emacs-24/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, ncurses, x11, libXaw, libXpm, Xaw3d
 , pkgconfig, gtk, libXft, dbus, libpng, libjpeg, libungif
-, libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, gnutls
+, libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, openssl
 , alsaLib, cairo
 , withX ? !stdenv.isDarwin, withGTK ? true
 }:
@@ -18,13 +18,15 @@ stdenv.mkDerivation rec {
     sha256 = "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh";
   };
 
+  patches = [ ./darwin-new-sections.patch ];
+
   buildInputs =
-    [ ncurses gconf libxml2 gnutls alsaLib pkgconfig texinfo ]
+    [ ncurses gconf libxml2 openssl alsaLib pkgconfig texinfo ]
     ++ stdenv.lib.optional stdenv.isLinux dbus
     ++ stdenv.lib.optionals withX
       [ x11 libXaw Xaw3d libXpm libpng libjpeg libungif libtiff librsvg libXft
-        imagemagick gtk ]
-    ++ stdenv.lib.optional stdenv.isDarwin cairo;
+        imagemagick gtk gconf ]
+    ++ stdenv.lib.optional (stdenv.isDarwin && withX) cairo;
 
   configureFlags =
     ( if withX && withGTK then
diff --git a/pkgs/applications/editors/emacs-24/macport.nix b/pkgs/applications/editors/emacs-24/macport.nix
index 4c599916d9478..d9b32351040b7 100644
--- a/pkgs/applications/editors/emacs-24/macport.nix
+++ b/pkgs/applications/editors/emacs-24/macport.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
     sha256 = "194y341zrpjp75mc3099kjc0inr1d379wwsnav257bwsc967h8yx";
   };
 
+  patches = [ ./darwin-new-sections.patch ];
+
   buildInputs = [ ncurses pkgconfig texinfo libxml2 gnutls ];
 
   postUnpack = ''
@@ -53,16 +55,13 @@ stdenv.mkDerivation rec {
   postInstall = ''
     cat >$out/share/emacs/site-lisp/site-start.el <<EOF
     ;; nixos specific load-path
-    (when (getenv "NIX_PROFILES")
-      (setq load-path
-            (append (reverse
-                     (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
+    (when (getenv "NIX_PROFILES") (setq load-path
+                          (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
                              (split-string (getenv "NIX_PROFILES"))))
                     load-path)))
 
     ;; make tramp work for NixOS machines
-    (eval-after-load 'tramp
-      '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
+    (eval-after-load 'tramp '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
     EOF
   '';
 
diff --git a/pkgs/applications/editors/idea/pycharm.nix b/pkgs/applications/editors/idea/pycharm.nix
index d283686765ed9..6a2064549bbcf 100644
--- a/pkgs/applications/editors/idea/pycharm.nix
+++ b/pkgs/applications/editors/idea/pycharm.nix
@@ -16,6 +16,7 @@ let
       desktopName = "PyCharm";
       genericName = "Powerful Python and Django IDE";
       categories = "Application;Development;";
+      icon = "pycharm";
     };
 
     buildInputs = [ makeWrapper patchelf p7zip ];
@@ -39,8 +40,9 @@ let
     '';
 
     installPhase = ''
-      mkdir -vp "$out/bin" "$out/$name"
+      mkdir -vp "$out/bin" "$out/$name" "$out/share/pixmaps"
       cp -va . "$out/$name"
+      ln -s "$out/$name/bin/pycharm.png" "$out/share/pixmaps/"
 
       jdk="${jdk}/lib/openjdk"
       makeWrapper "$out/$name/bin/pycharm.sh" "$out/bin/pycharm" \
@@ -52,12 +54,12 @@ let
       cp -a "${desktopItem}"/* "$out"
     '';
 
-    meta = {
+    meta = with stdenv.lib; {
       homepage = "https://www.jetbrains.com/pycharm/";
       inherit description;
       inherit license;
-      maintainers = [ stdenv.lib.maintainers.jgeerds ];
-      platforms = stdenv.lib.platforms.linux;
+      maintainers = [ maintainers.jgeerds ];
+      platforms = platforms.linux;
     };
   };
 
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index c347a038ac9a3..caea8758d9585 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -2,17 +2,19 @@
 
 stdenv.mkDerivation (rec {
   pname = "nano";
-  version = "2.3.2";
+  version = "2.3.6";
 
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${name}.tar.gz";
-    sha256 = "1s3b21h5p7r8xafw0gahswj16ai6k2vnjhmd15b491hl0x494c7z";
+    sha256 = "a74bf3f18b12c1c777ae737c0e463152439e381aba8720b4bc67449f36a09534";
   };
 
   buildInputs = [ ncurses gettext ];
 
+  configureFlags = "sysconfdir=/etc";
+
   meta = {
     homepage = http://www.nano-editor.org/;
     description = "A small, user-friendly console text editor";
diff --git a/pkgs/applications/editors/yi/yi-contrib.nix b/pkgs/applications/editors/yi/yi-contrib.nix
index 14231e03582e8..59b6992a3692e 100644
--- a/pkgs/applications/editors/yi/yi-contrib.nix
+++ b/pkgs/applications/editors/yi/yi-contrib.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yi-contrib";
-  version = "0.8.1";
-  sha256 = "0jsbga30x302mr708vj5y7cpc961vh85dshpq2zlrf44dh0kmpvf";
+  version = "0.8.2";
+  sha256 = "17rbgrra1ghlywiraadf16n7igxp1k8jqqmb0iw8sc15y7825qqm";
   buildDepends = [
     filepath lens mtl split time transformersBase yi
   ];
@@ -14,5 +14,6 @@ cabal.mkDerivation (self: {
     description = "Add-ons to Yi, the Haskell-Scriptable Editor";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
   };
 })
diff --git a/pkgs/applications/editors/yi/yi.nix b/pkgs/applications/editors/yi/yi.nix
index e689bdff4f692..ae5e9a83452f1 100644
--- a/pkgs/applications/editors/yi/yi.nix
+++ b/pkgs/applications/editors/yi/yi.nix
@@ -15,8 +15,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yi";
-  version = "0.8.1";
-  sha256 = "1hyqlydc0na9pkb3fkbp13c6vnp4f80z8237bvrv12wkk5syyn23";
+  version = "0.8.2";
+  sha256 = "18rnyswsdzkh0jdcqfg8pr90mpm6xf11siv598svqkxg12d2qql9";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/applications/graphics/hoodle/default.nix b/pkgs/applications/graphics/hoodle/default.nix
index 8223b2c5ad90b..79966a2698fc1 100644
--- a/pkgs/applications/graphics/hoodle/default.nix
+++ b/pkgs/applications/graphics/hoodle/default.nix
@@ -16,6 +16,6 @@ cabal.mkDerivation (self: {
     description = "Executable for hoodle";
     license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/applications/graphics/hugin/default.nix b/pkgs/applications/graphics/hugin/default.nix
index 7972efe429a1f..88912cbda55dc 100644
--- a/pkgs/applications/graphics/hugin/default.nix
+++ b/pkgs/applications/graphics/hugin/default.nix
@@ -1,25 +1,37 @@
-{stdenv, fetchurl, panotools, cmake, wxGTK, libtiff, libpng, openexr, boost
-, pkgconfig, exiv2, gettext, ilmbase, enblendenfuse, autopanosiftc, mesa
-, freeglut, glew, libXmu, libXi, tclap }:
+{ stdenv, cmake, fetchurl, gnumake, pkgconfig
+, boost, gettext, tclap, wxGTK
+, freeglut, glew, libXi, libXmu, mesa
+, autopanosiftc, enblendenfuse, exiv2, ilmbase, lensfun, libpng, libtiff
+, openexr, panotools, perlPackages
+}:
 
 stdenv.mkDerivation rec {
-  name = "hugin-2011.4.0";
+  name = "hugin-2013.0.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/hugin/${name}.tar.bz2";
-    sha256 = "1bnxljgqxzfdz14l7y29wzi52x1a38mghsjavnr28fr4vfmqwjrf";
+    sha256 = "1mgbvg09xvf0zcm9jfv5lb65nd292l86ffa23yp4pzm6izaiwkj8";
   };
 
   NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
 
-#NIX_LDFLAGS = "-lrt";
+  buildInputs = [ boost gettext tclap wxGTK
+                  freeglut glew libXi libXmu mesa
+                  exiv2 ilmbase lensfun libtiff libpng openexr panotools
+                ];
 
-  buildInputs = [ panotools wxGTK libtiff libpng openexr boost tclap
-    exiv2 gettext ilmbase mesa freeglut glew libXmu libXi ];
+  # disable installation of the python scripting interface
+  cmakeFlags = [ "-DBUILD_HSI:BOOl=OFF" ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
-  propagatedUserEnvPackages = [ enblendenfuse autopanosiftc ];
+  enableParallelBuilding = true;
+
+  # commandline tools needed by the hugin batch processor
+  # you may have to tell hugin (in the preferences) where these binaries reside
+  propagatedUserEnvPackages = [ autopanosiftc enblendenfuse gnumake
+                                perlPackages.ImageExifTool
+                              ];
 
   postInstall = ''
     mkdir -p "$out/nix-support"
@@ -32,6 +44,5 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
-    broken = true;
   };
 }
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index bc55b0ff6800f..38ceefa452302 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -39,7 +39,8 @@ stdenv.mkDerivation rec {
     for i in "$out/bin/"*
     do
       wrapProgram "$i" --prefix PYTHONPATH :      \
-       "$(toPythonPath ${pyxml}):$(toPythonPath ${lxml})" ||  \
+       "$(toPythonPath ${pyxml}):$(toPythonPath ${lxml})"  \
+       --prefix PATH : ${python}/bin ||  \
         exit 2
     done
     rm $out/share/icons/hicolor/icon-theme.cache
diff --git a/pkgs/applications/graphics/kipi-plugins/default.nix b/pkgs/applications/graphics/kipi-plugins/default.nix
index 61a8380b1c585..6a38698370d88 100644
--- a/pkgs/applications/graphics/kipi-plugins/default.nix
+++ b/pkgs/applications/graphics/kipi-plugins/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.kipi-plugins.org;
     inherit (kdelibs.meta) platforms;
     maintainers = with stdenv.lib.maintainers; [ viric urkud ];
+    broken = true; # it should be build from digikam sources, perhaps together
   };
 }
diff --git a/pkgs/applications/graphics/luminance-hdr/default.nix b/pkgs/applications/graphics/luminance-hdr/default.nix
new file mode 100644
index 0000000000000..7558b0aef4b6c
--- /dev/null
+++ b/pkgs/applications/graphics/luminance-hdr/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, cmake, fetchurl, pkgconfig, qt5, boost, exiv2, fftwFloat, gsl
+, ilmbase, lcms2, libraw, libtiff, openexr
+}:
+
+stdenv.mkDerivation rec {
+  name = "luminance-hdr-2.4.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/qtpfsgui/${name}.tar.bz2";
+    sha256 = "00fldbcizrx8jcnjgq74n3zmbm27dxzl96fxa7q49689mfnlw08l";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
+
+  buildInputs = [ qt5 boost exiv2 fftwFloat gsl ilmbase lcms2 libraw libtiff openexr ];
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  meta = with stdenv.lib; {
+    homepage = http://qtpfsgui.sourceforge.net/;
+    description = "A complete open source solution for HDR photography";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.hrdinka ];
+  };
+}
diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix
index f63f41a8ed105..d0a1fb38e0c32 100644
--- a/pkgs/applications/graphics/openimageio/default.nix
+++ b/pkgs/applications/graphics/openimageio/default.nix
@@ -4,26 +4,26 @@
 
 stdenv.mkDerivation rec {
   name = "oiio-${version}";
-  version = "1.3.12";
+  version = "1.4";
 
   src = fetchurl {
-    url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip";
-    sha256 = "114jx4pcqhzdchzpxbwrfzqmnxr2bm8cw13g4akz1hg8pvr1dhsb";
+    url = "https://github.com/OpenImageIO/oiio/archive/RB-${version}.zip";
+    sha256 = "0ldj3hwpz363l1zyzf6c62wc5d2cpbiszlpjvv5w6rrsx2ddbbn1";
   };
 
   buildInputs = [
     boost cmake ilmbase libjpeg libpng libtiff opencolorio openexr unzip
   ];
 
-  configurePhase = "";
+  cmakeFlags = [
+    "-DUSE_PYTHON=OFF"
+  ];
 
   buildPhase = ''
     make ILMBASE_HOME=${ilmbase} OPENEXR_HOME=${openexr} USE_PYTHON=0 \
       INSTALLDIR=$out dist_dir=
   '';
 
-  installPhase = ":";
-
   meta = with stdenv.lib; {
     homepage = http://www.openimageio.org;
     description = "A library and tools for reading and writing images";
diff --git a/pkgs/applications/misc/bitcoin/default.nix b/pkgs/applications/misc/bitcoin/default.nix
index 1a25a233c0ded..e38d427be8d5e 100644
--- a/pkgs/applications/misc/bitcoin/default.nix
+++ b/pkgs/applications/misc/bitcoin/default.nix
@@ -2,12 +2,12 @@
 , pkgconfig, protobuf, qrencode }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.1";
+  version = "0.9.2.1";
   name = "bitcoin-${version}";
 
   src = fetchurl {
     url = "https://bitcoin.org/bin/${version}/${name}-linux.tar.gz";
-    sha256 = "3fabc1c629007b465a278525883663d41a2ba62699f2773536a8bf59ca210425";
+    sha256 = "0060f7d38b98113ab912d4c184000291d7f026eaf77ca5830deec15059678f54";
   };
 
   # hexdump from utillinux is required for tests
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 79f91a1df4189..24a3fcd4cea93 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -29,13 +29,6 @@ stdenv.mkDerivation rec {
       substituteInPlace */doc/manpage/blender.1.py --replace /usr/bin/python ${python}/bin/python3
     '';
 
-  patches = [(fetchpatch { # fix parallel builds
-    url = "https://developer.blender.org/D619?download=true";
-    sha256 = "18h4fqsbpwxzqz7qby18lrrbzqnyd5xnann3xcac5wddwv5wjb0f";
-    name = "D619.diff";
-  })];
-  patchFlags = "-p0";
-
   cmakeFlags =
     [ "-DOPENEXR_INC=${openexr}/include/OpenEXR"
       "-DWITH_OPENCOLLADA=OFF"
diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix
index 1b61d75ddf2e2..039b4ac688bfc 100644
--- a/pkgs/applications/misc/dunst/default.nix
+++ b/pkgs/applications/misc/dunst/default.nix
@@ -1,18 +1,15 @@
-{ stdenv, fetchgit, coreutils , unzip, which, pkgconfig , dbus
+{ stdenv, fetchurl, coreutils , unzip, which, pkgconfig , dbus
 , freetype, xdg_utils , libXext, glib, pango , cairo, libX11, libnotify
 , libxdg_basedir , libXScrnSaver, xproto, libXinerama , perl, gdk_pixbuf
 }:
 
 stdenv.mkDerivation rec {
-  rev = "6a3a855b48a3db64821d1cf8a91c5ee2815a2b2d";
-  name = "dunst-0-${stdenv.lib.strings.substring 0 7 rev}";
+  name = "dunst-1.1.0";
+  version = "1.1.0";
 
-  # 1.0.0 release doesn't include 100% CPU fix
-  # https://github.com/knopwob/dunst/issues/98
-  src = fetchgit {
-    inherit rev;
-    url = "https://github.com/knopwob/dunst.git";
-    sha256 = "0m7yki16d72xm9n2m2fjszd8phqpn5b95q894cz75pmd0sv1j6bj";
+  src = fetchurl {
+    url = "https://github.com/knopwob/dunst/archive/v${version}.tar.gz";
+    sha256 = "0x95f57s0a96c4lifxdpf73v706iggwmdw8742mabbjnxq55l1qs";
   };
 
   patchPhase = ''
@@ -26,7 +23,7 @@ stdenv.mkDerivation rec {
     libXScrnSaver xproto libXinerama perl];
 
   buildPhase = ''
-    export VERSION=${rev};
+    export VERSION=${version};
     export PREFIX=$out;
     make dunst;
   '';
diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix
index 36b2f84aab548..da7be68be54f2 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -1,14 +1,14 @@
-{ fetchurl, stdenv, texLive, python, makeWrapper, pkgconfig
-, libX11, qt4, enchant #, mythes, boost
+{ fetchurl, stdenv, pkgconfig, python, file, bc
+, qt4, hunspell, makeWrapper #, mythes, boost
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.7";
+  version = "2.1.1";
   name = "lyx-${version}";
 
   src = fetchurl {
-    url = "ftp://ftp.lyx.org/pub/lyx/stable/2.0.x/${name}.tar.xz";
-    sha256 = "0qp8xqmlafib4hispjgl1friln0w3s05mi20sjfzaxnl6jkvv5q5";
+    url = "ftp://ftp.lyx.org/pub/lyx/stable/2.1.x/${name}.tar.xz";
+    sha256 = "1fir1dzzy7c92jf3a3psnd10c6widslk0852xk4svpl6phcg4nya";
   };
 
   configureFlags = [
@@ -18,18 +18,29 @@ stdenv.mkDerivation rec {
     #"--without-included-mythes" # such a small library isn't worth a separate package
   ];
 
+  # LaTeX is used from $PATH, as people often want to have it with extra pkgs
   buildInputs = [
-    texLive qt4 python makeWrapper pkgconfig
-    enchant # mythes boost
+    pkgconfig qt4 python file/*for libmagic*/ bc
+    hunspell makeWrapper # enchant
   ];
 
+  enableParallelBuilding = true;
   doCheck = true;
 
-  meta = {
+  # python is run during runtime to do various tasks
+  postFixup = ''
+    sed '1s:/usr/bin/python:${python}/bin/python:'
+
+    wrapProgram "$out/bin/lyx" \
+      --prefix PATH : '${python}/bin'
+  '';
+
+  meta = with stdenv.lib; {
     description = "WYSIWYM frontend for LaTeX, DocBook";
     homepage = "http://www.lyx.org";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.vcunat ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.vcunat ];
+    platforms = platforms.linux;
   };
 }
+
diff --git a/pkgs/applications/misc/xfontsel/default.nix b/pkgs/applications/misc/xfontsel/default.nix
index 215ea75105f87..2bb05fe44e07b 100644
--- a/pkgs/applications/misc/xfontsel/default.nix
+++ b/pkgs/applications/misc/xfontsel/default.nix
@@ -28,8 +28,8 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.x.org/;
     description = "Allows testing the fonts available in an X server";
-    licesnse = "free";
+    license = "free";
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/applications/misc/xlsfonts/default.nix b/pkgs/applications/misc/xlsfonts/default.nix
index 71d0a39296e9a..06b09154ba550 100644
--- a/pkgs/applications/misc/xlsfonts/default.nix
+++ b/pkgs/applications/misc/xlsfonts/default.nix
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.x.org/;
     description = "Lists the fonts available in the X server";
-    licesnse = "free";
+    license = "free";
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/applications/misc/xmobar/default.nix b/pkgs/applications/misc/xmobar/default.nix
index 7bd405f90a035..8d73dfebb188b 100644
--- a/pkgs/applications/misc/xmobar/default.nix
+++ b/pkgs/applications/misc/xmobar/default.nix
@@ -23,7 +23,6 @@ cabal.mkDerivation (self: {
     homepage = "http://xmobar.org";
     description = "A Minimalistic Text Based Status Bar";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    platforms = self.stdenv.lib.platforms.linux;
   };
 })
diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix
index ac2f6dd7756fa..00e9ab0c810cf 100644
--- a/pkgs/applications/misc/xterm/default.nix
+++ b/pkgs/applications/misc/xterm/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
     homepage = http://invisible-island.net/xterm;
     license = "BSD";
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/applications/networking/browsers/dwb/default.nix b/pkgs/applications/networking/browsers/dwb/default.nix
index 438710f102453..ecb57d6fe6ca4 100644
--- a/pkgs/applications/networking/browsers/dwb/default.nix
+++ b/pkgs/applications/networking/browsers/dwb/default.nix
@@ -23,11 +23,11 @@ stdenv.mkDerivation {
      --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://portix.bitbucket.org/dwb/;
     description = "A lightweight web browser based on the webkit web browser engine and the gtk toolkit";
-    platforms = stdenv.lib.platforms.mesaPlatforms;
-    maintainers = [ stdenv.lib.maintainers.pSub ];
-    license = "GPL";
+    platforms = platforms.mesaPlatforms;
+    maintainers = with maintainers;[ pSub ];
+    license = licenses.gpl3;
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox/30.nix b/pkgs/applications/networking/browsers/firefox/30.nix
new file mode 100644
index 0000000000000..1e2c3e2cfb194
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/30.nix
@@ -0,0 +1,211 @@
+{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
+, libjpeg, libpng, zlib, dbus, dbus_glib, bzip2, xlibs
+, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
+, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
+, hunspell, libevent, libstartup_notification, libvpx
+, cairo, gstreamer, gst_plugins_base, icu
+, debugBuild ? false
+, # If you want the resulting program to call itself "Firefox" instead
+  # of "Shiretoko" or whatever, enable this option.  However, those
+  # binaries may not be distributed without permission from the
+  # Mozilla Foundation, see
+  # http://www.mozilla.org/foundation/trademarks/.
+  enableOfficialBranding ? false
+}:
+
+assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
+
+rec {
+
+  firefoxVersion = "30.0";
+
+  xulVersion = "30.0"; # this attribute is used by other packages
+
+
+  src = fetchurl {
+    url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
+    sha1 = "bll9hxf31gvg9db6gxgmq25qsjif3p11";
+  };
+
+  commonConfigureFlags =
+    [ "--with-system-jpeg"
+      "--with-system-zlib"
+      "--with-system-bz2"
+      "--with-system-nspr"
+      "--with-system-nss"
+      "--with-system-libevent"
+      "--with-system-libvpx"
+      "--with-system-png"
+      # "--with-system-icu" # causes ‘ar: invalid option -- 'L'’ in Firefox 28.0
+      "--enable-system-ffi"
+      "--enable-system-hunspell"
+      "--enable-system-pixman"
+      "--enable-system-sqlite"
+      "--enable-system-cairo"
+      "--enable-gstreamer"
+      "--enable-startup-notification"
+      # "--enable-content-sandbox"            # available since 26.0, but not much info available
+      # "--enable-content-sandbox-reporter"   # keeping disabled for now
+      "--disable-crashreporter"
+      "--disable-tests"
+      "--disable-necko-wifi" # maybe we want to enable this at some point
+      "--disable-installer"
+      "--disable-updater"
+      "--disable-pulseaudio"
+    ] ++ (if debugBuild then [ "--enable-debug" "--enable-profiling"]
+                        else [ "--disable-debug" "--enable-release"
+                               "--enable-optimize" "--enable-strip" ]);
+
+
+  xulrunner = stdenv.mkDerivation rec {
+    name = "xulrunner-${xulVersion}";
+
+    inherit src;
+
+    buildInputs =
+      [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2
+        python dbus dbus_glib pango freetype fontconfig xlibs.libXi
+        xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
+        alsaLib nspr nss libnotify xlibs.pixman yasm mesa
+        xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
+        xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
+        hunspell libevent libstartup_notification libvpx cairo
+        gstreamer gst_plugins_base icu
+      ];
+
+    configureFlags =
+      [ "--enable-application=xulrunner"
+        "--disable-javaxpcom"
+      ] ++ commonConfigureFlags;
+
+    #enableParallelBuilding = true; # cf. https://github.com/NixOS/nixpkgs/pull/1699#issuecomment-35196282
+
+    preConfigure =
+      ''
+        export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
+
+        mkdir ../objdir
+        cd ../objdir
+        configureScript=../mozilla-release/configure
+      ''; # */
+
+    #installFlags = "SKIP_GRE_REGISTRATION=1";
+
+    preInstall = ''
+      # The following is needed for startup cache creation on grsecurity kernels
+      paxmark m ../objdir/dist/bin/xpcshell
+    '';
+
+    postInstall = ''
+      # Fix run-mozilla.sh search
+      libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
+      echo libDir: $libDir
+      test -n "$libDir"
+      cd $out/bin
+      rm xulrunner
+
+      for i in $out/lib/$libDir/*; do
+          file $i;
+          if file $i | grep executable &>/dev/null; then
+              echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
+              chmod a+x "$out/bin/$(basename "$i")";
+          fi;
+      done
+      for i in $out/lib/$libDir/*.so; do
+          patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
+      done
+
+      # For grsecurity kernels
+      paxmark m $out/lib/$libDir/{plugin-container,xulrunner}
+
+      for i in $out/lib/$libDir/{plugin-container,xulrunner,xulrunner-stub}; do
+          wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir"
+      done
+
+      rm -f $out/bin/run-mozilla.sh
+    ''; # */
+
+    meta = {
+      description = "Mozilla Firefox XUL runner";
+      homepage = http://www.mozilla.com/en-US/firefox/;
+    };
+
+    passthru = { inherit gtk; version = xulVersion; };
+  };
+
+
+  firefox = stdenv.mkDerivation rec {
+    name = "firefox-${firefoxVersion}";
+
+    inherit src;
+
+    enableParallelBuilding = true;
+
+    buildInputs =
+      [ pkgconfig libpng gtk perl zip libIDL libjpeg zlib bzip2 python
+        dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
+        xlibs.pixman yasm mesa sqlite file unzip pysqlite
+        hunspell libevent libstartup_notification libvpx cairo
+        gstreamer gst_plugins_base icu
+      ];
+
+    patches = [
+      ./disable-reporter.patch # fixes "search box not working when built on xulrunner"
+      ./xpidl.patch
+    ];
+
+    propagatedBuildInputs = [xulrunner];
+
+    configureFlags =
+      [ "--enable-application=browser"
+        "--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
+        "--enable-chrome-format=jar"
+      ]
+      ++ commonConfigureFlags
+      ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
+
+    makeFlags = [
+      "SYSTEM_LIBXUL=1"
+    ];
+
+    # Because preConfigure runs configure from a subdirectory.
+    configureScript = "../configure";
+
+    preConfigure =
+      ''
+        # Hack to work around make's idea of -lbz2 dependency
+        find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
+          stdenv.lib.concatStringsSep ":"
+            (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
+        }' ';'
+
+        # Building directly in the main source directory is not allowed.
+        mkdir obj_dir
+        cd obj_dir
+      '';
+
+    postInstall =
+      ''
+        ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
+        cd "$out/lib/"firefox-*
+        rm firefox
+        echo -e '#!${stdenv.shell}\nexec ${xulrunner}/bin/xulrunner "'"$PWD"'/application.ini" "$@"' > firefox
+        chmod a+x firefox
+
+        # Put chrome.manifest etc. in the right place.
+        mv browser/* .
+        rmdir browser
+      ''; # */
+
+    meta = {
+      description = "Mozilla Firefox - the browser, reloaded";
+      homepage = http://www.mozilla.com/en-US/firefox/;
+      maintainers = with stdenv.lib.maintainers; [ eelco wizeman ];
+    };
+
+    passthru = {
+      inherit gtk xulrunner nspr;
+      isFirefox3Like = true;
+    };
+  };
+}
diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix
index 8a3ff788d4205..7c5b983f1b498 100644
--- a/pkgs/applications/networking/browsers/vimb/default.nix
+++ b/pkgs/applications/networking/browsers/vimb/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "vimb-${version}";
-  version = "2.4";
+  version = "2.6";
 
   src = fetchurl {
     url = "https://github.com/fanglingsu/vimb/archive/${version}.tar.gz";
-    sha256 = "167ilbsd4y4zl493k6g4j5v85y784qz8z7qflzd1ccsjjznv7fm8";
+    sha256 = "1g6zm5fk3k52jk3vbbzj7rm0kanykd4zgxrqhlvj3qzj2nsn4a21";
   };
 
   # Nixos default ca bundle
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 55b7bd7486b4d..e0700cf55c9d6 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -25,9 +25,9 @@ let
     else if stdenv.system == "i686-linux" then "ld-linux.so.2"
     else throw "Dropbox client for: ${stdenv.system} not supported!";
 
-  version = "2.6.2";
-  sha256 = if stdenv.system == "x86_64-linux" then "0j511nglqg2xngyl78ww7xk09v8yzhghk5cnj6slr9sldy83n7g9"
-    else if stdenv.system == "i686-linux" then "0n0y0wf313yjas4b89ag613jb80skby1qmfkyy1aazgjancf7v5i"
+  version = "2.10.27";
+  sha256 = if stdenv.system == "x86_64-linux" then "0l5fkmcr5jc0sm9xm4gshhdn3a7c9ff8qf60vjbiz3gn3n7asjvv"
+    else if stdenv.system == "i686-linux" then "0gn1lx97z4wr1clyjd3y8r6bvwni47rc84zl20s3lsalmm25srh7"
     else throw "Dropbox client for: ${stdenv.system} not supported!";
 
   # relative location where the dropbox libraries are stored
@@ -56,10 +56,9 @@ in stdenv.mkDerivation {
   name = "dropbox-${version}-bin";
   src = fetchurl {
     name = "dropbox-${version}.tar.gz";
-    # using version-specific URL so if the version is no longer available,
-    # build will fail without having to finish downloading first
-    # url = "http://www.dropbox.com/download?plat=lnx.${arch}";
-    url = "http://dl-web.dropbox.com/u/17/dropbox-lnx.${arch}-${version}.tar.gz";
+    
+    # I found the URLs here: https://forums.dropbox.com/topic.php?id=118678
+    url = "https://d1ilhw0800yew8.cloudfront.net/client/dropbox-lnx.${arch}-${version}.tar.gz";
     inherit sha256;
   };
 
@@ -71,13 +70,13 @@ in stdenv.mkDerivation {
 
   installPhase = ''
     mkdir -p "$out/${appdir}"
-    cp -r ".dropbox-dist/"* "$out/${appdir}/"
+    cp -r ".dropbox-dist/dropbox-lnx.${arch}-${version}"/* "$out/${appdir}/"
     mkdir -p "$out/bin"
     ln -s "$out/${appdir}/dropbox" "$out/bin/dropbox"
 
     patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \
       "$out/${appdir}/dropbox"
-
+    
     RPATH=${ldpath}:${gcc.gcc}/lib:$out/${appdir}
     echo "updating rpaths to: $RPATH"
     find "$out/${appdir}" -type f -a -perm +0100 \
@@ -87,8 +86,6 @@ in stdenv.mkDerivation {
     cp "${desktopItem}/share/applications/"* $out/share/applications
   '';
 
-  buildInputs = [ patchelf ];
-
   meta = {
     homepage = "http://www.dropbox.com";
     description = "Online stored folders (daemon version)";
diff --git a/pkgs/applications/networking/instant-messengers/ekiga/default.nix b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
index 0dec7a4cd112c..07730a8c0ee14 100644
--- a/pkgs/applications/networking/instant-messengers/ekiga/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
@@ -2,7 +2,7 @@
 , perl, perlXMLParser, evolution_data_server, gnome_doc_utils, avahi, autoreconfHook
 , libsigcxx, gtk, dbus_glib, libnotify, libXext, xextproto, gnome3, boost, libsecret
 , pkgconfig, libxml2, videoproto, unixODBC, db, nspr, nss, zlib, hicolor_icon_theme
-, libXrandr, randrproto, which, libxslt, libtasn1, gmp, nettle, sqlite }:
+, libXrandr, randrproto, which, libxslt, libtasn1, gmp, nettle, sqlite, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "ekiga-4.0.1";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
                   gnome3.libsoup
                   hicolor_icon_theme gnome3.gnome_icon_theme boost autoreconfHook
                   pkgconfig libxml2 videoproto unixODBC db nspr nss zlib libsecret
-                  libXrandr randrproto which libxslt libtasn1 gmp nettle ];
+                  libXrandr randrproto which libxslt libtasn1 gmp nettle makeWrapper ];
 
   preAutoreconf = ''
     substituteInPlace configure.ac --replace AM_GCONF_SOURCE_2 ""
@@ -35,6 +35,11 @@ stdenv.mkDerivation rec {
 
   patches = [ ./autofoo.patch ./boost.patch ];
 
+  postInstall = ''
+    wrapProgram "$out"/bin/ekiga \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+
   meta = with stdenv.lib; {
     description = "Ekiga SIP client";
     maintainers = [ maintainers.raskin ];
diff --git a/pkgs/applications/networking/instant-messengers/kadu/default.nix b/pkgs/applications/networking/instant-messengers/kadu/default.nix
index be24878259fbf..a74460c3e39b6 100644
--- a/pkgs/applications/networking/instant-messengers/kadu/default.nix
+++ b/pkgs/applications/networking/instant-messengers/kadu/default.nix
@@ -15,6 +15,10 @@ stdenv.mkDerivation {
 
   configureFlags = "CPPFLAGS=-DQT_NO_DEBUG";
 
+  preConfigure = ''
+    export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${phonon}/lib64/pkgconfig:${phonon}/lib32/pkgconfig"
+  '';
+
   cmakeFlags = "-DENABLE_AUTODOWNLOAD=OFF -DBUILD_DESCRIPTION='NixOS' -DCMAKE_BUILD_TYPE=Release";
 
   prePatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix
index 7f7d5abccfdad..840416b7d175e 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix
@@ -1,8 +1,10 @@
-args : with args; 
+args : with args;
+let version = "1.5.0";
+in
 rec {
   src = fetchurl {
-    url = mirror://sourceforge/pidgin-latex/pidgin-latex-1.2.1.tar.bz2;
-    sha256 = "19h76fwsx5y30l5wda2930k10r385aipngfljz5bdi7b9y52lii7";
+    url = "mirror://sourceforge/pidgin-latex/pidgin-latex_${version}.tar.bz2";
+    sha256 = "9c850aee90d7e59de834f83e09fa6e3e51b123f06e265ead70957608ada95441";
   };
 
   buildInputs = [texLive pkgconfig gtk imagemagick glib pidgin which];
@@ -33,8 +35,8 @@ rec {
 
   /* doConfigure should be specified separately */
   phaseNames = [ "preBuild" "doMakeInstall" "postInstall"];
-      
-  name = "pidgin-latex-1.2.1";
+
+  name = "pidgin-latex-${version}";
   meta = {
     description = "LaTeX rendering plugin for Pidgin IM";
     priority = "10";
diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix
index e38d5188dc2fb..a5216b2902a6a 100644
--- a/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -33,7 +33,6 @@ stdenv.mkDerivation rec {
     for f in "$out"/bin/*; do
       wrapProgram "$f" \
         --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \
-        --prefix LD_LIBRARY_PATH : "${gnome3.libgnome_keyring}/lib" \
         --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
         --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules:${glib_networking}/lib/gio/modules" \
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
diff --git a/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
new file mode 100644
index 0000000000000..e4ca6d423cdc8
--- /dev/null
+++ b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, cmake, pkgconfig, qt4, boost, bzip2, libX11, pcre, libidn, lua5, miniupnpc, aspell, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "eiskaltdcpp-2.2.9";
+
+  src = fetchurl {
+    url = "https://eiskaltdc.googlecode.com/files/${name}.tar.xz";
+    sha256 = "3d9170645450f9cb0a605278b8646fec2110b9637910d86fd27cf245cbe24eaf";
+  };
+
+  buildInputs = [ cmake pkgconfig qt4 boost bzip2 libX11 pcre libidn lua5 miniupnpc aspell gettext ];
+
+  cmakeFlags = ''
+    -DUSE_ASPELL=ON
+    -DUSE_QT_QML=ON
+    -DFREE_SPACE_BAR_C=ON
+    -DUSE_MINIUPNP=ON
+    -DDBUS_NOTIFY=ON
+    -DUSE_JS=ON
+    -DPERL_REGEX=ON
+    -DUSE_CLI_XMLRPC=ON
+    -DWITH_SOUNDS=ON
+    -DLUA_SCRIPT=ON
+    -DWITH_LUASCRIPTS=ON
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "A cross-platform program that uses the Direct Connect and ADC protocols";
+    homepage = https://code.google.com/p/eiskaltdc/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/office/hledger-interest/default.nix b/pkgs/applications/office/hledger-interest/default.nix
index 9c0672e2ee0c5..2cff99dcc278a 100644
--- a/pkgs/applications/office/hledger-interest/default.nix
+++ b/pkgs/applications/office/hledger-interest/default.nix
@@ -14,9 +14,6 @@ cabal.mkDerivation (self: {
     description = "computes interest for a given account";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/applications/office/hledger-irr/default.nix b/pkgs/applications/office/hledger-irr/default.nix
index e7ca2a6462b1b..e6a7b2a72c29f 100644
--- a/pkgs/applications/office/hledger-irr/default.nix
+++ b/pkgs/applications/office/hledger-irr/default.nix
@@ -13,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "computes the internal rate of return of an investment";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index b1cbc6fd54f56..41cf1ebc33dfe 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -14,28 +14,30 @@
 , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
 , libwpg, dbus_glib, glibc, qt4, kde4, clucene_core, libcdr, lcms, vigra
 , unixODBC, mdds, saneBackends, mythes, libexttextcat, libvisio
-, fontsConf, pkgconfig, libzip, bluez5, libtool, maven, libe-book_00
-, libmwaw_02, libatomic_ops, graphite2, harfbuzz
+, fontsConf, pkgconfig, libzip, bluez5, libtool, maven
+, libatomic_ops, graphite2, harfbuzz
+, librevenge, libe-book, libmwaw, glm, glew
 , langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" ]
 }:
 
 let
   langsSpaces = stdenv.lib.concatStringsSep " " langs;
   major = "4";
-  minor = "2";
-  patch = "5";
-  tweak = "2";
+  minor = "3";
+  patch = "0";
+  tweak = "4";
   subdir = "${major}.${minor}.${patch}";
   version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
 
   # doesn't exist in srcs
+  # 0.8 version is in 0.7.0 tarball
   libixion = stdenv.mkDerivation rec {
-     version = "0.5.0";
+     version = "0.7.0";
      name = "libixion-${version}";
 
      src = fetchurl {
        url = "http://kohei.us/files/ixion/src/${name}.tar.bz2";
-       sha256 = "010k33bfkckx28r4rdk5mkd0mmayy5ng9ja0j0zg0z237gcfgrzb";
+       sha256 = "10amvz7fzr1kcy3svfspkdykmspqgpjdmk44cyr406wi7v4lwnf9";
      };
 
      configureFlags = "--with-boost=${boost}";
@@ -43,12 +45,24 @@ let
      buildInputs = [ boost mdds pkgconfig ];
   };
 
-  fetchThirdParty = {name, md5, brief}: fetchurl {
+  fetchThirdParty = {name, md5, brief, subDir ? ""}: fetchurl {
     inherit name md5;
     url = if brief then
-            "http://dev-www.libreoffice.org/src/${name}"
+            "http://dev-www.libreoffice.org/src/${subDir}${name}"
           else
-            "http://dev-www.libreoffice.org/src/${md5}-${name}";
+            "http://dev-www.libreoffice.org/src/${subDir}${md5}-${name}";
+  };
+
+  # Can't find Boost inside LO build
+  liborcus = stdenv.mkDerivation rec {
+    name = "liborcus-0.7.0";
+    src = fetchThirdParty (stdenv.lib.findFirst 
+      (x: x.name == "${name}.tar.bz2")
+      ("Error: update liborcus version inside LO expression")
+      (import ./libreoffice-srcs.nix));
+    configureFlags = "--with-boost=${boost}";
+
+    buildInputs = [ boost mdds pkgconfig zlib libixion ];
   };
 
   fetchSrc = {name, sha256}: fetchurl {
@@ -65,14 +79,14 @@ let
 
     translations = fetchSrc {
       name = "translations";
-      sha256 = "0nv47r043w151687ks06w786h8azi8gylxma9c7qyjbdj6cdb2ly";
+      sha256 = "1l445284mih0c7d6v3ps1piy5pbjvisyrjjvlrqizvwxqm7bxpr1";
     };
 
     # TODO: dictionaries
 
     help = fetchSrc {
       name = "help";
-      sha256 = "1kbkdngq39gfq2804v6vnllax4gqs25zlfk6y561iiipld1ncc5v";
+      sha256 = "0avsc11d4nmycsxvadr0xcd8z9506sjcc89hgmliqlmhmw48ax7y";
     };
 
   };
@@ -82,7 +96,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "4bf7898d7d0ba918a8f6668eff0904a549e5a2de837854716e6d996f121817d5";
+    sha256 = "1r605nwjdq20qd96chqic1bjkw7y36wmpg2lzzvv5sz6gw12rzi8";
   };
 
   # Openoffice will open libcups dynamically, so we link it directly
@@ -111,7 +125,6 @@ stdenv.mkDerivation rec {
       -e 's,! */usr/bin/python,!${python3}/bin/${python3.executable},' -e 's,! */usr/bin/env python,!${python3}/bin/${python3.executable},'
     #sed -i 's,ANT_OPTS+="\(.*\)",ANT_OPTS+=\1,' apache-commons/java/*/makefile.mk
 
-    patch -Np1 -i ${./ooxmlexport.diff};
   '';
 
   QT4DIR = qt4;
@@ -131,6 +144,13 @@ stdenv.mkDerivation rec {
     touch solenv/inc/target.mk
   '';
 
+  # fetch_Download_item tries to interpret the name as a variable name
+  # Let it do so…
+  postConfigure = ''
+    sed -e '1ilibreoffice-translations-${version}.tar.xz=libreoffice-translations-${version}.tar.xz' -i Makefile
+    sed -e '1ilibreoffice-help-${version}.tar.xz=libreoffice-help-${version}.tar.xz' -i Makefile
+  '';
+
   makeFlags = "SHELL=${bash}/bin/bash";
 
   enableParallelBuilding = true;
@@ -190,7 +210,6 @@ stdenv.mkDerivation rec {
     "--enable-epm"
     "--with-jdk-home=${jdk}/lib/openjdk"
     "--with-ant-home=${ant}/lib/ant"
-    "--without-afms"
     "--without-fonts"
     "--without-myspell-dicts"
     "--without-ppds"
@@ -207,7 +226,6 @@ stdenv.mkDerivation rec {
     "--without-system-libodfgen"
     "--without-system-libabw"
     "--without-system-firebird"
-    "--without-system-orcus"
     "--without-system-liblangtag"
     "--without-system-libmspub"
   ];
@@ -228,14 +246,16 @@ stdenv.mkDerivation rec {
       neon nspr nss openldap openssl ORBit2 pam perl pkgconfigUpstream poppler
       python3 sablotron saneBackends tcsh unzip vigra which zip zlib
       mdds bluez5 glibc libixion
-      libxshmfence libe-book_00 libmwaw_02 libatomic_ops graphite2 harfbuzz
+      libxshmfence libatomic_ops graphite2 harfbuzz
+      librevenge libe-book libmwaw glm glew
+      liborcus
     ];
 
   meta = with stdenv.lib; {
     description = "LibreOffice is a comprehensive, professional-quality productivity suite, a variant of openoffice.org";
     homepage = http://libreoffice.org/;
     license = licenses.lgpl3;
-    maintainers = [ maintainers.viric ];
+    maintainers = [ maintainers.viric maintainers.raskin ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
index cceb1a49e4293..4e7dacfe0a967 100644
--- a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
+++ b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
@@ -1,82 +1,17 @@
 [
 {
-  name = "libabw-0.0.2.tar.bz2";
-  md5 = "40fa48e03b1e28ae0325cc34b35bc46d";
+  name = "libabw-0.1.0.tar.bz2";
+  md5 = "9317e967c8fa8ff50e049744c4b33c87";
   brief = true;
 }
 {
-  name = "libcdr-0.0.15.tar.bz2";
-  md5 = "fbcd8619fc6646f41d527c1329102998";
-  brief = true;
-}
-{
-  name = "libe-book-0.0.3.tar.bz2";
-  md5 = "2f1ceaf2ac8752ed278e175447d9b978";
-  brief = true;
-}
-{
-  name = "libetonyek-0.0.4.tar.bz2";
-  md5 = "3c50bc60394d1f2675fbf9bd22581363";
-  brief = true;
-}
-{
-  name = "libfreehand-0.0.0.tar.bz2";
-  md5 = "496dd00028afcc19f896b01394769043";
-  brief = true;
-}
-{
-  name = "libmspub-0.0.6.tar.bz2";
-  md5 = "1120705cd0f0d9bd5506360bf57b6c2e";
-  brief = true;
-}
-{
-  name = "libmwaw-0.2.0.tar.bz2";
-  md5 = "d794625f156a9fb1c53b3f8a8aa13b5e";
-  brief = true;
-}
-{
-  name = "libodfgen-0.0.4.tar.bz2";
-  md5 = "e5483d1f0b71e64c367c1194b54b0f53";
-  brief = true;
-}
-{
-  name = "libvisio-0.0.31.tar.bz2";
-  md5 = "82628333418f101a20cd21f980cf9f40";
-  brief = true;
-}
-{
-  name = "Firebird-2.5.2.26540-0.tar.bz2";
-  md5 = "21154d2004e025c8a3666625b0357bb5";
-  brief = true;
-}
-{
-  name = "harfbuzz-0.9.23.tar.bz2";
-  md5 = "a4a9b548577e2ee22f0887937da5fd6c";
-  brief = true;
-}
-{
-  name = "libatomic_ops-7_2d.zip";
-  md5 = "c0b86562d5aa40761a87134f83e6adcf";
-  brief = true;
-}
-{
-  name = "libeot-0.01.tar.bz2";
-  md5 = "aa24f5dd2a2992f4a116aa72af817548";
-  brief = true;
-}
-{
-  name = "language-subtag-registry-2014-03-27.tar.bz2";
-  md5 = "504af523f5d1a5590bbeb6a4b55e8a97";
-  brief = true;
-}
-{
-  name = "Adobe-Core35_AFMs-314.tar.gz";
-  md5 = "1756c4fa6c616ae15973c104cd8cb256";
+  name = "commons-codec-1.6-src.tar.gz";
+  md5 = "2e482c7567908d334785ce7d69ddfff7";
   brief = false;
 }
 {
-  name = "commons-codec-1.6-src.tar.gz";
-  md5 = "2e482c7567908d334785ce7d69ddfff7";
+  name = "commons-codec-1.9-src.zip";
+  md5 = "048751f3271906db5126ab76870444c4";
   brief = false;
 }
 {
@@ -90,13 +25,28 @@
   brief = false;
 }
 {
-  name = "commons-logging-1.1.1-src.tar.gz";
-  md5 = "3c219630e4302863a9a83d0efde889db";
+  name = "commons-lang3-3.3.1-src.tar.gz";
+  md5 = "8ab049135b2d15313da5d9f0656894a1";
   brief = false;
 }
 {
-  name = "boost_1_54_0.tar.bz2";
-  md5 = "15cb8c0803064faef0c4ddf5bc5ca279";
+  name = "commons-logging-1.1.3-src.tar.gz";
+  md5 = "e8e197d628436490886d17cffa108fe3";
+  brief = false;
+}
+{
+  name = "apr-1.4.8.tar.gz";
+  md5 = "eff9d741b0999a9bbab96862dd2a2a3d";
+  brief = true;
+}
+{
+  name = "apr-util-1.5.3.tar.gz";
+  md5 = "71a11d037240b292f824ba1eb537b4e3";
+  brief = true;
+}
+{
+  name = "boost_1_55_0.tar.bz2";
+  md5 = "d6eef4b4cacb2183f2bf265a5a03a354";
   brief = false;
 }
 {
@@ -110,6 +60,11 @@
   brief = false;
 }
 {
+  name = "libcdr-0.1.0.tar.bz2";
+  md5 = "0e2f56934c8872ec4a254cd4bb1d7cf6";
+  brief = true;
+}
+{
   name = "clucene-core-2.3.3.4.tar.gz";
   md5 = "48d647fbd8ef8889e5a7f422c1bfda94";
   brief = false;
@@ -120,6 +75,16 @@
   brief = false;
 }
 {
+  name = "CoinMP-1.7.6.tgz";
+  md5 = "1cce53bf4b40ae29790d2c5c9f8b1129";
+  brief = true;
+}
+{
+  name = "collada2gltf-master-cb1d97788a.tar.bz2";
+  md5 = "4b87018f7fff1d054939d19920b751a0";
+  brief = false;
+}
+{
   name = "cppunit-1.13.1.tar.gz";
   md5 = "ac4781e01619be13461bb2d562b94a7b";
   brief = false;
@@ -130,9 +95,14 @@
   brief = false;
 }
 {
-  name = "curl-7.33.0.tar.bz2";
-  md5 = "57409d6bf0bd97053b8378dbe0cadcef";
-  brief = false;
+  name = "curl-7.36.0.tar.bz2";
+  md5 = "e6d1f9d1b59da5062109ffe14e0569a4";
+  brief = true;
+}
+{
+  name = "libe-book-0.1.1.tar.bz2";
+  md5 = "c25a881d21abc5b4da19205db513cc22";
+  brief = true;
 }
 {
   name = "epm-3.7.tar.gz";
@@ -140,11 +110,21 @@
   brief = false;
 }
 {
+  name = "libetonyek-0.1.1.tar.bz2";
+  md5 = "805f941b06448212a988cb65f0691a7a";
+  brief = true;
+}
+{
   name = "expat-2.1.0.tar.gz";
   md5 = "dd7dab7a5fea97d2a6a43f511449b7cd";
   brief = false;
 }
 {
+  name = "Firebird-2.5.2.26540-0.tar.bz2";
+  md5 = "21154d2004e025c8a3666625b0357bb5";
+  brief = true;
+}
+{
   name = "fontconfig-2.8.0.tar.gz";
   md5 = "77e15a92006ddc2adbb06f840d591c0e";
   brief = false;
@@ -160,8 +140,8 @@
   brief = false;
 }
 {
-  name = "dejavu-fonts-ttf-2.33.zip";
-  md5 = "f872f4ac066433d8ff92f5e316b36ff9";
+  name = "dejavu-fonts-ttf-2.34.zip";
+  md5 = "a4e565e220b5de082c23995e256e3c12";
   brief = false;
 }
 {
@@ -170,8 +150,8 @@
   brief = false;
 }
 {
-  name = "liberation-fonts-ttf-1.07.3.tar.gz";
-  md5 = "b3174b11c2b6a341f5c99b31088bd67b";
+  name = "liberation-fonts-ttf-1.07.4.tar.gz";
+  md5 = "134d8262145fc793c6af494dcace3e71";
   brief = false;
 }
 {
@@ -205,16 +185,36 @@
   brief = false;
 }
 {
+  name = "libfreehand-0.1.0.tar.bz2";
+  md5 = "5f029fef73e42a2c2ae4524a7513f97d";
+  brief = true;
+}
+{
   name = "freetype-2.4.8.tar.bz2";
   md5 = "dbf2caca1d3afd410a29217a9809d397";
   brief = false;
 }
 {
-  name = "graphite2-1.2.3.tgz";
-  md5 = "7042305e4208af4c2d5249d814ccce58";
+  name = "glew-1.10.0.zip";
+  md5 = "594eb47b4b1210e25438d51825404d5a";
   brief = false;
 }
 {
+  name = "glm-0.9.4.6-libreoffice.zip";
+  md5 = "bae83fa5dc7f081768daace6e199adc3";
+  brief = false;
+}
+{
+  name = "graphite2-1.2.4.tgz";
+  md5 = "2ef839348fe28e3b923bf8cced440227";
+  brief = true;
+}
+{
+  name = "harfbuzz-0.9.23.tar.bz2";
+  md5 = "a4a9b548577e2ee22f0887937da5fd6c";
+  brief = true;
+}
+{
   name = "hsqldb_1_8_0.zip";
   md5 = "17410483b5b5f267aa18b7e00b65e6e0";
   brief = false;
@@ -230,8 +230,8 @@
   brief = false;
 }
 {
-  name = "icu4c-52_1-src.tgz";
-  md5 = "9e96ed4c1d99c0d14ac03c140f9f346c";
+  name = "icu4c-53_1-src.tgz";
+  md5 = "b73baa6fbdfef197608d1f69300919b9";
   brief = false;
 }
 {
@@ -290,9 +290,14 @@
   brief = false;
 }
 {
-  name = "jpegsrc.v8d.tar.gz";
-  md5 = "52654eb3b2e60c35731ea8fc87f1bd29";
-  brief = false;
+  name = "jpegsrc.v9a.tar.gz";
+  md5 = "3353992aecaee1805ef4109aadd433e7";
+  brief = true;
+}
+{
+  name = "language-subtag-registry-2014-04-10.tar.bz2";
+  md5 = "49c94710f7858b1969d74ff72e6aac84";
+  brief = true;
 }
 {
   name = "JLanguageTool-1.7.0.tar.bz2";
@@ -300,9 +305,19 @@
   brief = false;
 }
 {
-  name = "lcms2-2.4.tar.gz";
-  md5 = "861ef15fa0bc018f9ddc932c4ad8b6dd";
-  brief = false;
+  name = "lcms2-2.6.tar.gz";
+  md5 = "f4c08d38ceade4a664ebff7228910a33";
+  brief = true;
+}
+{
+  name = "libatomic_ops-7_2d.zip";
+  md5 = "c0b86562d5aa40761a87134f83e6adcf";
+  brief = true;
+}
+{
+  name = "libeot-0.01.tar.bz2";
+  md5 = "aa24f5dd2a2992f4a116aa72af817548";
+  brief = true;
 }
 {
   name = "libexttextcat-3.4.3.tar.bz2";
@@ -310,6 +325,12 @@
   brief = false;
 }
 {
+  name = "libgltf-0.0.0.tar.bz2";
+  md5 = "3d9ea1f2828c46f8ba94b88a87b3326d";
+  brief = false;
+  subDir = "libgltf/";
+}
+{
   name = "liblangtag-0.5.1.tar.bz2";
   md5 = "36271d3fa0d9dec1632029b6d7aac925";
   brief = false;
@@ -345,6 +366,16 @@
   brief = false;
 }
 {
+  name = "libmspub-0.1.1.tar.bz2";
+  md5 = "1d489c4932109e72495b1df8b69e5f11";
+  brief = true;
+}
+{
+  name = "libmwaw-0.3.1.tar.bz2";
+  md5 = "6f1ac4a0e24131c422e1e91f07718fb6";
+  brief = true;
+}
+{
   name = "mysql-connector-c++-1.1.0.tar.gz";
   md5 = "0981bda6548a8c8233ffce2b6e4b2a23";
   brief = false;
@@ -365,18 +396,28 @@
   brief = false;
 }
 {
+  name = "libodfgen-0.1.1.tar.bz2";
+  md5 = "c22c83c17cda0754382ada4e116594b7";
+  brief = true;
+}
+{
+  name = "OpenCOLLADA-master-6509aa13af.tar.bz2";
+  md5 = "4ca8a6ef0afeefc864e9ef21b9f14bd6";
+  brief = true;
+}
+{
   name = "openldap-2.4.31.tgz";
   md5 = "804c6cb5698db30b75ad0ff1c25baefd";
   brief = false;
 }
 {
-  name = "openssl-1.0.1e.tar.gz";
-  md5 = "66bf6f10f060d561929de96f9dfe5b8c";
+  name = "openssl-1.0.1h.tar.gz";
+  md5 = "8d6d684a9430d5cc98a62a5d8fbda8cf";
   brief = false;
 }
 {
-  name = "liborcus-0.5.1.tar.bz2";
-  md5 = "ea2acaf140ae40a87a952caa75184f4d";
+  name = "liborcus-0.7.0.tar.bz2";
+  md5 = "7681383be6ce489d84c1c74f4e7f9643";
   brief = false;
 }
 {
@@ -385,9 +426,9 @@
   brief = false;
 }
 {
-  name = "libpng-1.5.10.tar.gz";
-  md5 = "9e5d864bce8f06751bbd99962ecf4aad";
-  brief = false;
+  name = "libpng-1.5.18.tar.gz";
+  md5 = "5266905cef49d1224437465ad4d67fd9";
+  brief = true;
 }
 {
   name = "poppler-0.22.5.tar.gz";
@@ -400,9 +441,9 @@
   brief = false;
 }
 {
-  name = "Python-3.3.3.tar.bz2";
-  md5 = "f3ebe34d4d8695bf889279b54673e10c";
-  brief = false;
+  name = "Python-3.3.5.tgz";
+  md5 = "803a75927f8f241ca78633890c798021";
+  brief = true;
 }
 {
   name = "raptor2-2.0.9.tar.gz";
@@ -420,11 +461,21 @@
   brief = false;
 }
 {
+  name = "librevenge-0.0.1.tar.bz2";
+  md5 = "69c367c6b0a360411965a1c409a0b6c1";
+  brief = true;
+}
+{
   name = "rhino1_5R5.zip";
   md5 = "798b2ffdc8bcfe7bca2cf92b62caf685";
   brief = false;
 }
 {
+  name = "serf-1.2.1.tar.bz2";
+  md5 = "4f8e76c9c6567aee1d66aba49f76a58b";
+  brief = true;
+}
+{
   name = "swingExSrc.zip";
   md5 = "35c94d2df8893241173de1d16b6034c0";
   brief = false;
@@ -440,19 +491,24 @@
   brief = false;
 }
 {
-  name = "libwpd-0.9.9.tar.bz2";
-  md5 = "a3dcac551fae5ebbec16e844810828c4";
-  brief = false;
+  name = "libvisio-0.1.0.tar.bz2";
+  md5 = "931588332ba44682c9cd5eefbd358ab4";
+  brief = true;
 }
 {
-  name = "libwpg-0.2.2.tar.bz2";
-  md5 = "b85436266b2ac91d351ab5684b181151";
-  brief = false;
+  name = "libwpd-0.10.0.tar.bz2";
+  md5 = "0773d79a1f240ef9f4f20242b13c5bb7";
+  brief = true;
 }
 {
-  name = "libwps-0.2.9.tar.bz2";
-  md5 = "46eb0e7f213ad61bd5dee0c494132cb0";
-  brief = false;
+  name = "libwpg-0.3.0.tar.bz2";
+  md5 = "17da9770cb8b317b7633f9807b32b71a";
+  brief = true;
+}
+{
+  name = "libwps-0.3.0.tar.bz2";
+  md5 = "d4d77d08b9048bae3b8ec8df11f80efd";
+  brief = true;
 }
 {
   name = "xsltml_2.1.2.zip";
@@ -460,8 +516,8 @@
   brief = false;
 }
 {
-  name = "zlib-1.2.7.tar.bz2";
-  md5 = "2ab442d169156f34c379c968f3f482dd";
-  brief = false;
+  name = "zlib-1.2.8.tar.gz";
+  md5 = "44d667c142d7cda120332623eab69f40";
+  brief = true;
 }
 ]
diff --git a/pkgs/applications/office/libreoffice/ooxmlexport.diff b/pkgs/applications/office/libreoffice/ooxmlexport.diff
deleted file mode 100644
index 9c1d44612e269..0000000000000
--- a/pkgs/applications/office/libreoffice/ooxmlexport.diff
+++ /dev/null
@@ -1,31 +0,0 @@
---- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx	2014-06-12 12:25:19.000000000 +0400
-+++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx	2014-06-12 12:25:20.000000000 +0400
-@@ -547,17 +547,17 @@
-     getRun(xParagraph, 5, " After.");
- }
- 
--DECLARE_OOXMLEXPORT_TEST(test1Table1Page, "1-table-1-page.docx")
--{
--    // 2 problem for this document after export:
--    //   - invalid sectPr inserted at the beginning of the page
--    //   - font of empty cell is not preserved, leading to change in rows height
--    uno::Reference<frame::XModel> xModel(mxComponent, uno::UNO_QUERY);
--    uno::Reference<text::XTextViewCursorSupplier> xTextViewCursorSupplier(xModel->getCurrentController(), uno::UNO_QUERY);
--    uno::Reference<text::XPageCursor> xCursor(xTextViewCursorSupplier->getViewCursor(), uno::UNO_QUERY);
--    xCursor->jumpToLastPage();
--    CPPUNIT_ASSERT_EQUAL(sal_Int16(1), xCursor->getPage());
--}
-+///   DECLARE_OOXMLEXPORT_TEST(test1Table1Page, "1-table-1-page.docx")
-+///   {
-+///       // 2 problem for this document after export:
-+///       //   - invalid sectPr inserted at the beginning of the page
-+///       //   - font of empty cell is not preserved, leading to change in rows height
-+///       uno::Reference<frame::XModel> xModel(mxComponent, uno::UNO_QUERY);
-+///       uno::Reference<text::XTextViewCursorSupplier> xTextViewCursorSupplier(xModel->getCurrentController(), uno::UNO_QUERY);
-+///       uno::Reference<text::XPageCursor> xCursor(xTextViewCursorSupplier->getViewCursor(), uno::UNO_QUERY);
-+///       xCursor->jumpToLastPage();
-+///       CPPUNIT_ASSERT_EQUAL(sal_Int16(1), xCursor->getPage());
-+///   }
- 
- DECLARE_OOXMLEXPORT_TEST(testTextFrames, "textframes.odt")
- {
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index b6636cef64188..0a5ef90990445 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -3,7 +3,7 @@
 assert (stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux");
 
 let
-  version = "4.0.21.1";
+  version = "4.0.21.2";
   arch = if stdenv.system == "x86_64-linux"
            then "linux-x86_64"
            else "linux-i686";
@@ -14,8 +14,8 @@ stdenv.mkDerivation {
   src = fetchurl {
     url = "https://download.zotero.org/standalone/${version}/Zotero-${version}_${arch}.tar.bz2";
     sha256 = if stdenv.system == "x86_64-linux"
-               then "1d6ih9q0daxxqqbr134la5y39648hpd53srf43lljjs8wr71wbn8"
-               else "121myzwxw3frps77lpzza82glyz9qgwbl5bh3zngfx9vwx3n8q0v";
+               then "1df101j2qwdp001m8x3ihbzz2j23x43804k8ww749y09d1ydb4dx"
+               else "1bcrpl6gdxlygd5ppyrhw42q24kjcakma3qv6mpzgp91phkf6g30";
   };
 
   # Strip the bundled xulrunner
@@ -31,6 +31,9 @@ stdenv.mkDerivation {
     chmod +x "$out/bin/zotero"
   '';
 
+  doInstallCheck = true;
+  installCheckPhase = "$out/bin/zotero --version";
+
   meta = with stdenv.lib; {
     homepage = "https://www.zotero.org";
     description = "Collect, organize, cite, and share your research sources";
diff --git a/pkgs/applications/science/logic/leo2/default.nix b/pkgs/applications/science/logic/leo2/default.nix
index 913171827af12..8f673eb0f15a6 100644
--- a/pkgs/applications/science/logic/leo2/default.nix
+++ b/pkgs/applications/science/logic/leo2/default.nix
@@ -1,5 +1,5 @@
 x@{builderDefsPackage
-  , ocaml, eprover
+  , ocaml, eprover, zlib
   , ...}:
 builderDefsPackage
 (a :  
@@ -11,16 +11,16 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="leo2";
-    version="1.2.8";
+    version = "1.6.2";
     name="${baseName}_v${version}";
-    url="http://www.ags.uni-sb.de/~leo/${name}.tgz";
-    hash="d46a94f5991623386eb9061cfb0d748e258359a8c690fded173d45303e0e9e3a";
+    url="page.mi.fu-berlin.de/cbenzmueller/leo/leo2_v${version}.tgz";
+    hash="d46a94f5991623386eb9061cfb0d748e258359a8c690fded173d35303e0e9e3a";
   };
 in
 rec {
   src = a.fetchurl {
     url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+    sha256 = "1wjpmizb181iygnd18lx7p77fwaci2clgzs5ix5j51cc8f3pazmv";
   };
 
   name = "${sourceInfo.baseName}-${sourceInfo.version}";
@@ -43,6 +43,10 @@ rec {
     echo -e "e = ${eprover}/bin/eprover\\nepclextract = ${eprover}/bin/epclextract" > "$out/etc/leoatprc"
   '') ["minInit" "doMake" "defEnsureDir"];
 
+  makeFlags = [
+    "SHELL=${a.stdenv.shell}"
+  ];
+
   meta = {
     description = "A high-performance typed higher order prover";
     maintainers = with a.lib.maintainers;
@@ -52,11 +56,9 @@ rec {
     platforms = with a.lib.platforms;
       linux;
     license = "BSD";
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.ags.uni-sb.de/~leo/download.html";
-    };
+    inherit (sourceInfo) version;
+    homepage = "http://page.mi.fu-berlin.de/cbenzmueller/leo/";
+    downloadPage = "http://page.mi.fu-berlin.de/cbenzmueller/leo/download.html";
   };
 }) x
 
diff --git a/pkgs/applications/science/logic/leo2/default.upstream b/pkgs/applications/science/logic/leo2/default.upstream
new file mode 100644
index 0000000000000..52b8ed1cdaa23
--- /dev/null
+++ b/pkgs/applications/science/logic/leo2/default.upstream
@@ -0,0 +1,6 @@
+url http://page.mi.fu-berlin.de/cbenzmueller/leo/download.html
+version_link '[.]tgz'
+version '.*_v([0-9.]+)[.][a-z0-9]+$' '\1'
+do_overwrite () {
+  do_overwrite_just_version
+}
diff --git a/pkgs/applications/science/misc/fityk/default.nix b/pkgs/applications/science/misc/fityk/default.nix
new file mode 100644
index 0000000000000..db79839ba6697
--- /dev/null
+++ b/pkgs/applications/science/misc/fityk/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, wxGTK30, boost, lua, zlib, bzip2, xylib, readline, gnuplot }:
+
+let
+  name    = "fityk";
+  version = "1.2.9";
+in
+stdenv.mkDerivation {
+  name = "${name}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/wojdyr/fityk/releases/download/v${version}/${name}-${version}.tar.bz2";
+    sha256 = "1gl938nd2jyya8b3gzbagm1jab2mkc9zvr6zsg5d0vkfdqlk0pv1";
+  };
+
+  buildInputs = [wxGTK30 boost lua zlib bzip2 xylib readline gnuplot ];
+
+  meta = {
+    description = "Fityk -- curve fitting and peak fitting software";
+    license = "GPL2";
+    homepage = http://fityk.nieto.pl/;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/science/misc/simgrid/default.nix b/pkgs/applications/science/misc/simgrid/default.nix
index d402a48c815c3..29a7caf769bea 100644
--- a/pkgs/applications/science/misc/simgrid/default.nix
+++ b/pkgs/applications/science/misc/simgrid/default.nix
@@ -1,20 +1,19 @@
-{ fetchurl, stdenv, cmake, perl, ruby }:
+{ fetchurl, stdenv, cmake, perl, ruby, boost, lua5_1, graphviz, libsigcxx
+, libunwind, elfutils
+}:
 
 stdenv.mkDerivation rec {
-  name = "simgrid-3.5";
+  version = "3.11.1";
+  name = "simgrid-${version}";
 
   src = fetchurl {
-    url = "https://gforge.inria.fr/frs/download.php/28017/${name}.tar.gz";
-    sha256 = "1vd4pvrcyii1nfwyca3kpbwshbc965lfpn083zd8rigg6ydchq8y";
+    url = "https://gforge.inria.fr/frs/download.php/33686/${name}.tar.gz";
+    sha256 = "0mkrzxpf42lmn96khfl1791vram67r2nqsgmppd2yil889nyz5kp";
   };
 
-  /* FIXME: Ruby currently disabled because of this:
-
-     Linking C shared library ../src/.libs/libsimgrid.so
-     ld: cannot find -lruby-1.8.7-p72
-
-   */
-  buildInputs = [ cmake perl /* ruby */ ];
+  buildInputs = [ cmake perl ruby boost lua5_1 graphviz libsigcxx libunwind
+    elfutils
+    ];
 
   preConfigure =
     # Make it so that libsimgrid.so will be found when running programs from
@@ -22,8 +21,17 @@ stdenv.mkDerivation rec {
     '' export LD_LIBRARY_PATH="$PWD/src/.libs"
        export cmakeFlags="-Dprefix=$out"
 
-       # Enable tracing.
-       export cmakeFlags="$cmakeFlags -Denable_tracing=on"
+       export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE
+         -isystem $(echo "${libsigcxx}/lib/"sigc++*/include)
+	 -isystem $(echo "${libsigcxx}/include"/sigc++* )
+	 "
+       export CMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH:$(echo "${libsigcxx}/lib/"sigc++*)"
+
+       # Enable more functionality.
+       export cmakeFlags="$cmakeFlags -Denable_tracing=on -Denable_jedule=on
+         -Denable_latency_bound_tracking=on -Denable_lua=on
+	 -Denable_ns3=on -Denable_gtnets=on
+	 "
     '';
 
   makeFlags = "VERBOSE=1";
@@ -45,6 +53,7 @@ stdenv.mkDerivation rec {
   patchPhase =
     '' for i in "src/smpi/"*
        do
+         test -f "$i" &&
          sed -i "$i" -e's|/bin/bash|/bin/sh|g'
        done
 
diff --git a/pkgs/applications/version-management/git-and-tools/github-backup/default.nix b/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
index 93ad945140182..ca329eddc66a8 100644
--- a/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
@@ -21,5 +21,7 @@ cabal.mkDerivation (self: {
     description = "backs up everything github knows about a repository, to the repository";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index fb3e115e125f4..8237a5517c7ee 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -2,7 +2,8 @@
 , guiSupport ? false, tk ? null, curses }:
 
 let
-  name = "mercurial-2.9.2";
+  version = "3.1";
+  name = "mercurial-${version}";
 in
 
 stdenv.mkDerivation {
@@ -10,7 +11,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://mercurial.selenic.com/release/${name}.tar.gz";
-    sha256 = "0lwgncim4cy91ly8389h2bbhl4nbi8xjgp0kx37kgq8q2lx2nil6";
+    sha256 = "1r6hdxka867lpsq2jq3vz662m3ywflg4yylayc9g0s9gmiww5pgi";
   };
 
   inherit python; # pass it so that the same version can be used in hg2git
@@ -53,8 +54,10 @@ stdenv.mkDerivation {
     '';
 
   meta = {
+    inherit version;
     description = "A fast, lightweight SCM system for very large distributed projects";
-    homepage = "http://www.selenic.com/mercurial/";
+    homepage = "http://mercurial.selenic.com/";
+    downloadPage = "http://mercurial.selenic.com/release/";
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index d183db5d0548f..7526bb5f04370 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -73,6 +73,10 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # Hack to build on Mac OS X. The system header files use C99-style
+  # comments, but Subversion passes -std=c90.
+  NIX_CFLAGS_COMPILE = "-std=c99";
+
   meta = {
     description = "A version control system intended to be a compelling replacement for CVS in the open source community";
     homepage = http://subversion.apache.org/;
diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix
index 41b25401367c7..c06aa0a036cda 100644
--- a/pkgs/applications/video/aegisub/default.nix
+++ b/pkgs/applications/video/aegisub/default.nix
@@ -22,11 +22,11 @@ assert portaudioSupport -> (portaudio != null);
 
 stdenv.mkDerivation rec {
   name = "aegisub-${version}";
-  version = "3.1.3";
+  version = "3.2.0";
 
   src = fetchurl {
     url = "http://ftp.aegisub.org/pub/releases/${name}.tar.xz";
-    sha256 = "0n2y5cggayr8246p2cvrz0ajlhhvmzcgsp7nljnm21jypk15pspg";
+    sha256 = "0nciw5p1aq94qwz5j4vbc06fywdjhazgh4qs6qr9iqj3n94gvrfr";
   };
 
   nativeBuildInputs = [ intltool ];
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 176d196b06472..1d668c4a28cf0 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
       # Add a ‘qemu-kvm’ wrapper for compatibility/convenience.
       p="$out/bin/qemu-system-${if stdenv.system == "x86_64-linux" then "x86_64" else "i386"}"
       if [ -e "$p" ]; then
-        makeWrapper "$p" $out/bin/qemu-kvm --add-flags "-enable-kvm"
+        makeWrapper "$p" $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"
       fi
     '';
 
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index 9df6967704af6..08d53d83eedbe 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -51,7 +51,6 @@ buildPythonPackage rec {
             --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH \
             --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules" \
             --prefix GSETTINGS_SCHEMA_DIR : $out/share/glib-2.0/schemas \
-            --prefix LD_LIBRARY_PATH : ${gtk3}/lib/:${libvirt-glib}/lib/:${vte}/lib:${gtkvnc}/lib${optionalString spiceSupport ":${spice_gtk}/lib"} \
             --prefix XDG_DATA_DIRS : "$out/share:${gsettings_desktop_schemas}/share:${gtk3}/share:$GSETTINGS_SCHEMAS_PATH:\$XDG_DATA_DIRS"
     done
 
diff --git a/pkgs/applications/window-managers/bar/default.nix b/pkgs/applications/window-managers/bar/default.nix
new file mode 100644
index 0000000000000..a4b90a04133bc
--- /dev/null
+++ b/pkgs/applications/window-managers/bar/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, git, perl, libxcb, libXinerama, xcbutil, xcbutilwm, xcbutilkeysyms }:
+
+stdenv.mkDerivation rec {
+  name = "bar-1.0";
+
+  
+  src = fetchurl {
+    url = "https://github.com/LemonBoy/bar/archive/v1.0.tar.gz";
+    sha256 = "1n2vak2acs37sslxl250cnz9c3irif5z4s54wi9qjyxbfzr2h2nc";
+  };
+
+  buildInputs = [ libxcb git perl libXinerama xcbutil xcbutilkeysyms xcbutilwm ];
+
+  prePatch = ''sed -i "s@/usr@$out@" Makefile'';
+
+  meta = {
+    description = "A lightweight xcb based bar";
+    homepage = "https://github.com/LemonBoy/bar";
+    maintainers = stdenv.lib.maintainers.meisternu;
+    license = "Custom";   
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/bspwm/default.nix b/pkgs/applications/window-managers/bspwm/default.nix
new file mode 100644
index 0000000000000..24789f37ba7eb
--- /dev/null
+++ b/pkgs/applications/window-managers/bspwm/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, libxcb, libXinerama, sxhkd, xcbutil, xcbutilkeysyms, xcbutilwm }:
+
+stdenv.mkDerivation rec {
+  name = "bspwm-0.8.9";
+  
+
+  src = fetchurl {
+    url = "https://github.com/baskerville/bspwm/archive/0.8.9.tar.gz";
+    sha256 = "750c76132914661d8d5edf7809e9b601977215d31e747dd780c60fd562913d55";
+  };
+
+  buildInputs = [ libxcb libXinerama xcbutil xcbutilkeysyms xcbutilwm ];
+
+  buildPhase = ''
+    make PREFIX=$out
+  '';
+ 
+  installPhase = ''
+    make PREFIX=$out install
+  '';
+
+  meta = {
+    description = "A tiling window manager based on binary space partitioning";
+    homepage = "http://github.com/baskerville/bspwm";
+    maintainers = stdenv.lib.maintainers.meisternu;
+    license = "BSD";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/sxhkd/default.nix b/pkgs/applications/window-managers/sxhkd/default.nix
new file mode 100644
index 0000000000000..03563a4f81212
--- /dev/null
+++ b/pkgs/applications/window-managers/sxhkd/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, asciidoc, libxcb, xcbutil, xcbutilkeysyms, xcbutilwm }:
+
+stdenv.mkDerivation rec {
+  name = "sxhkd-0.5.4";
+ 
+  src = fetchurl {
+    url = "https://github.com/baskerville/sxhkd/archive/0.5.4.tar.gz";
+    sha256 = "de95f97155319ded41ece9403ac9e9f18bfdd914a09f553ab09b331bbfe5d332";
+  };
+  
+  buildInputs = [ asciidoc libxcb xcbutil xcbutilkeysyms xcbutilwm ];
+
+  buildPhase = ''
+     make PREFIX=$out
+  '';
+
+  installPhase = ''
+     make PREFIX=$out install
+  '';
+
+  meta = {
+    description = "Simple X hotkey daemon";
+    homepage = "http://github.com/baskerville/sxhkd";
+    license = "BSD";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix b/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix
index 48b0cf417f086..086d80963d843 100644
--- a/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix
+++ b/pkgs/applications/window-managers/xmonad/xmonad-contrib.nix
@@ -16,9 +16,6 @@ cabal.mkDerivation (self: {
     description = "Third party extensions for xmonad";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with 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 b64cc244d651d..87ee4994e45db 100644
--- a/pkgs/applications/window-managers/xmonad/xmonad-extras.nix
+++ b/pkgs/applications/window-managers/xmonad/xmonad-extras.nix
@@ -19,9 +19,6 @@ cabal.mkDerivation (self: {
     description = "Third party extensions for xmonad with wacky dependencies";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index 4ddf8a4cb9f3a..fcb0126278343 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -227,8 +227,9 @@ clone_user_rev() {
 	echo "removing \`.git'..." >&2
         find $dir -name .git\* | xargs rm -rf
     else
-        # The logs and index contain timestamps
-        find $dir -name .git | xargs -I {} rm -rf {}/logs {}/index
+        # The logs and index contain timestamps, and the hooks contain
+        # the nix path of git's bash
+        find $dir -name .git | xargs -I {} rm -rf {}/logs {}/index {}/hooks
     fi
 }
 
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index b9e62355a01c1..080dfea2505fe 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -275,6 +275,7 @@ rec {
   postgresql = [
     ftp://ftp.postgresql.org/pub/
     ftp://ftp-archives.postgresql.org/pub/
+    http://ftp.postgresql.org/pub/
   ];
 
   metalab = [
diff --git a/pkgs/build-support/release/ant-build.nix b/pkgs/build-support/release/ant-build.nix
index 1ca3c65d3f256..409c98d8d3a38 100644
--- a/pkgs/build-support/release/ant-build.nix
+++ b/pkgs/build-support/release/ant-build.nix
@@ -11,6 +11,8 @@
 , ant ? pkgs.ant
 , jre ? pkgs.openjdk
 , hydraAntLogger ? pkgs.hydraAntLogger
+, zip ? pkgs.zip
+, unzip ? pkgs.unzip
 , ... } @ args:
 
 let
@@ -45,7 +47,10 @@ stdenv.mkDerivation (
          '' else stdenv.lib.concatMapStrings (j: ''
            cp -v ${j} $out/share/java
          '') jars }
+
+      . ${./functions.sh}
       for j in $out/share/java/*.jar ; do
+        canonicalizeJar $j
         echo file jar $j >> $out/nix-support/hydra-build-products
       done
     '';
@@ -95,7 +100,7 @@ stdenv.mkDerivation (
   {
     name = name + (if src ? version then "-" + src.version else "");
   
-    buildInputs = [ant jre] ++ stdenv.lib.optional (args ? buildInputs) args.buildInputs ;
+    buildInputs = [ant jre zip unzip] ++ stdenv.lib.optional (args ? buildInputs) args.buildInputs ;
 
     postHook = ''
       mkdir -p $out/nix-support
diff --git a/pkgs/build-support/release/functions.sh b/pkgs/build-support/release/functions.sh
index 8ac67a1967214..efc4e7970cc59 100644
--- a/pkgs/build-support/release/functions.sh
+++ b/pkgs/build-support/release/functions.sh
@@ -8,6 +8,29 @@ findTarballs() {
     echo "$1"
 }
 
+canonicalizeJarManifest() {
+	local input=$1
+	# http://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#Notes_on_Manifest_and_Signature_Files
+	(head -n 1 $input && tail -n +2 $input | sort | grep -v '^\s*$') > $input-tmp
+	mv $input-tmp $input
+}
+
+# Post-process a jar file to contain canonical timestamps and metadata ordering
+canonicalizeJar() {
+	local input=$1
+	local outer=$(pwd)
+	unzip -qq $input -d $input-tmp
+	canonicalizeJarManifest $input-tmp/META-INF/MANIFEST.MF
+	# Set all timestamps to Jan 1 1980, which is the earliest date the zip format supports...
+	find $input-tmp -exec touch -t 198001010000.00 {} +
+	rm $input
+	pushd $input-tmp
+	zip -q -r -o -X $outer/tmp-out.jar . 2> /dev/null
+	popd
+	rm -rf $input-tmp
+	mv $outer/tmp-out.jar $input
+}
+
 propagateImageName() {
     mkdir -p $out/nix-support
     cat "$diskImage"/nix-support/full-name > $out/nix-support/full-name
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 2994802c5e3ba..7a35577c69a30 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -1556,22 +1556,22 @@ rec {
     };
 
     debian60i386 = {
-      name = "debian-6.0.9-squeeze-i386";
-      fullName = "Debian 6.0.9 Squeeze (i386)";
+      name = "debian-6.0.10-squeeze-i386";
+      fullName = "Debian 6.0.10 Squeeze (i386)";
       packagesList = fetchurl {
         url = mirror://debian/dists/squeeze/main/binary-i386/Packages.bz2;
-        sha256 = "1fb9afa9b2d007939e066c031fc60f6626b78105ce42fe8cdeab7124a0dbf477";
+        sha256 = "c08899011a7a2b0df4da08f91eef3a80d112a247df988b1c966c9fb64c812392";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
     };
 
     debian60x86_64 = {
-      name = "debian-6.0.9-squeeze-amd64";
-      fullName = "Debian 6.0.9 Squeeze (amd64)";
+      name = "debian-6.0.10-squeeze-amd64";
+      fullName = "Debian 6.0.10 Squeeze (amd64)";
       packagesList = fetchurl {
         url = mirror://debian/dists/squeeze/main/binary-amd64/Packages.bz2;
-        sha256 = "cee46e56f35342c17795d1923b6c7e545f626e8d568fd48f91d5e0eb92ea329e";
+        sha256 = "3f2ebd5221b9a4bdf7224acf728a51a987c63d32df1bbc20a97f177d2f184045";
       };
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix
index 84a77e5a024af..6b9a69c738dc4 100644
--- a/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/apps/gedit/default.nix
@@ -25,7 +25,6 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/gedit" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH : "${gnome3.libpeas}/lib:${gnome3.gtksourceview}/lib" \
       --prefix XDG_DATA_DIRS : "${gnome3.gtksourceview}/share:${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
   '';
 
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix
index b393bb439316e..a8c84d6a7698e 100644
--- a/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/apps/gnome-documents/default.nix
@@ -28,17 +28,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  preFixup =
-    let
-      libPath = stdenv.lib.makeLibraryPath
-        [ evince gtk3 gnome3.tracker gnome3.gnome_online_accounts ];
-    in
-    ''
+  preFixup = ''
     substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib}/bin/gapplication"
     wrapProgram "$out/bin/gnome-documents" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH ":" "${libPath}" \
       --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
       --run "if [ -z \"\$XDG_CACHE_DIR\" ]; then XDG_CACHE_DIR=\$HOME/.cache; fi; if [ -w \"\$XDG_CACHE_DIR/..\" ]; then mkdir -p \"\$XDG_CACHE_DIR/gnome-documents\"; fi"
     rm $out/share/icons/hicolor/icon-theme.cache
diff --git a/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix
index b8d2bbc79efd1..31d521e8c302c 100644
--- a/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/apps/gnome-music/default.nix
@@ -24,19 +24,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  preFixup =
-    let
-      libPath = stdenv.lib.makeLibraryPath
-        [ glib gtk3 libnotify tracker gnome3.grilo cairo
-          gst_all_1.gstreamer gst_all_1.gst-plugins-base
-          gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ];
-    in
-    ''
+  preFixup = ''
     wrapProgram "$out/bin/gnome-music" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH : "${libPath}" \
       --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \
       --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \
       --prefix PYTHONPATH : "$PYTHONPATH"
diff --git a/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix b/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix
index a6236f1674403..b284186fa8292 100644
--- a/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "dconf-${version}";
-  version = "0.18.0";
+  version = "0.20.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/dconf/0.18/${name}.tar.xz";
-    sha256 = "0mf921pnkhs8xn1dr2wxfq277vjsbkpl9cccv0gaz4460z31p6qh";
+    url = "mirror://gnome/sources/dconf/0.20/${name}.tar.xz";
+    sha256 = "22c046a247d05ea65ad181e3aef4009c898a5531f76c0181f8ec0dfef83447d9";
   };
 
   buildInputs = [ vala libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Projects/dconf;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix
index 4e9acc822e74f..f5dc7639f3a5f 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountsservice, libX11
-, gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection, dconf }:
+{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, xorg, dbus
+, intltool, accountsservice, libX11, gnome3, systemd, gnome_session
+, gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
   name = "gdm-3.12.2";
@@ -9,10 +10,33 @@ stdenv.mkDerivation rec {
     sha256 = "cc91fff5afd2a7c3e712c960a0b60744774167dcfc16f486372e1eb3c0aa1cc4";
   };
 
-  buildInputs = [ pkgconfig glib itstool libxml2 intltool accountsservice dconf
-                  gobjectIntrospection libX11 gtk libcanberra_gtk3 pam libtool ];
+  # Only needed to make it build
+  preConfigure = ''
+    substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver}/bin/X"
+  '';
+
+  configureFlags = [ "--localstatedir=/var" "--with-systemd=yes"
+                     "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ];
+
+  buildInputs = [ pkgconfig glib itstool libxml2 intltool
+                  accountsservice gnome3.dconf systemd
+                  gobjectIntrospection libX11 gtk
+                  libcanberra_gtk3 pam libtool ];
+
+  enableParallelBuilding = true;
+
+  preBuild = ''
+    substituteInPlace daemon/gdm-simple-slave.c --replace 'BINDIR "/gnome-session' '"${gnome_session}/bin/gnome-session'
+    substituteInPlace daemon/gdm-launch-environment.c --replace 'BINDIR "/dbus-launch' '"${dbus.tools}/bin/dbus-launch'
+  '';
+
+  # Disable Access Control because our X does not support FamilyServerInterpreted yet
+  patches = [ ./xserver_path.patch ./sessions_dir.patch ./disable_x_access_control.patch ./propagate_xdgconfigdirs.patch ];
 
   meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/GDM;
+    description = "A program that manages graphical display servers and handles graphical user logins";
     platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/disable_x_access_control.patch b/pkgs/desktops/gnome-3/3.12/core/gdm/disable_x_access_control.patch
new file mode 100644
index 0000000000000..74d054f8c888c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/disable_x_access_control.patch
@@ -0,0 +1,18 @@
+diff --git a/daemon/gdm-slave.c b/daemon/gdm-slave.c
+index 1afe48e..e3d1ec2 100644
+--- a/daemon/gdm-slave.c
++++ b/daemon/gdm-slave.c
+@@ -291,9 +291,10 @@ gdm_slave_connect_to_x11_display (GdmSlave *slave)
+
+                 gdm_error_trap_push ();
+
+-                for (i = 0; i < G_N_ELEMENTS (host_entries); i++) {
++                /*for (i = 0; i < G_N_ELEMENTS (host_entries); i++) {
+                         XAddHost (slave->priv->server_display, &host_entries[i]);
+-                }
++                }*/
++               XDisableAccessControl(slave->priv->server_display);
+
+                 XSync (slave->priv->server_display, False);
+                 if (gdm_error_trap_pop ()) {
+
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch b/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch
new file mode 100644
index 0000000000000..20d7659c1e52e
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch
@@ -0,0 +1,26 @@
+--- a/daemon/gdm-launch-environment.c	2014-08-03 12:05:39.380178964 +0200
++++ b/daemon/gdm-launch-environment.c	2014-08-03 12:08:26.570182517 +0200
+@@ -224,6 +224,7 @@
+                 NULL
+         };
+         char *system_data_dirs;
++        char *system_config_dirs;
+         int i;
+ 
+         load_lang_config_file (LANG_CONFIG_FILE,
+@@ -251,6 +252,15 @@
+                                               system_data_dirs));
+         g_free (system_data_dirs);
+ 
++        system_config_dirs = g_strjoinv (":", (char **) g_get_system_config_dirs ());
++
++        g_hash_table_insert (hash,
++                             g_strdup ("XDG_CONFIG_DIRS"),
++                             g_strdup_printf ("%s",
++                                              system_config_dirs));
++        g_free (system_config_dirs);
++
++
+         g_hash_table_insert (hash, g_strdup ("XAUTHORITY"), g_strdup (launch_environment->priv->x11_authority_file));
+ 
+         g_hash_table_insert (hash, g_strdup ("LOGNAME"), g_strdup (launch_environment->priv->user_name));
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/sessions_dir.patch b/pkgs/desktops/gnome-3/3.12/core/gdm/sessions_dir.patch
new file mode 100644
index 0000000000000..b8fbad4d731d0
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/sessions_dir.patch
@@ -0,0 +1,17 @@
+diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
+index f759d2d..d154716 100644
+--- a/daemon/gdm-session.c
++++ b/daemon/gdm-session.c
+@@ -373,9 +373,12 @@ get_system_session_dirs (void)
+ #ifdef ENABLE_WAYLAND_SUPPORT
+                 DATADIR "/wayland-sessions/",
+ #endif
++                NULL,
+                 NULL
+         };
+ 
++        search_dirs[4] = getenv("GDM_SESSIONS_DIR") != NULL ? getenv("GDM_SESSIONS_DIR") : NULL;
++
+         return search_dirs;
+ }
+ 
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/xserver_path.patch b/pkgs/desktops/gnome-3/3.12/core/gdm/xserver_path.patch
new file mode 100644
index 0000000000000..412daee9f2707
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/xserver_path.patch
@@ -0,0 +1,15 @@
+--- a/daemon/gdm-server.c	2014-07-30 23:00:17.786841724 +0200
++++ b/daemon/gdm-server.c	2014-07-30 23:02:10.491239180 +0200
+@@ -322,7 +322,11 @@
+ fallback:
+ #endif
+ 
+-        server->priv->command = g_strdup_printf (X_SERVER X_SERVER_ARG_FORMAT, verbosity, debug_options);
++        if (g_getenv("GDM_X_SERVER") != NULL) {
++            server->priv->command = g_strdup (g_getenv("GDM_X_SERVER"));
++        } else {
++            server->priv->command = g_strdup_printf (X_SERVER X_SERVER_ARG_FORMAT, verbosity, debug_options);
++        }
+ }
+ 
+ static gboolean
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
index 002e8e7f7ff27..6f6816efa5bd7 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
@@ -1,6 +1,7 @@
 { fetchurl, stdenv, pkgconfig, gnome3, json_glib, libcroco, intltool, libsecret
 , python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns, at_spi2_core
 , libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
+, hicolor_icon_theme
 , pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
 , accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
 
@@ -20,6 +21,7 @@ stdenv.mkDerivation rec {
       clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
       libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server
       libical libtool nss gobjectIntrospection gtk gstreamer makeWrapper gdm gnome_control_center
+      hicolor_icon_theme gnome_icon_theme gnome_icon_theme_symbolic
       at_spi2_core upower ibus gnome_session gnome_desktop telepathy_logger gnome3.gnome_settings_daemon ];
 
   installFlags = [ "keysdir=$(out)/share/gnome-control-center/keybindings" ];
@@ -33,7 +35,6 @@ stdenv.mkDerivation rec {
     wrapProgram "$out/bin/gnome-shell" \
       --prefix PATH : "${unzip}/bin" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH : "${accountsservice}/lib:${ibus}/lib:${gdm}/lib" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
 
diff --git a/pkgs/desktops/gnome-3/3.12/core/vino/default.nix b/pkgs/desktops/gnome-3/3.12/core/vino/default.nix
index 8580af9b8841d..1692b2c9c96fa 100644
--- a/pkgs/desktops/gnome-3/3.12/core/vino/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/vino/default.nix
@@ -1,4 +1,5 @@
 { stdenv, intltool, fetchurl, gtk3, glib, libsoup, pkgconfig, makeWrapper
+, hicolor_icon_theme, gnome3
 , libnotify, file, telepathy_glib, dbus_glib }:
 
 stdenv.mkDerivation rec {
@@ -14,11 +15,12 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   buildInputs = [ gtk3 intltool glib libsoup pkgconfig libnotify
+                  hicolor_icon_theme gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
                   dbus_glib telepathy_glib file makeWrapper ];
 
   preFixup = ''
     wrapProgram "$out/libexec/vino-server" \
-      --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
+      --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/default.nix b/pkgs/desktops/gnome-3/3.12/default.nix
index ee1724e1e2506..586c66e849414 100644
--- a/pkgs/desktops/gnome-3/3.12/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/default.nix
@@ -237,5 +237,7 @@ rec {
 
   gnome-tweak-tool = callPackage ./misc/gnome-tweak-tool { };
 
+  gpaste = callPackage ./misc/gpaste { };
+
   gtkhtml = callPackage ./misc/gtkhtml { };
 }
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix
index 2eccb9a32cf99..1a48d6529a21e 100644
--- a/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/misc/gnome-tweak-tool/default.nix
@@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
       --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LD_LIBRARY_PATH ":" "${libsoup}/lib:${gnome3.gnome_desktop}/lib:${libnotify}/lib:${gtk3}/lib:${atk}/lib" \
       --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)"
   '';
 
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
new file mode 100644
index 0000000000000..c303ccdf51e21
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, intltool, autoreconfHook, pkgconfig, vala, glib
+, pango, gtk3, gnome3, dbus, clutter, appdata-tools, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  version = "3.12.2";
+  name = "gpaste-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/Keruspe/GPaste/archive/v${version}.tar.gz";
+    sha256 = "665c1d228c02148a8a1a5675d352cd4397a02c0c9992af2e9f0258dcc6b812ec";
+  };
+
+  buildInputs = [ intltool autoreconfHook pkgconfig vala glib
+                  gtk3 gnome3.gnome_control_center dbus.libs
+                  clutter pango appdata-tools makeWrapper ];
+
+  preConfigure = "intltoolize -f";
+
+  configureFlags = [ "--with-controlcenterdir=$(out)/gnome-control-center/keybindings"
+                     "--with-dbusservicesdir=$(out)/share/dbus-1/services" ];
+
+  enableParallelBuilding = true;
+
+  preFixup = 
+    let
+      libPath = stdenv.lib.makeLibraryPath
+        [ glib gtk3 clutter pango ];
+    in
+    ''
+      for i in $out/libexec/gpaste/*; do
+        wrapProgram $i \
+          --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
+          --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
+      done
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/Keruspe/GPaste;
+    description = "Clipboard management system with GNOME3 integration";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/compilers/chicken/default.nix b/pkgs/development/compilers/chicken/default.nix
index 17bf12f9e5f84..8fd99973cbc15 100644
--- a/pkgs/development/compilers/chicken/default.nix
+++ b/pkgs/development/compilers/chicken/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     homepage = http://www.call-cc.org/;
     license = "BSD";
     maintainers = with stdenv.lib.maintainers; [ the-kenny ];
-    platforms = stdenv.lib.platforms.allBut "x86_64-darwin";
+    platforms = with stdenv.lib.platforms; allBut darwin;
     description = "A portable compiler for the Scheme programming language";
     longDescription = ''
       CHICKEN is a compiler for the Scheme programming language.
diff --git a/pkgs/development/compilers/cryptol/1.8.x.nix b/pkgs/development/compilers/cryptol/1.8.x.nix
index 42887b22ab07a..4cf00ad3806d2 100644
--- a/pkgs/development/compilers/cryptol/1.8.x.nix
+++ b/pkgs/development/compilers/cryptol/1.8.x.nix
@@ -111,5 +111,7 @@ stdenv.mkDerivation rec {
     license     = stdenv.lib.licenses.unfree;
     platforms   = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    hydraPlatforms = stdenv.lib.platforms.none;
+    broken = true;
   };
 }
diff --git a/pkgs/development/compilers/epic/default.nix b/pkgs/development/compilers/epic/default.nix
index af63829061015..6ea377387ec60 100644
--- a/pkgs/development/compilers/epic/default.nix
+++ b/pkgs/development/compilers/epic/default.nix
@@ -16,6 +16,7 @@ cabal.mkDerivation (self: {
     description = "Compiler for a simple functional language";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/compilers/gcc/3.3/default.nix b/pkgs/development/compilers/gcc/3.3/default.nix
index bbb5273333754..23501489925a6 100644
--- a/pkgs/development/compilers/gcc/3.3/default.nix
+++ b/pkgs/development/compilers/gcc/3.3/default.nix
@@ -27,6 +27,5 @@ stdenv.mkDerivation {
     homepage = "http://gcc.gnu.org/";
     license = "GPL/LGPL";
     description = "GNU Compiler Collection, 3.3.x";
-    broken = true;
   };
 }
diff --git a/pkgs/development/compilers/gcc/4.2-apple64/default.nix b/pkgs/development/compilers/gcc/4.2-apple64/default.nix
index f5496cb5ef7bf..b2444ebb9bffa 100644
--- a/pkgs/development/compilers/gcc/4.2-apple64/default.nix
+++ b/pkgs/development/compilers/gcc/4.2-apple64/default.nix
@@ -45,5 +45,5 @@ stdenv.mkDerivation rec {
 
   buildInputs = stdenv.lib.optionals langF77 [ gmp mpfr bison flex ];
 
-  meta.broken = true;
+  #meta.broken = true;
 }
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index 2fb8f9d73b5e5..7b73559ba9c0c 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -59,10 +59,7 @@ let version = "4.8.3";
     # Whether building a cross-compiler for GNU/Hurd.
     crossGNU = cross != null && cross.config == "i586-pc-gnu";
 
-  /* gccinstall.info says that "parallel make is currently not supported since
-     collisions in profile collecting may occur".
-  */
-    enableParallelBuilding = !profiledCompiler;
+    enableParallelBuilding = true;
 
     patches = []
       ++ optional enableParallelBuilding ./parallel-bconfig.patch
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index 8b185d00bcc07..f61e6b4445a0d 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -57,10 +57,7 @@ let version = "4.9.1";
     # Whether building a cross-compiler for GNU/Hurd.
     crossGNU = cross != null && cross.config == "i586-pc-gnu";
 
-  /* gccinstall.info says that "parallel make is currently not supported since
-     collisions in profile collecting may occur".
-  */
-    enableParallelBuilding = !profiledCompiler;
+    enableParallelBuilding = true;
 
     patches = [ ]
       ++ optional enableParallelBuilding ./parallel-bconfig.patch
diff --git a/pkgs/development/compilers/ocaml/4.01.0.nix b/pkgs/development/compilers/ocaml/4.01.0.nix
index 79a7c8cd61f6c..0f68014fad643 100644
--- a/pkgs/development/compilers/ocaml/4.01.0.nix
+++ b/pkgs/development/compilers/ocaml/4.01.0.nix
@@ -1,13 +1,24 @@
-{ stdenv, fetchurl, ncurses, x11 }:
+let
+  safeX11 = stdenv: !(stdenv.isArm || stdenv.isMips);
+in
+
+{ stdenv, fetchurl, ncurses, buildEnv, libX11, xproto, useX11 ? safeX11 stdenv }:
+
+if useX11 && !(safeX11 stdenv)
+  then throw "x11 not available in ocaml with arm or mips arch"
+  else # let the indentation flow
 
 let
-   useX11 = !stdenv.isArm && !stdenv.isMips;
    useNativeCompilers = !stdenv.isMips;
    inherit (stdenv.lib) optionals optionalString;
 in
 
 stdenv.mkDerivation rec {
 
+  x11env = buildEnv { name = "x11env"; paths = [libX11 xproto]; };
+  x11lib = x11env + "/lib";
+  x11inc = x11env + "/include";
+
   name = "ocaml-4.01.0";
 
   src = fetchurl {
@@ -16,9 +27,11 @@ stdenv.mkDerivation rec {
   };
 
   prefixKey = "-prefix ";
-  configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" x11 ];
+  configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" x11lib
+                                                    "-x11include" x11inc ];
+
   buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
-  buildInputs = [ncurses] ++ optionals useX11 [ x11 ];
+  buildInputs = [ncurses] ++ optionals useX11 [ libX11 xproto ];
   installTargets = "install" + optionalString useNativeCompilers " installopt";
   preConfigure = ''
     CAT=$(type -tp cat)
diff --git a/pkgs/development/compilers/opa/default.nix b/pkgs/development/compilers/opa/default.nix
index 68413e3e25d1e..c25080229ffa4 100644
--- a/pkgs/development/compilers/opa/default.nix
+++ b/pkgs/development/compilers/opa/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, which, ocaml, perl, jdk
 , findlib, ocaml_ssl, openssl, cryptokit, camlzip, ulex
 , ocamlgraph, coreutils, zlib, ncurses, makeWrapper
-, gcc, binutils, gnumake } :
+, gcc, binutils, gnumake, nodejs, git } :
 
 stdenv.mkDerivation rec {
   pname = "opa";
-  version = "962";
+  version = "4308";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/MLstate/opalang/tarball/v${version}";
     name = "opa-${version}.tar.gz";
-    sha256 = "0g4kq2kxbld0iqlzb076b7g43d8fh4sfxam615z15mbk1jcvpf9l";
+    sha256 = "1farii9474i14ack6bpqm1jihs6i8pvwky3a7q8v8pbnl4i6lb5g";
   };
 
   # Paths so the opa compiler code generation will use the same programs as were
@@ -23,18 +23,27 @@ stdenv.mkDerivation rec {
     find . -type f -exec sed -i 's@/usr/bin/perl@${perl}/bin/perl@' {} \;
   '';
 
-  patches = [ ./locate.patch ./libdir.patch ];
+  patches = [];
 
   preConfigure = ''
     configureFlags="$configureFlags -prefix $out"
+    (
+    cat ./compiler/buildinfos/buildInfos.ml.pre
+    ./compiler/buildinfos/generate_buildinfos.sh . --release --version ./compiler/buildinfos/version_major.txt 
+    echo let opa_git_version = ${version}
+    echo 'let opa_git_sha = "xxxx"'
+    cat ./compiler/buildinfos/buildInfos.ml.post
+    )> ./compiler/buildinfos/buildInfos.ml
   '';
 
   dontAddPrefix = true;
 
-  configureFlags = "-ocamlfind ${findlib}/bin/ocamlfind -openssl ${openssl}/lib";
+  configureFlags = "-ocamlfind ${findlib}/bin/ocamlfind ";
 
   buildInputs = [ which ocaml perl jdk findlib ocaml_ssl openssl cryptokit camlzip ulex
-                  ocamlgraph coreutils zlib ncurses makeWrapper gcc binutils gnumake ];
+                  ocamlgraph coreutils zlib ncurses makeWrapper gcc binutils gnumake
+		  nodejs git
+		  ];
 
   postInstall = ''
     # Have compiler use same tools for code generation as used to build it.
@@ -58,5 +67,14 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl3;
     maintainers = [ stdenv.lib.maintainers.kkallio ];
     platforms = [ "x86_64-linux" ];
+    # File "compiler/libqmlcompil/dbGen/schema_io.ml", line 199, characters 3-53:
+    # Error: Signature mismatch:
+    #        ...
+    #     The field `remove_edge_e' is required but not provided
+    #     The field `remove_edge' is required but not provided
+    #     The field `remove_vertex' is required but not provided
+    # Command exited with code 2.
+    # make: *** [node] Error 10
+    broken = true;
   };
 }
diff --git a/pkgs/development/compilers/pakcs/default.nix b/pkgs/development/compilers/pakcs/default.nix
index 1fb4318ebb929..f7c76d74aaeb6 100644
--- a/pkgs/development/compilers/pakcs/default.nix
+++ b/pkgs/development/compilers/pakcs/default.nix
@@ -6,7 +6,7 @@ let
 
   fsrc = fetchurl {
     url = "http://www.informatik.uni-kiel.de/~pakcs/download/${fname}-src.tar.gz";
-    sha256 = "0m9s6693svr57in8rhkvq9h2j0hiphki6jn0syzrzzs4ahb7i1gb";
+    sha256 = "0f4rhaqss9vfinpdjchxq75g343hz322cv0admjnl4g5g568wk3x";
   };
 
 in
@@ -118,5 +118,7 @@ stdenv.mkDerivation rec {
 
     maintainers = [ stdenv.lib.maintainers.kkallio ];
     platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.none;
+    broken = true;
   };
 }
diff --git a/pkgs/development/compilers/stalin/default.nix b/pkgs/development/compilers/stalin/default.nix
index faa281efc7a6b..09045ee2c11e8 100644
--- a/pkgs/development/compilers/stalin/default.nix
+++ b/pkgs/development/compilers/stalin/default.nix
@@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
     description = "Stalin, an optimizing Scheme compiler";
 
     maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = ["i686-linux"];  # doesn't want to work on 64-bit platforms
   };
 }
diff --git a/pkgs/development/interpreters/erlang/R17.nix b/pkgs/development/interpreters/erlang/R17.nix
index b7cbfc486f5ad..2aba55d36792b 100644
--- a/pkgs/development/interpreters/erlang/R17.nix
+++ b/pkgs/development/interpreters/erlang/R17.nix
@@ -8,11 +8,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "erlang-" + version;
-  version = "17.0";
+  version = "17.1";
 
   src = fetchurl {
     url = "http://www.erlang.org/download/otp_src_${version}.tar.gz";
-    sha256 = "1nyaka6238vh4kdgaynmg8hm5y5zj7hhyl1c971d2pjylsm2nzr9";
+    sha256 = "0mn3p5rwvjfsxjnn1vrm0lxdq40wq9bmd9nibl6hqbfcnnrga1mq";
   };
 
   buildInputs =
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   postInstall = let
     manpages = fetchurl {
       url = "http://www.erlang.org/download/otp_doc_man_${version}.tar.gz";
-      sha256 = "16dkz3w1q4ahy37c8a8r2h8zjcr7cxz7pd9z38chbxf6frc2pxxc";
+      sha256 = "1aza6hxhh7ag2frsa0hg6il6ancjrbazvgz7jc2p7qrmy5vh48sa";
     };
   in ''
     ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call
diff --git a/pkgs/development/interpreters/lua-5/5.0.3.nix b/pkgs/development/interpreters/lua-5/5.0.3.nix
index 5ae5b4156a877..8a1d35a6c0782 100644
--- a/pkgs/development/interpreters/lua-5/5.0.3.nix
+++ b/pkgs/development/interpreters/lua-5/5.0.3.nix
@@ -25,7 +25,5 @@ stdenv.mkDerivation {
       for configuration, scripting, and rapid prototyping.
     '';
     license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/interpreters/lua-5/5.1.nix b/pkgs/development/interpreters/lua-5/5.1.nix
index 065a7bb35b2d8..1b05cb8f77800 100644
--- a/pkgs/development/interpreters/lua-5/5.1.nix
+++ b/pkgs/development/interpreters/lua-5/5.1.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
       for configuration, scripting, and rapid prototyping.
     '';
     license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/development/interpreters/lua-5/5.2.nix b/pkgs/development/interpreters/lua-5/5.2.nix
index eeb447e0e619e..ea44adb462c19 100644
--- a/pkgs/development/interpreters/lua-5/5.2.nix
+++ b/pkgs/development/interpreters/lua-5/5.2.nix
@@ -97,7 +97,7 @@ stdenv.mkDerivation rec {
       for configuration, scripting, and rapid prototyping.
     '';
     license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.unix;
+    hydraPlatforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/development/interpreters/lua-5/expat.nix b/pkgs/development/interpreters/lua-5/expat.nix
index a2b42cb37c531..0dbbaf8a16143 100644
--- a/pkgs/development/interpreters/lua-5/expat.nix
+++ b/pkgs/development/interpreters/lua-5/expat.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://matthewwild.co.uk/projects/luaexpat";
-    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.flosse ];
   };
 }
diff --git a/pkgs/development/interpreters/lua-5/filesystem.nix b/pkgs/development/interpreters/lua-5/filesystem.nix
index a5da2c5ddd02a..0df5a6d372127 100644
--- a/pkgs/development/interpreters/lua-5/filesystem.nix
+++ b/pkgs/development/interpreters/lua-5/filesystem.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://github.com/keplerproject/luafilesystem";
-    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.flosse ];
   };
 }
diff --git a/pkgs/development/interpreters/lua-5/sec.nix b/pkgs/development/interpreters/lua-5/sec.nix
index 97e9f51ac1bfd..33def9c51fd4a 100644
--- a/pkgs/development/interpreters/lua-5/sec.nix
+++ b/pkgs/development/interpreters/lua-5/sec.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://github.com/brunoos/luasec";
-    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.flosse ];
   };
 }
diff --git a/pkgs/development/interpreters/lua-5/sockets.nix b/pkgs/development/interpreters/lua-5/sockets.nix
index a3f9adb090172..9c6cea38170e4 100644
--- a/pkgs/development/interpreters/lua-5/sockets.nix
+++ b/pkgs/development/interpreters/lua-5/sockets.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://w3.impa.br/~diego/software/luasocket/";
-    platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.mornfall ];
   };
 }
diff --git a/pkgs/development/interpreters/perl/5.16/default.nix b/pkgs/development/interpreters/perl/5.16/default.nix
index 600884db5e67d..c1a5374c92ea0 100644
--- a/pkgs/development/interpreters/perl/5.16/default.nix
+++ b/pkgs/development/interpreters/perl/5.16/default.nix
@@ -54,6 +54,12 @@ stdenv.mkDerivation rec {
       ${optionalString stdenv.isArm ''
         configureFlagsArray=(-Dldflags="-lm -lrt")
       ''}
+
+      ${optionalString stdenv.isCygwin ''
+        cp cygwin/cygwin.c{,.bak}
+        echo "#define PERLIO_NOT_STDIO 0" > tmp
+        cat tmp cygwin/cygwin.c.bak > cygwin/cygwin.c
+      ''}
     '';
 
   preBuild = optionalString (!(stdenv ? gcc && stdenv.gcc.nativeTools))
diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix
index 940b667e86a88..64e21b7556911 100644
--- a/pkgs/development/interpreters/python/2.6/default.nix
+++ b/pkgs/development/interpreters/python/2.6/default.nix
@@ -30,7 +30,7 @@ let
 
   buildInputs =
     optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
-    [ bzip2 ]
+    [ bzip2 openssl ]
     ++ optional zlibSupport zlib;
 
 
@@ -178,10 +178,7 @@ let
       deps = [ sqlite ];
     };
 
-    ssl = buildInternalPythonModule {
-      moduleName = "ssl";
-      deps = [ openssl ];
-    };
+    ssl = null;
 
     tkinter = buildInternalPythonModule {
       moduleName = "tkinter";
diff --git a/pkgs/development/libraries/allegro/5-unstable.nix b/pkgs/development/libraries/allegro/5-unstable.nix
index a277129c0a926..d7a8708e5401e 100644
--- a/pkgs/development/libraries/allegro/5-unstable.nix
+++ b/pkgs/development/libraries/allegro/5-unstable.nix
@@ -15,10 +15,11 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="allegro";
+    folderSuffix = "-unstable";
     version = "5.1.8";
     name="${baseName}-${version}";
     project="alleg";
-    url="mirror://sourceforge/project/${project}/${baseName}/${version}/${name}.tar.gz";
+    url="mirror://sourceforge/project/${project}/${baseName}${folderSuffix}/${version}/${name}.tar.gz";
     hash="18fdppaqaf3g3rcqwhyvsmkzk3y14clz4l8cvmg4hvjgyf011f3i";
   };
 in
diff --git a/pkgs/development/libraries/buddy/default.nix b/pkgs/development/libraries/buddy/default.nix
index 3cfa2a2502167..d23b2f27c0783 100644
--- a/pkgs/development/libraries/buddy/default.nix
+++ b/pkgs/development/libraries/buddy/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     description = "binary decision diagram package";
     license = "as-is";
 
-    platforms = stdenv.lib.platforms.allBut "i686-cygwin";
+    platforms = with stdenv.lib.platforms; allBut cygwin;
     maintainers = [ stdenv.lib.maintainers.simons ];
   };
 }
diff --git a/pkgs/development/libraries/cln/default.nix b/pkgs/development/libraries/cln/default.nix
index f536e746d0e9b..982deb29ea8c0 100644
--- a/pkgs/development/libraries/cln/default.nix
+++ b/pkgs/development/libraries/cln/default.nix
@@ -14,6 +14,6 @@ stdenv.mkDerivation rec {
     description = "C/C++ library for numbers, a part of GiNaC";
     homepage = http://www.ginac.de/CLN/;
     maintainers = [ stdenv.lib.maintainers.urkud ];
-    platforms = stdenv.lib.platforms.allBut "i686-cygwin";
+    platforms = with stdenv.lib.platforms; allBut cygwin;
   };
 }
diff --git a/pkgs/development/libraries/cloog-ppl/default.nix b/pkgs/development/libraries/cloog-ppl/default.nix
index d84baedf96e00..6f938680d7e1e 100644
--- a/pkgs/development/libraries/cloog-ppl/default.nix
+++ b/pkgs/development/libraries/cloog-ppl/default.nix
@@ -74,6 +74,6 @@ stdenv.mkDerivation rec {
        make[3]: *** [Box.lo] Error 1
 
     */
-    platforms = stdenv.lib.platforms.allBut "i686-cygwin";
+    platforms = with stdenv.lib.platforms; allBut cygwin;
   };
 }
diff --git a/pkgs/development/libraries/cloog/default.nix b/pkgs/development/libraries/cloog/default.nix
index 205f4d83693a4..da4501285e121 100644
--- a/pkgs/development/libraries/cloog/default.nix
+++ b/pkgs/development/libraries/cloog/default.nix
@@ -58,6 +58,6 @@ stdenv.mkDerivation rec {
        make[3]: *** [Box.lo] Error 1
 
     */
-    platforms = stdenv.lib.platforms.allBut "i686-cygwin";
+    platforms = with stdenv.lib.platforms; allBut cygwin;
   };
 }
diff --git a/pkgs/development/libraries/commoncpp2/default.nix b/pkgs/development/libraries/commoncpp2/default.nix
index 348f7bdfb66ff..9dff8a6c50f69 100644
--- a/pkgs/development/libraries/commoncpp2/default.nix
+++ b/pkgs/development/libraries/commoncpp2/default.nix
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
     maintainers = [ stdenv.lib.maintainers.marcweber
                     stdenv.lib.maintainers.ludo
                   ];
-    platforms = stdenv.lib.platforms.allBut "i686-freebsd";
+    platforms = with stdenv.lib.platforms; allBut freebsd;
   };
 }
diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix
index a417eb763a705..b6aaa0c033293 100644
--- a/pkgs/development/libraries/dbus/default.nix
+++ b/pkgs/development/libraries/dbus/default.nix
@@ -91,7 +91,7 @@ let
       stdenv.lib.optionalString (!stdenv.isDarwin) "-Wl,--as-needed "
       + "-ldbus-1";
 
-    meta.platforms = stdenv.lib.platforms.all;
+    meta.platforms = with stdenv.lib.platforms; allBut darwin;
   };
 
   daemon = tools;
diff --git a/pkgs/development/libraries/ffmpeg/2.x.nix b/pkgs/development/libraries/ffmpeg/2.x.nix
index 7a35ecca9a3b6..19a4099a8b1c7 100644
--- a/pkgs/development/libraries/ffmpeg/2.x.nix
+++ b/pkgs/development/libraries/ffmpeg/2.x.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "ffmpeg-2.3";
+  name = "ffmpeg-2.3.2";
 
   src = fetchurl {
     url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
-    sha256 = "17l0bx95al6cjhz3pzfcbwg07sbfbwqbxg34zl5lhl89w9jbngbb";
+    sha256 = "1lpzqjpklmcjzk327pz070m3qz3s1cwg8v90w6r1sdh8491kbqc4";
   };
 
   subtitleSupport = config.ffmpeg.subtitle or true;
diff --git a/pkgs/development/libraries/freeglut/default.nix b/pkgs/development/libraries/freeglut/default.nix
index 6e556a144ce2c..73e7e2ccce5d0 100644
--- a/pkgs/development/libraries/freeglut/default.nix
+++ b/pkgs/development/libraries/freeglut/default.nix
@@ -1,15 +1,27 @@
-{ stdenv, fetchurl, libXi, libXrandr, libXxf86vm, mesa, x11 }:
+{ stdenv, lib, fetchurl, libXi, libXrandr, libXxf86vm, mesa, x11, autoreconfHook }:
 
-stdenv.mkDerivation {
-  name = "freeglut-2.8.1";
+let version = "2.8.1";
+in stdenv.mkDerivation {
+  name = "freeglut-${version}";
 
   src = fetchurl {
-    url = mirror://sourceforge/freeglut/freeglut-2.8.1.tar.gz;
+    url = "mirror://sourceforge/freeglut/freeglut-${version}.tar.gz";
     sha256 = "16lrxxxd9ps9l69y3zsw6iy0drwjsp6m26d1937xj71alqk6dr6x";
   };
 
-  configureFlags = "--" + (if stdenv.isDarwin then "disable" else "enable") + "-warnings";
+  buildInputs = [
+    libXi libXrandr libXxf86vm mesa x11
+  ] ++ lib.optionals stdenv.isDarwin [
+    autoreconfHook
+  ];
+
+  postPatch = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace Makefile.am --replace \
+      "SUBDIRS = src include progs doc" \
+      "SUBDIRS = src include doc"
+  '';
+
+  configureFlags = [ "--enable-warnings" ];
 
-  buildInputs = [ libXi libXrandr libXxf86vm mesa x11 ];
   # patches = [ ./0001-remove-typedefs-now-living-in-mesa.patch ];
 }
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 14e7249596829..f4157cdd8d0ae 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -2,7 +2,7 @@
 , libiconvOrEmpty, libintlOrEmpty, zlib, libffi, pcre, libelf
 
 # this is just for tests (not in closure of any regular package)
-, libxml2, tzdata, desktop_file_utils, shared_mime_info, doCheck ? false
+, coreutils, dbus_daemon, libxml2, tzdata, desktop_file_utils, shared_mime_info, doCheck ? false
 }:
 
 with stdenv.lib;
@@ -80,12 +80,21 @@ stdenv.mkDerivation rec {
   preCheck = optionalString doCheck
     # libgcc_s.so.1 must be installed for pthread_cancel to work
     # also point to the glib/.libs path
-    '' export LD_LIBRARY_PATH="$(dirname $(echo ${stdenv.gcc.gcc}/lib*/libgcc_s.so)):$NIX_BUILD_TOP/${name}/glib/.libs:$LD_LIBRARY_PATH"
+    '' export LD_LIBRARY_PATH="${stdenv.gcc.gcc}/lib:$NIX_BUILD_TOP/${name}/glib/.libs:$LD_LIBRARY_PATH"
        export TZDIR="${tzdata}/share/zoneinfo"
        export XDG_CACHE_HOME="$TMP"
        export XDG_RUNTIME_HOME="$TMP"
        export HOME="$TMP"
        export XDG_DATA_DIRS="${desktop_file_utils}/share:${shared_mime_info}/share"
+       export G_TEST_DBUS_DAEMON="${dbus_daemon}/bin/dbus-daemon"
+
+       substituteInPlace gio/tests/desktop-files/home/applications/epiphany-weather-for-toronto-island-9c6a4e022b17686306243dada811d550d25eb1fb.desktop --replace "Exec=/bin/true" "Exec=${coreutils}/bin/true"
+       # Needs machine-id, comment the test
+       sed -e '/\/gdbus\/codegen-peer-to-peer/ s/^\/*/\/\//' -i gio/tests/gdbus-peer.c
+       # All gschemas fail to pass the test, upstream bug?
+       sed -e '/g_test_add_data_func/ s/^\/*/\/\//' -i gio/tests/gschema-compile.c
+       # Needed because of libtool wrappers
+       sed -e '/g_subprocess_launcher_set_environ (launcher, envp);/a g_subprocess_launcher_setenv (launcher, "PATH", g_getenv("PATH"), TRUE);' -i gio/tests/gsubprocess.c
     '';
 
   postInstall = ''rm -rvf $out/share/gtk-doc'';
diff --git a/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
new file mode 100644
index 0000000000000..04bcc42a032f6
--- /dev/null
+++ b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
@@ -0,0 +1,25 @@
+--- ./giscanner/utils.py.orig	2014-08-14 22:05:05.055334080 +0200
++++ ./giscanner/utils.py	2014-08-14 22:05:24.687497334 +0200
+@@ -110,17 +110,11 @@
+     if dlname is None:
+         return None
+ 
+-    # Darwin uses absolute paths where possible; since the libtool files never
+-    # contain absolute paths, use the libdir field
+-    if platform.system() == 'Darwin':
+-        dlbasename = os.path.basename(dlname)
+-        libdir = _extract_libdir_field(la_file)
+-        if libdir is None:
+-            return dlbasename
+-        return libdir + '/' + dlbasename
+-    # From the comments in extract_libtool(), older libtools had
+-    # a path rather than the raw dlname
+-    return os.path.basename(dlname)
++    dlbasename = os.path.basename(dlname)
++    libdir = _extract_libdir_field(la_file)
++    if libdir is None:
++        return dlbasename
++    return libdir + '/' + dlbasename
+ 
+ 
+ def extract_libtool(la_file):
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 7686fb3083839..4b7ec1f41163f 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
+  patches = [ ./absolute_shlib_path.patch ];
+
   meta = with stdenv.lib; {
     description = "A middleware layer between C libraries and language bindings";
     homepage    = http://live.gnome.org/GObjectIntrospection;
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index dfef29c558a50..d86e450477dc3 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -10,7 +10,7 @@
 assert faacSupport -> faac != null;
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-bad-1.2.4";
+  name = "gst-plugins-bad-1.4.0";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Bad Plugins";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
-    sha256 = "1jifzrgr4y3566d2lq30fibcd4rb8z8vpqnr2gihbmymr4z16k4q";
+    sha256 = "1y821785rvr6s79cmdll66hg6h740qa2n036xid20nvjyxabfb7z";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index b7d45caafb06c..9ae5f194fa22c 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-base-1.2.4";
+  name = "gst-plugins-base-1.4.0";
 
   meta = {
     description = "Base plugins and helper libraries";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz";
-    sha256 = "0l35zh2cdv515zv6n4yif49y6jfxzlf73q6g7k2vr52s7zf76qjd";
+    sha256 = "07jcs08hjyban0amls5s0g6i4a1hwiir1llwpqzlwkmnhfwx9bjx";
   };
 
   nativeBuildInputs = [
@@ -29,4 +29,7 @@ stdenv.mkDerivation rec {
   ];
 
   propagatedBuildInputs = [ gstreamer ];
+
+  enableParallelBuilding = true;
 }
+
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index 37b69efaa81e8..a99c0f14ecc3a 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-1.2.4";
+  name = "gstreamer-1.4.0";
 
   meta = {
     description = "Open source multimedia framework";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
-    sha256 = "0aa93cqzrhm1z7rkzk343p251ifvih0d0l8xsng2ra3hg1xacz0y";
+    sha256 = "15f68pn2b47x543ih7hj59czgzl4af14j15bgjq8ky145gf9zhr3";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index 90233abe31c15..daf2ba59a406f 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-editing-services-1.2.0";
+  name = "gstreamer-editing-services-1.2.1";
 
   meta = with stdenv.lib; {
     description = "Library for creation of audio/video non-linear editors";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz";
-    sha256 = "1n7nw8rqvwna9af55lggah44gdvfgld1igvgaya8glc37wpq89b0";
+    sha256 = "1c20zg272wgzqw4f93f1prkv9a9gdqxmf3kal29l0r2wmwhqnxpy";
   };
 
   nativeBuildInputs = [ pkgconfig python gobjectIntrospection ];
diff --git a/pkgs/development/libraries/gstreamer/gnonlin/default.nix b/pkgs/development/libraries/gstreamer/gnonlin/default.nix
index c45c1469cb36e..44bb1c48c81d7 100644
--- a/pkgs/development/libraries/gstreamer/gnonlin/default.nix
+++ b/pkgs/development/libraries/gstreamer/gnonlin/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gnonlin-1.2.0";
+  name = "gnonlin-1.2.1";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Non-Linear Multimedia Editing Plugins";
@@ -13,14 +13,14 @@ stdenv.mkDerivation rec {
       support for writing non-linear audio and video editing
       applications. It introduces the concept of a timeline.
     '';
-    license     = licenses.lgpl2Plus; 
+    license     = licenses.lgpl2Plus;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
     url = "${meta.homepage}/src/gnonlin/${name}.tar.xz";
-    sha256 = "15hyb0kg8sm92kj37cir4l3sa21b8zy4la1ccfhb358b4mf24vl7";
+    sha256 = "14zb3bz3xn40a2kns719amrr77cp6wyxddml621kyxc424ihcw3q";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index d0f989a22d6b0..69ffa81cb25b8 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -7,7 +7,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-good-1.2.4";
+  name = "gst-plugins-good-1.4.0";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Good Plugins";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz";
-    sha256 = "1lr0yk352jrcgxadi9mvjgkli7xiwwnc15by71w5wbiw75l07jf9";
+    sha256 = "11965w4zr0jvrsnw33rbcc8d20dlh368rz0x16d2iypzhxwjx9j8";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index 699f30a053085..ee4b3c392ddbc 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -6,7 +6,7 @@
 assert withSystemLibav -> libav != null;
 
 stdenv.mkDerivation rec {
-  name = "gst-libav-1.2.4";
+  name = "gst-libav-1.4.0";
 
   meta = {
     homepage = "http://gstreamer.freedesktop.org";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
-    sha256 = "0dzhs73vzl0kvrj0y6w8vg1bnh9mmcly5qnr94rbjbgwcc6lhs9a";
+    sha256 = "1073p7xdpr3pwyx37fnldfni908apnq3k9fbqmxf5wk3g1jplb68";
   };
 
   configureFlags = stdenv.lib.optionalString withSystemLibav
diff --git a/pkgs/development/libraries/gstreamer/python/default.nix b/pkgs/development/libraries/gstreamer/python/default.nix
index d20f06635da9c..fad8308703b3f 100644
--- a/pkgs/development/libraries/gstreamer/python/default.nix
+++ b/pkgs/development/libraries/gstreamer/python/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-python-1.2.0";
+  name = "gst-python-1.2.1";
 
   src = fetchurl {
     urls = [
       "${meta.homepage}/src/gst-python/${name}.tar.bz2"
       "mirror://gentoo/distfiles/${name}.tar.bz2"
       ];
-    sha256 = "09c6yls8ipbmwimdjr7xi3hvf2xa1xn1pv07855r7wfyzas1xbl1";
+    sha256 = "1m7gh017f70i5pg6k9sx54ihwaizvi2dlli687gi44n5zylya8w8";
   };
 
   patches = [ ./different-path-with-pygobject.patch ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   '';
 
   propagatedBuildInputs = [ gstreamer python ];
- 
+
   meta = {
     homepage = http://gstreamer.freedesktop.org;
 
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index 7f161f141a9dd..da37280af99ee 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-ugly-1.2.4";
+  name = "gst-plugins-ugly-1.4.0";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Ugly Plugins";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz";
-    sha256 = "1a4fk0mv21az5wz2wz0xmd0w13y2nhhbdispsj2q6yym8xmggxjf";
+    sha256 = "0kblc5f4n0mh2sw8dhf7c9dg3wzm7a0p7pqpcff7n6ixy5hbn52k";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
diff --git a/pkgs/development/libraries/haskell/AC-Vector/default.nix b/pkgs/development/libraries/haskell/AC-Vector/default.nix
index 4dd3e78652c3a..6693daef619b4 100644
--- a/pkgs/development/libraries/haskell/AC-Vector/default.nix
+++ b/pkgs/development/libraries/haskell/AC-Vector/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Efficient geometric vectors and transformations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Boolean/default.nix b/pkgs/development/libraries/haskell/Boolean/default.nix
index e07436c225616..53eea4f738deb 100644
--- a/pkgs/development/libraries/haskell/Boolean/default.nix
+++ b/pkgs/development/libraries/haskell/Boolean/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Generalized booleans and numbers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Cabal/1.14.0.nix b/pkgs/development/libraries/haskell/Cabal/1.14.0.nix
index 8f4fd2e7236c2..a905017472f6b 100644
--- a/pkgs/development/libraries/haskell/Cabal/1.14.0.nix
+++ b/pkgs/development/libraries/haskell/Cabal/1.14.0.nix
@@ -19,9 +19,6 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Cabal/1.16.0.3.nix b/pkgs/development/libraries/haskell/Cabal/1.16.0.3.nix
index bd7576b9a393b..7f8b0631fc6cd 100644
--- a/pkgs/development/libraries/haskell/Cabal/1.16.0.3.nix
+++ b/pkgs/development/libraries/haskell/Cabal/1.16.0.3.nix
@@ -20,9 +20,6 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Cabal/1.18.1.3.nix b/pkgs/development/libraries/haskell/Cabal/1.18.1.3.nix
index 8df99f7c900ed..27673beb1a074 100644
--- a/pkgs/development/libraries/haskell/Cabal/1.18.1.3.nix
+++ b/pkgs/development/libraries/haskell/Cabal/1.18.1.3.nix
@@ -20,9 +20,7 @@ cabal.mkDerivation (self: {
     description = "A framework for packaging Haskell software";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Cabal/1.20.0.2.nix b/pkgs/development/libraries/haskell/Cabal/1.20.0.2.nix
index 35d0ddfd330c5..ac417de67a169 100644
--- a/pkgs/development/libraries/haskell/Cabal/1.20.0.2.nix
+++ b/pkgs/development/libraries/haskell/Cabal/1.20.0.2.nix
@@ -20,9 +20,6 @@ cabal.mkDerivation (self: {
     description = "A framework for packaging Haskell software";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Chart-cairo/default.nix b/pkgs/development/libraries/haskell/Chart-cairo/default.nix
index eb0d5127c8556..d2dea8158197c 100644
--- a/pkgs/development/libraries/haskell/Chart-cairo/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-cairo/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart-cairo";
-  version = "1.2.3";
-  sha256 = "1lbl1qvgm4yxslahlms6kzfrhh8s2fcdiwmvk1bs319k1fylia1b";
+  version = "1.2.4";
+  sha256 = "1ggqh3v14mwv9q1pmz3hbx7g1dvibfwl1vzvag92q7432q4pqm2z";
   buildDepends = [
     cairo Chart colour dataDefaultClass lens mtl operational time
   ];
diff --git a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix
index 34cbb5511ab2c..002b762fbac24 100644
--- a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart-diagrams";
-  version = "1.2.3";
-  sha256 = "08ps30vn9ljiyhgakwdbixn4csy504bsw3h5z9w1dxhn27wij772";
+  version = "1.2.4";
+  sha256 = "099frqvfjqqc7h3zr52saqyg37di0klr0y649afzxd7lj3d67mvw";
   buildDepends = [
     blazeSvg Chart colour dataDefaultClass diagramsCore diagramsLib
     diagramsPostscript diagramsSvg lens mtl operational SVGFonts text
@@ -20,5 +20,6 @@ cabal.mkDerivation (self: {
     description = "Diagrams backend for Charts";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/Chart-gtk/default.nix b/pkgs/development/libraries/haskell/Chart-gtk/default.nix
index 0b281026b1856..9dbb3c8ae9a9a 100644
--- a/pkgs/development/libraries/haskell/Chart-gtk/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-gtk/default.nix
@@ -4,10 +4,9 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart-gtk";
-  version = "1.2.3";
-  sha256 = "0vl9nh48pa7sdrqh5a6smmfallf4mwzrvspc2v94cpnrcnickiyq";
+  version = "1.2.4";
+  sha256 = "16dfmkls341cmk13j1z3rw2wxdvxr5rqsv1ff4qjhjak9j7hkqjq";
   buildDepends = [ cairo Chart ChartCairo colour gtk mtl time ];
-  jailbreak = true;
   meta = {
     homepage = "https://github.com/timbod7/haskell-chart/wiki";
     description = "Utility functions for using the chart library with GTK";
diff --git a/pkgs/development/libraries/haskell/Chart/default.nix b/pkgs/development/libraries/haskell/Chart/default.nix
index fbadacf2e60a9..d5696a562da43 100644
--- a/pkgs/development/libraries/haskell/Chart/default.nix
+++ b/pkgs/development/libraries/haskell/Chart/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart";
-  version = "1.2.3";
-  sha256 = "067bahxig5xyd6zasi74k86qb7bxvbs3shjn9fbslhyckxg50q1j";
+  version = "1.2.4";
+  sha256 = "0zizrkxsligvxs5x5r2j0pynf6ncjl4mgyzbh1zfqgnz29frylh7";
   buildDepends = [
     colour dataDefaultClass lens mtl operational time
   ];
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "A library for generating 2D Charts and Plots";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ConfigFile/default.nix b/pkgs/development/libraries/haskell/ConfigFile/default.nix
index d7a33dab28e54..1de333a04d95d 100644
--- a/pkgs/development/libraries/haskell/ConfigFile/default.nix
+++ b/pkgs/development/libraries/haskell/ConfigFile/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Configuration file reading & writing";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/CouchDB/default.nix b/pkgs/development/libraries/haskell/CouchDB/default.nix
index 4dac140d122b9..44a5d50edc5a9 100644
--- a/pkgs/development/libraries/haskell/CouchDB/default.nix
+++ b/pkgs/development/libraries/haskell/CouchDB/default.nix
@@ -8,13 +8,12 @@ cabal.mkDerivation (self: {
   sha256 = "0a9g0iblfyqppcy1ni3ac8f3yv5km95bfblhwqlsk6khydi5ka98";
   buildDepends = [ HTTP json mtl network utf8String ];
   testDepends = [ HTTP HUnit json mtl network utf8String ];
-  doCheck = false;
   jailbreak = true;
+  doCheck = false;
   meta = {
     homepage = "http://github.com/arjunguha/haskell-couchdb/";
     description = "CouchDB 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/Crypto/default.nix b/pkgs/development/libraries/haskell/Crypto/default.nix
index f2ee437d1af9a..d9a494fe94e69 100644
--- a/pkgs/development/libraries/haskell/Crypto/default.nix
+++ b/pkgs/development/libraries/haskell/Crypto/default.nix
@@ -13,6 +13,5 @@ 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 ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Diff/default.nix b/pkgs/development/libraries/haskell/Diff/default.nix
index a556dc8958da7..478cb6d657abb 100644
--- a/pkgs/development/libraries/haskell/Diff/default.nix
+++ b/pkgs/development/libraries/haskell/Diff/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "O(ND) diff algorithm 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/EitherT/default.nix b/pkgs/development/libraries/haskell/EitherT/default.nix
index 4e8074409c8d5..66ccb6a8d4e94 100644
--- a/pkgs/development/libraries/haskell/EitherT/default.nix
+++ b/pkgs/development/libraries/haskell/EitherT/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "EitherT monad transformer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/FerryCore/default.nix b/pkgs/development/libraries/haskell/FerryCore/default.nix
index 6b1b71a22f1e0..6f0405807fb78 100644
--- a/pkgs/development/libraries/haskell/FerryCore/default.nix
+++ b/pkgs/development/libraries/haskell/FerryCore/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Ferry Core Components";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLFW/default.nix b/pkgs/development/libraries/haskell/GLFW/default.nix
index a687f7090181b..fb554c95dfca3 100644
--- a/pkgs/development/libraries/haskell/GLFW/default.nix
+++ b/pkgs/development/libraries/haskell/GLFW/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "A Haskell binding for GLFW";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLURaw/1.3.0.0.nix b/pkgs/development/libraries/haskell/GLURaw/1.3.0.0.nix
index 16bd7641ad729..bf23628a71019 100644
--- a/pkgs/development/libraries/haskell/GLURaw/1.3.0.0.nix
+++ b/pkgs/development/libraries/haskell/GLURaw/1.3.0.0.nix
@@ -13,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "A raw binding for the OpenGL graphics system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix b/pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix
index 1241b88cb9911..d389d7ecf046b 100644
--- a/pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix
+++ b/pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "A raw binding for the OpenGL graphics system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLUT/2.1.1.2.nix b/pkgs/development/libraries/haskell/GLUT/2.1.1.2.nix
index f8b678f11d72b..88a10caac094c 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.1.1.2.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.1.1.2.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix b/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix
index 94b07e64d61d7..a9988a5332850 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.1.2.1.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix b/pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix
index b7362d321e6ea..c92565ca4afa0 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.1.2.2.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLUT/2.2.2.1.nix b/pkgs/development/libraries/haskell/GLUT/2.2.2.1.nix
index 5ce8ce3c949aa..0bac3e0d5dba5 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.2.2.1.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.2.2.1.nix
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLUT/2.3.1.0.nix b/pkgs/development/libraries/haskell/GLUT/2.3.1.0.nix
index c11990a160b0a..9402d56f687eb 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.3.1.0.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.3.1.0.nix
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLUT/2.4.0.0.nix b/pkgs/development/libraries/haskell/GLUT/2.4.0.0.nix
index 55a909ff8f6a8..c28194d7adbe5 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.4.0.0.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.4.0.0.nix
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix b/pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix
index 592de68432ef1..b2cce8565240e 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "A binding for the OpenGL Utility Toolkit";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/GlomeVec/default.nix b/pkgs/development/libraries/haskell/GlomeVec/default.nix
index 9eefd570146bd..0223d6c6ae5cd 100644
--- a/pkgs/development/libraries/haskell/GlomeVec/default.nix
+++ b/pkgs/development/libraries/haskell/GlomeVec/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Simple 3D vector library";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Graphalyze/default.nix b/pkgs/development/libraries/haskell/Graphalyze/default.nix
new file mode 100644
index 0000000000000..974103e16c5a5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Graphalyze/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bktrees, fgl, filepath, graphviz, pandoc, random, text
+, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "Graphalyze";
+  version = "0.14.1.0";
+  sha256 = "0pyrhpl06lsppr8ch21crinkax7fh0k18wfvgjinc8phkk6j5hz3";
+  buildDepends = [
+    bktrees fgl filepath graphviz pandoc random text time
+  ];
+  meta = {
+    description = "Graph-Theoretic Analysis library";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix b/pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix
index 0a95e90ef4b3a..cadf9e3e9c246 100644
--- a/pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix
+++ b/pkgs/development/libraries/haskell/HDBC/HDBC-odbc.nix
@@ -16,9 +16,6 @@ cabal.mkDerivation (self: {
     description = "ODBC driver for HDBC";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.ocharles
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HDBC/HDBC-postgresql.nix b/pkgs/development/libraries/haskell/HDBC/HDBC-postgresql.nix
index 5ec440e9e348e..6b0df7e9d852c 100644
--- a/pkgs/development/libraries/haskell/HDBC/HDBC-postgresql.nix
+++ b/pkgs/development/libraries/haskell/HDBC/HDBC-postgresql.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "PostgreSQL driver for HDBC";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HDBC/HDBC-sqlite3.nix b/pkgs/development/libraries/haskell/HDBC/HDBC-sqlite3.nix
index 14ed9499b1370..563cc38dac3a4 100644
--- a/pkgs/development/libraries/haskell/HDBC/HDBC-sqlite3.nix
+++ b/pkgs/development/libraries/haskell/HDBC/HDBC-sqlite3.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Sqlite v3 driver for HDBC";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HDBC/HDBC.nix b/pkgs/development/libraries/haskell/HDBC/HDBC.nix
index 97cb81415e283..fb83588546212 100644
--- a/pkgs/development/libraries/haskell/HDBC/HDBC.nix
+++ b/pkgs/development/libraries/haskell/HDBC/HDBC.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Haskell Database Connectivity";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HFuse/default.nix b/pkgs/development/libraries/haskell/HFuse/default.nix
index 04ebefd37fac5..510ffd4acb9c5 100644
--- a/pkgs/development/libraries/haskell/HFuse/default.nix
+++ b/pkgs/development/libraries/haskell/HFuse/default.nix
@@ -4,8 +4,10 @@
 
 cabal.mkDerivation (self: {
   pname = "HFuse";
-  version = "0.2.4.2";
-  sha256 = "043f5x807h1dajd0bvmhln9pjkviszx1279m298w711mrszapqrq";
+  version = "0.2.4.3";
+  sha256 = "1daka673mx0gsnsa04pxani7n4wp93hflzxs3imzy4sgb30p7l01";
+  isLibrary = true;
+  isExecutable = true;
   extraLibraries = [ fuse ];
   preConfigure = ''
     sed -i -e "s@  Extra-Lib-Dirs:         /usr/local/lib@  Extra-Lib-Dirs:         ${fuse}/lib@" HFuse.cabal
diff --git a/pkgs/development/libraries/haskell/HList/default.nix b/pkgs/development/libraries/haskell/HList/default.nix
index 5b971657484d5..d2c88291fc2d5 100644
--- a/pkgs/development/libraries/haskell/HList/default.nix
+++ b/pkgs/development/libraries/haskell/HList/default.nix
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "Heterogeneous lists";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HStringTemplate/default.nix b/pkgs/development/libraries/haskell/HStringTemplate/default.nix
index 46a6ec75c6a0f..23fd31b2b3d9e 100644
--- a/pkgs/development/libraries/haskell/HStringTemplate/default.nix
+++ b/pkgs/development/libraries/haskell/HStringTemplate/default.nix
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "StringTemplate implementation 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/HTTP/4000.0.6.nix b/pkgs/development/libraries/haskell/HTTP/4000.0.6.nix
index 4c1ab1e490363..a41dd3c25dc45 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.0.6.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.0.6.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix b/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix
index e2837790e612c..e530452b08c3e 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix b/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix
index a660c64af3171..76356134589e6 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.1.2.nix b/pkgs/development/libraries/haskell/HTTP/4000.1.2.nix
index d1e2ce448b8b6..344a86a0da888 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.1.2.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.1.2.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.1.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.1.nix
index 05ed3c85c92d6..c677bbf40db48 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.1.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.1.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.2.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.2.nix
index 8c7ce4922ec12..c18fd35c8a08d 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.2.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.2.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.3.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.3.nix
index 0e60545c21353..86c4dc8fcc017 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.3.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.3.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.5.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.5.nix
index 66032d45573e4..54c8733c5840c 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.5.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.5.nix
@@ -21,6 +21,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.8.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.8.nix
index 12518f1603482..d308d547c78dd 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.8.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.8.nix
@@ -22,6 +22,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix b/pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix
index af2ce523eb6b9..7bd199555d79e 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix b/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix
index 4ca0d89556630..e995adab83c8f 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix b/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix
index 98084b1270f53..02757e9074c29 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.4.2.nix b/pkgs/development/libraries/haskell/HUnit/1.2.4.2.nix
index 78184e0870197..13483375823fa 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.4.2.nix
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.4.2.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix b/pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix
index 00d8e6bf0020b..6f866137945cd 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.4.3.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.5.1.nix b/pkgs/development/libraries/haskell/HUnit/1.2.5.1.nix
index bf8fb046b053f..ae33779597bf3 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.5.1.nix
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.5.1.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.5.2.nix b/pkgs/development/libraries/haskell/HUnit/1.2.5.2.nix
index 8883796942ba9..0ab6f152aeede 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.5.2.nix
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.5.2.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A unit testing framework for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HaXml/default.nix b/pkgs/development/libraries/haskell/HaXml/default.nix
index 54ec9d87d138d..4199ae4275b61 100644
--- a/pkgs/development/libraries/haskell/HaXml/default.nix
+++ b/pkgs/development/libraries/haskell/HaXml/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Utilities for manipulating XML documents";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HaskellForMaths/default.nix b/pkgs/development/libraries/haskell/HaskellForMaths/default.nix
index 2d540e735814a..9bd9c9f4796a8 100644
--- a/pkgs/development/libraries/haskell/HaskellForMaths/default.nix
+++ b/pkgs/development/libraries/haskell/HaskellForMaths/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Combinatorics, group theory, commutative algebra, non-commutative algebra";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HaskellNet/default.nix b/pkgs/development/libraries/haskell/HaskellNet/default.nix
new file mode 100644
index 0000000000000..940bdbd678d36
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HaskellNet/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, base64String, Crypto, mimeMail, mtl, network, text }:
+
+cabal.mkDerivation (self: {
+  pname = "HaskellNet";
+  version = "0.3.1";
+  sha256 = "168w6y5rizszq1428amxbkhww65sy3b7czxpjyrzzq3dhjn517nr";
+  buildDepends = [ base64String Crypto mimeMail mtl network text ];
+  meta = {
+    homepage = "https://github.com/jtdaugherty/HaskellNet";
+    description = "Client support for POP3, SMTP, and IMAP";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/HsOpenSSL/default.nix b/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
index d8d4ee2ece124..af38572464cb7 100644
--- a/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
+++ b/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Partial OpenSSL binding for Haskell";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HsSyck/0.51.nix b/pkgs/development/libraries/haskell/HsSyck/0.51.nix
index 63c771af7a934..1be5744b6a337 100644
--- a/pkgs/development/libraries/haskell/HsSyck/0.51.nix
+++ b/pkgs/development/libraries/haskell/HsSyck/0.51.nix
@@ -11,5 +11,6 @@ cabal.mkDerivation (self: {
     description = "Fast, lightweight YAML loader and dumper";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/HsSyck/0.52.nix b/pkgs/development/libraries/haskell/HsSyck/0.52.nix
index c430c7929ef4c..b3d64e539e183 100644
--- a/pkgs/development/libraries/haskell/HsSyck/0.52.nix
+++ b/pkgs/development/libraries/haskell/HsSyck/0.52.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Fast, lightweight YAML loader and dumper";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/IOSpec/default.nix b/pkgs/development/libraries/haskell/IOSpec/default.nix
index 6d9a542f9f169..f9f95586b4554 100644
--- a/pkgs/development/libraries/haskell/IOSpec/default.nix
+++ b/pkgs/development/libraries/haskell/IOSpec/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A pure specification of the IO monad";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/IfElse/default.nix b/pkgs/development/libraries/haskell/IfElse/default.nix
index d2bef1cafa1b1..0f211b4cd509e 100644
--- a/pkgs/development/libraries/haskell/IfElse/default.nix
+++ b/pkgs/development/libraries/haskell/IfElse/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Anaphoric and miscellaneous useful control-flow";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/IntervalMap/default.nix b/pkgs/development/libraries/haskell/IntervalMap/default.nix
index 8df2f0815dbf3..774cbd8a19ea8 100644
--- a/pkgs/development/libraries/haskell/IntervalMap/default.nix
+++ b/pkgs/development/libraries/haskell/IntervalMap/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "IntervalMap";
-  version = "0.3.0.2";
-  sha256 = "14pbq5n2cn9gxjkmqpnbn7dx9963wp3sdbb180wm9l5xqi338s0l";
+  version = "0.3.0.3";
+  sha256 = "11lxsjq9nw9mmj5ga0x03d8rgcx2s85kzi17d9cm7m28mq4dqdag";
   buildDepends = [ deepseq ];
   testDepends = [ Cabal deepseq QuickCheck ];
   meta = {
@@ -13,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "Maps from Intervals to values, with efficient search";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/JuicyPixels/default.nix b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
index 36347cb455287..fcd2689c54879 100644
--- a/pkgs/development/libraries/haskell/JuicyPixels/default.nix
+++ b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "JuicyPixels";
-  version = "3.1.5.2";
-  sha256 = "0afw7kwyaqw2lwgrdc1mamz45vmqy471fgsyvn9rhla8znr3a9nq";
+  version = "3.1.6.1";
+  sha256 = "1v560y0l1zpznbpw8zgb2j6zlcwi8i207xgzggzzd3p0v2m8955c";
   buildDepends = [
     binary deepseq mtl primitive transformers vector zlib
   ];
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "Picture loading/serialization (in png, jpeg, bitmap, gif, tiff and radiance)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ListLike/default.nix b/pkgs/development/libraries/haskell/ListLike/default.nix
index bec9203c0eedd..1e99f819bcc6f 100644
--- a/pkgs/development/libraries/haskell/ListLike/default.nix
+++ b/pkgs/development/libraries/haskell/ListLike/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Generic support for list-like structures";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MFlow/default.nix b/pkgs/development/libraries/haskell/MFlow/default.nix
index 0c426a3bf4c7d..a0e4b787ec99d 100644
--- a/pkgs/development/libraries/haskell/MFlow/default.nix
+++ b/pkgs/development/libraries/haskell/MFlow/default.nix
@@ -22,6 +22,6 @@ cabal.mkDerivation (self: {
     description = "stateful, RESTful web framework";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.tomberek ];
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MaybeT/default.nix b/pkgs/development/libraries/haskell/MaybeT/default.nix
index 069675c2e6a9a..012ce6249fcb9 100644
--- a/pkgs/development/libraries/haskell/MaybeT/default.nix
+++ b/pkgs/development/libraries/haskell/MaybeT/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "MaybeT monad transformer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MemoTrie/default.nix b/pkgs/development/libraries/haskell/MemoTrie/default.nix
index 15569acf0402c..3e7f181803925 100644
--- a/pkgs/development/libraries/haskell/MemoTrie/default.nix
+++ b/pkgs/development/libraries/haskell/MemoTrie/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Trie-based memo functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MissingH/default.nix b/pkgs/development/libraries/haskell/MissingH/default.nix
index 0c8e7a699e58c..cb9b60d13c7a8 100644
--- a/pkgs/development/libraries/haskell/MissingH/default.nix
+++ b/pkgs/development/libraries/haskell/MissingH/default.nix
@@ -21,6 +21,5 @@ cabal.mkDerivation (self: {
     description = "Large utility 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/MonadCatchIO-mtl/default.nix b/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix
index eb5232fabcf3b..11e97d72ea8ca 100644
--- a/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix
+++ b/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Monad-transformer version of the Control.Exception module";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix b/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
index 9f928bea9de3b..d4cbd7c09ba41 100644
--- a/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
+++ b/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Monad-transformer compatible version of the Control.Exception module";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MonadPrompt/default.nix b/pkgs/development/libraries/haskell/MonadPrompt/default.nix
index 005af6b99f595..3221cbe7f559c 100644
--- a/pkgs/development/libraries/haskell/MonadPrompt/default.nix
+++ b/pkgs/development/libraries/haskell/MonadPrompt/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "MonadPrompt, implementation & examples";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MonadRandom/default.nix b/pkgs/development/libraries/haskell/MonadRandom/default.nix
index 6ff8afc58f301..fb2415fd6fa0b 100644
--- a/pkgs/development/libraries/haskell/MonadRandom/default.nix
+++ b/pkgs/development/libraries/haskell/MonadRandom/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Random-number generation monad";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/NumInstances/default.nix b/pkgs/development/libraries/haskell/NumInstances/default.nix
index 2b3746d4973c8..e5b918a5ad555 100644
--- a/pkgs/development/libraries/haskell/NumInstances/default.nix
+++ b/pkgs/development/libraries/haskell/NumInstances/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Instances of numeric classes for functions and tuples";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ObjectName/default.nix b/pkgs/development/libraries/haskell/ObjectName/default.nix
index bda33cee85a3c..785caabadd2ea 100644
--- a/pkgs/development/libraries/haskell/ObjectName/default.nix
+++ b/pkgs/development/libraries/haskell/ObjectName/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Explicitly handled object names";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/OneTuple/default.nix b/pkgs/development/libraries/haskell/OneTuple/default.nix
index 9fcc2cbf2538f..b2af0024b5ccc 100644
--- a/pkgs/development/libraries/haskell/OneTuple/default.nix
+++ b/pkgs/development/libraries/haskell/OneTuple/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Singleton Tuple";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenAL/default.nix b/pkgs/development/libraries/haskell/OpenAL/default.nix
index e303d17715114..98aac94e01dee 100644
--- a/pkgs/development/libraries/haskell/OpenAL/default.nix
+++ b/pkgs/development/libraries/haskell/OpenAL/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "A binding to the OpenAL cross-platform 3D audio API";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.2.1.1.nix b/pkgs/development/libraries/haskell/OpenGL/2.2.1.1.nix
index 071156f23479c..747720eba85ca 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.2.1.1.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.2.1.1.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix b/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix
index 4296946b07d14..af01702b01b11 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.2.3.0.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix b/pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix
index f7452e9683d98..fa3ae576bfae5 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.2.3.1.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.4.0.2.nix b/pkgs/development/libraries/haskell/OpenGL/2.4.0.2.nix
index 272857e2ab24d..81e754e269f82 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.4.0.2.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.4.0.2.nix
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix b/pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix
index 498b8b6542b11..a0ae3c84fad92 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.8.0.0.nix b/pkgs/development/libraries/haskell/OpenGL/2.8.0.0.nix
index 228326f459ffb..ea1fdcc971153 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.8.0.0.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.8.0.0.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix b/pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix
index 01af37baaeb65..f6767ab577c29 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "A binding for the OpenGL graphics system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGLRaw/1.3.0.0.nix b/pkgs/development/libraries/haskell/OpenGLRaw/1.3.0.0.nix
index 0ccb9cf7d35b8..c3d8ce4988196 100644
--- a/pkgs/development/libraries/haskell/OpenGLRaw/1.3.0.0.nix
+++ b/pkgs/development/libraries/haskell/OpenGLRaw/1.3.0.0.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGLRaw/1.4.0.0.nix b/pkgs/development/libraries/haskell/OpenGLRaw/1.4.0.0.nix
index b780942818122..a2ffc9b4ad13c 100644
--- a/pkgs/development/libraries/haskell/OpenGLRaw/1.4.0.0.nix
+++ b/pkgs/development/libraries/haskell/OpenGLRaw/1.4.0.0.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix b/pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix
index fd0331a7311ef..65466306fd806 100644
--- a/pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix
+++ b/pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A raw binding for the OpenGL graphics system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/PSQueue/default.nix b/pkgs/development/libraries/haskell/PSQueue/default.nix
index 885b0380367d8..751dadebfa87a 100644
--- a/pkgs/development/libraries/haskell/PSQueue/default.nix
+++ b/pkgs/development/libraries/haskell/PSQueue/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Priority Search Queue";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/1.2.0.0.nix b/pkgs/development/libraries/haskell/QuickCheck/1.2.0.0.nix
index d443aa5d8c4f3..465fb510b50eb 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/1.2.0.0.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/1.2.0.0.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix b/pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix
index fd27b180cc567..ba16967249dbe 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/1.2.0.1.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.1.1.1.nix b/pkgs/development/libraries/haskell/QuickCheck/2.1.1.1.nix
index 10161a92d2ce4..373742a9755ab 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/2.1.1.1.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.1.1.1.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix b/pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix
index 1330ad4b3e4f2..3bee4ac970262 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.4.0.1.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.4.1.1.nix b/pkgs/development/libraries/haskell/QuickCheck/2.4.1.1.nix
index 70a1b6fc03d31..d936d4b37841c 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/2.4.1.1.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.4.1.1.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.4.2.nix b/pkgs/development/libraries/haskell/QuickCheck/2.4.2.nix
index a6f8eb121cdd3..58a04593c4948 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/2.4.2.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.4.2.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.5.1.1.nix b/pkgs/development/libraries/haskell/QuickCheck/2.5.1.1.nix
index 185c818033931..438c4cfff8dbf 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/2.5.1.1.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.5.1.1.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.6.nix b/pkgs/development/libraries/haskell/QuickCheck/2.6.nix
index a544254d49217..0ed5683843583 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/2.6.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.6.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.7.5.nix b/pkgs/development/libraries/haskell/QuickCheck/2.7.5.nix
index 4e81c7a3793b8..26115cb8814a7 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/2.7.5.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.7.5.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.7.6.nix b/pkgs/development/libraries/haskell/QuickCheck/2.7.6.nix
index 60667b2afa014..3c623e9f0dd51 100644
--- a/pkgs/development/libraries/haskell/QuickCheck/2.7.6.nix
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.7.6.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Automatic testing of Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/RSA/default.nix b/pkgs/development/libraries/haskell/RSA/default.nix
index 60fb815aae2b9..61c2d0fb225e0 100644
--- a/pkgs/development/libraries/haskell/RSA/default.nix
+++ b/pkgs/development/libraries/haskell/RSA/default.nix
@@ -24,6 +24,5 @@ cabal.mkDerivation (self: {
     description = "Implementation of RSA, using the padding schemes of PKCS#1 v2.1.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Ranged-sets/default.nix b/pkgs/development/libraries/haskell/Ranged-sets/default.nix
index b438964e3c54c..51296cb2a0e44 100644
--- a/pkgs/development/libraries/haskell/Ranged-sets/default.nix
+++ b/pkgs/development/libraries/haskell/Ranged-sets/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Ranged sets for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/RefSerialize/default.nix b/pkgs/development/libraries/haskell/RefSerialize/default.nix
index e1d0e4fd953ac..1307d4ae42e81 100644
--- a/pkgs/development/libraries/haskell/RefSerialize/default.nix
+++ b/pkgs/development/libraries/haskell/RefSerialize/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Write to and read from ByteStrings maintaining internal memory references";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.tomberek ];
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/RepLib/default.nix b/pkgs/development/libraries/haskell/RepLib/default.nix
index bdbae96815157..f62f1b1392e2c 100644
--- a/pkgs/development/libraries/haskell/RepLib/default.nix
+++ b/pkgs/development/libraries/haskell/RepLib/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Generic programming library with representation 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/SDL-image/default.nix b/pkgs/development/libraries/haskell/SDL-image/default.nix
index 22a17103c5dc2..c744ca41cf99e 100644
--- a/pkgs/development/libraries/haskell/SDL-image/default.nix
+++ b/pkgs/development/libraries/haskell/SDL-image/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Binding to libSDL_image";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/SDL-mixer/default.nix b/pkgs/development/libraries/haskell/SDL-mixer/default.nix
index d4635565216b6..7ec8cecd92c37 100644
--- a/pkgs/development/libraries/haskell/SDL-mixer/default.nix
+++ b/pkgs/development/libraries/haskell/SDL-mixer/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Binding to libSDL_mixer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/SDL-ttf/default.nix b/pkgs/development/libraries/haskell/SDL-ttf/default.nix
index b835d5c565117..77c3434216aac 100644
--- a/pkgs/development/libraries/haskell/SDL-ttf/default.nix
+++ b/pkgs/development/libraries/haskell/SDL-ttf/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Binding to libSDL_ttf";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/SDL/default.nix b/pkgs/development/libraries/haskell/SDL/default.nix
index a42ee72559d26..6eca4791fcfc5 100644
--- a/pkgs/development/libraries/haskell/SDL/default.nix
+++ b/pkgs/development/libraries/haskell/SDL/default.nix
@@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
     description = "Binding to libSDL";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/SHA/default.nix b/pkgs/development/libraries/haskell/SHA/default.nix
index b57065a36bbbf..2a9c98ef67a48 100644
--- a/pkgs/development/libraries/haskell/SHA/default.nix
+++ b/pkgs/development/libraries/haskell/SHA/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Implementations of the SHA suite of message digest functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/SMTPClient/default.nix b/pkgs/development/libraries/haskell/SMTPClient/default.nix
index 7bbb957cb1285..c070ab8dcaab0 100644
--- a/pkgs/development/libraries/haskell/SMTPClient/default.nix
+++ b/pkgs/development/libraries/haskell/SMTPClient/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A simple SMTP client 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/Shellac/Shellac.nix b/pkgs/development/libraries/haskell/Shellac/Shellac.nix
index 902516ba6e6fd..1715d62b02ba9 100644
--- a/pkgs/development/libraries/haskell/Shellac/Shellac.nix
+++ b/pkgs/development/libraries/haskell/Shellac/Shellac.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A framework for creating shell envinronments";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/StateVar/default.nix b/pkgs/development/libraries/haskell/StateVar/default.nix
index d0797aa2f48c4..03d21bbba3ccd 100644
--- a/pkgs/development/libraries/haskell/StateVar/default.nix
+++ b/pkgs/development/libraries/haskell/StateVar/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "State variables";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Stream/default.nix b/pkgs/development/libraries/haskell/Stream/default.nix
index 2e774ee98c42a..3e1c1b7b32e3c 100644
--- a/pkgs/development/libraries/haskell/Stream/default.nix
+++ b/pkgs/development/libraries/haskell/Stream/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A library for manipulating infinite lists";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/TCache/default.nix b/pkgs/development/libraries/haskell/TCache/default.nix
index 5f281ecfb6596..9c2638302a561 100644
--- a/pkgs/development/libraries/haskell/TCache/default.nix
+++ b/pkgs/development/libraries/haskell/TCache/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "A Transactional cache with user-defined persistence";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.tomberek ];
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/TableAlgebra/default.nix b/pkgs/development/libraries/haskell/TableAlgebra/default.nix
index 5bcbe27848158..396f2366d153f 100644
--- a/pkgs/development/libraries/haskell/TableAlgebra/default.nix
+++ b/pkgs/development/libraries/haskell/TableAlgebra/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Ferry Table Algebra";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Tensor/default.nix b/pkgs/development/libraries/haskell/Tensor/default.nix
index 5dd7eb5953a7c..55c110b75218e 100644
--- a/pkgs/development/libraries/haskell/Tensor/default.nix
+++ b/pkgs/development/libraries/haskell/Tensor/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/TypeCompose/default.nix b/pkgs/development/libraries/haskell/TypeCompose/default.nix
index 3d52abc656c2c..de5f41ab384bc 100644
--- a/pkgs/development/libraries/haskell/TypeCompose/default.nix
+++ b/pkgs/development/libraries/haskell/TypeCompose/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Type composition classes & instances";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Vec/default.nix b/pkgs/development/libraries/haskell/Vec/default.nix
index 20def8db154c2..eab20222769d2 100644
--- a/pkgs/development/libraries/haskell/Vec/default.nix
+++ b/pkgs/development/libraries/haskell/Vec/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Fixed-length lists and low-dimensional linear algebra";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Workflow/default.nix b/pkgs/development/libraries/haskell/Workflow/default.nix
index 0dbbc1ef5db0e..7dd6f29857665 100644
--- a/pkgs/development/libraries/haskell/Workflow/default.nix
+++ b/pkgs/development/libraries/haskell/Workflow/default.nix
@@ -16,6 +16,6 @@ cabal.mkDerivation (self: {
     description = "Workflow patterns over a monad for thread state logging & recovery";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.tomberek ];
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/X11-xft/default.nix b/pkgs/development/libraries/haskell/X11-xft/default.nix
index 4925014517c06..df9ddb1e27788 100644
--- a/pkgs/development/libraries/haskell/X11-xft/default.nix
+++ b/pkgs/development/libraries/haskell/X11-xft/default.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Bindings to the Xft, X Free Type interface library, and some Xrender parts";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/X11/default.nix b/pkgs/development/libraries/haskell/X11/default.nix
index 7a8195c21be7d..fbd5e2c0c7b52 100644
--- a/pkgs/development/libraries/haskell/X11/default.nix
+++ b/pkgs/development/libraries/haskell/X11/default.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "A binding to the X11 graphics 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/abstract-deque/default.nix b/pkgs/development/libraries/haskell/abstract-deque/default.nix
index 6102e2f403601..0bd1a7c593635 100644
--- a/pkgs/development/libraries/haskell/abstract-deque/default.nix
+++ b/pkgs/development/libraries/haskell/abstract-deque/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Abstract, parameterized interface to mutable Deques";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/abstract-par/default.nix b/pkgs/development/libraries/haskell/abstract-par/default.nix
index dd85395337949..9c7319297eeab 100644
--- a/pkgs/development/libraries/haskell/abstract-par/default.nix
+++ b/pkgs/development/libraries/haskell/abstract-par/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Type classes generalizing the functionality of the 'monad-par' library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/accelerate-cuda/default.nix b/pkgs/development/libraries/haskell/accelerate-cuda/default.nix
index 5ed99a644f7b6..3bb444eec6827 100644
--- a/pkgs/development/libraries/haskell/accelerate-cuda/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate-cuda/default.nix
@@ -21,6 +21,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/accelerate-examples/default.nix b/pkgs/development/libraries/haskell/accelerate-examples/default.nix
index cd1b03316397d..fcd4bb744dd27 100644
--- a/pkgs/development/libraries/haskell/accelerate-examples/default.nix
+++ b/pkgs/development/libraries/haskell/accelerate-examples/default.nix
@@ -28,6 +28,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/aeson-utils/default.nix b/pkgs/development/libraries/haskell/aeson-utils/default.nix
index b0329a4126f1a..db783c012bc38 100644
--- a/pkgs/development/libraries/haskell/aeson-utils/default.nix
+++ b/pkgs/development/libraries/haskell/aeson-utils/default.nix
@@ -7,6 +7,7 @@ cabal.mkDerivation (self: {
   version = "0.2.2.1";
   sha256 = "0sj4kdcxcj2wnf3s109yxq8gghz976hkiqs19bjcp6qkzdf5w6sd";
   buildDepends = [ aeson attoparsec scientific text ];
+  jailbreak = true;
   meta = {
     description = "Utilities for working with Aeson";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/aeson/0.7.0.4.nix b/pkgs/development/libraries/haskell/aeson/0.7.0.4.nix
index d6cdf9a0d2a2c..5dca4bc9062d0 100644
--- a/pkgs/development/libraries/haskell/aeson/0.7.0.4.nix
+++ b/pkgs/development/libraries/haskell/aeson/0.7.0.4.nix
@@ -23,5 +23,6 @@ cabal.mkDerivation (self: {
     description = "Fast JSON parsing and encoding";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/aeson/0.7.0.6.nix b/pkgs/development/libraries/haskell/aeson/0.7.0.6.nix
deleted file mode 100644
index 955248de5b311..0000000000000
--- a/pkgs/development/libraries/haskell/aeson/0.7.0.6.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, attoparsec, blazeBuilder, deepseq, dlist, hashable, HUnit
-, mtl, QuickCheck, scientific, syb, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2, text, time
-, unorderedContainers, vector
-}:
-
-cabal.mkDerivation (self: {
-  pname = "aeson";
-  version = "0.7.0.6";
-  sha256 = "0vsf9msz9iv7xvsnys5c0kbkldb0pvhiai02vz50b0d1kdsk2mb4";
-  buildDepends = [
-    attoparsec blazeBuilder deepseq dlist hashable mtl scientific syb
-    text time unorderedContainers vector
-  ];
-  testDepends = [
-    attoparsec HUnit QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2 text time unorderedContainers vector
-  ];
-  meta = {
-    homepage = "https://github.com/bos/aeson";
-    description = "Fast JSON parsing and encoding";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/aeson/0.8.0.0.nix b/pkgs/development/libraries/haskell/aeson/0.8.0.0.nix
index cfb256eb9b76a..de9708f25461b 100644
--- a/pkgs/development/libraries/haskell/aeson/0.8.0.0.nix
+++ b/pkgs/development/libraries/haskell/aeson/0.8.0.0.nix
@@ -23,6 +23,5 @@ cabal.mkDerivation (self: {
     description = "Fast JSON parsing and encoding";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ansi-terminal/default.nix b/pkgs/development/libraries/haskell/ansi-terminal/default.nix
index aeaae88f17fdc..ecacc374e43c2 100644
--- a/pkgs/development/libraries/haskell/ansi-terminal/default.nix
+++ b/pkgs/development/libraries/haskell/ansi-terminal/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Simple ANSI terminal support, with Windows compatibility";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ansi-wl-pprint/default.nix b/pkgs/development/libraries/haskell/ansi-wl-pprint/default.nix
index 5291fa8dc0f79..d79f0bc979dc7 100644
--- a/pkgs/development/libraries/haskell/ansi-wl-pprint/default.nix
+++ b/pkgs/development/libraries/haskell/ansi-wl-pprint/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "The Wadler/Leijen Pretty Printer for colored ANSI terminal output";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ariadne/default.nix b/pkgs/development/libraries/haskell/ariadne/default.nix
index dc3acd668edf7..758d1a90d3b91 100644
--- a/pkgs/development/libraries/haskell/ariadne/default.nix
+++ b/pkgs/development/libraries/haskell/ariadne/default.nix
@@ -19,6 +19,6 @@ cabal.mkDerivation (self: {
     description = "Go-to-definition for Haskell";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/arrows/default.nix b/pkgs/development/libraries/haskell/arrows/default.nix
index e60c580347f4d..28c691c72122d 100644
--- a/pkgs/development/libraries/haskell/arrows/default.nix
+++ b/pkgs/development/libraries/haskell/arrows/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Arrow classes and transformers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/asn1-data/default.nix b/pkgs/development/libraries/haskell/asn1-data/default.nix
index 8b813fc02dcc4..f0b9945cd6269 100644
--- a/pkgs/development/libraries/haskell/asn1-data/default.nix
+++ b/pkgs/development/libraries/haskell/asn1-data/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "ASN1 data reader and writer in RAW, BER and DER forms";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/async/2.0.1.3.nix b/pkgs/development/libraries/haskell/async/2.0.1.3.nix
index e63a201b1e05b..a60830309e78e 100644
--- a/pkgs/development/libraries/haskell/async/2.0.1.3.nix
+++ b/pkgs/development/libraries/haskell/async/2.0.1.3.nix
@@ -14,6 +14,6 @@ cabal.mkDerivation (self: {
     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 ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/async/2.0.1.4.nix b/pkgs/development/libraries/haskell/async/2.0.1.4.nix
index 0813579c0b7b0..7a050defb4dc7 100644
--- a/pkgs/development/libraries/haskell/async/2.0.1.4.nix
+++ b/pkgs/development/libraries/haskell/async/2.0.1.4.nix
@@ -14,6 +14,6 @@ cabal.mkDerivation (self: {
     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 ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/async/2.0.1.5.nix b/pkgs/development/libraries/haskell/async/2.0.1.5.nix
index 7f3003de568c8..a4251e9e80b6a 100644
--- a/pkgs/development/libraries/haskell/async/2.0.1.5.nix
+++ b/pkgs/development/libraries/haskell/async/2.0.1.5.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     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/attempt/default.nix b/pkgs/development/libraries/haskell/attempt/default.nix
index 30fd30b35d1cc..3f95f14c35c05 100644
--- a/pkgs/development/libraries/haskell/attempt/default.nix
+++ b/pkgs/development/libraries/haskell/attempt/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Concrete data type for handling extensible exceptions as failures. (deprecated)";
     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-conduit/default.nix b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
index 0f240f8d31ff5..b2e64f272fd42 100644
--- a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Consume attoparsec parsers via conduit. (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/attoparsec-enumerator/default.nix b/pkgs/development/libraries/haskell/attoparsec-enumerator/default.nix
index ceea762f7de1b..be5c1b4435a2f 100644
--- a/pkgs/development/libraries/haskell/attoparsec-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/attoparsec-enumerator/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Pass input from an enumerator to an Attoparsec parser";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/attoparsec/0.10.4.0.nix b/pkgs/development/libraries/haskell/attoparsec/0.10.4.0.nix
index 235f0f2c8b759..f53b32d53650c 100644
--- a/pkgs/development/libraries/haskell/attoparsec/0.10.4.0.nix
+++ b/pkgs/development/libraries/haskell/attoparsec/0.10.4.0.nix
@@ -17,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "Fast combinator parsing for bytestrings and text";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/attoparsec/0.11.3.1.nix b/pkgs/development/libraries/haskell/attoparsec/0.11.3.1.nix
index 8a1a341ceb25c..ef61d8c79a1e9 100644
--- a/pkgs/development/libraries/haskell/attoparsec/0.11.3.1.nix
+++ b/pkgs/development/libraries/haskell/attoparsec/0.11.3.1.nix
@@ -18,6 +18,6 @@ cabal.mkDerivation (self: {
     description = "Fast combinator parsing for bytestrings and text";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix b/pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix
index ebb1f33f29e26..e322f6de4ce04 100644
--- a/pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix
+++ b/pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix
@@ -17,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "Fast combinator parsing for bytestrings and text";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/attoparsec/0.12.1.1.nix b/pkgs/development/libraries/haskell/attoparsec/0.12.1.1.nix
index a038ad0e12f52..b8e2104f73900 100644
--- a/pkgs/development/libraries/haskell/attoparsec/0.12.1.1.nix
+++ b/pkgs/development/libraries/haskell/attoparsec/0.12.1.1.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Fast combinator parsing for bytestrings and text";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/authenticate-oauth/default.nix b/pkgs/development/libraries/haskell/authenticate-oauth/default.nix
index 8f6c15bdd714a..ae996df0d5bff 100644
--- a/pkgs/development/libraries/haskell/authenticate-oauth/default.nix
+++ b/pkgs/development/libraries/haskell/authenticate-oauth/default.nix
@@ -18,6 +18,6 @@ cabal.mkDerivation (self: {
     description = "Library to authenticate with OAuth for Haskell web applications";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/authenticate/default.nix b/pkgs/development/libraries/haskell/authenticate/default.nix
index 1441879606e44..3c22e1b9d698d 100644
--- a/pkgs/development/libraries/haskell/authenticate/default.nix
+++ b/pkgs/development/libraries/haskell/authenticate/default.nix
@@ -20,6 +20,5 @@ cabal.mkDerivation (self: {
     description = "Authentication methods for Haskell web applications";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/aws/default.nix b/pkgs/development/libraries/haskell/aws/default.nix
index ff33d1378cbd7..139e9e2b27e6c 100644
--- a/pkgs/development/libraries/haskell/aws/default.nix
+++ b/pkgs/development/libraries/haskell/aws/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "aws";
-  version = "0.9.2";
-  sha256 = "1jmvf1x3vamcjb89mk52l1iikdchab8pm23iw9y1d4zm4636czxm";
+  version = "0.9.3";
+  sha256 = "11g8i6kfq7n1v5nvj8bkhrgsiyzfz0vwk4lh8sljnfd5pyjawx7h";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -25,6 +25,6 @@ cabal.mkDerivation (self: {
     description = "Amazon Web Services (AWS) for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix b/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix
index 679235a49b37f..1e32a6e26e035 100644
--- a/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix
+++ b/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Unicode alternatives for common functions and operators";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/base16-bytestring/default.nix b/pkgs/development/libraries/haskell/base16-bytestring/default.nix
index 29dedfe95f916..36f0bf6935ba9 100644
--- a/pkgs/development/libraries/haskell/base16-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/base16-bytestring/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Fast base16 (hex) encoding and decoding for ByteStrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/base64-bytestring/default.nix b/pkgs/development/libraries/haskell/base64-bytestring/default.nix
index 6ab860e09ab7b..39c65dd525008 100644
--- a/pkgs/development/libraries/haskell/base64-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/base64-bytestring/default.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Fast base64 encoding and decoding for ByteStrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/base64-conduit/default.nix b/pkgs/development/libraries/haskell/base64-conduit/default.nix
deleted file mode 100644
index a71d128244367..0000000000000
--- a/pkgs/development/libraries/haskell/base64-conduit/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, base64Bytestring, conduit, hspec, QuickCheck, transformers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "base64-conduit";
-  version = "1.0.0.1";
-  sha256 = "07zhvn3fy60q04a5g5mzhkl17rap9jlh00vb4f6565bjha2k16g9";
-  buildDepends = [ base64Bytestring conduit ];
-  testDepends = [
-    base64Bytestring conduit hspec QuickCheck transformers
-  ];
-  meta = {
-    homepage = "http://github.com/snoyberg/conduit";
-    description = "Base64-encode and decode streams of bytes. (deprecated)";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/base64-string/default.nix b/pkgs/development/libraries/haskell/base64-string/default.nix
index f68c53d360166..26ab4dc4924f9 100644
--- a/pkgs/development/libraries/haskell/base64-string/default.nix
+++ b/pkgs/development/libraries/haskell/base64-string/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Base64 implementation for String's";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/benchpress/default.nix b/pkgs/development/libraries/haskell/benchpress/default.nix
index d502e0919ccbd..44e73f609f3ab 100644
--- a/pkgs/development/libraries/haskell/benchpress/default.nix
+++ b/pkgs/development/libraries/haskell/benchpress/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Micro-benchmarking with detailed statistics";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bert/default.nix b/pkgs/development/libraries/haskell/bert/default.nix
index 217966c1426ee..a9521076bd73f 100644
--- a/pkgs/development/libraries/haskell/bert/default.nix
+++ b/pkgs/development/libraries/haskell/bert/default.nix
@@ -21,6 +21,6 @@ cabal.mkDerivation (self: {
     description = "BERT implementation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bimap/default.nix b/pkgs/development/libraries/haskell/bimap/default.nix
index 3550581d4d10e..4a9d4aa41bc65 100644
--- a/pkgs/development/libraries/haskell/bimap/default.nix
+++ b/pkgs/development/libraries/haskell/bimap/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Bidirectional mapping between two key 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/binary-conduit/default.nix b/pkgs/development/libraries/haskell/binary-conduit/default.nix
index 6ee88b981bb25..37774c1a16af3 100644
--- a/pkgs/development/libraries/haskell/binary-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/binary-conduit/default.nix
@@ -17,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "data serialization/deserialization conduit library";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/binary-shared/default.nix b/pkgs/development/libraries/haskell/binary-shared/default.nix
index bf2d662a58935..bfeef7c0cb628 100644
--- a/pkgs/development/libraries/haskell/binary-shared/default.nix
+++ b/pkgs/development/libraries/haskell/binary-shared/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Sharing for the binary package";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/binary/0.7.2.1.nix b/pkgs/development/libraries/haskell/binary/0.7.2.1.nix
index fbb640d5b4105..b8803868cd13b 100644
--- a/pkgs/development/libraries/haskell/binary/0.7.2.1.nix
+++ b/pkgs/development/libraries/haskell/binary/0.7.2.1.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Binary serialisation for Haskell values using lazy ByteStrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bitarray/default.nix b/pkgs/development/libraries/haskell/bitarray/default.nix
index 2a01ea92a08ec..f063622e8defd 100644
--- a/pkgs/development/libraries/haskell/bitarray/default.nix
+++ b/pkgs/development/libraries/haskell/bitarray/default.nix
@@ -4,13 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "bitarray";
-  version = "0.0.1";
-  sha256 = "01ijysisw70zaw70hx851axw48agfamdqj21rzzhdqd2ww6bwchb";
+  version = "0.0.1.1";
+  sha256 = "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj";
   meta = {
     homepage = "http://code.haskell.org/~bkomuves/";
     description = "Mutable and immutable bit 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/bitmap/default.nix b/pkgs/development/libraries/haskell/bitmap/default.nix
index 790b068b3d60d..74c78cab7060f 100644
--- a/pkgs/development/libraries/haskell/bitmap/default.nix
+++ b/pkgs/development/libraries/haskell/bitmap/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A library for handling and manipulating bitmaps (rectangular pixel 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/bits-atomic/default.nix b/pkgs/development/libraries/haskell/bits-atomic/default.nix
index 4d5b0909b76e7..f45c5a87de952 100644
--- a/pkgs/development/libraries/haskell/bits-atomic/default.nix
+++ b/pkgs/development/libraries/haskell/bits-atomic/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Atomic bit operations on memory locations for low-level synchronization";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bktrees/default.nix b/pkgs/development/libraries/haskell/bktrees/default.nix
index a070bb2b197a1..6797a2b950ac2 100644
--- a/pkgs/development/libraries/haskell/bktrees/default.nix
+++ b/pkgs/development/libraries/haskell/bktrees/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "A set data structure with approximate searching";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix
index 554328275f5d8..02b7950a481e8 100644
--- a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Convert streams of builders to streams of bytestrings. (deprecated)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix b/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix
index 261935d5c23f0..a32b89e2eb7a8 100644
--- a/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Enumeratees for the incremental conversion of builders to bytestrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/blaze-builder/default.nix b/pkgs/development/libraries/haskell/blaze-builder/default.nix
index 4672a3f34cf05..c031633c23316 100644
--- a/pkgs/development/libraries/haskell/blaze-builder/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Efficient buffered output";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/blaze-html/default.nix b/pkgs/development/libraries/haskell/blaze-html/default.nix
index c470f1f55ca69..e29b4c0252104 100644
--- a/pkgs/development/libraries/haskell/blaze-html/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-html/default.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "A blazingly fast HTML combinator library for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/blaze-markup/default.nix b/pkgs/development/libraries/haskell/blaze-markup/default.nix
index eecb8cef2725f..d4b52d5443627 100644
--- a/pkgs/development/libraries/haskell/blaze-markup/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-markup/default.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "A blazingly fast markup combinator library for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/blaze-textual/default.nix b/pkgs/development/libraries/haskell/blaze-textual/default.nix
index a6228000b121a..b3f3334684d8d 100644
--- a/pkgs/development/libraries/haskell/blaze-textual/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-textual/default.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Fast rendering of common datatypes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bmp/default.nix b/pkgs/development/libraries/haskell/bmp/default.nix
index 6d04a1ce6af86..3147b139409f1 100644
--- a/pkgs/development/libraries/haskell/bmp/default.nix
+++ b/pkgs/development/libraries/haskell/bmp/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Read and write uncompressed BMP image files";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bound/default.nix b/pkgs/development/libraries/haskell/bound/default.nix
new file mode 100644
index 0000000000000..31e7b053add3f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bound/default.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bifunctors, binary, bytes, cereal, comonad, doctest
+, filepath, hashable, hashableExtras, preludeExtras, profunctors
+, transformers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "bound";
+  version = "1.0.3";
+  sha256 = "0nfcxq87i9lzdkrg7g65cprn4rg9rhn9nyk2jpjh4c1rc7gdn0aq";
+  buildDepends = [
+    bifunctors binary bytes cereal comonad hashable hashableExtras
+    preludeExtras profunctors transformers
+  ];
+  testDepends = [
+    doctest filepath preludeExtras transformers vector
+  ];
+  meta = {
+    homepage = "http://github.com/ekmett/bound/";
+    description = "Making de Bruijn Succ Less";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix b/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix
index ed291fcbbc5d0..205b05f30d891 100644
--- a/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix
+++ b/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix
@@ -19,5 +19,6 @@ cabal.mkDerivation (self: {
     description = "The type for 2D bounding box";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/brainfuck/default.nix b/pkgs/development/libraries/haskell/brainfuck/default.nix
index 9b0d2eb12bfdb..3f7849efaf455 100644
--- a/pkgs/development/libraries/haskell/brainfuck/default.nix
+++ b/pkgs/development/libraries/haskell/brainfuck/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Brainfuck interpreter";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bson/default.nix b/pkgs/development/libraries/haskell/bson/default.nix
index f46809f69155d..2bcace9da742a 100644
--- a/pkgs/development/libraries/haskell/bson/default.nix
+++ b/pkgs/development/libraries/haskell/bson/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "bson";
-  version = "0.3";
-  sha256 = "0787z6970lf93mgrsyqcilnkx5bynny88ag15z2f07l1rhva6ac4";
+  version = "0.3.1";
+  sha256 = "1kihsjws8sqb44gvilh1zxrqn2bml8gxq2bbanxqb7nr4ymwfkiv";
   buildDepends = [
     binary cryptohash dataBinaryIeee754 mtl network text time
   ];
@@ -17,10 +17,9 @@ cabal.mkDerivation (self: {
   ];
   doCheck = false;
   meta = {
-    homepage = "http://github.com/selectel/bson-haskell";
+    homepage = "http://github.com/mongodb-haskell/bson";
     description = "BSON documents are JSON-like objects with a standard binary encoding";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bv/default.nix b/pkgs/development/libraries/haskell/bv/default.nix
index a5583e5b34317..4a2be6244e766 100644
--- a/pkgs/development/libraries/haskell/bv/default.nix
+++ b/pkgs/development/libraries/haskell/bv/default.nix
@@ -13,5 +13,7 @@ cabal.mkDerivation (self: {
     description = "Bit-vector arithmetic library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/byteorder/default.nix b/pkgs/development/libraries/haskell/byteorder/default.nix
index 99bfd6c21406a..123625233fca3 100644
--- a/pkgs/development/libraries/haskell/byteorder/default.nix
+++ b/pkgs/development/libraries/haskell/byteorder/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Exposes the native endianness or byte ordering of the system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bytestring-lexing/default.nix b/pkgs/development/libraries/haskell/bytestring-lexing/default.nix
index 0ac2f1c63a8de..bcc0f3d0a7684 100644
--- a/pkgs/development/libraries/haskell/bytestring-lexing/default.nix
+++ b/pkgs/development/libraries/haskell/bytestring-lexing/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Parse and produce literals efficiently from strict or lazy bytestrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bytestring-mmap/default.nix b/pkgs/development/libraries/haskell/bytestring-mmap/default.nix
index 4486ae8da454d..1be3a48144cfe 100644
--- a/pkgs/development/libraries/haskell/bytestring-mmap/default.nix
+++ b/pkgs/development/libraries/haskell/bytestring-mmap/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "mmap support for strict ByteStrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bytestring-nums/default.nix b/pkgs/development/libraries/haskell/bytestring-nums/default.nix
index 400529b026a62..c311fbe173885 100644
--- a/pkgs/development/libraries/haskell/bytestring-nums/default.nix
+++ b/pkgs/development/libraries/haskell/bytestring-nums/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Parse numeric literals from ByteStrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bytestring-trie/default.nix b/pkgs/development/libraries/haskell/bytestring-trie/default.nix
index b827c831ffa3f..c8a4143e21788 100644
--- a/pkgs/development/libraries/haskell/bytestring-trie/default.nix
+++ b/pkgs/development/libraries/haskell/bytestring-trie/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "An efficient finite map from (byte)strings to values";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/c2hs/default.nix b/pkgs/development/libraries/haskell/c2hs/default.nix
index bd86e705e7daa..95ead17f01f5d 100644
--- a/pkgs/development/libraries/haskell/c2hs/default.nix
+++ b/pkgs/development/libraries/haskell/c2hs/default.nix
@@ -21,6 +21,5 @@ cabal.mkDerivation (self: {
     description = "C->Haskell FFI tool that gives some cross-language type safety";
     license = self.stdenv.lib.licenses.gpl2;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cabal-cargs/default.nix b/pkgs/development/libraries/haskell/cabal-cargs/default.nix
index 4e891196a501c..85015f5d4acc9 100644
--- a/pkgs/development/libraries/haskell/cabal-cargs/default.nix
+++ b/pkgs/development/libraries/haskell/cabal-cargs/default.nix
@@ -21,6 +21,6 @@ cabal.mkDerivation (self: {
     description = "A command line program for extracting compiler arguments from a cabal file";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.tomberek ];
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cabal-file-th/default.nix b/pkgs/development/libraries/haskell/cabal-file-th/default.nix
index 53a9794883a17..2b1dcdd655832 100644
--- a/pkgs/development/libraries/haskell/cabal-file-th/default.nix
+++ b/pkgs/development/libraries/haskell/cabal-file-th/default.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
     description = "Template Haskell expressions for reading fields from a project's cabal file";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/cabal-lenses/default.nix b/pkgs/development/libraries/haskell/cabal-lenses/default.nix
index 79693a7139f6d..a4ac5164e1f32 100644
--- a/pkgs/development/libraries/haskell/cabal-lenses/default.nix
+++ b/pkgs/development/libraries/haskell/cabal-lenses/default.nix
@@ -4,10 +4,9 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal-lenses";
-  version = "0.2";
-  sha256 = "1wfr4rh7ba1hsvi0v7mzpab7fi5k93lz27v8qdfjqzkyybhjglv4";
+  version = "0.3";
+  sha256 = "13nx9cn81cx9cj7fk07akqvz4qkl49dlgb5wl5wanag6bafa6vhl";
   buildDepends = [ Cabal lens unorderedContainers ];
-  jailbreak = true;
   meta = {
     description = "Lenses and traversals for the Cabal library";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/cabal-macosx/default.nix b/pkgs/development/libraries/haskell/cabal-macosx/default.nix
index 7eb3655101712..f147fe4b28187 100644
--- a/pkgs/development/libraries/haskell/cabal-macosx/default.nix
+++ b/pkgs/development/libraries/haskell/cabal-macosx/default.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Cabal support for creating Mac OSX application bundles";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cairo/default.nix b/pkgs/development/libraries/haskell/cairo/default.nix
index cbb362402a61e..b77e316635431 100644
--- a/pkgs/development/libraries/haskell/cairo/default.nix
+++ b/pkgs/development/libraries/haskell/cairo/default.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Binding to the Cairo 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/case-insensitive/1.0.0.1.nix b/pkgs/development/libraries/haskell/case-insensitive/1.0.0.1.nix
index 6e6cca30c9ab9..d0b40e42d4876 100644
--- a/pkgs/development/libraries/haskell/case-insensitive/1.0.0.1.nix
+++ b/pkgs/development/libraries/haskell/case-insensitive/1.0.0.1.nix
@@ -16,5 +16,6 @@ cabal.mkDerivation (self: {
     description = "Case insensitive string comparison";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/case-insensitive/1.0.0.2.nix b/pkgs/development/libraries/haskell/case-insensitive/1.0.0.2.nix
index ef1e11126017e..650c45ada96a3 100644
--- a/pkgs/development/libraries/haskell/case-insensitive/1.0.0.2.nix
+++ b/pkgs/development/libraries/haskell/case-insensitive/1.0.0.2.nix
@@ -15,5 +15,6 @@ cabal.mkDerivation (self: {
     description = "Case insensitive string comparison";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix b/pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix
index 08340bbb97650..3f75b41bb630b 100644
--- a/pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix
+++ b/pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix
@@ -15,5 +15,6 @@ cabal.mkDerivation (self: {
     description = "Case insensitive string comparison";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/cassava/default.nix b/pkgs/development/libraries/haskell/cassava/default.nix
index ab93dc4419608..c8cb347f10afc 100644
--- a/pkgs/development/libraries/haskell/cassava/default.nix
+++ b/pkgs/development/libraries/haskell/cassava/default.nix
@@ -21,6 +21,6 @@ cabal.mkDerivation (self: {
     description = "A CSV parsing and encoding library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/categories/default.nix b/pkgs/development/libraries/haskell/categories/default.nix
index e8ff4f3e6a51f..0f923d3773806 100644
--- a/pkgs/development/libraries/haskell/categories/default.nix
+++ b/pkgs/development/libraries/haskell/categories/default.nix
@@ -12,5 +12,7 @@ cabal.mkDerivation (self: {
     description = "Categories";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/cautious-file/default.nix b/pkgs/development/libraries/haskell/cautious-file/default.nix
index ff13129c2cffd..e99557b798924 100644
--- a/pkgs/development/libraries/haskell/cautious-file/default.nix
+++ b/pkgs/development/libraries/haskell/cautious-file/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Ways to write a file cautiously, to reduce the chances of problems such as data loss due to crashes or power failures";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cereal/default.nix b/pkgs/development/libraries/haskell/cereal/default.nix
index 99b77033a9667..af77f37abdb7d 100644
--- a/pkgs/development/libraries/haskell/cereal/default.nix
+++ b/pkgs/development/libraries/haskell/cereal/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "A binary serialization 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/certificate/default.nix b/pkgs/development/libraries/haskell/certificate/default.nix
index 06363b8e3351b..5c5c82196ffac 100644
--- a/pkgs/development/libraries/haskell/certificate/default.nix
+++ b/pkgs/development/libraries/haskell/certificate/default.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "Certificates and Key Reader/Writer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.7.1.nix b/pkgs/development/libraries/haskell/cgi/3001.1.7.1.nix
index 5138aa4dff5f8..068d1b7dadfae 100644
--- a/pkgs/development/libraries/haskell/cgi/3001.1.7.1.nix
+++ b/pkgs/development/libraries/haskell/cgi/3001.1.7.1.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix b/pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix
index efff5d1af6b2d..c10fa2416f71a 100644
--- a/pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix
+++ b/pkgs/development/libraries/haskell/cgi/3001.1.7.2.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.7.3.nix b/pkgs/development/libraries/haskell/cgi/3001.1.7.3.nix
index fc3d54afe4b27..7cb7e77dd7782 100644
--- a/pkgs/development/libraries/haskell/cgi/3001.1.7.3.nix
+++ b/pkgs/development/libraries/haskell/cgi/3001.1.7.3.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix b/pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix
index c90c2b248c98f..6071ecc7597e0 100644
--- a/pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix
+++ b/pkgs/development/libraries/haskell/cgi/3001.1.7.4.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cgi/3001.1.8.5.nix b/pkgs/development/libraries/haskell/cgi/3001.1.8.5.nix
index f01feb3edf690..31d523717c5e3 100644
--- a/pkgs/development/libraries/haskell/cgi/3001.1.8.5.nix
+++ b/pkgs/development/libraries/haskell/cgi/3001.1.8.5.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
     description = "A library for writing CGI programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/citeproc-hs/default.nix b/pkgs/development/libraries/haskell/citeproc-hs/default.nix
index ddda7015e47e3..bb95e920ef977 100644
--- a/pkgs/development/libraries/haskell/citeproc-hs/default.nix
+++ b/pkgs/development/libraries/haskell/citeproc-hs/default.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "A Citation Style Language implementation 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/clientsession/default.nix b/pkgs/development/libraries/haskell/clientsession/default.nix
index 5066ad84d866f..30875e90062c7 100644
--- a/pkgs/development/libraries/haskell/clientsession/default.nix
+++ b/pkgs/development/libraries/haskell/clientsession/default.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "Securely store session data in a client-side cookie";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cmdargs/default.nix b/pkgs/development/libraries/haskell/cmdargs/default.nix
index aa9dcb781c048..829f7be4fba09 100644
--- a/pkgs/development/libraries/haskell/cmdargs/default.nix
+++ b/pkgs/development/libraries/haskell/cmdargs/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Command line argument processing";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cmdlib/default.nix b/pkgs/development/libraries/haskell/cmdlib/default.nix
index 9263f3da099cf..2cfe86e2eabfb 100644
--- a/pkgs/development/libraries/haskell/cmdlib/default.nix
+++ b/pkgs/development/libraries/haskell/cmdlib/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "a library for command line parsing & online help";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cmdtheline/default.nix b/pkgs/development/libraries/haskell/cmdtheline/default.nix
index 6e38361b82262..8943eacdd217c 100644
--- a/pkgs/development/libraries/haskell/cmdtheline/default.nix
+++ b/pkgs/development/libraries/haskell/cmdtheline/default.nix
@@ -17,5 +17,7 @@ cabal.mkDerivation (self: {
     description = "Declarative command-line option parsing and documentation library";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/codec-image-devil/default.nix b/pkgs/development/libraries/haskell/codec-image-devil/default.nix
index f1f3bd0a04bfc..567e68b562de8 100644
--- a/pkgs/development/libraries/haskell/codec-image-devil/default.nix
+++ b/pkgs/development/libraries/haskell/codec-image-devil/default.nix
@@ -11,5 +11,7 @@ cabal.mkDerivation (self: {
     description = "An FFI interface to the DevIL library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/colorize-haskell/default.nix b/pkgs/development/libraries/haskell/colorize-haskell/default.nix
index dd46e7ef09f31..ad207329f2da5 100644
--- a/pkgs/development/libraries/haskell/colorize-haskell/default.nix
+++ b/pkgs/development/libraries/haskell/colorize-haskell/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Highligt Haskell source";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/colour/default.nix b/pkgs/development/libraries/haskell/colour/default.nix
index c967bb65600af..748e62b1d94a5 100644
--- a/pkgs/development/libraries/haskell/colour/default.nix
+++ b/pkgs/development/libraries/haskell/colour/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A model for human colour/color perception";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/comonad-transformers/default.nix b/pkgs/development/libraries/haskell/comonad-transformers/default.nix
index b27dc1ee6d79b..f44f299522d9c 100644
--- a/pkgs/development/libraries/haskell/comonad-transformers/default.nix
+++ b/pkgs/development/libraries/haskell/comonad-transformers/default.nix
@@ -13,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "This package has been merged into comonad 4.0";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/compact-string-fix/default.nix b/pkgs/development/libraries/haskell/compact-string-fix/default.nix
index 421bc79893d76..a0a6959b4b1b3 100644
--- a/pkgs/development/libraries/haskell/compact-string-fix/default.nix
+++ b/pkgs/development/libraries/haskell/compact-string-fix/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Same as compact-string except with a small fix so it builds on ghc-6.12";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/compdata/default.nix b/pkgs/development/libraries/haskell/compdata/default.nix
index 6b569858c536b..2e26d9ac781aa 100644
--- a/pkgs/development/libraries/haskell/compdata/default.nix
+++ b/pkgs/development/libraries/haskell/compdata/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "compdata";
-  version = "0.8.1.2";
-  sha256 = "1jhfhinkn6klh68rzl5skh1rianjycc6cfkrglsi17j60a723v9x";
+  version = "0.8.1.3";
+  sha256 = "0rnvw5bdypl6i2k1wnc727a17hapl4hs7n208h16ngk075841gpb";
   buildDepends = [
     deepseq derive mtl QuickCheck thExpandSyns transformers treeView
   ];
diff --git a/pkgs/development/libraries/haskell/concurrent-extra/default.nix b/pkgs/development/libraries/haskell/concurrent-extra/default.nix
index 34bcfdea1a488..43230662fe074 100644
--- a/pkgs/development/libraries/haskell/concurrent-extra/default.nix
+++ b/pkgs/development/libraries/haskell/concurrent-extra/default.nix
@@ -18,5 +18,7 @@ cabal.mkDerivation (self: {
     description = "Extra concurrency primitives";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix
index 7d2375f4b3602..f3c27ebae955a 100644
--- a/pkgs/development/libraries/haskell/conduit/default.nix
+++ b/pkgs/development/libraries/haskell/conduit/default.nix
@@ -21,6 +21,5 @@ cabal.mkDerivation (self: {
     description = "Streaming data processing library";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/constraints/default.nix b/pkgs/development/libraries/haskell/constraints/default.nix
index 4ca94f8d2f2e1..6681f3a85bb9c 100644
--- a/pkgs/development/libraries/haskell/constraints/default.nix
+++ b/pkgs/development/libraries/haskell/constraints/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Constraint manipulation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/continued-fractions/default.nix b/pkgs/development/libraries/haskell/continued-fractions/default.nix
index 45c92acc0687a..2ec057f6a96a9 100644
--- a/pkgs/development/libraries/haskell/continued-fractions/default.nix
+++ b/pkgs/development/libraries/haskell/continued-fractions/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Continued fractions";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/converge/default.nix b/pkgs/development/libraries/haskell/converge/default.nix
index 83302876e4418..63f7fa81c9df9 100644
--- a/pkgs/development/libraries/haskell/converge/default.nix
+++ b/pkgs/development/libraries/haskell/converge/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Limit operations for converging sequences";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/convertible/1.0.11.1.nix b/pkgs/development/libraries/haskell/convertible/1.0.11.1.nix
index cf65b0f936c5b..57423c1b71f07 100644
--- a/pkgs/development/libraries/haskell/convertible/1.0.11.1.nix
+++ b/pkgs/development/libraries/haskell/convertible/1.0.11.1.nix
@@ -14,6 +14,6 @@ cabal.mkDerivation (self: {
     description = "Typeclasses and instances for converting between types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/convertible/1.1.0.0.nix b/pkgs/development/libraries/haskell/convertible/1.1.0.0.nix
index ea8091426ee50..fd8f6dac3a833 100644
--- a/pkgs/development/libraries/haskell/convertible/1.1.0.0.nix
+++ b/pkgs/development/libraries/haskell/convertible/1.1.0.0.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Typeclasses and instances for converting between 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/cookie/default.nix b/pkgs/development/libraries/haskell/cookie/default.nix
index d38de13c3265d..108fb48f939b6 100644
--- a/pkgs/development/libraries/haskell/cookie/default.nix
+++ b/pkgs/development/libraries/haskell/cookie/default.nix
@@ -20,6 +20,5 @@ cabal.mkDerivation (self: {
     description = "HTTP cookie parsing and rendering";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/coroutine-object/default.nix b/pkgs/development/libraries/haskell/coroutine-object/default.nix
index 63448e3a633e9..e3ba619c6aa38 100644
--- a/pkgs/development/libraries/haskell/coroutine-object/default.nix
+++ b/pkgs/development/libraries/haskell/coroutine-object/default.nix
@@ -15,6 +15,6 @@ cabal.mkDerivation (self: {
     description = "Object-oriented programming realization using coroutine";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cprng-aes/default.nix b/pkgs/development/libraries/haskell/cprng-aes/default.nix
index de3b33a070960..64d15480ab874 100644
--- a/pkgs/development/libraries/haskell/cprng-aes/default.nix
+++ b/pkgs/development/libraries/haskell/cprng-aes/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Crypto Pseudo Random Number Generator using AES in counter mode";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cpu/default.nix b/pkgs/development/libraries/haskell/cpu/default.nix
index 5a8d702176573..d10ecaa005933 100644
--- a/pkgs/development/libraries/haskell/cpu/default.nix
+++ b/pkgs/development/libraries/haskell/cpu/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Cpu information and properties helpers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/criterion/default.nix b/pkgs/development/libraries/haskell/criterion/default.nix
index 35d6d74c73c86..7cac43769f814 100644
--- a/pkgs/development/libraries/haskell/criterion/default.nix
+++ b/pkgs/development/libraries/haskell/criterion/default.nix
@@ -1,23 +1,32 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, binary, deepseq, filepath, Glob, hastache, mtl
-, mwcRandom, parsec, statistics, text, time, transformers, vector
-, vectorAlgorithms
+{ cabal, aeson, ansiWlPprint, binary, cassava, deepseq, either
+, filepath, Glob, hastache, HUnit, mtl, mwcRandom
+, optparseApplicative, parsec, QuickCheck, statistics
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
+, time, transformers, vector, vectorAlgorithms
 }:
 
 cabal.mkDerivation (self: {
   pname = "criterion";
-  version = "0.8.1.0";
-  sha256 = "0yzrnma2whd4dnjiy4w24syxgnz1b5bflsi20hrbgd5rmx85k2zd";
+  version = "1.0.0.2";
+  sha256 = "1r30vcrplilj3silnrmn0r5m0df27icdsgd5hx35li9yrs862n95";
+  isLibrary = true;
+  isExecutable = true;
   buildDepends = [
-    aeson binary deepseq filepath Glob hastache mtl mwcRandom parsec
-    statistics text time transformers vector vectorAlgorithms
+    aeson ansiWlPprint binary cassava deepseq either filepath Glob
+    hastache mtl mwcRandom optparseApplicative parsec statistics text
+    time transformers vector vectorAlgorithms
   ];
+  testDepends = [
+    HUnit QuickCheck statistics testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 vector
+  ];
+  doCheck = false;
   meta = {
-    homepage = "https://github.com/bos/criterion";
+    homepage = "http://www.serpentine.com/criterion";
     description = "Robust, reliable performance measurement and analysis";
     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-api/default.nix b/pkgs/development/libraries/haskell/crypto-api/default.nix
index 10bcb3d16b0a5..7c1d6308131d3 100644
--- a/pkgs/development/libraries/haskell/crypto-api/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-api/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A generic interface for cryptographic 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/crypto-conduit/default.nix b/pkgs/development/libraries/haskell/crypto-conduit/default.nix
index 63f6f119e5d9c..b63f6a44108ca 100644
--- a/pkgs/development/libraries/haskell/crypto-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-conduit/default.nix
@@ -22,6 +22,5 @@ cabal.mkDerivation (self: {
     description = "Conduit interface for cryptographic operations (from crypto-api)";
     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-pubkey-types/default.nix b/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix
index e8eeed95aecf8..f8a51f4fa5b86 100644
--- a/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Generic cryptography Public keys algorithm 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/cryptocipher/default.nix b/pkgs/development/libraries/haskell/cryptocipher/default.nix
index 29d2dd1b31d5d..6f9c05f544b0e 100644
--- a/pkgs/development/libraries/haskell/cryptocipher/default.nix
+++ b/pkgs/development/libraries/haskell/cryptocipher/default.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Symmetrical block and stream ciphers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cryptohash/default.nix b/pkgs/development/libraries/haskell/cryptohash/default.nix
index a1d6b32411c71..5d143dfc9e823 100644
--- a/pkgs/development/libraries/haskell/cryptohash/default.nix
+++ b/pkgs/development/libraries/haskell/cryptohash/default.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "collection of crypto hashes, fast, pure and practical";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/css-text/default.nix b/pkgs/development/libraries/haskell/css-text/default.nix
index ea5e823f14e17..dcc2146313dbd 100644
--- a/pkgs/development/libraries/haskell/css-text/default.nix
+++ b/pkgs/development/libraries/haskell/css-text/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "CSS parser and renderer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/csv/default.nix b/pkgs/development/libraries/haskell/csv/default.nix
index 70c469cdb1b4e..e3908008aa7a4 100644
--- a/pkgs/development/libraries/haskell/csv/default.nix
+++ b/pkgs/development/libraries/haskell/csv/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "CSV loader and dumper";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cuda/default.nix b/pkgs/development/libraries/haskell/cuda/default.nix
index 0be319aeff230..c6daa8b5fdd5b 100644
--- a/pkgs/development/libraries/haskell/cuda/default.nix
+++ b/pkgs/development/libraries/haskell/cuda/default.nix
@@ -38,6 +38,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/curl/default.nix b/pkgs/development/libraries/haskell/curl/default.nix
index 39a72e3fe9788..82bdd707ea77a 100644
--- a/pkgs/development/libraries/haskell/curl/default.nix
+++ b/pkgs/development/libraries/haskell/curl/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Haskell binding to libcurl";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
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 9a6fd160ca82c..5b3a54d7220b9 100644
--- a/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix
+++ b/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Utilities for accessing and manipulating fields of records";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix b/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix
index 4ea654e1eb534..f80a8fc0fe8b1 100644
--- a/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix
+++ b/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Utilities for accessing and manipulating fields of records";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-binary-ieee754/default.nix b/pkgs/development/libraries/haskell/data-binary-ieee754/default.nix
index 730bf84abb1d4..8e11a9ef85d91 100644
--- a/pkgs/development/libraries/haskell/data-binary-ieee754/default.nix
+++ b/pkgs/development/libraries/haskell/data-binary-ieee754/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Parser/Serialiser for IEEE-754 floating-point values";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-default/default.nix b/pkgs/development/libraries/haskell/data-default/default.nix
index 77d7d336fe5c8..549cb24a689ad 100644
--- a/pkgs/development/libraries/haskell/data-default/default.nix
+++ b/pkgs/development/libraries/haskell/data-default/default.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "A class for types with a default value";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-inttrie/default.nix b/pkgs/development/libraries/haskell/data-inttrie/default.nix
index 09cd0cb75d848..c9e3ddb3dde45 100644
--- a/pkgs/development/libraries/haskell/data-inttrie/default.nix
+++ b/pkgs/development/libraries/haskell/data-inttrie/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A lazy, infinite trie of integers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-lens-template/default.nix b/pkgs/development/libraries/haskell/data-lens-template/default.nix
index d167e8051cd41..923e11bf2e20f 100644
--- a/pkgs/development/libraries/haskell/data-lens-template/default.nix
+++ b/pkgs/development/libraries/haskell/data-lens-template/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Utilities for Data.Lens";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-lens/default.nix b/pkgs/development/libraries/haskell/data-lens/default.nix
index a880db50a1618..5fba0b4bde34b 100644
--- a/pkgs/development/libraries/haskell/data-lens/default.nix
+++ b/pkgs/development/libraries/haskell/data-lens/default.nix
@@ -12,5 +12,7 @@ cabal.mkDerivation (self: {
     description = "Used to be Haskell 98 Lenses";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-memocombinators/default.nix b/pkgs/development/libraries/haskell/data-memocombinators/default.nix
index a53e093a85cdf..2588a396dc0b0 100644
--- a/pkgs/development/libraries/haskell/data-memocombinators/default.nix
+++ b/pkgs/development/libraries/haskell/data-memocombinators/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Combinators for building memo tables";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-reify/default.nix b/pkgs/development/libraries/haskell/data-reify/default.nix
index 666b92dbdb526..00c2dc1b48ce0 100644
--- a/pkgs/development/libraries/haskell/data-reify/default.nix
+++ b/pkgs/development/libraries/haskell/data-reify/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Reify a recursive data structure into an explicit graph";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/dataenc/default.nix b/pkgs/development/libraries/haskell/dataenc/default.nix
index 190baa101637f..dcb0e97bdb25e 100644
--- a/pkgs/development/libraries/haskell/dataenc/default.nix
+++ b/pkgs/development/libraries/haskell/dataenc/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Data encoding 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/datetime/default.nix b/pkgs/development/libraries/haskell/datetime/default.nix
index d2ed2532d2354..d337f4ee2272d 100644
--- a/pkgs/development/libraries/haskell/datetime/default.nix
+++ b/pkgs/development/libraries/haskell/datetime/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Utilities to make Data.Time.* easier to use.";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/dbmigrations/default.nix b/pkgs/development/libraries/haskell/dbmigrations/default.nix
index e142d7b31728c..7a97a76c6b2e7 100644
--- a/pkgs/development/libraries/haskell/dbmigrations/default.nix
+++ b/pkgs/development/libraries/haskell/dbmigrations/default.nix
@@ -19,6 +19,6 @@ cabal.mkDerivation (self: {
     description = "An implementation of relational database \"migrations\"";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/deepseq-th/default.nix b/pkgs/development/libraries/haskell/deepseq-th/default.nix
index efa3057291d60..1d34e12a844aa 100644
--- a/pkgs/development/libraries/haskell/deepseq-th/default.nix
+++ b/pkgs/development/libraries/haskell/deepseq-th/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Template Haskell based deriver for optimised NFData instances";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix b/pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix
index 8eebbf62ac6f6..4d7a0b9b818a4 100644
--- a/pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix
+++ b/pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix b/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix
index ddc866d56f38f..7748ff96a8af0 100644
--- a/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix
+++ b/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/deepseq/1.2.0.1.nix b/pkgs/development/libraries/haskell/deepseq/1.2.0.1.nix
index 65e051878ece1..340d7fb3bf22a 100644
--- a/pkgs/development/libraries/haskell/deepseq/1.2.0.1.nix
+++ b/pkgs/development/libraries/haskell/deepseq/1.2.0.1.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/deepseq/1.3.0.2.nix b/pkgs/development/libraries/haskell/deepseq/1.3.0.2.nix
index 1dd3e7f09ba9c..99ce96c88466a 100644
--- a/pkgs/development/libraries/haskell/deepseq/1.3.0.2.nix
+++ b/pkgs/development/libraries/haskell/deepseq/1.3.0.2.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Deep evaluation of data structures";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/derive/default.nix b/pkgs/development/libraries/haskell/derive/default.nix
index eb1b1ce316234..dbad9c538a929 100644
--- a/pkgs/development/libraries/haskell/derive/default.nix
+++ b/pkgs/development/libraries/haskell/derive/default.nix
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "A program and library to derive instances for data 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/derp/default.nix b/pkgs/development/libraries/haskell/derp/default.nix
index 668ea96abbb36..c14b43a4bc3a3 100644
--- a/pkgs/development/libraries/haskell/derp/default.nix
+++ b/pkgs/development/libraries/haskell/derp/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Derivative Parsing";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/diagrams/cairo.nix b/pkgs/development/libraries/haskell/diagrams/cairo.nix
index da842c656e198..c0f678311b9a3 100644
--- a/pkgs/development/libraries/haskell/diagrams/cairo.nix
+++ b/pkgs/development/libraries/haskell/diagrams/cairo.nix
@@ -14,6 +14,7 @@ cabal.mkDerivation (self: {
     hashable JuicyPixels lens mtl optparseApplicative pango split
     statestack time transformers vector
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://projects.haskell.org/diagrams";
     description = "Cairo backend for diagrams drawing EDSL";
diff --git a/pkgs/development/libraries/haskell/diagrams/postscript.nix b/pkgs/development/libraries/haskell/diagrams/postscript.nix
index 1ded949e7cee0..6ecd2dd4a4105 100644
--- a/pkgs/development/libraries/haskell/diagrams/postscript.nix
+++ b/pkgs/development/libraries/haskell/diagrams/postscript.nix
@@ -18,5 +18,7 @@ cabal.mkDerivation (self: {
     description = "Postscript backend for diagrams drawing EDSL";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/diff3/default.nix b/pkgs/development/libraries/haskell/diff3/default.nix
index f010f1a194a02..d13b7af776b11 100644
--- a/pkgs/development/libraries/haskell/diff3/default.nix
+++ b/pkgs/development/libraries/haskell/diff3/default.nix
@@ -16,6 +16,6 @@ cabal.mkDerivation (self: {
     description = "Perform a 3-way difference of documents";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/digest/default.nix b/pkgs/development/libraries/haskell/digest/default.nix
index 523c2e91c5b50..6b1f2077ca693 100644
--- a/pkgs/development/libraries/haskell/digest/default.nix
+++ b/pkgs/development/libraries/haskell/digest/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Various cryptographic hashes for bytestrings; CRC32 and Adler32 for now";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix b/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix
index 2613899d5973d..924f8bb351d43 100644
--- a/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix
@@ -12,11 +12,12 @@ cabal.mkDerivation (self: {
   testDepends = [
     aeson digestiveFunctors HUnit mtl scientific tasty tastyHunit text
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/ocharles/digestive-functors-aeson";
     description = "Run digestive-functors forms against JSON";
     license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/digits/default.nix b/pkgs/development/libraries/haskell/digits/default.nix
index 988c0016f514c..16f4e665f933f 100644
--- a/pkgs/development/libraries/haskell/digits/default.nix
+++ b/pkgs/development/libraries/haskell/digits/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Converts integers to lists of digits and back";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/dimensional/default.nix b/pkgs/development/libraries/haskell/dimensional/default.nix
index 1450b7706ca0b..3435bf57d5c56 100644
--- a/pkgs/development/libraries/haskell/dimensional/default.nix
+++ b/pkgs/development/libraries/haskell/dimensional/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Statically checked physical dimensions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/directory-tree/default.nix b/pkgs/development/libraries/haskell/directory-tree/default.nix
index 6a33827418013..d4bff085005c9 100644
--- a/pkgs/development/libraries/haskell/directory-tree/default.nix
+++ b/pkgs/development/libraries/haskell/directory-tree/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "A simple directory-like tree datatype, with useful IO functions";
     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
index f1003927f385b..8f7f61da8f69a 100644
--- a/pkgs/development/libraries/haskell/distributed-static/default.nix
+++ b/pkgs/development/libraries/haskell/distributed-static/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     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/djinn/default.nix b/pkgs/development/libraries/haskell/djinn/default.nix
index fbe450df19a98..12ff67c7f20d8 100644
--- a/pkgs/development/libraries/haskell/djinn/default.nix
+++ b/pkgs/development/libraries/haskell/djinn/default.nix
@@ -17,5 +17,7 @@ cabal.mkDerivation (self: {
     description = "Generate Haskell code from a type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = self.stdenv.lib.versionOlder "7.7" self.ghc.version;
   };
 })
diff --git a/pkgs/development/libraries/haskell/dlist/default.nix b/pkgs/development/libraries/haskell/dlist/default.nix
index 69e95efa70430..bf0b73b45e603 100644
--- a/pkgs/development/libraries/haskell/dlist/default.nix
+++ b/pkgs/development/libraries/haskell/dlist/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Difference lists";
     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
index 60a32ea092fd2..113e1af46eed5 100644
--- a/pkgs/development/libraries/haskell/dns/default.nix
+++ b/pkgs/development/libraries/haskell/dns/default.nix
@@ -1,20 +1,20 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, attoparsec, binary, blazeBuilder, conduit, conduitExtra
-, doctest, hspec, iproute, mtl, network, random, resourcet
+, doctest, hspec, iproute, mtl, network, random, resourcet, word8
 }:
 
 cabal.mkDerivation (self: {
   pname = "dns";
-  version = "1.4.1";
-  sha256 = "0q5ib797p0ay8lrlywaqyg736qh67mfdqwc53c1qhr5xrbcyvdir";
+  version = "1.4.3";
+  sha256 = "15v24f338w71dn3cxrzwyg04hk3vxvrvswbv3nnf2ggjgg46yq3i";
   buildDepends = [
     attoparsec binary blazeBuilder conduit conduitExtra iproute mtl
     network random resourcet
   ];
   testDepends = [
     attoparsec binary blazeBuilder conduit conduitExtra doctest hspec
-    iproute mtl network random resourcet
+    iproute mtl network random resourcet word8
   ];
   testTarget = "spec";
   meta = {
diff --git a/pkgs/development/libraries/haskell/dotgen/default.nix b/pkgs/development/libraries/haskell/dotgen/default.nix
index 5e1037c4c5f53..f72b051be44ad 100644
--- a/pkgs/development/libraries/haskell/dotgen/default.nix
+++ b/pkgs/development/libraries/haskell/dotgen/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A simple interface for building .dot graph files.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/double-conversion/default.nix b/pkgs/development/libraries/haskell/double-conversion/default.nix
index 6d8bdee480f94..8ad84ea38ebf2 100644
--- a/pkgs/development/libraries/haskell/double-conversion/default.nix
+++ b/pkgs/development/libraries/haskell/double-conversion/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Fast conversion between double precision floating point and text";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/download-curl/default.nix b/pkgs/development/libraries/haskell/download-curl/default.nix
index 054491704a34d..c30cbfec691e4 100644
--- a/pkgs/development/libraries/haskell/download-curl/default.nix
+++ b/pkgs/development/libraries/haskell/download-curl/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "High-level file download based on URLs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/download/default.nix b/pkgs/development/libraries/haskell/download/default.nix
index 3428e8ea3623e..dc9ecd7145a4e 100644
--- a/pkgs/development/libraries/haskell/download/default.nix
+++ b/pkgs/development/libraries/haskell/download/default.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
     description = "High-level file download based on URLs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/dstring/default.nix b/pkgs/development/libraries/haskell/dstring/default.nix
index ee4cc6b48a439..eee03fd3fba1c 100644
--- a/pkgs/development/libraries/haskell/dstring/default.nix
+++ b/pkgs/development/libraries/haskell/dstring/default.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
     description = "Difference strings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/edit-distance/default.nix b/pkgs/development/libraries/haskell/edit-distance/default.nix
index b1ee00fd7a715..c68e32b78dfd9 100644
--- a/pkgs/development/libraries/haskell/edit-distance/default.nix
+++ b/pkgs/development/libraries/haskell/edit-distance/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Levenshtein and restricted Damerau-Levenshtein edit distances";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/editline/0.2.1.0.nix b/pkgs/development/libraries/haskell/editline/0.2.1.0.nix
index 55b1e685d6dad..d36a2ee11f289 100644
--- a/pkgs/development/libraries/haskell/editline/0.2.1.0.nix
+++ b/pkgs/development/libraries/haskell/editline/0.2.1.0.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Bindings to the editline library (libedit)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/editline/0.2.1.1.nix b/pkgs/development/libraries/haskell/editline/0.2.1.1.nix
index efb41f546b22f..4458a067b1f4b 100644
--- a/pkgs/development/libraries/haskell/editline/0.2.1.1.nix
+++ b/pkgs/development/libraries/haskell/editline/0.2.1.1.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Bindings to the editline library (libedit)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/ekg-carbon/default.nix b/pkgs/development/libraries/haskell/ekg-carbon/default.nix
index e69e6a5ae4a60..06daad669676b 100644
--- a/pkgs/development/libraries/haskell/ekg-carbon/default.nix
+++ b/pkgs/development/libraries/haskell/ekg-carbon/default.nix
@@ -16,6 +16,6 @@ cabal.mkDerivation (self: {
     description = "An EKG backend to send statistics to Carbon (part of Graphite monitoring tools)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ekg/default.nix b/pkgs/development/libraries/haskell/ekg/default.nix
index beb92ef51fe75..4b639df3b7d47 100644
--- a/pkgs/development/libraries/haskell/ekg/default.nix
+++ b/pkgs/development/libraries/haskell/ekg/default.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
     aeson ekgCore filepath network snapCore snapServer text time
     transformers unorderedContainers
   ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/tibbe/ekg";
     description = "Remote monitoring of processes";
diff --git a/pkgs/development/libraries/haskell/email-validate/default.nix b/pkgs/development/libraries/haskell/email-validate/default.nix
index 793184e210146..8f95b8ec67bc1 100644
--- a/pkgs/development/libraries/haskell/email-validate/default.nix
+++ b/pkgs/development/libraries/haskell/email-validate/default.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Validating an email address string against RFC 5322";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/engine-io-snap/default.nix b/pkgs/development/libraries/haskell/engine-io-snap/default.nix
index 996b8ace9829f..70c7a1c7d4f64 100644
--- a/pkgs/development/libraries/haskell/engine-io-snap/default.nix
+++ b/pkgs/development/libraries/haskell/engine-io-snap/default.nix
@@ -15,6 +15,6 @@ cabal.mkDerivation (self: {
   meta = {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/engine-io/default.nix b/pkgs/development/libraries/haskell/engine-io/default.nix
index fd21d94cdf722..82cb1240610de 100644
--- a/pkgs/development/libraries/haskell/engine-io/default.nix
+++ b/pkgs/development/libraries/haskell/engine-io/default.nix
@@ -13,11 +13,12 @@ cabal.mkDerivation (self: {
     aeson async attoparsec base64Bytestring either monadLoops mwcRandom
     stm text transformers unorderedContainers vector websockets
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/ocharles/engine.io";
     description = "A Haskell implementation of Engine.IO";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/entropy/default.nix b/pkgs/development/libraries/haskell/entropy/default.nix
index 46020b7c9113b..881a9cd9a0afd 100644
--- a/pkgs/development/libraries/haskell/entropy/default.nix
+++ b/pkgs/development/libraries/haskell/entropy/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A platform independent entropy source";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/enumerator/default.nix b/pkgs/development/libraries/haskell/enumerator/default.nix
index 1418274271fd9..d68222f6f7bf4 100644
--- a/pkgs/development/libraries/haskell/enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/enumerator/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Reliable, high-performance processing with left-fold enumerators";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/enummapset/default.nix b/pkgs/development/libraries/haskell/enummapset/default.nix
index d5a0249e52899..97833ea94650c 100644
--- a/pkgs/development/libraries/haskell/enummapset/default.nix
+++ b/pkgs/development/libraries/haskell/enummapset/default.nix
@@ -13,5 +13,7 @@ cabal.mkDerivation (self: {
     description = "IntMap and IntSet with Enum keys/elements";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/enumset/default.nix b/pkgs/development/libraries/haskell/enumset/default.nix
index fefb424d495dc..d563ce0424791 100644
--- a/pkgs/development/libraries/haskell/enumset/default.nix
+++ b/pkgs/development/libraries/haskell/enumset/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Sets of enumeration values represented by machine words";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ertes ];
+    maintainers = with self.stdenv.lib.maintainers; [ ertes ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/equivalence/0.2.3.nix b/pkgs/development/libraries/haskell/equivalence/0.2.3.nix
index 9344682122444..c21c0e1617030 100644
--- a/pkgs/development/libraries/haskell/equivalence/0.2.3.nix
+++ b/pkgs/development/libraries/haskell/equivalence/0.2.3.nix
@@ -18,5 +18,6 @@ cabal.mkDerivation (self: {
     description = "Maintaining an equivalence relation implemented as union-find using STT";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/erf/default.nix b/pkgs/development/libraries/haskell/erf/default.nix
index 6904bdadb96c2..431a9b99b3351 100644
--- a/pkgs/development/libraries/haskell/erf/default.nix
+++ b/pkgs/development/libraries/haskell/erf/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "The error function, erf, and related functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/esqueleto/default.nix b/pkgs/development/libraries/haskell/esqueleto/default.nix
index 09edb8c121484..637f32c39961d 100644
--- a/pkgs/development/libraries/haskell/esqueleto/default.nix
+++ b/pkgs/development/libraries/haskell/esqueleto/default.nix
@@ -23,6 +23,6 @@ cabal.mkDerivation (self: {
     description = "Type-safe EDSL for SQL queries on persistent backends";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ex-pool/default.nix b/pkgs/development/libraries/haskell/ex-pool/default.nix
index e3fc6cee6502e..7c40662dd9800 100644
--- a/pkgs/development/libraries/haskell/ex-pool/default.nix
+++ b/pkgs/development/libraries/haskell/ex-pool/default.nix
@@ -14,6 +14,6 @@ cabal.mkDerivation (self: {
     description = "Another fork of resource-pool, with a MonadIO and MonadCatch constraint";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/exception-mtl/default.nix b/pkgs/development/libraries/haskell/exception-mtl/default.nix
index c19a98771385e..d3d21aaf27a55 100644
--- a/pkgs/development/libraries/haskell/exception-mtl/default.nix
+++ b/pkgs/development/libraries/haskell/exception-mtl/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Exception monad transformer instances for mtl2 classes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/exception-transformers/default.nix b/pkgs/development/libraries/haskell/exception-transformers/default.nix
index bedbb527ff359..e6c778e981d3f 100644
--- a/pkgs/development/libraries/haskell/exception-transformers/default.nix
+++ b/pkgs/development/libraries/haskell/exception-transformers/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Type classes and monads for unchecked extensible exceptions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/exceptions/default.nix b/pkgs/development/libraries/haskell/exceptions/default.nix
index 1a56adb219cc5..ef56c9909e1c3 100644
--- a/pkgs/development/libraries/haskell/exceptions/default.nix
+++ b/pkgs/development/libraries/haskell/exceptions/default.nix
@@ -17,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "Extensible optionally-pure exceptions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/executable-path/default.nix b/pkgs/development/libraries/haskell/executable-path/default.nix
index 93df3c3814f67..c8ec138eb63c9 100644
--- a/pkgs/development/libraries/haskell/executable-path/default.nix
+++ b/pkgs/development/libraries/haskell/executable-path/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Finding out the full path of the executable";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/explicit-exception/default.nix b/pkgs/development/libraries/haskell/explicit-exception/default.nix
index 2cc0d456b17f2..6c5c4f2b2ff88 100644
--- a/pkgs/development/libraries/haskell/explicit-exception/default.nix
+++ b/pkgs/development/libraries/haskell/explicit-exception/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Exceptions which are explicit in the type signature";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/extensible-effects/default.nix b/pkgs/development/libraries/haskell/extensible-effects/default.nix
index 72167d2d3a7a3..0c743df4a162a 100644
--- a/pkgs/development/libraries/haskell/extensible-effects/default.nix
+++ b/pkgs/development/libraries/haskell/extensible-effects/default.nix
@@ -19,6 +19,6 @@ cabal.mkDerivation (self: {
     description = "An Alternative to Monad Transformers";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.0.nix b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.0.nix
index 4f1cd630596a8..e9c1f352a0954 100644
--- a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.0.nix
+++ b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.0.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Extensible exceptions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.2.nix b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.2.nix
index 279118e13013c..8003b47f64e12 100644
--- a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.2.nix
+++ b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.2.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Extensible exceptions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.3.nix b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.3.nix
index 9afa901de4fd2..ee5abc006b678 100644
--- a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.3.nix
+++ b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.3.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Extensible exceptions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.4.nix b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.4.nix
index 2315d336ff9eb..39969527a85a2 100644
--- a/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.4.nix
+++ b/pkgs/development/libraries/haskell/extensible-exceptions/0.1.1.4.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Extensible exceptions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/failure/default.nix b/pkgs/development/libraries/haskell/failure/default.nix
index d8cd530075aa0..86912a2e4457e 100644
--- a/pkgs/development/libraries/haskell/failure/default.nix
+++ b/pkgs/development/libraries/haskell/failure/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "A simple type class for success/failure computations. (deprecated)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fast-logger/default.nix b/pkgs/development/libraries/haskell/fast-logger/default.nix
index d440410380890..b4e32fa2bb0cc 100644
--- a/pkgs/development/libraries/haskell/fast-logger/default.nix
+++ b/pkgs/development/libraries/haskell/fast-logger/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A fast logging system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fastcgi/default.nix b/pkgs/development/libraries/haskell/fastcgi/default.nix
index c1faf9ce96b9b..a41815250e1f3 100644
--- a/pkgs/development/libraries/haskell/fastcgi/default.nix
+++ b/pkgs/development/libraries/haskell/fastcgi/default.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
     description = "A Haskell library for writing FastCGI programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.tomberek ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fay-base/default.nix b/pkgs/development/libraries/haskell/fay-base/default.nix
index 78d099e3100a2..78f6b104c9429 100644
--- a/pkgs/development/libraries/haskell/fay-base/default.nix
+++ b/pkgs/development/libraries/haskell/fay-base/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "The base package for Fay";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fay/default.nix b/pkgs/development/libraries/haskell/fay/default.nix
index 10eafa70753f1..8c09bf444ee41 100644
--- a/pkgs/development/libraries/haskell/fay/default.nix
+++ b/pkgs/development/libraries/haskell/fay/default.nix
@@ -25,6 +25,6 @@ cabal.mkDerivation (self: {
     description = "A compiler for Fay, a Haskell subset that compiles to JavaScript";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fclabels/default.nix b/pkgs/development/libraries/haskell/fclabels/default.nix
index a7753f1a70da2..431a46504ee28 100644
--- a/pkgs/development/libraries/haskell/fclabels/default.nix
+++ b/pkgs/development/libraries/haskell/fclabels/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "First class accessor labels implemented as lenses";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/feed/default.nix b/pkgs/development/libraries/haskell/feed/default.nix
index 3a5ec2ad1af4e..b7bc816b6d033 100644
--- a/pkgs/development/libraries/haskell/feed/default.nix
+++ b/pkgs/development/libraries/haskell/feed/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Interfacing with RSS (v 0.9x, 2.x, 1.0) + Atom feeds.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fgl-visualize/default.nix b/pkgs/development/libraries/haskell/fgl-visualize/default.nix
index 1f31985d92861..ea11a67d3c908 100644
--- a/pkgs/development/libraries/haskell/fgl-visualize/default.nix
+++ b/pkgs/development/libraries/haskell/fgl-visualize/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Convert FGL graphs to dot (graphviz) files";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fgl/5.4.2.2.nix b/pkgs/development/libraries/haskell/fgl/5.4.2.2.nix
index 49a0178618688..61043f82f976d 100644
--- a/pkgs/development/libraries/haskell/fgl/5.4.2.2.nix
+++ b/pkgs/development/libraries/haskell/fgl/5.4.2.2.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix b/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix
index 5328f078a8f06..1ecc9fb05e71e 100644
--- a/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix
+++ b/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fgl/5.4.2.4.nix b/pkgs/development/libraries/haskell/fgl/5.4.2.4.nix
index 29296c4576d0d..65596c350dea0 100644
--- a/pkgs/development/libraries/haskell/fgl/5.4.2.4.nix
+++ b/pkgs/development/libraries/haskell/fgl/5.4.2.4.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fgl/5.5.0.0.nix b/pkgs/development/libraries/haskell/fgl/5.5.0.0.nix
index 442f772d19abc..4fd2a4d05971d 100644
--- a/pkgs/development/libraries/haskell/fgl/5.5.0.0.nix
+++ b/pkgs/development/libraries/haskell/fgl/5.5.0.0.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fgl/5.5.0.1.nix b/pkgs/development/libraries/haskell/fgl/5.5.0.1.nix
index 2e1bb2364b4aa..65a67528d01a4 100644
--- a/pkgs/development/libraries/haskell/fgl/5.5.0.1.nix
+++ b/pkgs/development/libraries/haskell/fgl/5.5.0.1.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Martin Erwig's Functional Graph 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/file-embed/default.nix b/pkgs/development/libraries/haskell/file-embed/default.nix
index 02eb043cc3a2d..b9cd34552b2c5 100644
--- a/pkgs/development/libraries/haskell/file-embed/default.nix
+++ b/pkgs/development/libraries/haskell/file-embed/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Use Template Haskell to embed file contents directly";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/filemanip/default.nix b/pkgs/development/libraries/haskell/filemanip/default.nix
index 38fc115141bda..c07ba6c2c9078 100644
--- a/pkgs/development/libraries/haskell/filemanip/default.nix
+++ b/pkgs/development/libraries/haskell/filemanip/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Expressive file and directory manipulation for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/filepath/1.3.0.2.nix b/pkgs/development/libraries/haskell/filepath/1.3.0.2.nix
deleted file mode 100644
index e8bca5c63cf30..0000000000000
--- a/pkgs/development/libraries/haskell/filepath/1.3.0.2.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, QuickCheck, random }:
-
-cabal.mkDerivation (self: {
-  pname = "filepath";
-  version = "1.3.0.2";
-  sha256 = "0wvvz6cs5fh4f04a87b9s7xrnzypmnzzkn149p6xk8xi7gcvcpy2";
-  testDepends = [ QuickCheck random ];
-  meta = {
-    homepage = "http://www-users.cs.york.ac.uk/~ndm/filepath/";
-    description = "Library for manipulating FilePaths in a cross platform way";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/filestore/default.nix b/pkgs/development/libraries/haskell/filestore/default.nix
index 9fa673fd2860e..116875ecbdcf0 100644
--- a/pkgs/development/libraries/haskell/filestore/default.nix
+++ b/pkgs/development/libraries/haskell/filestore/default.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Interface for versioning file stores";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fingertree/default.nix b/pkgs/development/libraries/haskell/fingertree/default.nix
index 4ea7f2ecd9e11..321bb5cab8f84 100644
--- a/pkgs/development/libraries/haskell/fingertree/default.nix
+++ b/pkgs/development/libraries/haskell/fingertree/default.nix
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "Generic finger-tree structure, with example instances";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/flexible-defaults/default.nix b/pkgs/development/libraries/haskell/flexible-defaults/default.nix
index d127225ffab8b..1a20983a5a503 100644
--- a/pkgs/development/libraries/haskell/flexible-defaults/default.nix
+++ b/pkgs/development/libraries/haskell/flexible-defaults/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Generate default function implementations for complex type classes";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/foldl/default.nix b/pkgs/development/libraries/haskell/foldl/default.nix
index 5952e335f43cd..7a942e97dc89f 100644
--- a/pkgs/development/libraries/haskell/foldl/default.nix
+++ b/pkgs/development/libraries/haskell/foldl/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Composable, streaming, and efficient left folds";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/folds/default.nix b/pkgs/development/libraries/haskell/folds/default.nix
index 7e3fb5a2dc602..c274c774415fe 100644
--- a/pkgs/development/libraries/haskell/folds/default.nix
+++ b/pkgs/development/libraries/haskell/folds/default.nix
@@ -1,8 +1,8 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, comonad, contravariant, deepseq, doctest, filepath, hlint
-, lens, mtl, pointed, profunctors, reflection, semigroupoids
-, semigroups, tagged, transformers, vector
+{ cabal, comonad, contravariant, deepseq, doctest, filepath, lens
+, mtl, pointed, profunctors, reflection, semigroupoids, semigroups
+, tagged, transformers, vector
 }:
 
 cabal.mkDerivation (self: {
@@ -13,8 +13,9 @@ cabal.mkDerivation (self: {
     comonad contravariant lens pointed profunctors reflection
     semigroupoids tagged transformers vector
   ];
-  testDepends = [ deepseq doctest filepath hlint mtl semigroups ];
-  doCheck = false;
+  testDepends = [ deepseq doctest filepath mtl semigroups ];
+  configureFlags = "-f-test-hlint";
+  enableSplitObjs = false;
   meta = {
     homepage = "http://github.com/ekmett/folds";
     description = "Beautiful Folding";
diff --git a/pkgs/development/libraries/haskell/formatting/default.nix b/pkgs/development/libraries/haskell/formatting/default.nix
new file mode 100644
index 0000000000000..1345ac76243c6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/formatting/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, scientific, text, textFormat, time }:
+
+cabal.mkDerivation (self: {
+  pname = "formatting";
+  version = "5.2";
+  sha256 = "0lmbzm98idy7bzpvaqnk9j6181vakk553smqkf959gn5jdj95z3k";
+  buildDepends = [ scientific text textFormat time ];
+  meta = {
+    description = "Combinator-based type-safe formatting (like printf() or FORMAT)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/free/default.nix b/pkgs/development/libraries/haskell/free/default.nix
index 8aea1b312a032..e516eb3613a03 100644
--- a/pkgs/development/libraries/haskell/free/default.nix
+++ b/pkgs/development/libraries/haskell/free/default.nix
@@ -18,6 +18,6 @@ cabal.mkDerivation (self: {
     description = "Monads for free";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/funcmp/default.nix b/pkgs/development/libraries/haskell/funcmp/default.nix
index 1e0ee45de591f..16f41718d0b57 100644
--- a/pkgs/development/libraries/haskell/funcmp/default.nix
+++ b/pkgs/development/libraries/haskell/funcmp/default.nix
@@ -12,9 +12,6 @@ cabal.mkDerivation (self: {
     description = "Functional MetaPost";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gamma/default.nix b/pkgs/development/libraries/haskell/gamma/default.nix
index c2117bffa7edd..2f55936fadf12 100644
--- a/pkgs/development/libraries/haskell/gamma/default.nix
+++ b/pkgs/development/libraries/haskell/gamma/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Gamma function and related functions";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gd/default.nix b/pkgs/development/libraries/haskell/gd/default.nix
index bf4827800602f..f2a534f47c855 100644
--- a/pkgs/development/libraries/haskell/gd/default.nix
+++ b/pkgs/development/libraries/haskell/gd/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "A Haskell binding to a subset of the GD graphics 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/gdiff/default.nix b/pkgs/development/libraries/haskell/gdiff/default.nix
index 1b94961e4eed7..616b5eb337d36 100644
--- a/pkgs/development/libraries/haskell/gdiff/default.nix
+++ b/pkgs/development/libraries/haskell/gdiff/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Generic diff and patch";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/generic-deriving/default.nix b/pkgs/development/libraries/haskell/generic-deriving/default.nix
index c1e3ee5caad50..4ec1f45178875 100644
--- a/pkgs/development/libraries/haskell/generic-deriving/default.nix
+++ b/pkgs/development/libraries/haskell/generic-deriving/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Generic programming library for generalised deriving";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/generics-sop/default.nix b/pkgs/development/libraries/haskell/generics-sop/default.nix
index ba3d8a5686c33..2fce6c66be595 100644
--- a/pkgs/development/libraries/haskell/generics-sop/default.nix
+++ b/pkgs/development/libraries/haskell/generics-sop/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Generic Programming using True Sums of Products";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ghc-core/default.nix b/pkgs/development/libraries/haskell/ghc-core/default.nix
index 60a2284fa7a5b..ee92a45e87b6d 100644
--- a/pkgs/development/libraries/haskell/ghc-core/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-core/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Display GHC's core and assembly output in a pager";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ghc-events/default.nix b/pkgs/development/libraries/haskell/ghc-events/default.nix
index 46dfa17063ab3..580a21bd8c6c9 100644
--- a/pkgs/development/libraries/haskell/ghc-events/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-events/default.nix
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "Library and tool for parsing .eventlog files from GHC";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ghc-mtl/default.nix b/pkgs/development/libraries/haskell/ghc-mtl/default.nix
index 61319f1fb5a51..9ba3362000ade 100644
--- a/pkgs/development/libraries/haskell/ghc-mtl/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-mtl/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "An mtl compatible version of the Ghc-Api monads and monad-transformers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix b/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix
index 099eecd262871..7778d3f8e5a03 100644
--- a/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Scrap Your Boilerplate utilities for the GHC API";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ghc-syb/default.nix b/pkgs/development/libraries/haskell/ghc-syb/default.nix
index 88673b04798d1..58caf7f3e297a 100644
--- a/pkgs/development/libraries/haskell/ghc-syb/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-syb/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Data and Typeable instances for the GHC API";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/gio/default.nix b/pkgs/development/libraries/haskell/gio/default.nix
index 69cc5cd9ea6fd..63468acf27f4f 100644
--- a/pkgs/development/libraries/haskell/gio/default.nix
+++ b/pkgs/development/libraries/haskell/gio/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Binding to the GIO";
     license = self.stdenv.lib.licenses.lgpl21;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/git-date/default.nix b/pkgs/development/libraries/haskell/git-date/default.nix
index c4d135d2f151b..1ee0095cd1779 100644
--- a/pkgs/development/libraries/haskell/git-date/default.nix
+++ b/pkgs/development/libraries/haskell/git-date/default.nix
@@ -17,5 +17,7 @@ cabal.mkDerivation (self: {
     description = "Bindings to the date parsing from Git";
     license = self.stdenv.lib.licenses.gpl2;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/gitit/default.nix b/pkgs/development/libraries/haskell/gitit/default.nix
index 6214c94210c37..50388662001c6 100644
--- a/pkgs/development/libraries/haskell/gitit/default.nix
+++ b/pkgs/development/libraries/haskell/gitit/default.nix
@@ -26,6 +26,5 @@ cabal.mkDerivation (self: {
     description = "Wiki using happstack, git or darcs, and pandoc";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gitlib-libgit2/default.nix b/pkgs/development/libraries/haskell/gitlib-libgit2/default.nix
index fcff600676155..6d2af5587063b 100644
--- a/pkgs/development/libraries/haskell/gitlib-libgit2/default.nix
+++ b/pkgs/development/libraries/haskell/gitlib-libgit2/default.nix
@@ -26,6 +26,6 @@ cabal.mkDerivation (self: {
     description = "Libgit2 backend for gitlib";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gitlib-test/default.nix b/pkgs/development/libraries/haskell/gitlib-test/default.nix
index d5467d2876739..38e1cbc36e7cf 100644
--- a/pkgs/development/libraries/haskell/gitlib-test/default.nix
+++ b/pkgs/development/libraries/haskell/gitlib-test/default.nix
@@ -17,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "Test library for confirming gitlib backend compliance";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gitlib/default.nix b/pkgs/development/libraries/haskell/gitlib/default.nix
index 52f3137b5eb51..cfa9dd2b8e3e9 100644
--- a/pkgs/development/libraries/haskell/gitlib/default.nix
+++ b/pkgs/development/libraries/haskell/gitlib/default.nix
@@ -20,6 +20,6 @@ cabal.mkDerivation (self: {
     description = "API library for working with Git repositories";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/glade/default.nix b/pkgs/development/libraries/haskell/glade/default.nix
index 86a062b69098b..27af64b973dc6 100644
--- a/pkgs/development/libraries/haskell/glade/default.nix
+++ b/pkgs/development/libraries/haskell/glade/default.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Binding to the glade library";
     license = self.stdenv.lib.licenses.lgpl21;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/glib/default.nix b/pkgs/development/libraries/haskell/glib/default.nix
index 971ef970a68c7..4a17862c966a6 100644
--- a/pkgs/development/libraries/haskell/glib/default.nix
+++ b/pkgs/development/libraries/haskell/glib/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "glib";
-  version = "0.13.0.0";
-  sha256 = "0l3mkbwm90zfgn6qrblnp642pr4m9lqpi4pg3kfpqlqp5vziszy9";
+  version = "0.13.0.1";
+  sha256 = "0xbv7y1lmy35k6h2cgav7mxvpywvwfw47jq7qkcjj8mmr2sizp8i";
   buildDepends = [ text utf8String ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "Binding to the GLIB library for Gtk2Hs";
     license = self.stdenv.lib.licenses.lgpl21;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gloss/default.nix b/pkgs/development/libraries/haskell/gloss/default.nix
index 9ae9c44339805..ce6357baaeb30 100644
--- a/pkgs/development/libraries/haskell/gloss/default.nix
+++ b/pkgs/development/libraries/haskell/gloss/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Painless 2D vector graphics, animations and simulations";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/glpk-hs/default.nix b/pkgs/development/libraries/haskell/glpk-hs/default.nix
index 52776e53c3d25..50289f3340883 100644
--- a/pkgs/development/libraries/haskell/glpk-hs/default.nix
+++ b/pkgs/development/libraries/haskell/glpk-hs/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Comprehensive GLPK linear programming bindings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/graphscc/default.nix b/pkgs/development/libraries/haskell/graphscc/default.nix
index 6c45bde15d893..2124bd0b25491 100644
--- a/pkgs/development/libraries/haskell/graphscc/default.nix
+++ b/pkgs/development/libraries/haskell/graphscc/default.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Tarjan's algorithm for computing the strongly connected components of a graph";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.thoughtpolice ];
+    maintainers = with self.stdenv.lib.maintainers; [ thoughtpolice ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/graphviz/default.nix b/pkgs/development/libraries/haskell/graphviz/default.nix
index d44ac9442a748..47fc34c55ba8b 100644
--- a/pkgs/development/libraries/haskell/graphviz/default.nix
+++ b/pkgs/development/libraries/haskell/graphviz/default.nix
@@ -21,6 +21,5 @@ cabal.mkDerivation (self: {
     description = "Bindings to Graphviz for graph visualisation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gtk/default.nix b/pkgs/development/libraries/haskell/gtk/default.nix
index 652580b08fb71..bb66769167713 100644
--- a/pkgs/development/libraries/haskell/gtk/default.nix
+++ b/pkgs/development/libraries/haskell/gtk/default.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Binding to the Gtk+ graphical user interface library";
     license = self.stdenv.lib.licenses.lgpl21;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix b/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
index 39ef8cbba0f4b..1fe97ad01aa06 100644
--- a/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
+++ b/pkgs/development/libraries/haskell/gtk2hs-buildtools/default.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Tools to build the Gtk2Hs suite of User Interface libraries";
     license = self.stdenv.lib.licenses.gpl2;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gtkglext/default.nix b/pkgs/development/libraries/haskell/gtkglext/default.nix
index 3953395a07a48..481e2ade84aff 100644
--- a/pkgs/development/libraries/haskell/gtkglext/default.nix
+++ b/pkgs/development/libraries/haskell/gtkglext/default.nix
@@ -16,5 +16,7 @@ cabal.mkDerivation (self: {
     description = "Binding to the GTK+ OpenGL Extension";
     license = self.stdenv.lib.licenses.lgpl21;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/gtksourceview2/default.nix b/pkgs/development/libraries/haskell/gtksourceview2/default.nix
index c4b2104eee497..393c1f076825b 100644
--- a/pkgs/development/libraries/haskell/gtksourceview2/default.nix
+++ b/pkgs/development/libraries/haskell/gtksourceview2/default.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Binding to the GtkSourceView library";
     license = self.stdenv.lib.licenses.lgpl21;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hS3/default.nix b/pkgs/development/libraries/haskell/hS3/default.nix
index 50f5bb8ecaf92..65ba25d1d9a83 100644
--- a/pkgs/development/libraries/haskell/hS3/default.nix
+++ b/pkgs/development/libraries/haskell/hS3/default.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "Interface to Amazon's Simple Storage Service (S3)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hackage-db/default.nix b/pkgs/development/libraries/haskell/hackage-db/default.nix
index e09e455d560cd..1668574d7c882 100644
--- a/pkgs/development/libraries/haskell/hackage-db/default.nix
+++ b/pkgs/development/libraries/haskell/hackage-db/default.nix
@@ -12,9 +12,6 @@ cabal.mkDerivation (self: {
     description = "provide access to the Hackage database via Data.Map";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index 01023bd2fe90f..abaf74db6524a 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -33,6 +33,5 @@ cabal.mkDerivation (self: {
     description = "A static website compiler 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/hamlet/default.nix b/pkgs/development/libraries/haskell/hamlet/default.nix
index f667686a84134..c897eb036bd3c 100644
--- a/pkgs/development/libraries/haskell/hamlet/default.nix
+++ b/pkgs/development/libraries/haskell/hamlet/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Haml-like template files that are compile-time checked (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-fastcgi.nix b/pkgs/development/libraries/haskell/happstack/happstack-fastcgi.nix
index 462dd2cc4e30e..e16092fe523af 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-fastcgi.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-fastcgi.nix
@@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
     description = "Happstack extension for use with FastCGI";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.tomberek ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix b/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix
index 5d2faa621b087..e81235cf0979b 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-hamlet.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Support for Hamlet HTML templates in Happstack";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
index 5f6bd187c3a78..06b6d3488619c 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-server.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
@@ -25,6 +25,5 @@ cabal.mkDerivation (self: {
     description = "Web related tools and services";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hashable-extras/default.nix b/pkgs/development/libraries/haskell/hashable-extras/default.nix
new file mode 100644
index 0000000000000..70868a2e83a7f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hashable-extras/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bifunctors, doctest, filepath, genericDeriving, hashable
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hashable-extras";
+  version = "0.2.0.1";
+  sha256 = "09y2m0wpim7sl7n9qnkr0miwfsbvb1q8lm6shpcq0jxzxknbag7s";
+  buildDepends = [
+    bifunctors genericDeriving hashable transformers
+  ];
+  testDepends = [ doctest filepath ];
+  meta = {
+    homepage = "http://github.com/analytics/hashable-extras/";
+    description = "Higher-rank Hashable";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hashable/1.1.2.5.nix b/pkgs/development/libraries/haskell/hashable/1.1.2.5.nix
index 1a5d3b9883b14..3c8330e82ae94 100644
--- a/pkgs/development/libraries/haskell/hashable/1.1.2.5.nix
+++ b/pkgs/development/libraries/haskell/hashable/1.1.2.5.nix
@@ -17,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "A class for types that can be converted to a hash value";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/hashable/1.2.2.0.nix b/pkgs/development/libraries/haskell/hashable/1.2.2.0.nix
index d6734dc814f0d..bfd9ec03c0ec3 100644
--- a/pkgs/development/libraries/haskell/hashable/1.2.2.0.nix
+++ b/pkgs/development/libraries/haskell/hashable/1.2.2.0.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "A class for types that can be converted to a hash value";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hashed-storage/default.nix b/pkgs/development/libraries/haskell/hashed-storage/default.nix
index becd9e4fed8a9..b7e6af904feec 100644
--- a/pkgs/development/libraries/haskell/hashed-storage/default.nix
+++ b/pkgs/development/libraries/haskell/hashed-storage/default.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Hashed file storage support code";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hashtables/default.nix b/pkgs/development/libraries/haskell/hashtables/default.nix
index b011d9e3f2e4e..c941e08da35df 100644
--- a/pkgs/development/libraries/haskell/hashtables/default.nix
+++ b/pkgs/development/libraries/haskell/hashtables/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Mutable hash tables in the ST monad";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskeline-class/default.nix b/pkgs/development/libraries/haskell/haskeline-class/default.nix
index aacabe75c0d8e..1b1519c43260b 100644
--- a/pkgs/development/libraries/haskell/haskeline-class/default.nix
+++ b/pkgs/development/libraries/haskell/haskeline-class/default.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
     description = "Class interface for working with Haskeline";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskeline/default.nix b/pkgs/development/libraries/haskell/haskeline/default.nix
index a1d9295e3e586..f8f4d5ed998e2 100644
--- a/pkgs/development/libraries/haskell/haskeline/default.nix
+++ b/pkgs/development/libraries/haskell/haskeline/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "A command-line interface for user input, written 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/haskell-lexer/default.nix b/pkgs/development/libraries/haskell/haskell-lexer/default.nix
index ea6a46f3f49ea..2e81d75709542 100644
--- a/pkgs/development/libraries/haskell/haskell-lexer/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-lexer/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "A fully compliant Haskell 98 lexer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-mpi/default.nix b/pkgs/development/libraries/haskell/haskell-mpi/default.nix
index 099c2afb51d39..25d3dfc431759 100644
--- a/pkgs/development/libraries/haskell/haskell-mpi/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-mpi/default.nix
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "Distributed parallel programming in Haskell using MPI";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-names/default.nix b/pkgs/development/libraries/haskell/haskell-names/default.nix
index fee2ff2c17934..fb1a1b6e263a3 100644
--- a/pkgs/development/libraries/haskell/haskell-names/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-names/default.nix
@@ -25,6 +25,6 @@ cabal.mkDerivation (self: {
     description = "Name resolution library for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-packages/default.nix b/pkgs/development/libraries/haskell/haskell-packages/default.nix
index 24cd46c0de79f..9c6997a9db939 100644
--- a/pkgs/development/libraries/haskell/haskell-packages/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-packages/default.nix
@@ -17,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "Haskell suite library for package management and integration with Cabal";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-src-exts/1.13.5.nix b/pkgs/development/libraries/haskell/haskell-src-exts/1.13.5.nix
index 6368b76d80c0b..1f9d3bf4d19e5 100644
--- a/pkgs/development/libraries/haskell/haskell-src-exts/1.13.5.nix
+++ b/pkgs/development/libraries/haskell/haskell-src-exts/1.13.5.nix
@@ -14,6 +14,6 @@ cabal.mkDerivation (self: {
     description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-src-exts/default.nix b/pkgs/development/libraries/haskell/haskell-src-exts/default.nix
index 38f556ce9f4b4..b8c0a78001b07 100644
--- a/pkgs/development/libraries/haskell/haskell-src-exts/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-src-exts/default.nix
@@ -20,6 +20,5 @@ cabal.mkDerivation (self: {
     description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
index 7de049b84f35e..cc6cc60bb180f 100644
--- a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Parse source to template-haskell abstract syntax";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-src/1.0.1.3.nix b/pkgs/development/libraries/haskell/haskell-src/1.0.1.3.nix
index 9b47d4a851427..e2e5ffa304d55 100644
--- a/pkgs/development/libraries/haskell/haskell-src/1.0.1.3.nix
+++ b/pkgs/development/libraries/haskell/haskell-src/1.0.1.3.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Manipulating Haskell source code";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix b/pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix
index 07f8fb7c0fa40..54decb79f2b58 100644
--- a/pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix
+++ b/pkgs/development/libraries/haskell/haskell-src/1.0.1.4.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Support for manipulating Haskell source code";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix b/pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix
index dffbe9a6ee2fa..428715ac07bcc 100644
--- a/pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix
+++ b/pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Support for manipulating Haskell source code";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-token-utils/default.nix b/pkgs/development/libraries/haskell/haskell-token-utils/default.nix
deleted file mode 100644
index c561343f2cf4f..0000000000000
--- a/pkgs/development/libraries/haskell/haskell-token-utils/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, Diff, dualTree, ghcMod, ghcPaths, ghcSybUtils
-, haskellSrcExts, hspec, HUnit, monoidExtras, mtl, QuickCheck
-, rosezipper, semigroups, syb, uniplate
-}:
-
-cabal.mkDerivation (self: {
-  pname = "haskell-token-utils";
-  version = "0.0.0.5";
-  sha256 = "01kyghzbs8w8ds0aczcdg2ib5b919r5vxgwg8iifbf220vlhd8mn";
-  buildDepends = [
-    dualTree ghcPaths ghcSybUtils haskellSrcExts monoidExtras mtl
-    rosezipper semigroups syb
-  ];
-  testDepends = [
-    Diff dualTree ghcMod ghcPaths ghcSybUtils haskellSrcExts hspec
-    HUnit monoidExtras mtl QuickCheck rosezipper semigroups syb
-    uniplate
-  ];
-  meta = {
-    homepage = "https://github.com/alanz/haskell-token-utils";
-    description = "Utilities to tie up tokens to an AST";
-    license = self.stdenv.lib.licenses.publicDomain;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/haskelldb/default.nix b/pkgs/development/libraries/haskell/haskelldb/default.nix
index b6788da2a8d9c..79e617b33a3ae 100644
--- a/pkgs/development/libraries/haskell/haskelldb/default.nix
+++ b/pkgs/development/libraries/haskell/haskelldb/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "A library of combinators for generating and executing SQL statements";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hastache/default.nix b/pkgs/development/libraries/haskell/hastache/default.nix
index 8f4f996fdd5af..bb26f635f629f 100644
--- a/pkgs/development/libraries/haskell/hastache/default.nix
+++ b/pkgs/development/libraries/haskell/hastache/default.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Haskell implementation of Mustache templates";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haste-perch/default.nix b/pkgs/development/libraries/haskell/haste-perch/default.nix
new file mode 100644
index 0000000000000..aec315995c829
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haste-perch/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hasteCompiler, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "haste-perch";
+  version = "0.1.0.3";
+  sha256 = "1ad7kv47kq0sav49qnqdk76blk44sgjvk1zgn5k2bqvfnr26641j";
+  buildDepends = [ hasteCompiler transformers ];
+  meta = {
+    homepage = "https://github.com/agocorona/haste-perch";
+    description = "Create, navigate and modify the DOM tree with composable syntax, with the haste compiler";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haxl/default.nix b/pkgs/development/libraries/haskell/haxl/default.nix
index 9208c4154ef17..f257df7f1e014 100644
--- a/pkgs/development/libraries/haskell/haxl/default.nix
+++ b/pkgs/development/libraries/haskell/haxl/default.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
     aeson filepath hashable HUnit text time unorderedContainers vector
   ];
   testDepends = [ aeson hashable HUnit text unorderedContainers ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/facebook/Haxl";
     description = "A Haskell library for efficient, concurrent, and concise data access";
diff --git a/pkgs/development/libraries/haskell/haxr-th/default.nix b/pkgs/development/libraries/haskell/haxr-th/default.nix
index ef0b306768b45..1fe9a943a950e 100644
--- a/pkgs/development/libraries/haskell/haxr-th/default.nix
+++ b/pkgs/development/libraries/haskell/haxr-th/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Automatic deriving of XML-RPC structs for Haskell records";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haxr/default.nix b/pkgs/development/libraries/haskell/haxr/default.nix
index 31b3f5e33339d..1aba1975a78e4 100644
--- a/pkgs/development/libraries/haskell/haxr/default.nix
+++ b/pkgs/development/libraries/haskell/haxr/default.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "XML-RPC client and server 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/hfsevents/default.nix b/pkgs/development/libraries/haskell/hfsevents/default.nix
index acf9121b3d9ff..30ec31e60e289 100644
--- a/pkgs/development/libraries/haskell/hfsevents/default.nix
+++ b/pkgs/development/libraries/haskell/hfsevents/default.nix
@@ -1,14 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, cereal, gccApple, mtl, text }:
+{ cabal, cereal, mtl, text }:
 
 cabal.mkDerivation (self: {
   pname = "hfsevents";
   version = "0.1.5";
   sha256 = "0hp9jjj59smfcs51d9zjhyvgdbn46l0rl0jr98wbzg3qya0vwj5k";
   buildDepends = [ cereal mtl text ];
-  buildTools = [ gccApple ];
-  configureFlags = "--ghc-option=-pgmc=${gccApple}/bin/gcc";
   meta = {
     homepage = "http://github.com/luite/hfsevents";
     description = "File/folder watching for OS X";
diff --git a/pkgs/development/libraries/haskell/hgal/default.nix b/pkgs/development/libraries/haskell/hgal/default.nix
index 7c52ddca91c57..a301f935da95e 100644
--- a/pkgs/development/libraries/haskell/hgal/default.nix
+++ b/pkgs/development/libraries/haskell/hgal/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "library for computation automorphism group and canonical labelling of a graph";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
index 5eeedef33cc26..a9540b249502e 100644
--- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix
+++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Syntax highlighting";
     license = "GPL";
     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 aaec0f189c488..aacf7c020f865 100644
--- a/pkgs/development/libraries/haskell/hint/default.nix
+++ b/pkgs/development/libraries/haskell/hint/default.nix
@@ -20,6 +20,5 @@ cabal.mkDerivation (self: {
     description = "Runtime Haskell interpreter (GHC API wrapper)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hjsmin/default.nix b/pkgs/development/libraries/haskell/hjsmin/default.nix
index a9dc3064a239e..5ee8f2d4f8810 100644
--- a/pkgs/development/libraries/haskell/hjsmin/default.nix
+++ b/pkgs/development/libraries/haskell/hjsmin/default.nix
@@ -24,6 +24,5 @@ cabal.mkDerivation (self: {
     description = "Haskell implementation of a javascript minifier";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hledger-lib/default.nix b/pkgs/development/libraries/haskell/hledger-lib/default.nix
index e91739a0970e1..541b3ceb0dce5 100644
--- a/pkgs/development/libraries/haskell/hledger-lib/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-lib/default.nix
@@ -22,9 +22,6 @@ cabal.mkDerivation (self: {
     description = "Core data types, parsers and utilities for the hledger accounting tool";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hledger/default.nix b/pkgs/development/libraries/haskell/hledger/default.nix
index 52e7a070723d8..8ac4d6d2e6bc0 100644
--- a/pkgs/development/libraries/haskell/hledger/default.nix
+++ b/pkgs/development/libraries/haskell/hledger/default.nix
@@ -27,9 +27,6 @@ cabal.mkDerivation (self: {
     description = "The main command-line interface for the hledger accounting tool";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hlibgit2/default.nix b/pkgs/development/libraries/haskell/hlibgit2/default.nix
index 7de2dd7dd87e2..3798d3082a751 100644
--- a/pkgs/development/libraries/haskell/hlibgit2/default.nix
+++ b/pkgs/development/libraries/haskell/hlibgit2/default.nix
@@ -13,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "Low-level bindings to libgit2";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hmatrix-special/default.nix b/pkgs/development/libraries/haskell/hmatrix-special/default.nix
index 3b07126ebc3b6..4a2153f173e8d 100644
--- a/pkgs/development/libraries/haskell/hmatrix-special/default.nix
+++ b/pkgs/development/libraries/haskell/hmatrix-special/default.nix
@@ -12,5 +12,7 @@ cabal.mkDerivation (self: {
     description = "Interface to GSL special functions";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/hmatrix/default.nix b/pkgs/development/libraries/haskell/hmatrix/default.nix
index 10d2aa69317f6..806405208c5be 100644
--- a/pkgs/development/libraries/haskell/hmatrix/default.nix
+++ b/pkgs/development/libraries/haskell/hmatrix/default.nix
@@ -1,23 +1,21 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, binary, blas, deepseq, gsl, liblapack, random
+{ cabal, binary, blas, deepseq, liblapack, random, split
 , storableComplex, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "hmatrix";
-  version = "0.15.2.1";
-  sha256 = "0pcs3dsxmaznsb82r71f4kf7xbwvj94cy1fmyya52nv3nldnk1jg";
-  buildDepends = [ binary deepseq random storableComplex vector ];
-  extraLibraries = [ blas gsl liblapack ];
+  version = "0.16.0.4";
+  sha256 = "0n2h7vp8cyr4lm6yv6msvqr87d0dn7fm61p58wy7f230v692j1p4";
+  buildDepends = [
+    binary deepseq random split storableComplex vector
+  ];
+  extraLibraries = [ blas liblapack ];
   meta = {
     homepage = "https://github.com/albertoruiz/hmatrix";
-    description = "Linear algebra and numerical computation";
-    license = "GPL";
+    description = "Numeric Linear Algebra";
+    license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.guibert
-    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hoauth/default.nix b/pkgs/development/libraries/haskell/hoauth/default.nix
index 82cde2aead6f3..29e4cc44bd256 100644
--- a/pkgs/development/libraries/haskell/hoauth/default.nix
+++ b/pkgs/development/libraries/haskell/hoauth/default.nix
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "A Haskell implementation of OAuth 1.0a protocol.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hoauth2/default.nix b/pkgs/development/libraries/haskell/hoauth2/default.nix
index 4b5ecafdec800..e9b0d4bf26011 100644
--- a/pkgs/development/libraries/haskell/hoauth2/default.nix
+++ b/pkgs/development/libraries/haskell/hoauth2/default.nix
@@ -14,6 +14,7 @@ cabal.mkDerivation (self: {
     aeson bytestringShow httpConduit httpTypes monadControl mtl random
     text transformers
   ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/freizl/hoauth2";
     description = "hoauth2";
diff --git a/pkgs/development/libraries/haskell/hoodle-builder/default.nix b/pkgs/development/libraries/haskell/hoodle-builder/default.nix
index 9e16fd3485922..ca9951d99dc6c 100644
--- a/pkgs/development/libraries/haskell/hoodle-builder/default.nix
+++ b/pkgs/development/libraries/haskell/hoodle-builder/default.nix
@@ -15,6 +15,6 @@ cabal.mkDerivation (self: {
     description = "text builder for hoodle file format";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hoodle-core/default.nix b/pkgs/development/libraries/haskell/hoodle-core/default.nix
index d623df9b9f56a..81854479f63e8 100644
--- a/pkgs/development/libraries/haskell/hoodle-core/default.nix
+++ b/pkgs/development/libraries/haskell/hoodle-core/default.nix
@@ -29,6 +29,6 @@ cabal.mkDerivation (self: {
     description = "Core library for hoodle";
     license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hoodle-extra/default.nix b/pkgs/development/libraries/haskell/hoodle-extra/default.nix
index d9d5c6a613015..af46f77b730ce 100644
--- a/pkgs/development/libraries/haskell/hoodle-extra/default.nix
+++ b/pkgs/development/libraries/haskell/hoodle-extra/default.nix
@@ -24,6 +24,6 @@ cabal.mkDerivation (self: {
     description = "extra hoodle tools";
     license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hoodle-parser/default.nix b/pkgs/development/libraries/haskell/hoodle-parser/default.nix
index 86800e6efd5fd..0b0ae2550eb9d 100644
--- a/pkgs/development/libraries/haskell/hoodle-parser/default.nix
+++ b/pkgs/development/libraries/haskell/hoodle-parser/default.nix
@@ -17,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "Hoodle file parser";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hoodle-render/default.nix b/pkgs/development/libraries/haskell/hoodle-render/default.nix
index c3cec26802c47..6f025744c19ce 100644
--- a/pkgs/development/libraries/haskell/hoodle-render/default.nix
+++ b/pkgs/development/libraries/haskell/hoodle-render/default.nix
@@ -18,6 +18,6 @@ cabal.mkDerivation (self: {
     description = "Hoodle file renderer";
     license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hoodle-types/default.nix b/pkgs/development/libraries/haskell/hoodle-types/default.nix
index 745e2c575b824..e97251961e75b 100644
--- a/pkgs/development/libraries/haskell/hoodle-types/default.nix
+++ b/pkgs/development/libraries/haskell/hoodle-types/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Data types for programs for hoodle file format";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hoogle/default.nix b/pkgs/development/libraries/haskell/hoogle/default.nix
index 5da81ff1127c4..bda89829d68c1 100644
--- a/pkgs/development/libraries/haskell/hoogle/default.nix
+++ b/pkgs/development/libraries/haskell/hoogle/default.nix
@@ -25,6 +25,5 @@ cabal.mkDerivation (self: {
     description = "Haskell API Search";
     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 10834ef5f2c08..c077e7cde2098 100644
--- a/pkgs/development/libraries/haskell/hopenssl/default.nix
+++ b/pkgs/development/libraries/haskell/hopenssl/default.nix
@@ -13,9 +13,6 @@ 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
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hostname/default.nix b/pkgs/development/libraries/haskell/hostname/default.nix
index ea29d2a3b7bd8..2131599c8a678 100644
--- a/pkgs/development/libraries/haskell/hostname/default.nix
+++ b/pkgs/development/libraries/haskell/hostname/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "A very simple package providing a cross-platform means of determining the hostname";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hp2any-core/default.nix b/pkgs/development/libraries/haskell/hp2any-core/default.nix
index 7cf55bd9ef597..8fbcd09e8879f 100644
--- a/pkgs/development/libraries/haskell/hp2any-core/default.nix
+++ b/pkgs/development/libraries/haskell/hp2any-core/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Heap profiling helper 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/hp2any-graph/default.nix b/pkgs/development/libraries/haskell/hp2any-graph/default.nix
index 6d0d61a01fea0..aad7c7fdca9a1 100644
--- a/pkgs/development/libraries/haskell/hp2any-graph/default.nix
+++ b/pkgs/development/libraries/haskell/hp2any-graph/default.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "Real-time heap graphing utility and profile stream server with a reusable graphing module";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hplayground/default.nix b/pkgs/development/libraries/haskell/hplayground/default.nix
new file mode 100644
index 0000000000000..b12024f594522
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hplayground/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataDefault, hasteCompiler, hastePerch, monadsTf
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hplayground";
+  version = "0.1.0.2";
+  sha256 = "13lzw0fhv305zh2ry0d74y5k7vxppjlwsb8vi3iri5zpkkdpfhij";
+  buildDepends = [
+    dataDefault hasteCompiler hastePerch monadsTf transformers
+  ];
+  meta = {
+    homepage = "https://github.com/agocorona/hplayground";
+    description = "a client-side haskell framework that compiles to javascript with the haste compiler";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hs-bibutils/default.nix b/pkgs/development/libraries/haskell/hs-bibutils/default.nix
index 3dfaca25e885b..9d7b889746eb7 100644
--- a/pkgs/development/libraries/haskell/hs-bibutils/default.nix
+++ b/pkgs/development/libraries/haskell/hs-bibutils/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Haskell bindings to bibutils, the bibliography conversion utilities";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hsdns/default.nix b/pkgs/development/libraries/haskell/hsdns/default.nix
index 1e7b4164ff560..f58a8077b1580 100644
--- a/pkgs/development/libraries/haskell/hsdns/default.nix
+++ b/pkgs/development/libraries/haskell/hsdns/default.nix
@@ -13,9 +13,6 @@ cabal.mkDerivation (self: {
     description = "Asynchronous DNS Resolver";
     license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hse-cpp/default.nix b/pkgs/development/libraries/haskell/hse-cpp/default.nix
index 7762191f53e8f..49625acf68c11 100644
--- a/pkgs/development/libraries/haskell/hse-cpp/default.nix
+++ b/pkgs/development/libraries/haskell/hse-cpp/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Preprocess+parse haskell code";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hsemail/default.nix b/pkgs/development/libraries/haskell/hsemail/default.nix
index 17203b07ef162..2406a9c2e94f2 100644
--- a/pkgs/development/libraries/haskell/hsemail/default.nix
+++ b/pkgs/development/libraries/haskell/hsemail/default.nix
@@ -13,9 +13,6 @@ cabal.mkDerivation (self: {
     description = "Internet Message Parsers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hsimport/default.nix b/pkgs/development/libraries/haskell/hsimport/default.nix
index 7f46f1e54fd63..8f080fe6e25a7 100644
--- a/pkgs/development/libraries/haskell/hsimport/default.nix
+++ b/pkgs/development/libraries/haskell/hsimport/default.nix
@@ -19,6 +19,6 @@ cabal.mkDerivation (self: {
     description = "A command line program for extending the import list of a Haskell source file";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hslogger-template/default.nix b/pkgs/development/libraries/haskell/hslogger-template/default.nix
index a8efff1b6c8df..a2116051cdeca 100644
--- a/pkgs/development/libraries/haskell/hslogger-template/default.nix
+++ b/pkgs/development/libraries/haskell/hslogger-template/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Automatic generation of hslogger functions";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hspec-expectations/default.nix b/pkgs/development/libraries/haskell/hspec-expectations/default.nix
index 7706fbca50ff2..a1267254f1a72 100644
--- a/pkgs/development/libraries/haskell/hspec-expectations/default.nix
+++ b/pkgs/development/libraries/haskell/hspec-expectations/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hspec-expectations";
-  version = "0.6.0.1";
-  sha256 = "16013x7v6zly4h1spzarrlzskbjb19bljsj98fn8k21mzb82f7wl";
+  version = "0.6.1";
+  sha256 = "0rr1dn39daxi4kqnbz3k21slxpscz939bx16161rr1zp4v7m1lzj";
   buildDepends = [ HUnit ];
   testDepends = [ hspec HUnit markdownUnlit silently ];
   doCheck = false;
diff --git a/pkgs/development/libraries/haskell/hspec-meta/default.nix b/pkgs/development/libraries/haskell/hspec-meta/default.nix
index f361d2cf8659b..844b0a5280566 100644
--- a/pkgs/development/libraries/haskell/hspec-meta/default.nix
+++ b/pkgs/development/libraries/haskell/hspec-meta/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hspec-meta";
-  version = "1.11.0";
-  sha256 = "1gsczyzxavd3abrq5p0qdxb92z6v3jhicqa40ihgfy89x3pp6bw8";
+  version = "1.11.3";
+  sha256 = "0cydxq5kgi4cczf6q70853wz3x1ymrf9mkp7rp71yir5vrhg0b8p";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/hspec/default.nix b/pkgs/development/libraries/haskell/hspec/default.nix
index e332e5279ef5b..98cc9f1b97e40 100644
--- a/pkgs/development/libraries/haskell/hspec/default.nix
+++ b/pkgs/development/libraries/haskell/hspec/default.nix
@@ -1,14 +1,14 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, ansiTerminal, async, deepseq, doctest, filepath, ghcPaths
+{ cabal, ansiTerminal, async, deepseq, filepath, ghcPaths
 , hspecExpectations, hspecMeta, HUnit, QuickCheck, quickcheckIo
 , random, setenv, silently, tfRandom, time, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "hspec";
-  version = "1.11.0";
-  sha256 = "1hkflasm7w9z0b1c1mq3rl5pq05np27sz3p2s61bick371qi9zsf";
+  version = "1.11.3";
+  sha256 = "0kq2cds8khwq7nl60pvgk8v6s2fizfkpdplc1p0mj8zyr9gyz7i0";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -16,14 +16,14 @@ cabal.mkDerivation (self: {
     QuickCheck quickcheckIo random setenv tfRandom time transformers
   ];
   testDepends = [
-    ansiTerminal async deepseq doctest filepath ghcPaths
-    hspecExpectations hspecMeta HUnit QuickCheck quickcheckIo random
-    setenv silently tfRandom time transformers
+    ansiTerminal async deepseq filepath ghcPaths hspecExpectations
+    hspecMeta HUnit QuickCheck quickcheckIo random setenv silently
+    tfRandom time transformers
   ];
   doCheck = false;
   meta = {
     homepage = "http://hspec.github.io/";
-    description = "Behavior-Driven Development for Haskell";
+    description = "A Testing Framework for Haskell";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/hspec2/default.nix b/pkgs/development/libraries/haskell/hspec2/default.nix
index 9fa76dc9b4f01..9b57dbd7627f9 100644
--- a/pkgs/development/libraries/haskell/hspec2/default.nix
+++ b/pkgs/development/libraries/haskell/hspec2/default.nix
@@ -1,14 +1,14 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, ansiTerminal, async, deepseq, doctest, filepath, ghcPaths
+{ cabal, ansiTerminal, async, deepseq, filepath, ghcPaths
 , hspecExpectations, hspecMeta, HUnit, QuickCheck, quickcheckIo
 , random, setenv, silently, tfRandom, time, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "hspec2";
-  version = "0.4.0";
-  sha256 = "0x5y77qa33gx1shqhzdkdp0732lpkihvp5wh4826scg229haj5v5";
+  version = "0.4.1";
+  sha256 = "131w90yy7scxdpz7qa37n1wmyr8gvc5jqdsqkpg8s9pqham96w5v";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -16,9 +16,9 @@ cabal.mkDerivation (self: {
     QuickCheck quickcheckIo random setenv tfRandom time transformers
   ];
   testDepends = [
-    ansiTerminal async deepseq doctest filepath ghcPaths
-    hspecExpectations hspecMeta HUnit QuickCheck quickcheckIo random
-    setenv silently tfRandom time transformers
+    ansiTerminal async deepseq filepath ghcPaths hspecExpectations
+    hspecMeta HUnit QuickCheck quickcheckIo random setenv silently
+    tfRandom time transformers
   ];
   meta = {
     homepage = "http://hspec.github.io/";
diff --git a/pkgs/development/libraries/haskell/hspread/default.nix b/pkgs/development/libraries/haskell/hspread/default.nix
index 843baec0e8c74..542bc35738efc 100644
--- a/pkgs/development/libraries/haskell/hspread/default.nix
+++ b/pkgs/development/libraries/haskell/hspread/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A client library for the spread toolkit";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hsyslog/default.nix b/pkgs/development/libraries/haskell/hsyslog/default.nix
index 88b683eb42200..1a5cbd5b8e63b 100644
--- a/pkgs/development/libraries/haskell/hsyslog/default.nix
+++ b/pkgs/development/libraries/haskell/hsyslog/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "FFI interface to syslog(3) from POSIX.1-2001";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/html/1.0.1.2.nix b/pkgs/development/libraries/haskell/html/1.0.1.2.nix
index dc2340db6e21b..a06b1422bc32a 100644
--- a/pkgs/development/libraries/haskell/html/1.0.1.2.nix
+++ b/pkgs/development/libraries/haskell/html/1.0.1.2.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "HTML combinator 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/http-attoparsec/default.nix b/pkgs/development/libraries/haskell/http-attoparsec/default.nix
index 56043e385c533..233d268e24a7b 100644
--- a/pkgs/development/libraries/haskell/http-attoparsec/default.nix
+++ b/pkgs/development/libraries/haskell/http-attoparsec/default.nix
@@ -7,6 +7,7 @@ cabal.mkDerivation (self: {
   version = "0.1.1";
   sha256 = "12l892fix11mrvm10awwvv31y59q5rb6gb0sqjp6l4p4ym9ngqa3";
   buildDepends = [ attoparsec httpTypes ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/tlaitinen/http-attoparsec";
     description = "Attoparsec parsers for http-types";
diff --git a/pkgs/development/libraries/haskell/http-conduit/default.nix b/pkgs/development/libraries/haskell/http-conduit/default.nix
index bd8be746b04a3..132b9722f74b8 100644
--- a/pkgs/development/libraries/haskell/http-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/http-conduit/default.nix
@@ -27,6 +27,5 @@ cabal.mkDerivation (self: {
     description = "HTTP client package with conduit interface and HTTPS support";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/http-date/default.nix b/pkgs/development/libraries/haskell/http-date/default.nix
index b09029070b951..4c1e149225f19 100644
--- a/pkgs/development/libraries/haskell/http-date/default.nix
+++ b/pkgs/development/libraries/haskell/http-date/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "HTTP Date parser/formatter";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/http-types/default.nix b/pkgs/development/libraries/haskell/http-types/default.nix
index f8e8759cd47be..35fa96dd1a506 100644
--- a/pkgs/development/libraries/haskell/http-types/default.nix
+++ b/pkgs/development/libraries/haskell/http-types/default.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Generic HTTP types for Haskell (for both client and server code)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/httpd-shed/default.nix b/pkgs/development/libraries/haskell/httpd-shed/default.nix
index ff395a4f8c2fb..bf5ad9217d3c6 100644
--- a/pkgs/development/libraries/haskell/httpd-shed/default.nix
+++ b/pkgs/development/libraries/haskell/httpd-shed/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "A simple web-server with an interact style API";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hxt-charproperties/default.nix b/pkgs/development/libraries/haskell/hxt-charproperties/default.nix
index 00b267ff14ea7..ffb298023b7d0 100644
--- a/pkgs/development/libraries/haskell/hxt-charproperties/default.nix
+++ b/pkgs/development/libraries/haskell/hxt-charproperties/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Character properties and classes for XML and Unicode";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hxt-regex-xmlschema/default.nix b/pkgs/development/libraries/haskell/hxt-regex-xmlschema/default.nix
index a02074a22eee1..9f600fd195dc1 100644
--- a/pkgs/development/libraries/haskell/hxt-regex-xmlschema/default.nix
+++ b/pkgs/development/libraries/haskell/hxt-regex-xmlschema/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A regular expression library for W3C XML Schema regular expressions";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hxt-unicode/default.nix b/pkgs/development/libraries/haskell/hxt-unicode/default.nix
index 29ada817a23a0..777d4315f52f6 100644
--- a/pkgs/development/libraries/haskell/hxt-unicode/default.nix
+++ b/pkgs/development/libraries/haskell/hxt-unicode/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Unicode en-/decoding functions for utf8, iso-latin-* and other encodings";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hxt/default.nix b/pkgs/development/libraries/haskell/hxt/default.nix
index 92f577c40cce0..abf7e6c0ee873 100644
--- a/pkgs/development/libraries/haskell/hxt/default.nix
+++ b/pkgs/development/libraries/haskell/hxt/default.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "A collection of tools for processing XML with Haskell";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/iCalendar/default.nix b/pkgs/development/libraries/haskell/iCalendar/default.nix
index fa3be575f688f..33a5ba4bea6ea 100644
--- a/pkgs/development/libraries/haskell/iCalendar/default.nix
+++ b/pkgs/development/libraries/haskell/iCalendar/default.nix
@@ -17,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "iCalendar data types, parser, and printer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ieee754/default.nix b/pkgs/development/libraries/haskell/ieee754/default.nix
index dd6f7e8d2b900..1dd734af6100d 100644
--- a/pkgs/development/libraries/haskell/ieee754/default.nix
+++ b/pkgs/development/libraries/haskell/ieee754/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Utilities for dealing with IEEE floating point numbers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/indexed-free/default.nix b/pkgs/development/libraries/haskell/indexed-free/default.nix
index 60d3330239e79..23d2cedaa656b 100644
--- a/pkgs/development/libraries/haskell/indexed-free/default.nix
+++ b/pkgs/development/libraries/haskell/indexed-free/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "indexed monads for free";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/indexed/default.nix b/pkgs/development/libraries/haskell/indexed/default.nix
index f1c1c1fba4ec5..f38468a834dcc 100644
--- a/pkgs/development/libraries/haskell/indexed/default.nix
+++ b/pkgs/development/libraries/haskell/indexed/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Haskell98 indexed functors, monads, comonads";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/instant-generics/default.nix b/pkgs/development/libraries/haskell/instant-generics/default.nix
index 7a4b6ca38aca5..fc9e457895754 100644
--- a/pkgs/development/libraries/haskell/instant-generics/default.nix
+++ b/pkgs/development/libraries/haskell/instant-generics/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Generic programming library with a sum of products view";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/io-choice/default.nix b/pkgs/development/libraries/haskell/io-choice/default.nix
index 5a88300ace7f0..1b145c943dc09 100644
--- a/pkgs/development/libraries/haskell/io-choice/default.nix
+++ b/pkgs/development/libraries/haskell/io-choice/default.nix
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "Choice for IO and lifted IO";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/io-storage/default.nix b/pkgs/development/libraries/haskell/io-storage/default.nix
index 7380dc0d41480..2e944b7758657 100644
--- a/pkgs/development/libraries/haskell/io-storage/default.nix
+++ b/pkgs/development/libraries/haskell/io-storage/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A key-value store in the IO monad";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/io-streams/default.nix b/pkgs/development/libraries/haskell/io-streams/default.nix
index 633389a0a3f4e..4b5d9bab9be46 100644
--- a/pkgs/development/libraries/haskell/io-streams/default.nix
+++ b/pkgs/development/libraries/haskell/io-streams/default.nix
@@ -25,6 +25,6 @@ cabal.mkDerivation (self: {
     description = "Simple, composable, and easy-to-use stream I/O";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/irc/default.nix b/pkgs/development/libraries/haskell/irc/default.nix
index c2ba34c880a53..d7c101c27fb3c 100644
--- a/pkgs/development/libraries/haskell/irc/default.nix
+++ b/pkgs/development/libraries/haskell/irc/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A small library for parsing IRC messages";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/iteratee/default.nix b/pkgs/development/libraries/haskell/iteratee/default.nix
index 419bc590f5e72..e0130f8ae26ae 100644
--- a/pkgs/development/libraries/haskell/iteratee/default.nix
+++ b/pkgs/development/libraries/haskell/iteratee/default.nix
@@ -23,6 +23,5 @@ cabal.mkDerivation (self: {
     description = "Iteratee-based I/O";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ivor/default.nix b/pkgs/development/libraries/haskell/ivor/default.nix
index 901328080e351..d23bf36731fb4 100644
--- a/pkgs/development/libraries/haskell/ivor/default.nix
+++ b/pkgs/development/libraries/haskell/ivor/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Theorem proving library based on dependent type theory";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/jack/default.nix b/pkgs/development/libraries/haskell/jack/default.nix
index 2e6b6ee1aa3a6..1abb8fd38472a 100644
--- a/pkgs/development/libraries/haskell/jack/default.nix
+++ b/pkgs/development/libraries/haskell/jack/default.nix
@@ -18,7 +18,7 @@ cabal.mkDerivation (self: {
     homepage = "http://www.haskell.org/haskellwiki/JACK";
     description = "Bindings for the JACK Audio Connection Kit";
     license = "GPL";
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ertes ];
+    platforms = self.stdenv.lib.platforms.linux;
+    maintainers = with self.stdenv.lib.maintainers; [ ertes ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/jpeg/default.nix b/pkgs/development/libraries/haskell/jpeg/default.nix
index 9b750e6060961..c9a408dc2a02f 100644
--- a/pkgs/development/libraries/haskell/jpeg/default.nix
+++ b/pkgs/development/libraries/haskell/jpeg/default.nix
@@ -4,13 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "jpeg";
-  version = "0.0.1";
-  sha256 = "848e047cfec5781a28f472e9cd27d016362211d88dd6adb4f826c37d29d8bba6";
+  version = "0.0.1.1";
+  sha256 = "1hnfapr21zpfyiywa4zzmwa518jzg73dnmaakrbvvpcmr4fvh9qx";
   buildDepends = [ mtl ];
   meta = {
     description = "A library for decoding JPEG files written in pure 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/json-assertions/default.nix b/pkgs/development/libraries/haskell/json-assertions/default.nix
index 7601cab340d82..f287b60764e36 100644
--- a/pkgs/development/libraries/haskell/json-assertions/default.nix
+++ b/pkgs/development/libraries/haskell/json-assertions/default.nix
@@ -1,11 +1,9 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
 { cabal, aeson, indexed, indexedFree, lens, text }:
 
 cabal.mkDerivation (self: {
   pname = "json-assertions";
-  version = "1.0.3";
-  sha256 = "1iklsgzfxgiizqn90r9wfzfaz84fj8by4arppp139w6ybzh3b0r8";
+  version = "1.0.4";
+  sha256 = "07qjbbwmph75s8ds1yfy17ww7x2wcc9bpjpv2bq9ggmzllf6g8l5";
   buildDepends = [ aeson indexed indexedFree lens text ];
   meta = {
     homepage = "http://github.com/ocharles/json-assertions.git";
diff --git a/pkgs/development/libraries/haskell/json/default.nix b/pkgs/development/libraries/haskell/json/default.nix
index 3c86f08a4d2a8..a709c4a0b2d78 100644
--- a/pkgs/development/libraries/haskell/json/default.nix
+++ b/pkgs/development/libraries/haskell/json/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     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 ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/jsonTypes/default.nix b/pkgs/development/libraries/haskell/jsonTypes/default.nix
index 7b950b8622548..2c6323f0bc6cf 100644
--- a/pkgs/development/libraries/haskell/jsonTypes/default.nix
+++ b/pkgs/development/libraries/haskell/jsonTypes/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Basic types for representing JSON";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/lambdabot-utils/default.nix b/pkgs/development/libraries/haskell/lambdabot-utils/default.nix
index 6edfac72bf035..c7261c4eed818 100644
--- a/pkgs/development/libraries/haskell/lambdabot-utils/default.nix
+++ b/pkgs/development/libraries/haskell/lambdabot-utils/default.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Utility libraries for the advanced IRC bot, Lambdabot";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/lambdabot/default.nix b/pkgs/development/libraries/haskell/lambdabot/default.nix
index 9294c019cbd8d..b869c59d1310d 100644
--- a/pkgs/development/libraries/haskell/lambdabot/default.nix
+++ b/pkgs/development/libraries/haskell/lambdabot/default.nix
@@ -30,6 +30,7 @@ cabal.mkDerivation (self: {
     description = "Lambdabot is a development tool and advanced IRC bot";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = self.stdenv.lib.versionOlder "7.7" self.ghc.version;
   };
 })
diff --git a/pkgs/development/libraries/haskell/lambdabot/wrapper.nix b/pkgs/development/libraries/haskell/lambdabot/wrapper.nix
index c60d86a02adb6..a29d73fe72f60 100644
--- a/pkgs/development/libraries/haskell/lambdabot/wrapper.nix
+++ b/pkgs/development/libraries/haskell/lambdabot/wrapper.nix
@@ -12,8 +12,5 @@ stdenv.mkDerivation {
 
   preferLocalBuild = true;
 
-  meta = {
-    description = lambdabot.meta.description;
-  };
+  meta = lambdabot.meta;
 }
-
diff --git a/pkgs/development/libraries/haskell/language-c-quote/default.nix b/pkgs/development/libraries/haskell/language-c-quote/default.nix
index 4e7f9a7570a52..d08a5c7fab9b6 100644
--- a/pkgs/development/libraries/haskell/language-c-quote/default.nix
+++ b/pkgs/development/libraries/haskell/language-c-quote/default.nix
@@ -23,6 +23,5 @@ cabal.mkDerivation (self: {
     description = "C/CUDA/OpenCL/Objective-C quasiquoting library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/language-c/default.nix b/pkgs/development/libraries/haskell/language-c/default.nix
index 94d8b8e4f4770..6562d3fdf2603 100644
--- a/pkgs/development/libraries/haskell/language-c/default.nix
+++ b/pkgs/development/libraries/haskell/language-c/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Analysis and generation of C code";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/language-haskell-extract/default.nix b/pkgs/development/libraries/haskell/language-haskell-extract/default.nix
index f261a9be7a5a3..da190862c014e 100644
--- a/pkgs/development/libraries/haskell/language-haskell-extract/default.nix
+++ b/pkgs/development/libraries/haskell/language-haskell-extract/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Module to automatically extract functions from the local code";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/language-javascript/default.nix b/pkgs/development/libraries/haskell/language-javascript/default.nix
index d65bc5032c89d..166b5bd5c096a 100644
--- a/pkgs/development/libraries/haskell/language-javascript/default.nix
+++ b/pkgs/development/libraries/haskell/language-javascript/default.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "Parser for JavaScript";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/largeword/default.nix b/pkgs/development/libraries/haskell/largeword/default.nix
index a644e7fdf7939..d743c7eee3a89 100644
--- a/pkgs/development/libraries/haskell/largeword/default.nix
+++ b/pkgs/development/libraries/haskell/largeword/default.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "Provides Word128, Word192 and Word256 and a way of producing other large words if required";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/lazysmallcheck/default.nix b/pkgs/development/libraries/haskell/lazysmallcheck/default.nix
index dc0fee0762c22..d38e4528d256c 100644
--- a/pkgs/development/libraries/haskell/lazysmallcheck/default.nix
+++ b/pkgs/development/libraries/haskell/lazysmallcheck/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A library for demand-driven testing of Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/libmpd/default.nix b/pkgs/development/libraries/haskell/libmpd/default.nix
index 43459ed091d8e..b54068d924c64 100644
--- a/pkgs/development/libraries/haskell/libmpd/default.nix
+++ b/pkgs/development/libraries/haskell/libmpd/default.nix
@@ -21,6 +21,5 @@ cabal.mkDerivation (self: {
     description = "An MPD client library";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/lifted-base/default.nix b/pkgs/development/libraries/haskell/lifted-base/default.nix
index 62b8bdaa8f3a7..3e4f95521bb5c 100644
--- a/pkgs/development/libraries/haskell/lifted-base/default.nix
+++ b/pkgs/development/libraries/haskell/lifted-base/default.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "lifted IO operations from the base 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/linear/default.nix b/pkgs/development/libraries/haskell/linear/default.nix
index 4d99fdd924925..856b8491690dd 100644
--- a/pkgs/development/libraries/haskell/linear/default.nix
+++ b/pkgs/development/libraries/haskell/linear/default.nix
@@ -25,6 +25,6 @@ cabal.mkDerivation (self: {
     description = "Linear Algebra";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/list-tries/default.nix b/pkgs/development/libraries/haskell/list-tries/default.nix
index 3f332dd4083e7..f14e202d22678 100644
--- a/pkgs/development/libraries/haskell/list-tries/default.nix
+++ b/pkgs/development/libraries/haskell/list-tries/default.nix
@@ -9,6 +9,7 @@ cabal.mkDerivation (self: {
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ binary dlist ];
+  jailbreak = true;
   meta = {
     homepage = "http://iki.fi/matti.niemenmaa/list-tries/";
     description = "Tries and Patricia tries: finite sets and maps for list keys";
diff --git a/pkgs/development/libraries/haskell/llvm-general-pure/3.3.8.2.nix b/pkgs/development/libraries/haskell/llvm-general-pure/3.3.8.2.nix
index 8b6f3e453d6a3..37b6d6b60c591 100644
--- a/pkgs/development/libraries/haskell/llvm-general-pure/3.3.8.2.nix
+++ b/pkgs/development/libraries/haskell/llvm-general-pure/3.3.8.2.nix
@@ -18,5 +18,6 @@ cabal.mkDerivation (self: {
     description = "Pure Haskell LLVM functionality (no FFI)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/llvm-general/3.3.8.2.nix b/pkgs/development/libraries/haskell/llvm-general/3.3.8.2.nix
index fce7847dac737..4669358ccbf5c 100644
--- a/pkgs/development/libraries/haskell/llvm-general/3.3.8.2.nix
+++ b/pkgs/development/libraries/haskell/llvm-general/3.3.8.2.nix
@@ -22,5 +22,6 @@ cabal.mkDerivation (self: {
     description = "General purpose LLVM bindings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/logfloat/default.nix b/pkgs/development/libraries/haskell/logfloat/default.nix
index a0b2024abc86b..e24fd10beb6ee 100644
--- a/pkgs/development/libraries/haskell/logfloat/default.nix
+++ b/pkgs/development/libraries/haskell/logfloat/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Log-domain floating point numbers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/logict/default.nix b/pkgs/development/libraries/haskell/logict/default.nix
index 78912a9ed38d6..1a51d623557d8 100644
--- a/pkgs/development/libraries/haskell/logict/default.nix
+++ b/pkgs/development/libraries/haskell/logict/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A backtracking logic-programming monad";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mainland-pretty/default.nix b/pkgs/development/libraries/haskell/mainland-pretty/default.nix
index b8797be541037..8bd0f2dfc21b2 100644
--- a/pkgs/development/libraries/haskell/mainland-pretty/default.nix
+++ b/pkgs/development/libraries/haskell/mainland-pretty/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Pretty printing designed for printing source code";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/math-functions/default.nix b/pkgs/development/libraries/haskell/math-functions/default.nix
index 8fce8ec4f09e8..2e747760cc7f8 100644
--- a/pkgs/development/libraries/haskell/math-functions/default.nix
+++ b/pkgs/development/libraries/haskell/math-functions/default.nix
@@ -20,6 +20,5 @@ cabal.mkDerivation (self: {
     description = "Special functions and Chebyshev polynomials";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/maude/default.nix b/pkgs/development/libraries/haskell/maude/default.nix
index 3c9cd2590adb9..ff95fe0a23b0c 100644
--- a/pkgs/development/libraries/haskell/maude/default.nix
+++ b/pkgs/development/libraries/haskell/maude/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "An interface to the Maude rewriting system";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix b/pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix
index b10c70093cee9..f17b0df4ad1a0 100644
--- a/pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix
+++ b/pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Generate high quality pseudorandom numbers purely using a Mersenne Twister";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mime-mail/default.nix b/pkgs/development/libraries/haskell/mime-mail/default.nix
index 96daa23df7a9b..532ef28d9b77e 100644
--- a/pkgs/development/libraries/haskell/mime-mail/default.nix
+++ b/pkgs/development/libraries/haskell/mime-mail/default.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Compose MIME email messages";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mime-types/default.nix b/pkgs/development/libraries/haskell/mime-types/default.nix
index 774b4472b1676..daf6cc37b6f10 100644
--- a/pkgs/development/libraries/haskell/mime-types/default.nix
+++ b/pkgs/development/libraries/haskell/mime-types/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Basic mime-type handling types and functions";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mime/default.nix b/pkgs/development/libraries/haskell/mime/default.nix
index 288890b89d8e1..eba24ff8f164b 100644
--- a/pkgs/development/libraries/haskell/mime/default.nix
+++ b/pkgs/development/libraries/haskell/mime/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Working with MIME types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mmap/default.nix b/pkgs/development/libraries/haskell/mmap/default.nix
index 36b4470203c9f..fe4f666b3279d 100644
--- a/pkgs/development/libraries/haskell/mmap/default.nix
+++ b/pkgs/development/libraries/haskell/mmap/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Memory mapped files for POSIX and Windows";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/monad-control/default.nix b/pkgs/development/libraries/haskell/monad-control/default.nix
index 3641f259b9908..918e694f54cf1 100644
--- a/pkgs/development/libraries/haskell/monad-control/default.nix
+++ b/pkgs/development/libraries/haskell/monad-control/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Lift control operations, like exception catching, through monad transformers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/monad-loops/default.nix b/pkgs/development/libraries/haskell/monad-loops/default.nix
index f08363edbde22..8b9c9b6b93307 100644
--- a/pkgs/development/libraries/haskell/monad-loops/default.nix
+++ b/pkgs/development/libraries/haskell/monad-loops/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Monadic loops";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/monad-par-extras/default.nix b/pkgs/development/libraries/haskell/monad-par-extras/default.nix
index 95336d28e3d81..a542cdb317395 100644
--- a/pkgs/development/libraries/haskell/monad-par-extras/default.nix
+++ b/pkgs/development/libraries/haskell/monad-par-extras/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Combinators and extra features for Par monads";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/monad-par/0.1.0.3.nix b/pkgs/development/libraries/haskell/monad-par/0.1.0.3.nix
index fe89beb0deaae..13cc7499aabdb 100644
--- a/pkgs/development/libraries/haskell/monad-par/0.1.0.3.nix
+++ b/pkgs/development/libraries/haskell/monad-par/0.1.0.3.nix
@@ -13,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "A library for parallel programming based on a monad";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/monad-par/0.3.4.6.nix b/pkgs/development/libraries/haskell/monad-par/0.3.4.6.nix
index daf625218117e..d43379da7f965 100644
--- a/pkgs/development/libraries/haskell/monad-par/0.3.4.6.nix
+++ b/pkgs/development/libraries/haskell/monad-par/0.3.4.6.nix
@@ -25,6 +25,5 @@ cabal.mkDerivation (self: {
     description = "A library for parallel programming based on a monad";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/monad-peel/default.nix b/pkgs/development/libraries/haskell/monad-peel/default.nix
index 37cd3f74c5376..71520d2466a80 100644
--- a/pkgs/development/libraries/haskell/monad-peel/default.nix
+++ b/pkgs/development/libraries/haskell/monad-peel/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Lift control operations like exception catching through monad transformers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/monadcryptorandom/default.nix b/pkgs/development/libraries/haskell/monadcryptorandom/default.nix
index e6388ebfa3676..2e8c064ac9f38 100644
--- a/pkgs/development/libraries/haskell/monadcryptorandom/default.nix
+++ b/pkgs/development/libraries/haskell/monadcryptorandom/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A monad for using CryptoRandomGen";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/monadlib/default.nix b/pkgs/development/libraries/haskell/monadlib/default.nix
index 0ada70b47145a..bdb12c483b673 100644
--- a/pkgs/development/libraries/haskell/monadlib/default.nix
+++ b/pkgs/development/libraries/haskell/monadlib/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "A collection of monad transformers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.thoughtpolice ];
+    maintainers = with self.stdenv.lib.maintainers; [ thoughtpolice ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/monadloc-pp/default.nix b/pkgs/development/libraries/haskell/monadloc-pp/default.nix
index 661781415cb3a..13a8dfa3677b8 100644
--- a/pkgs/development/libraries/haskell/monadloc-pp/default.nix
+++ b/pkgs/development/libraries/haskell/monadloc-pp/default.nix
@@ -15,6 +15,6 @@ cabal.mkDerivation (self: {
     description = "A preprocessor for generating monadic call traces";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.tomberek ];
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/monads-tf/default.nix b/pkgs/development/libraries/haskell/monads-tf/default.nix
index e18b1e711c9eb..4d5cd7575fb67 100644
--- a/pkgs/development/libraries/haskell/monads-tf/default.nix
+++ b/pkgs/development/libraries/haskell/monads-tf/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Monad classes, using type families";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mongoDB/default.nix b/pkgs/development/libraries/haskell/mongoDB/default.nix
index 9fd2a441e3655..3523749dab756 100644
--- a/pkgs/development/libraries/haskell/mongoDB/default.nix
+++ b/pkgs/development/libraries/haskell/mongoDB/default.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Driver (client) for MongoDB, a free, scalable, fast, document DBMS";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mpppc/default.nix b/pkgs/development/libraries/haskell/mpppc/default.nix
index d33225c21f121..a466f75a1b1cf 100644
--- a/pkgs/development/libraries/haskell/mpppc/default.nix
+++ b/pkgs/development/libraries/haskell/mpppc/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Multi-dimensional parametric pretty-printer with color";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mtl/1.1.0.2.nix b/pkgs/development/libraries/haskell/mtl/1.1.0.2.nix
index 9152cf9296521..3cc240114dfef 100644
--- a/pkgs/development/libraries/haskell/mtl/1.1.0.2.nix
+++ b/pkgs/development/libraries/haskell/mtl/1.1.0.2.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix b/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix
index be9237626d335..e528736d95a7f 100644
--- a/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix
+++ b/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mtl/2.1.1.nix b/pkgs/development/libraries/haskell/mtl/2.1.1.nix
index 56ca159876254..8cfb60ddfefd2 100644
--- a/pkgs/development/libraries/haskell/mtl/2.1.1.nix
+++ b/pkgs/development/libraries/haskell/mtl/2.1.1.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mtl/2.1.2.nix b/pkgs/development/libraries/haskell/mtl/2.1.2.nix
index 2599342c33d80..d72f8bc79d629 100644
--- a/pkgs/development/libraries/haskell/mtl/2.1.2.nix
+++ b/pkgs/development/libraries/haskell/mtl/2.1.2.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mtl/2.2.0.1.nix b/pkgs/development/libraries/haskell/mtl/2.2.0.1.nix
index 6d62ebdb74de8..19dedb3174a02 100644
--- a/pkgs/development/libraries/haskell/mtl/2.2.0.1.nix
+++ b/pkgs/development/libraries/haskell/mtl/2.2.0.1.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mtl/2.2.1.nix b/pkgs/development/libraries/haskell/mtl/2.2.1.nix
index 8b8f77f2cdc63..35a1ffad8d2d9 100644
--- a/pkgs/development/libraries/haskell/mtl/2.2.1.nix
+++ b/pkgs/development/libraries/haskell/mtl/2.2.1.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mtlparse/default.nix b/pkgs/development/libraries/haskell/mtlparse/default.nix
index 7b5993e0dc0e4..6391d2d9ac019 100644
--- a/pkgs/development/libraries/haskell/mtlparse/default.nix
+++ b/pkgs/development/libraries/haskell/mtlparse/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "parse library using mtl package";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/multiarg/default.nix b/pkgs/development/libraries/haskell/multiarg/default.nix
index 2df62aa1e7781..4c6ffcdaff61d 100644
--- a/pkgs/development/libraries/haskell/multiarg/default.nix
+++ b/pkgs/development/libraries/haskell/multiarg/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Combinators to build command line parsers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/multiplate/default.nix b/pkgs/development/libraries/haskell/multiplate/default.nix
index 7cec18ddf3ded..503377b58e0cb 100644
--- a/pkgs/development/libraries/haskell/multiplate/default.nix
+++ b/pkgs/development/libraries/haskell/multiplate/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Lightweight generic library for mutually recursive data types";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/multirec/default.nix b/pkgs/development/libraries/haskell/multirec/default.nix
index 0d1d434db1d21..d7671a522e6e7 100644
--- a/pkgs/development/libraries/haskell/multirec/default.nix
+++ b/pkgs/development/libraries/haskell/multirec/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Generic programming for families of recursive datatypes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/multiset/default.nix b/pkgs/development/libraries/haskell/multiset/default.nix
index 72c172d659a5f..b229393471224 100644
--- a/pkgs/development/libraries/haskell/multiset/default.nix
+++ b/pkgs/development/libraries/haskell/multiset/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "The Data.MultiSet container type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/murmur-hash/default.nix b/pkgs/development/libraries/haskell/murmur-hash/default.nix
index c983e00fa66e3..b16d274e7e68a 100644
--- a/pkgs/development/libraries/haskell/murmur-hash/default.nix
+++ b/pkgs/development/libraries/haskell/murmur-hash/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "MurmurHash2 implementation for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mwc-random/default.nix b/pkgs/development/libraries/haskell/mwc-random/default.nix
index fad0f0de0cba8..d64c74c68a879 100644
--- a/pkgs/development/libraries/haskell/mwc-random/default.nix
+++ b/pkgs/development/libraries/haskell/mwc-random/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mwc-random";
-  version = "0.13.1.2";
-  sha256 = "0b0amp9nv750azg3jc5yyfpdaqzh0z09jp41hwgrzr0j6kq1ygqi";
+  version = "0.13.2.0";
+  sha256 = "07nbbn9ainzsqg2hlw6l9vsfqylfcqs1apgvpnhdgids2gvmrkaa";
   buildDepends = [ primitive time vector ];
   testDepends = [
     HUnit QuickCheck statistics testFramework testFrameworkHunit
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "Fast, high quality pseudo random number generation";
     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-carbon/default.nix b/pkgs/development/libraries/haskell/network-carbon/default.nix
index c9bbe2b0daf8b..c12737a2edf09 100644
--- a/pkgs/development/libraries/haskell/network-carbon/default.nix
+++ b/pkgs/development/libraries/haskell/network-carbon/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "A Haskell implementation of the Carbon protocol (part of the Graphite monitoring tools)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/network-conduit/default.nix b/pkgs/development/libraries/haskell/network-conduit/default.nix
index 0ab913c1e8527..4bc1292f074ed 100644
--- a/pkgs/development/libraries/haskell/network-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/network-conduit/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Stream socket data using conduits. (deprecated)";
     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-metrics/default.nix b/pkgs/development/libraries/haskell/network-metrics/default.nix
index c9df88a41c92b..1c6bf19e82b75 100644
--- a/pkgs/development/libraries/haskell/network-metrics/default.nix
+++ b/pkgs/development/libraries/haskell/network-metrics/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Send metrics to Ganglia, Graphite, and statsd";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/network-multicast/default.nix b/pkgs/development/libraries/haskell/network-multicast/default.nix
index 00c2980462dac..2102ad3c60562 100644
--- a/pkgs/development/libraries/haskell/network-multicast/default.nix
+++ b/pkgs/development/libraries/haskell/network-multicast/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     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-simple/default.nix b/pkgs/development/libraries/haskell/network-simple/default.nix
index b838e93f7a319..41077efed0b8f 100644
--- a/pkgs/development/libraries/haskell/network-simple/default.nix
+++ b/pkgs/development/libraries/haskell/network-simple/default.nix
@@ -13,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "Simple network sockets usage patterns";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/network-transport/default.nix b/pkgs/development/libraries/haskell/network-transport/default.nix
index 00c15e2721fea..c59a3fbb235ec 100644
--- a/pkgs/development/libraries/haskell/network-transport/default.nix
+++ b/pkgs/development/libraries/haskell/network-transport/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     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.2.1.4.nix b/pkgs/development/libraries/haskell/network/2.2.1.4.nix
index 8b76e15e8ef1c..481ad16a2a34c 100644
--- a/pkgs/development/libraries/haskell/network/2.2.1.4.nix
+++ b/pkgs/development/libraries/haskell/network/2.2.1.4.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/network/2.2.1.7.nix b/pkgs/development/libraries/haskell/network/2.2.1.7.nix
index 93faeba77f526..515be08fbcc9e 100644
--- a/pkgs/development/libraries/haskell/network/2.2.1.7.nix
+++ b/pkgs/development/libraries/haskell/network/2.2.1.7.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/network/2.3.0.13.nix b/pkgs/development/libraries/haskell/network/2.3.0.13.nix
index 4636244e6c406..757991666b6a3 100644
--- a/pkgs/development/libraries/haskell/network/2.3.0.13.nix
+++ b/pkgs/development/libraries/haskell/network/2.3.0.13.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/network/2.3.0.2.nix b/pkgs/development/libraries/haskell/network/2.3.0.2.nix
index feb48dab4e203..3cf17949380ea 100644
--- a/pkgs/development/libraries/haskell/network/2.3.0.2.nix
+++ b/pkgs/development/libraries/haskell/network/2.3.0.2.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/network/2.3.0.5.nix b/pkgs/development/libraries/haskell/network/2.3.0.5.nix
index a6f75f2aa3aa6..f10d8c0dbcc7c 100644
--- a/pkgs/development/libraries/haskell/network/2.3.0.5.nix
+++ b/pkgs/development/libraries/haskell/network/2.3.0.5.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/network/2.3.1.0.nix b/pkgs/development/libraries/haskell/network/2.3.1.0.nix
index 5fcf08beef299..02185e860414b 100644
--- a/pkgs/development/libraries/haskell/network/2.3.1.0.nix
+++ b/pkgs/development/libraries/haskell/network/2.3.1.0.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/network/2.4.1.2.nix b/pkgs/development/libraries/haskell/network/2.4.1.2.nix
index 429c28de2080e..2ec39f7d4578a 100644
--- a/pkgs/development/libraries/haskell/network/2.4.1.2.nix
+++ b/pkgs/development/libraries/haskell/network/2.4.1.2.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/network/2.5.0.0.nix b/pkgs/development/libraries/haskell/network/2.5.0.0.nix
index 5a485b27762de..dd4278a0052e7 100644
--- a/pkgs/development/libraries/haskell/network/2.5.0.0.nix
+++ b/pkgs/development/libraries/haskell/network/2.5.0.0.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     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/non-negative/default.nix b/pkgs/development/libraries/haskell/non-negative/default.nix
index 92d1cf77c639b..9b7af5e775173 100644
--- a/pkgs/development/libraries/haskell/non-negative/default.nix
+++ b/pkgs/development/libraries/haskell/non-negative/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Non-negative numbers";
     license = "GPL";
     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 b47b933959654..3d2ef6af751bb 100644
--- a/pkgs/development/libraries/haskell/numbers/default.nix
+++ b/pkgs/development/libraries/haskell/numbers/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Various number 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/numeric-prelude/default.nix b/pkgs/development/libraries/haskell/numeric-prelude/default.nix
index a58b3885f518a..35840ba1716c6 100644
--- a/pkgs/development/libraries/haskell/numeric-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/numeric-prelude/default.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "An experimental alternative hierarchy of numeric type classes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/numtype/default.nix b/pkgs/development/libraries/haskell/numtype/default.nix
index fcef793fe7044..76874e045293c 100644
--- a/pkgs/development/libraries/haskell/numtype/default.nix
+++ b/pkgs/development/libraries/haskell/numtype/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Type-level (low cardinality) integers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pandoc-types/default.nix b/pkgs/development/libraries/haskell/pandoc-types/default.nix
index 6b84a53e0c2b3..2aff8f024788c 100644
--- a/pkgs/development/libraries/haskell/pandoc-types/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc-types/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Types for representing a structured document";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pandoc/default.nix b/pkgs/development/libraries/haskell/pandoc/default.nix
index 6247ed1aee08f..16cc7b737b6b9 100644
--- a/pkgs/development/libraries/haskell/pandoc/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc/default.nix
@@ -36,9 +36,6 @@ cabal.mkDerivation (self: {
     description = "Conversion between markup formats";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pango/default.nix b/pkgs/development/libraries/haskell/pango/default.nix
index 5ce05edb30736..907a9a2e03259 100644
--- a/pkgs/development/libraries/haskell/pango/default.nix
+++ b/pkgs/development/libraries/haskell/pango/default.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Binding to the Pango text rendering engine";
     license = self.stdenv.lib.licenses.lgpl21;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/parallel/1.1.0.1.nix b/pkgs/development/libraries/haskell/parallel/1.1.0.1.nix
index f94af7929b2c6..99575921cc68b 100644
--- a/pkgs/development/libraries/haskell/parallel/1.1.0.1.nix
+++ b/pkgs/development/libraries/haskell/parallel/1.1.0.1.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix b/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix
index b6356f1bd29eb..52a5d3c3c339f 100644
--- a/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix
+++ b/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix b/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix
index 7624694c7d289..095603717b7bb 100644
--- a/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix
+++ b/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/parallel/3.2.0.2.nix b/pkgs/development/libraries/haskell/parallel/3.2.0.2.nix
index 01e599f317aa8..f881e2f83c78e 100644
--- a/pkgs/development/libraries/haskell/parallel/3.2.0.2.nix
+++ b/pkgs/development/libraries/haskell/parallel/3.2.0.2.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/parallel/3.2.0.3.nix b/pkgs/development/libraries/haskell/parallel/3.2.0.3.nix
index b5dc9677bdf17..0e73c691383ef 100644
--- a/pkgs/development/libraries/haskell/parallel/3.2.0.3.nix
+++ b/pkgs/development/libraries/haskell/parallel/3.2.0.3.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/parallel/3.2.0.4.nix b/pkgs/development/libraries/haskell/parallel/3.2.0.4.nix
index c2df1e52d10e3..e1d1b24286d07 100644
--- a/pkgs/development/libraries/haskell/parallel/3.2.0.4.nix
+++ b/pkgs/development/libraries/haskell/parallel/3.2.0.4.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Parallel programming library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/parseargs/default.nix b/pkgs/development/libraries/haskell/parseargs/default.nix
index 516bc5bd9855d..495df8984f6a0 100644
--- a/pkgs/development/libraries/haskell/parseargs/default.nix
+++ b/pkgs/development/libraries/haskell/parseargs/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Command-line argument parsing library for Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/parsec/2.1.0.1.nix b/pkgs/development/libraries/haskell/parsec/2.1.0.1.nix
index ffbab8a942a30..458a2bd29773c 100644
--- a/pkgs/development/libraries/haskell/parsec/2.1.0.1.nix
+++ b/pkgs/development/libraries/haskell/parsec/2.1.0.1.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Monadic parser combinators";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/parsec/3.1.1.nix b/pkgs/development/libraries/haskell/parsec/3.1.1.nix
index 0f56abc583523..e997acd4b49ef 100644
--- a/pkgs/development/libraries/haskell/parsec/3.1.1.nix
+++ b/pkgs/development/libraries/haskell/parsec/3.1.1.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Monadic parser combinators";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/parsec/3.1.2.nix b/pkgs/development/libraries/haskell/parsec/3.1.2.nix
index eb1fb4699b0c1..dd55106fa0df4 100644
--- a/pkgs/development/libraries/haskell/parsec/3.1.2.nix
+++ b/pkgs/development/libraries/haskell/parsec/3.1.2.nix
@@ -13,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "Monadic parser combinators";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/parsec/3.1.3.nix b/pkgs/development/libraries/haskell/parsec/3.1.3.nix
index 78ff6eceb28d8..3e81947cfed79 100644
--- a/pkgs/development/libraries/haskell/parsec/3.1.3.nix
+++ b/pkgs/development/libraries/haskell/parsec/3.1.3.nix
@@ -13,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "Monadic parser combinators";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/parsec/3.1.5.nix b/pkgs/development/libraries/haskell/parsec/3.1.5.nix
index d3dd8bf379115..b6a5d37e53120 100644
--- a/pkgs/development/libraries/haskell/parsec/3.1.5.nix
+++ b/pkgs/development/libraries/haskell/parsec/3.1.5.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Monadic parser combinators";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/parsers/0.10.3.nix b/pkgs/development/libraries/haskell/parsers/0.10.3.nix
index 7f1ea0824cdcc..1da7380f252c8 100644
--- a/pkgs/development/libraries/haskell/parsers/0.10.3.nix
+++ b/pkgs/development/libraries/haskell/parsers/0.10.3.nix
@@ -17,5 +17,6 @@ cabal.mkDerivation (self: {
     description = "Parsing combinators";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/parsimony/default.nix b/pkgs/development/libraries/haskell/parsimony/default.nix
index 45fad0d66285f..14b0d08396e93 100644
--- a/pkgs/development/libraries/haskell/parsimony/default.nix
+++ b/pkgs/development/libraries/haskell/parsimony/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Monadic parser combinators derived from Parsec";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/path-pieces/default.nix b/pkgs/development/libraries/haskell/path-pieces/default.nix
index 5fc9faecf2e61..eea91f43cb59a 100644
--- a/pkgs/development/libraries/haskell/path-pieces/default.nix
+++ b/pkgs/development/libraries/haskell/path-pieces/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Components of paths";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pathtype/default.nix b/pkgs/development/libraries/haskell/pathtype/default.nix
index dc3fa3e85b568..d004b177e3d25 100644
--- a/pkgs/development/libraries/haskell/pathtype/default.nix
+++ b/pkgs/development/libraries/haskell/pathtype/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Type-safe replacement for System.FilePath etc";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pcre-light/default.nix b/pkgs/development/libraries/haskell/pcre-light/default.nix
index 5e29497196cf9..e7c92e60fc5ac 100644
--- a/pkgs/development/libraries/haskell/pcre-light/default.nix
+++ b/pkgs/development/libraries/haskell/pcre-light/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A small, efficient and portable regex library for Perl 5 compatible regular expressions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pem/default.nix b/pkgs/development/libraries/haskell/pem/default.nix
index df43a297c71f1..42944c03205e5 100644
--- a/pkgs/development/libraries/haskell/pem/default.nix
+++ b/pkgs/development/libraries/haskell/pem/default.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Privacy Enhanced Mail (PEM) format reader and writer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/permutation/default.nix b/pkgs/development/libraries/haskell/permutation/default.nix
index 0f907f9e121f5..1c86e8259a8c6 100644
--- a/pkgs/development/libraries/haskell/permutation/default.nix
+++ b/pkgs/development/libraries/haskell/permutation/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A library for permutations and combinations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
index 93488c74063d0..207183db8469b 100644
--- a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "Backend for the persistent library using postgresql";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
index dbb5e67677907..288e91ab78d4a 100644
--- a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "Backend for the persistent library using sqlite3";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/persistent-template/default.nix b/pkgs/development/libraries/haskell/persistent-template/default.nix
index 882ebcc7d250e..4b3c97c1a9cba 100644
--- a/pkgs/development/libraries/haskell/persistent-template/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-template/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent-template";
-  version = "1.3.2.1";
-  sha256 = "1i7jlp16bwxrfbbln1izjmjjicgqw5i6hsylfjmh622vri2rxi31";
+  version = "1.3.2.2";
+  sha256 = "0vcj0y2i423cz1iry5gsz5cvqynpnbhzl6basqcqn6k8ca7s876i";
   buildDepends = [
     aeson monadControl monadLogger persistent text transformers
     unorderedContainers
@@ -21,6 +21,5 @@ cabal.mkDerivation (self: {
     description = "Type-safe, non-relational, multi-backend persistence";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix
index 898bc13284da9..a5add651473d4 100644
--- a/pkgs/development/libraries/haskell/persistent/default.nix
+++ b/pkgs/development/libraries/haskell/persistent/default.nix
@@ -28,6 +28,5 @@ cabal.mkDerivation (self: {
     description = "Type-safe, multi-backend data serialization";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pgm/default.nix b/pkgs/development/libraries/haskell/pgm/default.nix
index b8a8a22a46268..0e80c55a44755 100644
--- a/pkgs/development/libraries/haskell/pgm/default.nix
+++ b/pkgs/development/libraries/haskell/pgm/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Pure Haskell implementation of PGM image format";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-aeson/default.nix b/pkgs/development/libraries/haskell/pipes-aeson/default.nix
index 91e31801e7f25..237492a65bd11 100644
--- a/pkgs/development/libraries/haskell/pipes-aeson/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-aeson/default.nix
@@ -18,6 +18,6 @@ cabal.mkDerivation (self: {
     description = "Encode and decode JSON streams using Aeson and Pipes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix b/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix
index 9a304a7b3ec46..51eba83bb82b4 100644
--- a/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix
@@ -18,6 +18,6 @@ cabal.mkDerivation (self: {
     description = "Attoparsec and Pipes integration";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-bytestring/default.nix b/pkgs/development/libraries/haskell/pipes-bytestring/default.nix
index 34fd47a8ed65b..8c52ccf5546d6 100644
--- a/pkgs/development/libraries/haskell/pipes-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-bytestring/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "ByteString support for pipes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-concurrency/default.nix b/pkgs/development/libraries/haskell/pipes-concurrency/default.nix
index 826a594757eaa..91c9c6a8e193e 100644
--- a/pkgs/development/libraries/haskell/pipes-concurrency/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-concurrency/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Concurrency for the pipes ecosystem";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-network/default.nix b/pkgs/development/libraries/haskell/pipes-network/default.nix
index 95345e0513e9a..4e7cd3d125d1e 100644
--- a/pkgs/development/libraries/haskell/pipes-network/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-network/default.nix
@@ -15,6 +15,6 @@ cabal.mkDerivation (self: {
     description = "Use network sockets together with the pipes library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-parse/default.nix b/pkgs/development/libraries/haskell/pipes-parse/default.nix
index fa54300fe204e..270908a56a671 100644
--- a/pkgs/development/libraries/haskell/pipes-parse/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-parse/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Parsing infrastructure for the pipes ecosystem";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-postgresql-simple/default.nix b/pkgs/development/libraries/haskell/pipes-postgresql-simple/default.nix
index 61440c534a8e7..ea2b230feebc6 100644
--- a/pkgs/development/libraries/haskell/pipes-postgresql-simple/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-postgresql-simple/default.nix
@@ -16,6 +16,6 @@ cabal.mkDerivation (self: {
     description = "Convert various postgresql-simple calls to work with pipes";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-safe/default.nix b/pkgs/development/libraries/haskell/pipes-safe/default.nix
index 7867e5f2a3c4f..6c3265cc9f4db 100644
--- a/pkgs/development/libraries/haskell/pipes-safe/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-safe/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Safety for the pipes ecosystem";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes-zlib/default.nix b/pkgs/development/libraries/haskell/pipes-zlib/default.nix
index 5b471fd55a334..9a4ed04892b21 100644
--- a/pkgs/development/libraries/haskell/pipes-zlib/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-zlib/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Zlib compression and decompression for Pipes streams";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pipes/default.nix b/pkgs/development/libraries/haskell/pipes/default.nix
index d6d8c4daf968c..9f723826dbb9c 100644
--- a/pkgs/development/libraries/haskell/pipes/default.nix
+++ b/pkgs/development/libraries/haskell/pipes/default.nix
@@ -16,6 +16,6 @@ cabal.mkDerivation (self: {
     description = "Compositional pipelines";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/polyparse/default.nix b/pkgs/development/libraries/haskell/polyparse/default.nix
index 5b6029261eba7..c9e237b65060b 100644
--- a/pkgs/development/libraries/haskell/polyparse/default.nix
+++ b/pkgs/development/libraries/haskell/polyparse/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A variety of alternative parser combinator libraries";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pool-conduit/default.nix b/pkgs/development/libraries/haskell/pool-conduit/default.nix
index f5cc7fe0b8bb4..f8f748056c3c5 100644
--- a/pkgs/development/libraries/haskell/pool-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/pool-conduit/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Resource pool allocations via ResourceT. (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/poppler/default.nix b/pkgs/development/libraries/haskell/poppler/default.nix
index 064153599d02d..dbc21e89f0928 100644
--- a/pkgs/development/libraries/haskell/poppler/default.nix
+++ b/pkgs/development/libraries/haskell/poppler/default.nix
@@ -17,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "Binding to the Poppler";
     license = self.stdenv.lib.licenses.gpl2;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/postgresql-libpq/default.nix b/pkgs/development/libraries/haskell/postgresql-libpq/default.nix
index b0a1ccb178494..eb677e4868c64 100644
--- a/pkgs/development/libraries/haskell/postgresql-libpq/default.nix
+++ b/pkgs/development/libraries/haskell/postgresql-libpq/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "low-level binding to libpq";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/postgresql-simple/default.nix b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
index 58b6948dd983f..a3f471fcb4def 100644
--- a/pkgs/development/libraries/haskell/postgresql-simple/default.nix
+++ b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
@@ -21,6 +21,5 @@ cabal.mkDerivation (self: {
     description = "Mid-Level PostgreSQL client 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/ppm/default.nix b/pkgs/development/libraries/haskell/ppm/default.nix
index 8cda8613cdaa4..c84253da0e802 100644
--- a/pkgs/development/libraries/haskell/ppm/default.nix
+++ b/pkgs/development/libraries/haskell/ppm/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "a tiny PPM image generator";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix b/pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix
index 8e2ba95e9931f..4bbd60e0ebe1f 100644
--- a/pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix
+++ b/pkgs/development/libraries/haskell/preprocessor-tools/0.1.3.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "A framework for extending Haskell's syntax via quick-and-dirty preprocessors";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/presburger/default.nix b/pkgs/development/libraries/haskell/presburger/default.nix
index e7a116b2133b6..fed380b9bd0c6 100644
--- a/pkgs/development/libraries/haskell/presburger/default.nix
+++ b/pkgs/development/libraries/haskell/presburger/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "A decision procedure for quantifier-free linear arithmetic";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.thoughtpolice ];
+    maintainers = with self.stdenv.lib.maintainers; [ thoughtpolice ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pretty-show/default.nix b/pkgs/development/libraries/haskell/pretty-show/default.nix
index 51f9c8d09708a..a9a39529f61d2 100644
--- a/pkgs/development/libraries/haskell/pretty-show/default.nix
+++ b/pkgs/development/libraries/haskell/pretty-show/default.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Tools for working with derived `Show` instances and generic inspection of values";
     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.0.1.nix b/pkgs/development/libraries/haskell/primitive/0.5.0.1.nix
index 6f0cdc2e0bd07..49ad80e064fb1 100644
--- a/pkgs/development/libraries/haskell/primitive/0.5.0.1.nix
+++ b/pkgs/development/libraries/haskell/primitive/0.5.0.1.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Primitive memory-related operations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/primitive/0.5.1.0.nix b/pkgs/development/libraries/haskell/primitive/0.5.1.0.nix
index 1fe7ceaf9c90c..2b43bf467c171 100644
--- a/pkgs/development/libraries/haskell/primitive/0.5.1.0.nix
+++ b/pkgs/development/libraries/haskell/primitive/0.5.1.0.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Primitive memory-related operations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/primitive/0.5.2.1.nix b/pkgs/development/libraries/haskell/primitive/0.5.2.1.nix
index df7ebb1709941..d9bbd51c1998e 100644
--- a/pkgs/development/libraries/haskell/primitive/0.5.2.1.nix
+++ b/pkgs/development/libraries/haskell/primitive/0.5.2.1.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Primitive memory-related operations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/primitive/0.5.3.0.nix b/pkgs/development/libraries/haskell/primitive/0.5.3.0.nix
index 4f93724c3fe17..46d7fbbdcfb31 100644
--- a/pkgs/development/libraries/haskell/primitive/0.5.3.0.nix
+++ b/pkgs/development/libraries/haskell/primitive/0.5.3.0.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     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 ae4f2d65c1c10..000b3b78e7f03 100644
--- a/pkgs/development/libraries/haskell/process-extras/default.nix
+++ b/pkgs/development/libraries/haskell/process-extras/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Process extras";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/process/1.2.0.0.nix b/pkgs/development/libraries/haskell/process/1.2.0.0.nix
index 76a00ce0262d1..615f9201b04e9 100644
--- a/pkgs/development/libraries/haskell/process/1.2.0.0.nix
+++ b/pkgs/development/libraries/haskell/process/1.2.0.0.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Process libraries";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.thoughtpolice ];
+    maintainers = with self.stdenv.lib.maintainers; [ thoughtpolice ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/profunctor-extras/default.nix b/pkgs/development/libraries/haskell/profunctor-extras/default.nix
deleted file mode 100644
index 657d7312e82fe..0000000000000
--- a/pkgs/development/libraries/haskell/profunctor-extras/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, profunctors }:
-
-cabal.mkDerivation (self: {
-  pname = "profunctor-extras";
-  version = "4.0";
-  sha256 = "10j458liqlyz5s9gkg95c6aq7ap5fa7d8pc7hygy71nn87pm2g4a";
-  buildDepends = [ profunctors ];
-  meta = {
-    homepage = "http://github.com/ekmett/profunctor-extras/";
-    description = "This package has been absorbed into profunctors 4.0";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/prolog-graph-lib/default.nix b/pkgs/development/libraries/haskell/prolog-graph-lib/default.nix
index 49239e8a8298e..045c4dc200477 100644
--- a/pkgs/development/libraries/haskell/prolog-graph-lib/default.nix
+++ b/pkgs/development/libraries/haskell/prolog-graph-lib/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Generating images of resolution trees for Prolog queries";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/prolog-graph/default.nix b/pkgs/development/libraries/haskell/prolog-graph/default.nix
index c45e5e20d9cba..9b3e5c8be2e60 100644
--- a/pkgs/development/libraries/haskell/prolog-graph/default.nix
+++ b/pkgs/development/libraries/haskell/prolog-graph/default.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "A command line tool to visualize query resolution in Prolog";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/prolog/default.nix b/pkgs/development/libraries/haskell/prolog/default.nix
index aaf4dbdbcd8e9..71539fb342a0d 100644
--- a/pkgs/development/libraries/haskell/prolog/default.nix
+++ b/pkgs/development/libraries/haskell/prolog/default.nix
@@ -7,11 +7,11 @@ cabal.mkDerivation (self: {
   version = "0.2.0.1";
   sha256 = "073sd3rhcfqw9csm0qsbc57ix57dv3k5yjr9hcc33b9zq5y10sp0";
   buildDepends = [ mtl parsec syb thLift transformers ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/Erdwolf/prolog";
     description = "A Prolog interpreter written in Haskell";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix b/pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix
index a3550417ccdbb..3b030735bbb2e 100644
--- a/pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix
+++ b/pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Text.DescriptorProto.Options and code generated from the Google Protocol Buffer specification";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/protocol-buffers/default.nix b/pkgs/development/libraries/haskell/protocol-buffers/default.nix
index 9435c664b66e0..8782fbb732de0 100644
--- a/pkgs/development/libraries/haskell/protocol-buffers/default.nix
+++ b/pkgs/development/libraries/haskell/protocol-buffers/default.nix
@@ -12,5 +12,7 @@ cabal.mkDerivation (self: {
     description = "Parse Google Protocol Buffer specifications";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/pure-cdb/default.nix b/pkgs/development/libraries/haskell/pure-cdb/default.nix
new file mode 100644
index 0000000000000..871825db12185
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pure-cdb/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, mtl, testSimple, Unixutils, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "pure-cdb";
+  version = "0.1";
+  sha256 = "0fxfhd73h5frnjpk617lspwf17wldsrd5a5cxar5y3a8wi0i4b8c";
+  buildDepends = [ binary mtl vector ];
+  testDepends = [ mtl testSimple Unixutils vector ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/bosu/pure-cdb";
+    description = "Another pure-haskell CDB (Constant Database) implementation";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pureMD5/default.nix b/pkgs/development/libraries/haskell/pureMD5/default.nix
index 7df0bdbec77c3..0252f8dc6df88 100644
--- a/pkgs/development/libraries/haskell/pureMD5/default.nix
+++ b/pkgs/development/libraries/haskell/pureMD5/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A Haskell-only implementation of the MD5 digest (hash) algorithm";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/purescript/default.nix b/pkgs/development/libraries/haskell/purescript/default.nix
index 5d6c54f4b8374..c5087a692f9a9 100644
--- a/pkgs/development/libraries/haskell/purescript/default.nix
+++ b/pkgs/development/libraries/haskell/purescript/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "purescript";
-  version = "0.5.4";
-  sha256 = "02mxg9bsyzhr7xclf7jdsjjwcc6d05ibji64n9783rc1i9clc2gg";
+  version = "0.5.4.1";
+  sha256 = "1d2i2sspr1dbzjznk70flvnik0b2m226a3z0rkqwrjjbl92bhgwb";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -22,5 +22,6 @@ cabal.mkDerivation (self: {
     description = "PureScript Programming Language Compiler";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/pwstore-fast/default.nix b/pkgs/development/libraries/haskell/pwstore-fast/default.nix
index ff6f2004d98ed..08f18e8fe1136 100644
--- a/pkgs/development/libraries/haskell/pwstore-fast/default.nix
+++ b/pkgs/development/libraries/haskell/pwstore-fast/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Secure password storage";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/quickcheck-assertions/default.nix b/pkgs/development/libraries/haskell/quickcheck-assertions/default.nix
index 68189f7ae7614..d83fdf12acb67 100644
--- a/pkgs/development/libraries/haskell/quickcheck-assertions/default.nix
+++ b/pkgs/development/libraries/haskell/quickcheck-assertions/default.nix
@@ -13,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "HUnit like assertions for QuickCheck";
     license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/quickcheck-instances/default.nix b/pkgs/development/libraries/haskell/quickcheck-instances/default.nix
index 9454a1a23b239..5aa1314f8e755 100644
--- a/pkgs/development/libraries/haskell/quickcheck-instances/default.nix
+++ b/pkgs/development/libraries/haskell/quickcheck-instances/default.nix
@@ -15,6 +15,6 @@ cabal.mkDerivation (self: {
     description = "Common quickcheck instances";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/random-fu/default.nix b/pkgs/development/libraries/haskell/random-fu/default.nix
index d4a561b2973d9..4cdbed0376223 100644
--- a/pkgs/development/libraries/haskell/random-fu/default.nix
+++ b/pkgs/development/libraries/haskell/random-fu/default.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Random number generation";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/random-shuffle/default.nix b/pkgs/development/libraries/haskell/random-shuffle/default.nix
index c4f3ce565ddf1..76f0c1f0ebb9d 100644
--- a/pkgs/development/libraries/haskell/random-shuffle/default.nix
+++ b/pkgs/development/libraries/haskell/random-shuffle/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Random shuffle implementation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/random-source/default.nix b/pkgs/development/libraries/haskell/random-source/default.nix
index 6b5856f165088..bdb341cead5a0 100644
--- a/pkgs/development/libraries/haskell/random-source/default.nix
+++ b/pkgs/development/libraries/haskell/random-source/default.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Generic basis for random number generators";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/random/1.0.1.1.nix b/pkgs/development/libraries/haskell/random/1.0.1.1.nix
index b14d850e44a30..5a64573a8903b 100644
--- a/pkgs/development/libraries/haskell/random/1.0.1.1.nix
+++ b/pkgs/development/libraries/haskell/random/1.0.1.1.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "random number 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/ranges/default.nix b/pkgs/development/libraries/haskell/ranges/default.nix
index a12ea697a482a..33b1ddf5b4495 100644
--- a/pkgs/development/libraries/haskell/ranges/default.nix
+++ b/pkgs/development/libraries/haskell/ranges/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Ranges and various functions on them";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rank1dynamic/default.nix b/pkgs/development/libraries/haskell/rank1dynamic/default.nix
index 456b92332c1d8..7137bf668c561 100644
--- a/pkgs/development/libraries/haskell/rank1dynamic/default.nix
+++ b/pkgs/development/libraries/haskell/rank1dynamic/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     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 43c2f16cf992d..b9e61e32edde0 100644
--- a/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix
+++ b/pkgs/development/libraries/haskell/reactive-banana-wx/default.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Examples for the reactive-banana library, using wxHaskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/reactive-banana/default.nix b/pkgs/development/libraries/haskell/reactive-banana/default.nix
index 464a333f04e08..964c4767b272c 100644
--- a/pkgs/development/libraries/haskell/reactive-banana/default.nix
+++ b/pkgs/development/libraries/haskell/reactive-banana/default.nix
@@ -20,9 +20,6 @@ cabal.mkDerivation (self: {
     description = "Library for functional reactive programming (FRP)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.bluescreen303
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ bluescreen303 ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/recaptcha/default.nix b/pkgs/development/libraries/haskell/recaptcha/default.nix
index f97b8e3168bce..dd92b7e79deb2 100644
--- a/pkgs/development/libraries/haskell/recaptcha/default.nix
+++ b/pkgs/development/libraries/haskell/recaptcha/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Functions for using the reCAPTCHA service in web applications";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-applicative/default.nix b/pkgs/development/libraries/haskell/regex-applicative/default.nix
index 4da323419a156..1e3b5b96346cb 100644
--- a/pkgs/development/libraries/haskell/regex-applicative/default.nix
+++ b/pkgs/development/libraries/haskell/regex-applicative/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, HUnit, smallcheck, tasty, tastyHunit, tastySmallcheck
+{ cabal, smallcheck, tasty, tastyHunit, tastySmallcheck
 , transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "regex-applicative";
-  version = "0.3.0.2";
-  sha256 = "0bzf8lnb5568glppk8bajh4c3a08baav5r0qhyn3vnfybi02c4d2";
+  version = "0.3.0.3";
+  sha256 = "111j6x1j7bx5viz2hmgyvcdwfrv5x3f9mifx888hyd3hz850wpwc";
   buildDepends = [ transformers ];
   testDepends = [
-    HUnit smallcheck tasty tastyHunit tastySmallcheck transformers
+    smallcheck tasty tastyHunit tastySmallcheck transformers
   ];
   meta = {
     homepage = "https://github.com/feuerbach/regex-applicative";
diff --git a/pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix b/pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix
index 691bee5e1acaa..b5b7068da01d8 100644
--- a/pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix
+++ b/pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-base/0.93.1.nix b/pkgs/development/libraries/haskell/regex-base/0.93.1.nix
index 93243aecb57d5..5aa971ac34786 100644
--- a/pkgs/development/libraries/haskell/regex-base/0.93.1.nix
+++ b/pkgs/development/libraries/haskell/regex-base/0.93.1.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-base/0.93.2.nix b/pkgs/development/libraries/haskell/regex-base/0.93.2.nix
index 662a06b94e184..2a99cc96c25d3 100644
--- a/pkgs/development/libraries/haskell/regex-base/0.93.2.nix
+++ b/pkgs/development/libraries/haskell/regex-base/0.93.2.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     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/regex-compat/0.71.0.1.nix b/pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix
index de895393452db..306d603a9cb5a 100644
--- a/pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix
+++ b/pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-compat/0.92.nix b/pkgs/development/libraries/haskell/regex-compat/0.92.nix
index 3e7d58d6c9be3..91dda463e6d00 100644
--- a/pkgs/development/libraries/haskell/regex-compat/0.92.nix
+++ b/pkgs/development/libraries/haskell/regex-compat/0.92.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix b/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix
index 47d15fed0c436..7fddc11a672ac 100644
--- a/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix
+++ b/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-compat/0.95.1.nix b/pkgs/development/libraries/haskell/regex-compat/0.95.1.nix
index e984a69ad8193..83dffb381fcdf 100644
--- a/pkgs/development/libraries/haskell/regex-compat/0.95.1.nix
+++ b/pkgs/development/libraries/haskell/regex-compat/0.95.1.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     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/regex-pcre/default.nix b/pkgs/development/libraries/haskell/regex-pcre/default.nix
index 83984e08e2e11..db0f8b7ff4533 100644
--- a/pkgs/development/libraries/haskell/regex-pcre/default.nix
+++ b/pkgs/development/libraries/haskell/regex-pcre/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     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/regex-posix/0.72.0.3.nix b/pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix
index 58d788e2959e5..893e36677011e 100644
--- a/pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix b/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix
index b3cb528e21a41..ec4bdaab43194 100644
--- a/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.94.2.nix b/pkgs/development/libraries/haskell/regex-posix/0.94.2.nix
index 3598d91fb3dcc..20f2dd714140e 100644
--- a/pkgs/development/libraries/haskell/regex-posix/0.94.2.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/0.94.2.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix b/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix
index 81d337871d6ba..49923bf2d6c14 100644
--- a/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.95.1.nix b/pkgs/development/libraries/haskell/regex-posix/0.95.1.nix
index 1f9a44acfb033..0bcc6d2605259 100644
--- a/pkgs/development/libraries/haskell/regex-posix/0.95.1.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/0.95.1.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.95.2.nix b/pkgs/development/libraries/haskell/regex-posix/0.95.2.nix
index 7db5ede5a02e9..292edc2356399 100644
--- a/pkgs/development/libraries/haskell/regex-posix/0.95.2.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/0.95.2.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     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/regex-tdfa/default.nix b/pkgs/development/libraries/haskell/regex-tdfa/default.nix
index 2c07d84882044..2508920e1b488 100644
--- a/pkgs/development/libraries/haskell/regex-tdfa/default.nix
+++ b/pkgs/development/libraries/haskell/regex-tdfa/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     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/regexpr/default.nix b/pkgs/development/libraries/haskell/regexpr/default.nix
index 3b2e70478de5a..2a61bf13598bd 100644
--- a/pkgs/development/libraries/haskell/regexpr/default.nix
+++ b/pkgs/development/libraries/haskell/regexpr/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "regular expression like Perl/Ruby in Haskell";
     license = "LGPL";
     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 eaf4044831a5a..d18909d6f29ee 100644
--- a/pkgs/development/libraries/haskell/regular/default.nix
+++ b/pkgs/development/libraries/haskell/regular/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Generic programming library for regular datatypes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/remote/default.nix b/pkgs/development/libraries/haskell/remote/default.nix
index b1a7f8af9c296..47235710b1e4b 100644
--- a/pkgs/development/libraries/haskell/remote/default.nix
+++ b/pkgs/development/libraries/haskell/remote/default.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Cloud Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/repa-algorithms/default.nix b/pkgs/development/libraries/haskell/repa-algorithms/default.nix
index 977ea58fac6e5..5abce50c45c02 100644
--- a/pkgs/development/libraries/haskell/repa-algorithms/default.nix
+++ b/pkgs/development/libraries/haskell/repa-algorithms/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Algorithms using the Repa array 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/repa-examples/default.nix b/pkgs/development/libraries/haskell/repa-examples/default.nix
index 54d8fe8329c37..518e8ce478916 100644
--- a/pkgs/development/libraries/haskell/repa-examples/default.nix
+++ b/pkgs/development/libraries/haskell/repa-examples/default.nix
@@ -20,6 +20,5 @@ cabal.mkDerivation (self: {
     description = "Examples using the Repa array 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/repa-io/default.nix b/pkgs/development/libraries/haskell/repa-io/default.nix
index b679d59d5dc95..38e6933de613a 100644
--- a/pkgs/development/libraries/haskell/repa-io/default.nix
+++ b/pkgs/development/libraries/haskell/repa-io/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Read and write Repa arrays in various formats";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/repa/default.nix b/pkgs/development/libraries/haskell/repa/default.nix
index b2c296a59239f..7978f80eec713 100644
--- a/pkgs/development/libraries/haskell/repa/default.nix
+++ b/pkgs/development/libraries/haskell/repa/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "High performance, regular, shape polymorphic parallel 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/repr/default.nix b/pkgs/development/libraries/haskell/repr/default.nix
index 96a460fcb1874..fe075fba1fe61 100644
--- a/pkgs/development/libraries/haskell/repr/default.nix
+++ b/pkgs/development/libraries/haskell/repr/default.nix
@@ -14,6 +14,6 @@ cabal.mkDerivation (self: {
     description = "Render overloaded expressions to their textual representation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/resource-pool/default.nix b/pkgs/development/libraries/haskell/resource-pool/default.nix
index f88203b1ce2dc..bbd6f1b782ee5 100644
--- a/pkgs/development/libraries/haskell/resource-pool/default.nix
+++ b/pkgs/development/libraries/haskell/resource-pool/default.nix
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "A high-performance striped resource pooling implementation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/resourcet/default.nix b/pkgs/development/libraries/haskell/resourcet/default.nix
index fec45e6fcd914..81a7c9d28a20e 100644
--- a/pkgs/development/libraries/haskell/resourcet/default.nix
+++ b/pkgs/development/libraries/haskell/resourcet/default.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Deterministic allocation and freeing of scarce resources";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-core/default.nix b/pkgs/development/libraries/haskell/rest-core/default.nix
index 7437173056975..134c39f9f2467 100644
--- a/pkgs/development/libraries/haskell/rest-core/default.nix
+++ b/pkgs/development/libraries/haskell/rest-core/default.nix
@@ -18,6 +18,7 @@ cabal.mkDerivation (self: {
   testDepends = [
     HUnit mtl testFramework testFrameworkHunit unorderedContainers
   ];
+  jailbreak = true;
   meta = {
     description = "Rest API library";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/rest-gen/default.nix b/pkgs/development/libraries/haskell/rest-gen/default.nix
index fb27f40cc2b2f..afa2f612c014d 100644
--- a/pkgs/development/libraries/haskell/rest-gen/default.nix
+++ b/pkgs/development/libraries/haskell/rest-gen/default.nix
@@ -20,6 +20,7 @@ cabal.mkDerivation (self: {
   testDepends = [
     haskellSrcExts HUnit restCore testFramework testFrameworkHunit
   ];
+  jailbreak = true;
   meta = {
     description = "Documentation and client generation from rest definition";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/rest-stringmap/default.nix b/pkgs/development/libraries/haskell/rest-stringmap/default.nix
index 833b79f0df579..c1f0c13cbc22a 100644
--- a/pkgs/development/libraries/haskell/rest-stringmap/default.nix
+++ b/pkgs/development/libraries/haskell/rest-stringmap/default.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
     aeson hashable hxt jsonSchema tagged text tostring
     unorderedContainers
   ];
+  jailbreak = true;
   meta = {
     description = "Maps with stringy keys that can be transcoded to JSON and XML";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/rest-types/default.nix b/pkgs/development/libraries/haskell/rest-types/default.nix
index e7b5ab7796269..157cab5e979c6 100644
--- a/pkgs/development/libraries/haskell/rest-types/default.nix
+++ b/pkgs/development/libraries/haskell/rest-types/default.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
     aeson genericAeson hxt jsonSchema mtl regular regularXmlpickler
     restStringmap text uuid
   ];
+  jailbreak = true;
   meta = {
     description = "Silk Rest Framework Types";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/rethinkdb/default.nix b/pkgs/development/libraries/haskell/rethinkdb/default.nix
index 00453628d338f..affe39729f323 100644
--- a/pkgs/development/libraries/haskell/rethinkdb/default.nix
+++ b/pkgs/development/libraries/haskell/rethinkdb/default.nix
@@ -19,5 +19,6 @@ cabal.mkDerivation (self: {
     description = "RethinkDB driver for Haskell";
     license = self.stdenv.lib.licenses.asl20;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/rvar/default.nix b/pkgs/development/libraries/haskell/rvar/default.nix
index a0d4342d269ba..ecb2a2c9db1ad 100644
--- a/pkgs/development/libraries/haskell/rvar/default.nix
+++ b/pkgs/development/libraries/haskell/rvar/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Random Variables";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/safe/default.nix b/pkgs/development/libraries/haskell/safe/default.nix
index 21f2140295a67..3676ee09db663 100644
--- a/pkgs/development/libraries/haskell/safe/default.nix
+++ b/pkgs/development/libraries/haskell/safe/default.nix
@@ -4,13 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "safe";
-  version = "0.3.7";
-  sha256 = "0rw8mjarwl7rwc6fczq0zxlp1nlb6r1rk71whwziwi032hgc8561";
+  version = "0.3.8";
+  sha256 = "0k5lk85z2y8kgk7dx7km32g8vi55vnwln8ys2gs174ljd136cjdf";
   meta = {
     homepage = "http://community.haskell.org/~ndm/safe/";
     description = "Library of safe (exception free) functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/scientific/0.2.0.2.nix b/pkgs/development/libraries/haskell/scientific/0.2.0.2.nix
index c3f9a7e7a3ac6..0e45c9ad0756d 100644
--- a/pkgs/development/libraries/haskell/scientific/0.2.0.2.nix
+++ b/pkgs/development/libraries/haskell/scientific/0.2.0.2.nix
@@ -16,6 +16,7 @@ cabal.mkDerivation (self: {
     description = "Arbitrary-precision floating-point numbers represented using scientific notation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/scientific/0.3.3.0.nix b/pkgs/development/libraries/haskell/scientific/0.3.3.0.nix
index c2563259ce095..22bf663334c68 100644
--- a/pkgs/development/libraries/haskell/scientific/0.3.3.0.nix
+++ b/pkgs/development/libraries/haskell/scientific/0.3.3.0.nix
@@ -19,6 +19,6 @@ cabal.mkDerivation (self: {
     description = "Numbers represented using scientific notation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/semigroups/default.nix b/pkgs/development/libraries/haskell/semigroups/default.nix
index 963a83ac52783..ed9fa0bf3fb19 100644
--- a/pkgs/development/libraries/haskell/semigroups/default.nix
+++ b/pkgs/development/libraries/haskell/semigroups/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Anything that associates";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/sendfile/default.nix b/pkgs/development/libraries/haskell/sendfile/default.nix
index abc80aa17f8b0..b7fddb0bc048a 100644
--- a/pkgs/development/libraries/haskell/sendfile/default.nix
+++ b/pkgs/development/libraries/haskell/sendfile/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A portable sendfile 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/shakespeare-css/default.nix b/pkgs/development/libraries/haskell/shakespeare-css/default.nix
index 0fdba42333292..3db4273cc9241 100644
--- a/pkgs/development/libraries/haskell/shakespeare-css/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-css/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Stick your haskell variables into css at compile time. (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/shakespeare-i18n/default.nix b/pkgs/development/libraries/haskell/shakespeare-i18n/default.nix
index 7ea060c5b7f1b..0b8cdbf5bbc82 100644
--- a/pkgs/development/libraries/haskell/shakespeare-i18n/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-i18n/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "A type-based approach to internationalization. (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/shakespeare-js/default.nix b/pkgs/development/libraries/haskell/shakespeare-js/default.nix
index c3437690d8ce8..27aa98d1548bf 100644
--- a/pkgs/development/libraries/haskell/shakespeare-js/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-js/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Stick your haskell variables into javascript/coffeescript at compile time. (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/shakespeare-text/default.nix b/pkgs/development/libraries/haskell/shakespeare-text/default.nix
index 8acba44ed0f10..786f6741ca18c 100644
--- a/pkgs/development/libraries/haskell/shakespeare-text/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare-text/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Interpolation with quasi-quotation: put variables strings (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/shakespeare/default.nix b/pkgs/development/libraries/haskell/shakespeare/default.nix
index 12dc8124ada8a..251eb07d8aa69 100644
--- a/pkgs/development/libraries/haskell/shakespeare/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare/default.nix
@@ -21,6 +21,5 @@ cabal.mkDerivation (self: {
     description = "A toolkit for making compile-time interpolated templates";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/shelly/0.15.4.1.nix b/pkgs/development/libraries/haskell/shelly/0.15.4.1.nix
index 05757172d9a3c..2840ba736f5b9 100644
--- a/pkgs/development/libraries/haskell/shelly/0.15.4.1.nix
+++ b/pkgs/development/libraries/haskell/shelly/0.15.4.1.nix
@@ -19,5 +19,6 @@ cabal.mkDerivation (self: {
     description = "shell-like (systems) programming in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/shelly/default.nix b/pkgs/development/libraries/haskell/shelly/default.nix
index 49bbcdd67e47c..587c42d6033e8 100644
--- a/pkgs/development/libraries/haskell/shelly/default.nix
+++ b/pkgs/development/libraries/haskell/shelly/default.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "shell-like (systems) programming in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/show/default.nix b/pkgs/development/libraries/haskell/show/default.nix
index 2ea6186cab18b..cc8cf94c9d62a 100644
--- a/pkgs/development/libraries/haskell/show/default.nix
+++ b/pkgs/development/libraries/haskell/show/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "'Show' instances for Lambdabot";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/simple-sendfile/default.nix b/pkgs/development/libraries/haskell/simple-sendfile/default.nix
index ea5ffdc456133..3e8381bf34bc7 100644
--- a/pkgs/development/libraries/haskell/simple-sendfile/default.nix
+++ b/pkgs/development/libraries/haskell/simple-sendfile/default.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Cross platform library for the sendfile system call";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/skein/default.nix b/pkgs/development/libraries/haskell/skein/default.nix
index 817c3acb82848..5fcd9df46429a 100644
--- a/pkgs/development/libraries/haskell/skein/default.nix
+++ b/pkgs/development/libraries/haskell/skein/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Skein, a family of cryptographic hash functions. Includes Skein-MAC as well.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/smallcheck/default.nix b/pkgs/development/libraries/haskell/smallcheck/default.nix
index a3f7d335e89c2..1a35a79d9ec94 100644
--- a/pkgs/development/libraries/haskell/smallcheck/default.nix
+++ b/pkgs/development/libraries/haskell/smallcheck/default.nix
@@ -12,9 +12,6 @@ cabal.mkDerivation (self: {
     description = "A property-based testing library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.ocharles
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/smtLib/default.nix b/pkgs/development/libraries/haskell/smtLib/default.nix
index 49443a76c2e44..2e60c83e99191 100644
--- a/pkgs/development/libraries/haskell/smtLib/default.nix
+++ b/pkgs/development/libraries/haskell/smtLib/default.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "A library for working with the SMTLIB format";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.thoughtpolice ];
+    maintainers = with self.stdenv.lib.maintainers; [ thoughtpolice ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/snap/core.nix b/pkgs/development/libraries/haskell/snap/core.nix
index a839afdebe7d1..0fca2136663f2 100644
--- a/pkgs/development/libraries/haskell/snap/core.nix
+++ b/pkgs/development/libraries/haskell/snap/core.nix
@@ -22,6 +22,5 @@ cabal.mkDerivation (self: {
     description = "Snap: A Haskell Web Framework (core interfaces and 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/snaplet-acid-state/default.nix b/pkgs/development/libraries/haskell/snaplet-acid-state/default.nix
index cdbca72657483..0d483a65ad718 100644
--- a/pkgs/development/libraries/haskell/snaplet-acid-state/default.nix
+++ b/pkgs/development/libraries/haskell/snaplet-acid-state/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "acid-state snaplet for Snap Framework";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/socket-activation/default.nix b/pkgs/development/libraries/haskell/socket-activation/default.nix
index affc683e18adc..d66266f08865e 100644
--- a/pkgs/development/libraries/haskell/socket-activation/default.nix
+++ b/pkgs/development/libraries/haskell/socket-activation/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "systemd socket activation library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/socket-io/default.nix b/pkgs/development/libraries/haskell/socket-io/default.nix
index a91832a0ad0ca..19d6ff3a667ac 100644
--- a/pkgs/development/libraries/haskell/socket-io/default.nix
+++ b/pkgs/development/libraries/haskell/socket-io/default.nix
@@ -12,9 +12,10 @@ cabal.mkDerivation (self: {
     aeson attoparsec engineIo mtl stm text transformers
     unorderedContainers vector
   ];
+  jailbreak = true;
   meta = {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/socks/default.nix b/pkgs/development/libraries/haskell/socks/default.nix
index d0233753532cc..6a67dfddcc0cd 100644
--- a/pkgs/development/libraries/haskell/socks/default.nix
+++ b/pkgs/development/libraries/haskell/socks/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Socks proxy (version 5) implementation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/sourcemap/default.nix b/pkgs/development/libraries/haskell/sourcemap/default.nix
index e108bb590bb72..cb74bb098f80e 100644
--- a/pkgs/development/libraries/haskell/sourcemap/default.nix
+++ b/pkgs/development/libraries/haskell/sourcemap/default.nix
@@ -14,6 +14,6 @@ cabal.mkDerivation (self: {
     description = "Implementation of source maps as proposed by Google and Mozilla";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/split/0.1.4.3.nix b/pkgs/development/libraries/haskell/split/0.1.4.3.nix
index d9a39e9843608..b30ce21e342a2 100644
--- a/pkgs/development/libraries/haskell/split/0.1.4.3.nix
+++ b/pkgs/development/libraries/haskell/split/0.1.4.3.nix
@@ -11,5 +11,6 @@ cabal.mkDerivation (self: {
     description = "Combinator library for splitting lists";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/split/0.2.1.1.nix b/pkgs/development/libraries/haskell/split/0.2.1.1.nix
index 13146b02bac4b..5dfcdf6de0cc5 100644
--- a/pkgs/development/libraries/haskell/split/0.2.1.1.nix
+++ b/pkgs/development/libraries/haskell/split/0.2.1.1.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Combinator library for splitting lists";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/split/0.2.2.nix b/pkgs/development/libraries/haskell/split/0.2.2.nix
index fb7fce607d806..91a6b4cada3fb 100644
--- a/pkgs/development/libraries/haskell/split/0.2.2.nix
+++ b/pkgs/development/libraries/haskell/split/0.2.2.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Combinator library for splitting lists";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/srcloc/default.nix b/pkgs/development/libraries/haskell/srcloc/default.nix
index 5e40109208032..087871bbc53e4 100644
--- a/pkgs/development/libraries/haskell/srcloc/default.nix
+++ b/pkgs/development/libraries/haskell/srcloc/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Data types for managing source code locations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/stateref/default.nix b/pkgs/development/libraries/haskell/stateref/default.nix
index 0534835c2b10c..b9651681351c5 100644
--- a/pkgs/development/libraries/haskell/stateref/default.nix
+++ b/pkgs/development/libraries/haskell/stateref/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Abstraction for things that work like IORef";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/statistics/default.nix b/pkgs/development/libraries/haskell/statistics/default.nix
index 9bed0331a50b8..a24b9359aa482 100644
--- a/pkgs/development/libraries/haskell/statistics/default.nix
+++ b/pkgs/development/libraries/haskell/statistics/default.nix
@@ -25,6 +25,5 @@ cabal.mkDerivation (self: {
     description = "A library of statistical types, data, and functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/stb-image/default.nix b/pkgs/development/libraries/haskell/stb-image/default.nix
index e27c088483553..d24b735ab76cb 100644
--- a/pkgs/development/libraries/haskell/stb-image/default.nix
+++ b/pkgs/development/libraries/haskell/stb-image/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A wrapper around Sean Barrett's JPEG/PNG decoder";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/stm/2.1.1.2.nix b/pkgs/development/libraries/haskell/stm/2.1.1.2.nix
index 06d4bb209155f..d69827bbb69d6 100644
--- a/pkgs/development/libraries/haskell/stm/2.1.1.2.nix
+++ b/pkgs/development/libraries/haskell/stm/2.1.1.2.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Software Transactional Memory";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/stm/2.1.2.1.nix b/pkgs/development/libraries/haskell/stm/2.1.2.1.nix
index c1569687888a7..ab99000b7e743 100644
--- a/pkgs/development/libraries/haskell/stm/2.1.2.1.nix
+++ b/pkgs/development/libraries/haskell/stm/2.1.2.1.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Software Transactional Memory";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/stm/2.2.0.1.nix b/pkgs/development/libraries/haskell/stm/2.2.0.1.nix
index e3a1893ba15e2..cfe7ff65871b9 100644
--- a/pkgs/development/libraries/haskell/stm/2.2.0.1.nix
+++ b/pkgs/development/libraries/haskell/stm/2.2.0.1.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Software Transactional Memory";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/stm/2.3.nix b/pkgs/development/libraries/haskell/stm/2.3.nix
index bfa9b7dcb6f9f..c5f62c9c8275e 100644
--- a/pkgs/development/libraries/haskell/stm/2.3.nix
+++ b/pkgs/development/libraries/haskell/stm/2.3.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Software Transactional Memory";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/stm/2.4.2.nix b/pkgs/development/libraries/haskell/stm/2.4.2.nix
index 7fc8b440935d0..f8cebde5d0b35 100644
--- a/pkgs/development/libraries/haskell/stm/2.4.2.nix
+++ b/pkgs/development/libraries/haskell/stm/2.4.2.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Software Transactional Memory";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/stm/2.4.3.nix b/pkgs/development/libraries/haskell/stm/2.4.3.nix
index 028ab05459770..f6c7a7e7ce0e2 100644
--- a/pkgs/development/libraries/haskell/stm/2.4.3.nix
+++ b/pkgs/development/libraries/haskell/stm/2.4.3.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     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/stm/2.4.nix b/pkgs/development/libraries/haskell/stm/2.4.nix
index 91fdea09202f5..6007e845e9b8f 100644
--- a/pkgs/development/libraries/haskell/stm/2.4.nix
+++ b/pkgs/development/libraries/haskell/stm/2.4.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Software Transactional Memory";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/storable-complex/default.nix b/pkgs/development/libraries/haskell/storable-complex/default.nix
index 84073b8e223d1..59f5e64723177 100644
--- a/pkgs/development/libraries/haskell/storable-complex/default.nix
+++ b/pkgs/development/libraries/haskell/storable-complex/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Storable instance for Complex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/storable-record/default.nix b/pkgs/development/libraries/haskell/storable-record/default.nix
index f818545d2f804..fc919b195e012 100644
--- a/pkgs/development/libraries/haskell/storable-record/default.nix
+++ b/pkgs/development/libraries/haskell/storable-record/default.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Elegant definition of Storable instances for records";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/streamproc/default.nix b/pkgs/development/libraries/haskell/streamproc/default.nix
index b1e03c3825099..cd338472635bc 100644
--- a/pkgs/development/libraries/haskell/streamproc/default.nix
+++ b/pkgs/development/libraries/haskell/streamproc/default.nix
@@ -11,9 +11,6 @@ cabal.mkDerivation (self: {
     description = "Stream Processer Arrow";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/strict/default.nix b/pkgs/development/libraries/haskell/strict/default.nix
index c7d9e7c154ba4..6b4a157431e73 100644
--- a/pkgs/development/libraries/haskell/strict/default.nix
+++ b/pkgs/development/libraries/haskell/strict/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Strict data types and String IO";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/strictConcurrency/default.nix b/pkgs/development/libraries/haskell/strictConcurrency/default.nix
index ec6791e1dda5f..b725597ac5f31 100644
--- a/pkgs/development/libraries/haskell/strictConcurrency/default.nix
+++ b/pkgs/development/libraries/haskell/strictConcurrency/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Strict concurrency abstractions";
     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 cbc40aec56453..3f4e0edf14083 100644
--- a/pkgs/development/libraries/haskell/string-combinators/default.nix
+++ b/pkgs/development/libraries/haskell/string-combinators/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Polymorphic functions to build and combine stringlike values";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/stringbuilder/default.nix b/pkgs/development/libraries/haskell/stringbuilder/default.nix
index e75bc82159f4b..49a8ddd509ab9 100644
--- a/pkgs/development/libraries/haskell/stringbuilder/default.nix
+++ b/pkgs/development/libraries/haskell/stringbuilder/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "stringbuilder";
-  version = "0.4.0";
-  sha256 = "0v0lpb13khpiygfdkyzzsf64anxjykwvjsrkds836whm1bv86lhl";
+  version = "0.5.0";
+  sha256 = "1ap95xphqnrhv64c2a137wqslkdmb2jjd9ldb17gs1pw48k8hrl9";
   testDepends = [ hspec QuickCheck ];
   meta = {
     description = "A writer monad for multi-line string literals";
diff --git a/pkgs/development/libraries/haskell/stringsearch/default.nix b/pkgs/development/libraries/haskell/stringsearch/default.nix
index 709030bb2e74f..02ed1a698a636 100644
--- a/pkgs/development/libraries/haskell/stringsearch/default.nix
+++ b/pkgs/development/libraries/haskell/stringsearch/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Fast searching, splitting and replacing of ByteStrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/stripe/default.nix b/pkgs/development/libraries/haskell/stripe/default.nix
index 83846eef2a8f5..796bf3726767a 100644
--- a/pkgs/development/libraries/haskell/stripe/default.nix
+++ b/pkgs/development/libraries/haskell/stripe/default.nix
@@ -12,11 +12,12 @@ cabal.mkDerivation (self: {
     aeson httpConduit httpTypes mtl text time unorderedContainers
     utf8String
   ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/michaelschade/hs-stripe";
     description = "A Haskell implementation of the Stripe API";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/svgcairo/default.nix b/pkgs/development/libraries/haskell/svgcairo/default.nix
index 96b47a8774148..d5e033f094ddf 100644
--- a/pkgs/development/libraries/haskell/svgcairo/default.nix
+++ b/pkgs/development/libraries/haskell/svgcairo/default.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Binding to the libsvg-cairo 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/syb/0.3.3.nix b/pkgs/development/libraries/haskell/syb/0.3.3.nix
index c51e561fa2e8a..967bc75e52215 100644
--- a/pkgs/development/libraries/haskell/syb/0.3.3.nix
+++ b/pkgs/development/libraries/haskell/syb/0.3.3.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Scrap Your Boilerplate";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/0.3.6.1.nix b/pkgs/development/libraries/haskell/syb/0.3.6.1.nix
index 61bebdb27f260..de9da04788926 100644
--- a/pkgs/development/libraries/haskell/syb/0.3.6.1.nix
+++ b/pkgs/development/libraries/haskell/syb/0.3.6.1.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Scrap Your Boilerplate";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/0.3.7.nix b/pkgs/development/libraries/haskell/syb/0.3.7.nix
index 1b22446ea6c87..72f883e524322 100644
--- a/pkgs/development/libraries/haskell/syb/0.3.7.nix
+++ b/pkgs/development/libraries/haskell/syb/0.3.7.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Scrap Your Boilerplate";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/0.3.nix b/pkgs/development/libraries/haskell/syb/0.3.nix
index e24ec591a0417..355fd3671e410 100644
--- a/pkgs/development/libraries/haskell/syb/0.3.nix
+++ b/pkgs/development/libraries/haskell/syb/0.3.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Scrap Your Boilerplate";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/0.4.0.nix b/pkgs/development/libraries/haskell/syb/0.4.0.nix
index c6322d397a4fc..1cc6747ed16e8 100644
--- a/pkgs/development/libraries/haskell/syb/0.4.0.nix
+++ b/pkgs/development/libraries/haskell/syb/0.4.0.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Scrap Your Boilerplate";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/0.4.2.nix b/pkgs/development/libraries/haskell/syb/0.4.2.nix
index 288cb0bc2f7d0..6900c051c01f2 100644
--- a/pkgs/development/libraries/haskell/syb/0.4.2.nix
+++ b/pkgs/development/libraries/haskell/syb/0.4.2.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Scrap Your Boilerplate";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/syb-with-class-instances-text.nix b/pkgs/development/libraries/haskell/syb/syb-with-class-instances-text.nix
index 9477ba0f6fcdb..c69b331941c05 100644
--- a/pkgs/development/libraries/haskell/syb/syb-with-class-instances-text.nix
+++ b/pkgs/development/libraries/haskell/syb/syb-with-class-instances-text.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Scrap Your Boilerplate With Class Text instance";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/syb-with-class.nix b/pkgs/development/libraries/haskell/syb/syb-with-class.nix
index f97221f515072..a6e802ac5c286 100644
--- a/pkgs/development/libraries/haskell/syb/syb-with-class.nix
+++ b/pkgs/development/libraries/haskell/syb/syb-with-class.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Scrap Your Boilerplate With Class";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/symbol/default.nix b/pkgs/development/libraries/haskell/symbol/default.nix
index 7fd90f55d66ea..4451b2c3bdb48 100644
--- a/pkgs/development/libraries/haskell/symbol/default.nix
+++ b/pkgs/development/libraries/haskell/symbol/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "A 'Symbol' type for fast symbol comparison";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/system-fileio/default.nix b/pkgs/development/libraries/haskell/system-fileio/default.nix
index ad66c0eb720f1..9853c4abd08d5 100644
--- a/pkgs/development/libraries/haskell/system-fileio/default.nix
+++ b/pkgs/development/libraries/haskell/system-fileio/default.nix
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "Consistent filesystem interaction across GHC versions";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/system-filepath/default.nix b/pkgs/development/libraries/haskell/system-filepath/default.nix
index e064ebe73579f..4adf48d26e7ab 100644
--- a/pkgs/development/libraries/haskell/system-filepath/default.nix
+++ b/pkgs/development/libraries/haskell/system-filepath/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "High-level, byte-based file and directory path manipulations";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tabular/default.nix b/pkgs/development/libraries/haskell/tabular/default.nix
index a2f4c9fe2707f..57f91bcd728a8 100644
--- a/pkgs/development/libraries/haskell/tabular/default.nix
+++ b/pkgs/development/libraries/haskell/tabular/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Two-dimensional data tables with rendering functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tagged/default.nix b/pkgs/development/libraries/haskell/tagged/default.nix
index f0256e49f9bc7..903eccdfed3cd 100644
--- a/pkgs/development/libraries/haskell/tagged/default.nix
+++ b/pkgs/development/libraries/haskell/tagged/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Haskell 98 phantom types to avoid unsafely passing dummy arguments";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tagsoup/default.nix b/pkgs/development/libraries/haskell/tagsoup/default.nix
index a235aa1dff633..35d004445fc2e 100644
--- a/pkgs/development/libraries/haskell/tagsoup/default.nix
+++ b/pkgs/development/libraries/haskell/tagsoup/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tagsoup";
-  version = "0.13.1";
-  sha256 = "0p1mwyjk2bvpavjm1kgdjnahj0q4nhynix3653s0i0kvhw70450k";
+  version = "0.13.2";
+  sha256 = "0q9r4vsdlib6dm0b387zg089b1410f0nspzigx2awqi2xqfsi0xz";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ text ];
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Parsing and extracting information from (possibly malformed) HTML/XML 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/tar/default.nix b/pkgs/development/libraries/haskell/tar/default.nix
index e863832ea08ce..be98c2041562f 100644
--- a/pkgs/development/libraries/haskell/tar/default.nix
+++ b/pkgs/development/libraries/haskell/tar/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Reading, writing and manipulating \".tar\" archive files.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
index b892344dc7c32..9f8e59322b042 100644
--- a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
@@ -16,6 +16,6 @@ cabal.mkDerivation (self: {
     description = "Render tasty output to XML for Jenkins";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tasty-golden/default.nix b/pkgs/development/libraries/haskell/tasty-golden/default.nix
index ea81aa6bea5bd..5f2efb3520f7a 100644
--- a/pkgs/development/libraries/haskell/tasty-golden/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-golden/default.nix
@@ -18,6 +18,6 @@ cabal.mkDerivation (self: {
     description = "Golden tests support for tasty";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tasty-hspec/default.nix b/pkgs/development/libraries/haskell/tasty-hspec/default.nix
index aad94da7c5e9c..8c3083d07fe99 100644
--- a/pkgs/development/libraries/haskell/tasty-hspec/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-hspec/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Hspec support for the Tasty test framework";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tasty-hunit/default.nix b/pkgs/development/libraries/haskell/tasty-hunit/default.nix
index 2492f673441d6..c7e5b53548fa6 100644
--- a/pkgs/development/libraries/haskell/tasty-hunit/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-hunit/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "HUnit support for the Tasty test framework";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix
index 8a5c1b5d79922..f4af3a1909727 100644
--- a/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "QuickCheck support for the Tasty test framework";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tasty-rerun/default.nix b/pkgs/development/libraries/haskell/tasty-rerun/default.nix
index 6893bccee4256..326392718bad3 100644
--- a/pkgs/development/libraries/haskell/tasty-rerun/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-rerun/default.nix
@@ -17,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "Run tests by filtering the test tree depending on the result of previous test runs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix b/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix
index 5df9ad4ee4104..ea1a37d5e9b5a 100644
--- a/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-smallcheck/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "SmallCheck support for the Tasty test framework";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tasty-th/default.nix b/pkgs/development/libraries/haskell/tasty-th/default.nix
index 7c9bcbbce00d3..2679c57cff074 100644
--- a/pkgs/development/libraries/haskell/tasty-th/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-th/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Automagically generate the HUnit- and Quickcheck-bulk-code using Template Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tasty/default.nix b/pkgs/development/libraries/haskell/tasty/default.nix
index 661bc739e90b1..6303320460fb7 100644
--- a/pkgs/development/libraries/haskell/tasty/default.nix
+++ b/pkgs/development/libraries/haskell/tasty/default.nix
@@ -17,6 +17,6 @@ cabal.mkDerivation (self: {
     description = "Modern and extensible testing framework";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tcache-AWS/default.nix b/pkgs/development/libraries/haskell/tcache-AWS/default.nix
index 37d7fef05afeb..5f1ae4938d1bc 100644
--- a/pkgs/development/libraries/haskell/tcache-AWS/default.nix
+++ b/pkgs/development/libraries/haskell/tcache-AWS/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "tcache using Amazon Web Services as default persistence mechanism";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.tomberek ];
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/temporary/default.nix b/pkgs/development/libraries/haskell/temporary/default.nix
index 3845fe7919890..8a048744636a4 100644
--- a/pkgs/development/libraries/haskell/temporary/default.nix
+++ b/pkgs/development/libraries/haskell/temporary/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Portable temporary file and directory support for Windows and Unix, based on code from Cabal";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/terminfo/0.3.2.6.nix b/pkgs/development/libraries/haskell/terminfo/0.3.2.6.nix
index 6f00bffc39344..6a065cb6e8451 100644
--- a/pkgs/development/libraries/haskell/terminfo/0.3.2.6.nix
+++ b/pkgs/development/libraries/haskell/terminfo/0.3.2.6.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Haskell bindings to the terminfo library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/terminfo/0.4.0.0.nix b/pkgs/development/libraries/haskell/terminfo/0.4.0.0.nix
index d806680420dd5..9bb59e14a1e62 100644
--- a/pkgs/development/libraries/haskell/terminfo/0.4.0.0.nix
+++ b/pkgs/development/libraries/haskell/terminfo/0.4.0.0.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Haskell bindings to the terminfo 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/test-framework-hunit/default.nix b/pkgs/development/libraries/haskell/test-framework-hunit/default.nix
index a62d4cf115d40..12919ec17b8be 100644
--- a/pkgs/development/libraries/haskell/test-framework-hunit/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework-hunit/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "HUnit support for the test-framework package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix b/pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix
index a328edfab3ec2..5b822c2418c84 100644
--- a/pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "QuickCheck support for the test-framework package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix b/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix
index 70c2e0c36c9f1..a012d8a047e24 100644
--- a/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "QuickCheck2 support for the test-framework package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/test-framework-th/default.nix b/pkgs/development/libraries/haskell/test-framework-th/default.nix
index a90c3117cd4d3..21c719c538d8a 100644
--- a/pkgs/development/libraries/haskell/test-framework-th/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework-th/default.nix
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "Automagically generate the HUnit- and Quickcheck-bulk-code using Template 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/test-framework/default.nix b/pkgs/development/libraries/haskell/test-framework/default.nix
index 4f204bb308de7..e17ca346e7fad 100644
--- a/pkgs/development/libraries/haskell/test-framework/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework/default.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "Framework for running and organising tests, with HUnit and QuickCheck support";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/texmath/default.nix b/pkgs/development/libraries/haskell/texmath/default.nix
index dac1add7cb967..725b029d46330 100644
--- a/pkgs/development/libraries/haskell/texmath/default.nix
+++ b/pkgs/development/libraries/haskell/texmath/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Conversion of LaTeX math formulas to MathML or OMML";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/text-icu/default.nix b/pkgs/development/libraries/haskell/text-icu/default.nix
index 4a7db1560ea7c..b47672e12a9cb 100644
--- a/pkgs/development/libraries/haskell/text-icu/default.nix
+++ b/pkgs/development/libraries/haskell/text-icu/default.nix
@@ -14,11 +14,12 @@ cabal.mkDerivation (self: {
     testFrameworkQuickcheck2 text
   ];
   extraLibraries = [ icu ];
-  doCheck = !self.stdenv.isDarwin;
   meta = {
     homepage = "https://github.com/bos/text-icu";
     description = "Bindings to the ICU library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.linux;
+    broken = self.stdenv.isDarwin;     # https://github.com/bos/text-icu/issues/6
   };
 })
diff --git a/pkgs/development/libraries/haskell/text/0.11.0.5.nix b/pkgs/development/libraries/haskell/text/0.11.0.5.nix
index fbd0b62607f3a..5f63f68cfe76e 100644
--- a/pkgs/development/libraries/haskell/text/0.11.0.5.nix
+++ b/pkgs/development/libraries/haskell/text/0.11.0.5.nix
@@ -13,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "An efficient packed Unicode text type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/text/0.11.0.6.nix b/pkgs/development/libraries/haskell/text/0.11.0.6.nix
index eab5417a0a624..c922db7e9597c 100644
--- a/pkgs/development/libraries/haskell/text/0.11.0.6.nix
+++ b/pkgs/development/libraries/haskell/text/0.11.0.6.nix
@@ -13,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "An efficient packed Unicode text type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/text/0.11.1.5.nix b/pkgs/development/libraries/haskell/text/0.11.1.5.nix
index 52a935faa722c..afaa25305a32a 100644
--- a/pkgs/development/libraries/haskell/text/0.11.1.5.nix
+++ b/pkgs/development/libraries/haskell/text/0.11.1.5.nix
@@ -13,6 +13,6 @@ cabal.mkDerivation (self: {
     description = "An efficient packed Unicode text type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/text/0.11.2.0.nix b/pkgs/development/libraries/haskell/text/0.11.2.0.nix
index 8ab44a1372d35..f465f4c2afc5a 100644
--- a/pkgs/development/libraries/haskell/text/0.11.2.0.nix
+++ b/pkgs/development/libraries/haskell/text/0.11.2.0.nix
@@ -19,6 +19,6 @@ cabal.mkDerivation (self: {
     description = "An efficient packed Unicode text type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/text/0.11.2.3.nix b/pkgs/development/libraries/haskell/text/0.11.2.3.nix
index ac7b4714fdc29..05a0f899f93b5 100644
--- a/pkgs/development/libraries/haskell/text/0.11.2.3.nix
+++ b/pkgs/development/libraries/haskell/text/0.11.2.3.nix
@@ -19,6 +19,6 @@ cabal.mkDerivation (self: {
     description = "An efficient packed Unicode text type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/text/0.11.3.1.nix b/pkgs/development/libraries/haskell/text/0.11.3.1.nix
index 67f322e6990ff..6cbed7c1268d6 100644
--- a/pkgs/development/libraries/haskell/text/0.11.3.1.nix
+++ b/pkgs/development/libraries/haskell/text/0.11.3.1.nix
@@ -19,6 +19,6 @@ cabal.mkDerivation (self: {
     description = "An efficient packed Unicode text type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/text/1.1.1.3.nix b/pkgs/development/libraries/haskell/text/1.1.1.3.nix
index d130219667da5..7a61b4bbd3a36 100644
--- a/pkgs/development/libraries/haskell/text/1.1.1.3.nix
+++ b/pkgs/development/libraries/haskell/text/1.1.1.3.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "An efficient packed Unicode text type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/th-desugar/default.nix b/pkgs/development/libraries/haskell/th-desugar/default.nix
index 50bea860af368..94919bba6e435 100644
--- a/pkgs/development/libraries/haskell/th-desugar/default.nix
+++ b/pkgs/development/libraries/haskell/th-desugar/default.nix
@@ -14,6 +14,6 @@ cabal.mkDerivation (self: {
     description = "Functions to desugar Template Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/th-extras/default.nix b/pkgs/development/libraries/haskell/th-extras/default.nix
index 2bc598005f49a..285329912dfe1 100644
--- a/pkgs/development/libraries/haskell/th-extras/default.nix
+++ b/pkgs/development/libraries/haskell/th-extras/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A grab bag of functions for use with Template Haskell";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/th-lift/default.nix b/pkgs/development/libraries/haskell/th-lift/default.nix
index 9ca43633ead16..a27360632b9ba 100644
--- a/pkgs/development/libraries/haskell/th-lift/default.nix
+++ b/pkgs/development/libraries/haskell/th-lift/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Derive Template Haskell's Lift class for datatypes";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/thespian/default.nix b/pkgs/development/libraries/haskell/thespian/default.nix
index 22861c4a90825..8d10ea06ae5f0 100644
--- a/pkgs/development/libraries/haskell/thespian/default.nix
+++ b/pkgs/development/libraries/haskell/thespian/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Lightweight Erlang-style actors for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/threadmanager/default.nix b/pkgs/development/libraries/haskell/threadmanager/default.nix
index 320b750cb330b..92942a55e1628 100644
--- a/pkgs/development/libraries/haskell/threadmanager/default.nix
+++ b/pkgs/development/libraries/haskell/threadmanager/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "(deprecated in favor of 'threads') Simple thread management";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/threepenny-gui/default.nix b/pkgs/development/libraries/haskell/threepenny-gui/default.nix
index d31c43538d318..fad37db7c9c3b 100644
--- a/pkgs/development/libraries/haskell/threepenny-gui/default.nix
+++ b/pkgs/development/libraries/haskell/threepenny-gui/default.nix
@@ -19,11 +19,12 @@ cabal.mkDerivation (self: {
     time transformers unorderedContainers utf8String vault websockets
     websocketsSnap
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Threepenny-gui";
     description = "GUI framework that uses the web browser as a display";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/time/1.1.2.4.nix b/pkgs/development/libraries/haskell/time/1.1.2.4.nix
index b2fffb39cd3cd..97bdaa852b581 100644
--- a/pkgs/development/libraries/haskell/time/1.1.2.4.nix
+++ b/pkgs/development/libraries/haskell/time/1.1.2.4.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "A time library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/time/1.4.2.nix b/pkgs/development/libraries/haskell/time/1.4.2.nix
index ba986cf76abdb..f838080ad3d9c 100644
--- a/pkgs/development/libraries/haskell/time/1.4.2.nix
+++ b/pkgs/development/libraries/haskell/time/1.4.2.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "A time 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/timezone-olson/default.nix b/pkgs/development/libraries/haskell/timezone-olson/default.nix
index cfd4c7fa7f590..236cedc9c1fa9 100644
--- a/pkgs/development/libraries/haskell/timezone-olson/default.nix
+++ b/pkgs/development/libraries/haskell/timezone-olson/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "A pure Haskell parser and renderer for binary Olson timezone files";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/timezone-series/default.nix b/pkgs/development/libraries/haskell/timezone-series/default.nix
index 2092c176de76f..d12ae9aec0584 100644
--- a/pkgs/development/libraries/haskell/timezone-series/default.nix
+++ b/pkgs/development/libraries/haskell/timezone-series/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Enhanced timezone handling for Data.Time";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tls/1.1.5.nix b/pkgs/development/libraries/haskell/tls/1.1.5.nix
index 747f2edfc43d4..ddb1651fd1008 100644
--- a/pkgs/development/libraries/haskell/tls/1.1.5.nix
+++ b/pkgs/development/libraries/haskell/tls/1.1.5.nix
@@ -22,6 +22,6 @@ cabal.mkDerivation (self: {
     description = "TLS/SSL protocol native implementation (Server and Client)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/tls/1.2.8.nix b/pkgs/development/libraries/haskell/tls/1.2.8.nix
index 5c1098be62f36..22eb615a6571f 100644
--- a/pkgs/development/libraries/haskell/tls/1.2.8.nix
+++ b/pkgs/development/libraries/haskell/tls/1.2.8.nix
@@ -28,6 +28,5 @@ cabal.mkDerivation (self: {
     description = "TLS/SSL protocol native implementation (Server and Client)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/transformers-base/default.nix b/pkgs/development/libraries/haskell/transformers-base/default.nix
index ec3f740b66e65..d7b9f53951c55 100644
--- a/pkgs/development/libraries/haskell/transformers-base/default.nix
+++ b/pkgs/development/libraries/haskell/transformers-base/default.nix
@@ -1,17 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, transformers }:
+{ cabal, stm, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "transformers-base";
-  version = "0.4.2";
-  sha256 = "030w5p209bam77z6grq6279qwvwip1ax7phrc5wanxrshiw8699m";
-  buildDepends = [ transformers ];
+  version = "0.4.3";
+  sha256 = "0bklr7piiipnh99jnqx262pdyb9hzk852d6hzk5sqppvz5ndcf4y";
+  buildDepends = [ stm transformers ];
   meta = {
     homepage = "https://github.com/mvv/transformers-base";
     description = "Lift computations from the bottom of a transformer stack";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix b/pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix
index b16522891c0ae..4ff5df9d1c546 100644
--- a/pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix
+++ b/pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "A small compatibility shim exposing the new types from transformers 0.3 and 0.4 to older Haskell platforms.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/transformers-free/default.nix b/pkgs/development/libraries/haskell/transformers-free/default.nix
index 929b41fdefe77..c989d620f40c0 100644
--- a/pkgs/development/libraries/haskell/transformers-free/default.nix
+++ b/pkgs/development/libraries/haskell/transformers-free/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Free monad transformers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/transformers/0.2.2.0.nix b/pkgs/development/libraries/haskell/transformers/0.2.2.0.nix
index 941de0d077d44..cb3dd611ef36a 100644
--- a/pkgs/development/libraries/haskell/transformers/0.2.2.0.nix
+++ b/pkgs/development/libraries/haskell/transformers/0.2.2.0.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Concrete functor and monad transformers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/transformers/0.3.0.0.nix b/pkgs/development/libraries/haskell/transformers/0.3.0.0.nix
index 8c994468dba7e..fe2b0f91ef9cf 100644
--- a/pkgs/development/libraries/haskell/transformers/0.3.0.0.nix
+++ b/pkgs/development/libraries/haskell/transformers/0.3.0.0.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "Concrete functor and monad transformers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/transformers/0.4.1.0.nix b/pkgs/development/libraries/haskell/transformers/0.4.1.0.nix
index 85fee8ad79fb5..d705040387bda 100644
--- a/pkgs/development/libraries/haskell/transformers/0.4.1.0.nix
+++ b/pkgs/development/libraries/haskell/transformers/0.4.1.0.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Concrete functor and monad transformers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/traverse-with-class/default.nix b/pkgs/development/libraries/haskell/traverse-with-class/default.nix
index f36be260c5504..50d5c61dd098f 100644
--- a/pkgs/development/libraries/haskell/traverse-with-class/default.nix
+++ b/pkgs/development/libraries/haskell/traverse-with-class/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Generic applicative traversals";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tuple/default.nix b/pkgs/development/libraries/haskell/tuple/default.nix
index 332e38305e7a8..974c2fe140b8b 100644
--- a/pkgs/development/libraries/haskell/tuple/default.nix
+++ b/pkgs/development/libraries/haskell/tuple/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Various functions on tuples";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/twitter-conduit/default.nix b/pkgs/development/libraries/haskell/twitter-conduit/default.nix
index 11ca4f491a882..bf2652fa792e2 100644
--- a/pkgs/development/libraries/haskell/twitter-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/twitter-conduit/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "twitter-conduit";
-  version = "0.0.5.2";
-  sha256 = "0kcdf440fy998qy232mg8k9i97lwvgwzzv990a07m4hj771pp3fh";
+  version = "0.0.5.5";
+  sha256 = "13wk863xjlg8g62yhbq4aar7z77n0awh500l6v41fam99lihzxab";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -30,6 +30,6 @@ cabal.mkDerivation (self: {
     description = "Twitter API package with conduit interface and Streaming API support";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/twitter-types/default.nix b/pkgs/development/libraries/haskell/twitter-types/default.nix
index b0358a3ac7263..1848211dc3e82 100644
--- a/pkgs/development/libraries/haskell/twitter-types/default.nix
+++ b/pkgs/development/libraries/haskell/twitter-types/default.nix
@@ -1,17 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, aeson, attoparsec, httpTypes, HUnit, shakespeare
+{ cabal, aeson, attoparsec, filepath, httpTypes, HUnit
 , testFramework, testFrameworkHunit, testFrameworkThPrime, text
 , unorderedContainers
 }:
 
 cabal.mkDerivation (self: {
   pname = "twitter-types";
-  version = "0.3.20140801";
-  sha256 = "1ryvbshafgnfvn6697lb5qj9y61bm9371lzaz5v4xjf0jklm2z5n";
+  version = "0.4.20140809";
+  sha256 = "0f32gjvpzcy5ld2j6mhsvaxaiyzyp5pvqjvmgawaiy78c3kxi8gh";
   buildDepends = [ aeson httpTypes text unorderedContainers ];
   testDepends = [
-    aeson attoparsec httpTypes HUnit shakespeare testFramework
+    aeson attoparsec filepath httpTypes HUnit testFramework
     testFrameworkHunit testFrameworkThPrime text unorderedContainers
   ];
   doCheck = false;
@@ -20,6 +20,6 @@ cabal.mkDerivation (self: {
     description = "Twitter JSON parser and types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/type-eq/default.nix b/pkgs/development/libraries/haskell/type-eq/default.nix
index 0a5de6fa9fcb8..89b6398c5e065 100644
--- a/pkgs/development/libraries/haskell/type-eq/default.nix
+++ b/pkgs/development/libraries/haskell/type-eq/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Type equality evidence you can carry around";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/type-equality/default.nix b/pkgs/development/libraries/haskell/type-equality/default.nix
index 2bcdc0e589729..de5bc73873f29 100644
--- a/pkgs/development/libraries/haskell/type-equality/default.nix
+++ b/pkgs/development/libraries/haskell/type-equality/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Type equality, coercion/cast and other 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/unbound/default.nix b/pkgs/development/libraries/haskell/unbound/default.nix
index e8fc81254d117..41accd18586da 100644
--- a/pkgs/development/libraries/haskell/unbound/default.nix
+++ b/pkgs/development/libraries/haskell/unbound/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Generic support for programming with names and binders";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/uniplate/default.nix b/pkgs/development/libraries/haskell/uniplate/default.nix
index 17ab561e71de7..db85f4be78ebe 100644
--- a/pkgs/development/libraries/haskell/uniplate/default.nix
+++ b/pkgs/development/libraries/haskell/uniplate/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Help writing simple, concise and fast generic 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/uniqueid/default.nix b/pkgs/development/libraries/haskell/uniqueid/default.nix
index 076601b1f85c6..f9281247d532b 100644
--- a/pkgs/development/libraries/haskell/uniqueid/default.nix
+++ b/pkgs/development/libraries/haskell/uniqueid/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Splittable Unique Identifier Supply";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/unix-compat/default.nix b/pkgs/development/libraries/haskell/unix-compat/default.nix
index 8d1657b7f1ab1..7ac3605e6fc77 100644
--- a/pkgs/development/libraries/haskell/unix-compat/default.nix
+++ b/pkgs/development/libraries/haskell/unix-compat/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Portable POSIX-compatibility 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/unlambda/default.nix b/pkgs/development/libraries/haskell/unlambda/default.nix
index ea4c0f8cd635a..65419a22bb0e8 100644
--- a/pkgs/development/libraries/haskell/unlambda/default.nix
+++ b/pkgs/development/libraries/haskell/unlambda/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Unlambda interpreter";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/unordered-containers/0.2.3.0.nix b/pkgs/development/libraries/haskell/unordered-containers/0.2.3.0.nix
index ccbf8c25e2d2e..d7040ac611a32 100644
--- a/pkgs/development/libraries/haskell/unordered-containers/0.2.3.0.nix
+++ b/pkgs/development/libraries/haskell/unordered-containers/0.2.3.0.nix
@@ -19,5 +19,6 @@ cabal.mkDerivation (self: {
     description = "Efficient hashing-based container types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/unordered-containers/0.2.4.0.nix b/pkgs/development/libraries/haskell/unordered-containers/0.2.4.0.nix
index 228e11ded3e9d..9cb06b029e666 100644
--- a/pkgs/development/libraries/haskell/unordered-containers/0.2.4.0.nix
+++ b/pkgs/development/libraries/haskell/unordered-containers/0.2.4.0.nix
@@ -19,5 +19,6 @@ cabal.mkDerivation (self: {
     description = "Efficient hashing-based container types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/url/default.nix b/pkgs/development/libraries/haskell/url/default.nix
index c71e39768ac3c..bfa7f807c5307 100644
--- a/pkgs/development/libraries/haskell/url/default.nix
+++ b/pkgs/development/libraries/haskell/url/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A library for working with URLs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/utf8-light/default.nix b/pkgs/development/libraries/haskell/utf8-light/default.nix
index 85c87a670231c..056fe5b372c87 100644
--- a/pkgs/development/libraries/haskell/utf8-light/default.nix
+++ b/pkgs/development/libraries/haskell/utf8-light/default.nix
@@ -10,6 +10,5 @@ cabal.mkDerivation (self: {
     description = "Unicode";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/utility-ht/default.nix b/pkgs/development/libraries/haskell/utility-ht/default.nix
index ee5e8de92b1e8..438b9c810d810 100644
--- a/pkgs/development/libraries/haskell/utility-ht/default.nix
+++ b/pkgs/development/libraries/haskell/utility-ht/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Various small helper functions for Lists, Maybes, Tuples, Functions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
index 9b601102d8a76..4053301420943 100644
--- a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
+++ b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Fast, online, error-correcting, monadic, applicative, merging, permuting, idiomatic parser combinators";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/uulib/default.nix b/pkgs/development/libraries/haskell/uulib/default.nix
index ed92081d6cc42..9cfcac5f904e6 100644
--- a/pkgs/development/libraries/haskell/uulib/default.nix
+++ b/pkgs/development/libraries/haskell/uulib/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Haskell Utrecht Tools 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/vacuum-cairo/default.nix b/pkgs/development/libraries/haskell/vacuum-cairo/default.nix
index b3579d3415872..43614d14a5fbb 100644
--- a/pkgs/development/libraries/haskell/vacuum-cairo/default.nix
+++ b/pkgs/development/libraries/haskell/vacuum-cairo/default.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Visualize live Haskell data structures using vacuum, graphviz and cairo";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/vacuum/default.nix b/pkgs/development/libraries/haskell/vacuum/default.nix
index d9df682143fe0..31e265e92eefc 100644
--- a/pkgs/development/libraries/haskell/vacuum/default.nix
+++ b/pkgs/development/libraries/haskell/vacuum/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Graph representation of the GHC heap";
     license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/vault/default.nix b/pkgs/development/libraries/haskell/vault/default.nix
index 4fad4a0036378..9eca4f672cb41 100644
--- a/pkgs/development/libraries/haskell/vault/default.nix
+++ b/pkgs/development/libraries/haskell/vault/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "a persistent store for values of arbitrary 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/vcsgui/default.nix b/pkgs/development/libraries/haskell/vcsgui/default.nix
index 0a8d8a4caada6..31e5faa2cf883 100644
--- a/pkgs/development/libraries/haskell/vcsgui/default.nix
+++ b/pkgs/development/libraries/haskell/vcsgui/default.nix
@@ -13,6 +13,6 @@ cabal.mkDerivation (self: {
     homepage = "https://github.com/forste/haskellVCSGUI";
     description = "GUI library for source code management systems";
     license = "GPL";
-    platforms = self.ghc.meta.platforms;
+    platforms = self.stdenv.lib.platforms.linux;
   };
 })
diff --git a/pkgs/development/libraries/haskell/vector-algorithms/default.nix b/pkgs/development/libraries/haskell/vector-algorithms/default.nix
index 5c8dcc4c5ebf8..b13f6c09c80ad 100644
--- a/pkgs/development/libraries/haskell/vector-algorithms/default.nix
+++ b/pkgs/development/libraries/haskell/vector-algorithms/default.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Efficient algorithms for vector 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-space/default.nix b/pkgs/development/libraries/haskell/vector-space/default.nix
index 5eb4ed5ff2ab5..2eb7ca4831697 100644
--- a/pkgs/development/libraries/haskell/vector-space/default.nix
+++ b/pkgs/development/libraries/haskell/vector-space/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "Vector & affine spaces, linear maps, and derivatives";
     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.0.1.nix b/pkgs/development/libraries/haskell/vector/0.10.0.1.nix
index 8951bf64fe28f..0f48fbecf063a 100644
--- a/pkgs/development/libraries/haskell/vector/0.10.0.1.nix
+++ b/pkgs/development/libraries/haskell/vector/0.10.0.1.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Efficient Arrays";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/vector/0.10.11.0.nix b/pkgs/development/libraries/haskell/vector/0.10.11.0.nix
index 05ac573abb2d2..e93160ff6d0e0 100644
--- a/pkgs/development/libraries/haskell/vector/0.10.11.0.nix
+++ b/pkgs/development/libraries/haskell/vector/0.10.11.0.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     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.9.3.nix b/pkgs/development/libraries/haskell/vector/0.10.9.3.nix
index 0ccaec71a86b2..d07f27bee3102 100644
--- a/pkgs/development/libraries/haskell/vector/0.10.9.3.nix
+++ b/pkgs/development/libraries/haskell/vector/0.10.9.3.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Efficient Arrays";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/void/default.nix b/pkgs/development/libraries/haskell/void/default.nix
index a14775aaeb856..f6cc8eaa4d930 100644
--- a/pkgs/development/libraries/haskell/void/default.nix
+++ b/pkgs/development/libraries/haskell/void/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A Haskell 98 logically uninhabited data type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/vty/4.7.5.nix b/pkgs/development/libraries/haskell/vty/4.7.5.nix
index 36b6b78f65c0a..1eccdd58fefcf 100644
--- a/pkgs/development/libraries/haskell/vty/4.7.5.nix
+++ b/pkgs/development/libraries/haskell/vty/4.7.5.nix
@@ -24,6 +24,6 @@ cabal.mkDerivation (self: {
     description = "A simple terminal UI library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/vty/5.1.4.nix b/pkgs/development/libraries/haskell/vty/5.1.4.nix
index 326eaf08d3d82..24d123d67cc87 100644
--- a/pkgs/development/libraries/haskell/vty/5.1.4.nix
+++ b/pkgs/development/libraries/haskell/vty/5.1.4.nix
@@ -30,6 +30,5 @@ cabal.mkDerivation (self: {
     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 d22e57c576ad0..530f9828ae5f7 100644
--- a/pkgs/development/libraries/haskell/wai-app-static/default.nix
+++ b/pkgs/development/libraries/haskell/wai-app-static/default.nix
@@ -29,6 +29,5 @@ cabal.mkDerivation (self: {
     description = "WAI application for static serving";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix
index 93f95d36a0c57..6af43d459877c 100644
--- a/pkgs/development/libraries/haskell/wai-extra/default.nix
+++ b/pkgs/development/libraries/haskell/wai-extra/default.nix
@@ -27,6 +27,5 @@ cabal.mkDerivation (self: {
     description = "Provides some basic WAI handlers and middleware";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/wai-logger/default.nix b/pkgs/development/libraries/haskell/wai-logger/default.nix
index 2eca7d3c1c3c0..69e3d46472824 100644
--- a/pkgs/development/libraries/haskell/wai-logger/default.nix
+++ b/pkgs/development/libraries/haskell/wai-logger/default.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     description = "A logging system for WAI";
     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/default.nix b/pkgs/development/libraries/haskell/wai/default.nix
index 03e58e59476b7..1c63b4ce5964b 100644
--- a/pkgs/development/libraries/haskell/wai/default.nix
+++ b/pkgs/development/libraries/haskell/wai/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Web Application Interface";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix
index d49e0fe7db4e2..703a7cf907a6f 100644
--- a/pkgs/development/libraries/haskell/warp/default.nix
+++ b/pkgs/development/libraries/haskell/warp/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "warp";
-  version = "3.0.0.6";
-  sha256 = "0085v0gnjr4yv4s341jyc8cf9l69rmj9rrnr6h2lyhq5hx1i1lw8";
+  version = "3.0.0.7";
+  sha256 = "16zsad273lz49lac00pwg701lyr70kv4cwmk258szhmnjvkcnbb7";
   buildDepends = [
     autoUpdate blazeBuilder caseInsensitive hashable httpDate httpTypes
     network simpleSendfile streamingCommons text unixCompat void wai
@@ -26,6 +26,5 @@ cabal.mkDerivation (self: {
     description = "A fast, light-weight web server for WAI applications";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix b/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix
index 110ee086c9bed..bed9467a9d251 100644
--- a/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix
+++ b/pkgs/development/libraries/haskell/web-routes-boomerang/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "Library for maintaining correctness and composability of URLs within an application";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/web-routes/default.nix b/pkgs/development/libraries/haskell/web-routes/default.nix
index 4eb4445d54d37..12f2212c8e358 100644
--- a/pkgs/development/libraries/haskell/web-routes/default.nix
+++ b/pkgs/development/libraries/haskell/web-routes/default.nix
@@ -20,6 +20,6 @@ cabal.mkDerivation (self: {
     description = "Library for maintaining correctness and composability of URLs within an application";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/webkit/default.nix b/pkgs/development/libraries/haskell/webkit/default.nix
index 7993213e3e93c..0d47aeb79551d 100644
--- a/pkgs/development/libraries/haskell/webkit/default.nix
+++ b/pkgs/development/libraries/haskell/webkit/default.nix
@@ -15,6 +15,6 @@ cabal.mkDerivation (self: {
     homepage = "http://projects.haskell.org/gtk2hs/";
     description = "Binding to the Webkit library";
     license = self.stdenv.lib.licenses.lgpl21;
-    platforms = self.ghc.meta.platforms;
+    platforms = self.stdenv.lib.platforms.linux;
   };
 })
diff --git a/pkgs/development/libraries/haskell/websockets-snap/default.nix b/pkgs/development/libraries/haskell/websockets-snap/default.nix
index edc8f93cfe069..bd68d64b757a8 100644
--- a/pkgs/development/libraries/haskell/websockets-snap/default.nix
+++ b/pkgs/development/libraries/haskell/websockets-snap/default.nix
@@ -16,6 +16,6 @@ cabal.mkDerivation (self: {
     description = "Snap integration for the websockets library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/websockets/default.nix b/pkgs/development/libraries/haskell/websockets/default.nix
index 782b3bdfc757e..c74fad5f1a828 100644
--- a/pkgs/development/libraries/haskell/websockets/default.nix
+++ b/pkgs/development/libraries/haskell/websockets/default.nix
@@ -25,6 +25,6 @@ cabal.mkDerivation (self: {
     description = "A sensible and clean way to write WebSocket-capable servers in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/wl-pprint-text/default.nix b/pkgs/development/libraries/haskell/wl-pprint-text/default.nix
index cb2d02d43dd40..2d6d48d41aeea 100644
--- a/pkgs/development/libraries/haskell/wl-pprint-text/default.nix
+++ b/pkgs/development/libraries/haskell/wl-pprint-text/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "A Wadler/Leijen Pretty Printer for Text values";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/wreq/default.nix b/pkgs/development/libraries/haskell/wreq/default.nix
index 8e95e3c8238fd..9772418173bca 100644
--- a/pkgs/development/libraries/haskell/wreq/default.nix
+++ b/pkgs/development/libraries/haskell/wreq/default.nix
@@ -25,6 +25,6 @@ cabal.mkDerivation (self: {
     description = "An easy-to-use HTTP client library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix b/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix
index 1362b423753bc..f89d39ca5edde 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "helper tool for building wxHaskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/xdot/default.nix b/pkgs/development/libraries/haskell/xdot/default.nix
index 6080afac5d56a..445577c2309ae 100644
--- a/pkgs/development/libraries/haskell/xdot/default.nix
+++ b/pkgs/development/libraries/haskell/xdot/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Parse Graphviz xdot files and interactively view them using GTK and Cairo";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix b/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix
index d828ba1a57c95..3cb0238b82f34 100644
--- a/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix
+++ b/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix
@@ -10,6 +10,6 @@ cabal.mkDerivation (self: {
     description = "An XHTML combinator library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/xhtml/3000.2.0.4.nix b/pkgs/development/libraries/haskell/xhtml/3000.2.0.4.nix
index 134c423eca1db..74b9fc5620c02 100644
--- a/pkgs/development/libraries/haskell/xhtml/3000.2.0.4.nix
+++ b/pkgs/development/libraries/haskell/xhtml/3000.2.0.4.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "An XHTML combinator library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/xhtml/3000.2.0.5.nix b/pkgs/development/libraries/haskell/xhtml/3000.2.0.5.nix
index 2b375904ed05e..065252d31b765 100644
--- a/pkgs/development/libraries/haskell/xhtml/3000.2.0.5.nix
+++ b/pkgs/development/libraries/haskell/xhtml/3000.2.0.5.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "An XHTML combinator library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/xhtml/3000.2.1.nix b/pkgs/development/libraries/haskell/xhtml/3000.2.1.nix
index 45304858b15c6..be1e32afbe355 100644
--- a/pkgs/development/libraries/haskell/xhtml/3000.2.1.nix
+++ b/pkgs/development/libraries/haskell/xhtml/3000.2.1.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "An XHTML combinator 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/xml-conduit-writer/default.nix b/pkgs/development/libraries/haskell/xml-conduit-writer/default.nix
new file mode 100644
index 0000000000000..fc0efcff226d0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/xml-conduit-writer/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dlist, mtl, text, xmlConduit, xmlTypes }:
+
+cabal.mkDerivation (self: {
+  pname = "xml-conduit-writer";
+  version = "0.1.1.1";
+  sha256 = "1ibiqxjr63gb3v0h9fdfzm205sqjixb5vm5y6413yn4scbf7qm2b";
+  buildDepends = [ dlist mtl text xmlConduit xmlTypes ];
+  testDepends = [ text ];
+  meta = {
+    homepage = "https://bitbucket.org/dpwiz/xml-conduit-writer";
+    description = "Warm and fuzzy creation of XML documents";
+    license = self.stdenv.lib.licenses.mit;
+    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 7468bc96bd043..3df8c163d63e4 100644
--- a/pkgs/development/libraries/haskell/xml-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/xml-conduit/default.nix
@@ -24,6 +24,5 @@ cabal.mkDerivation (self: {
     description = "Pure-Haskell utilities for dealing with XML with the conduit package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/xml-types/default.nix b/pkgs/development/libraries/haskell/xml-types/default.nix
index e9cfd5e6b28e1..a673fa2eddd83 100644
--- a/pkgs/development/libraries/haskell/xml-types/default.nix
+++ b/pkgs/development/libraries/haskell/xml-types/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Basic types for representing XML";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/xml/default.nix b/pkgs/development/libraries/haskell/xml/default.nix
index 3081f085509cb..9066dc8b55342 100644
--- a/pkgs/development/libraries/haskell/xml/default.nix
+++ b/pkgs/development/libraries/haskell/xml/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "A simple XML 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/xournal-parser/default.nix b/pkgs/development/libraries/haskell/xournal-parser/default.nix
index 68f10cc566b66..906db96ba5c29 100644
--- a/pkgs/development/libraries/haskell/xournal-parser/default.nix
+++ b/pkgs/development/libraries/haskell/xournal-parser/default.nix
@@ -19,6 +19,6 @@ cabal.mkDerivation (self: {
     description = "Xournal file parser";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/xournal-types/default.nix b/pkgs/development/libraries/haskell/xournal-types/default.nix
index 7d6eb7e6efb72..9f0be91114ab0 100644
--- a/pkgs/development/libraries/haskell/xournal-types/default.nix
+++ b/pkgs/development/libraries/haskell/xournal-types/default.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     description = "Data types for programs for xournal file format";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+    maintainers = with self.stdenv.lib.maintainers; [ ianwookim ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/xss-sanitize/default.nix b/pkgs/development/libraries/haskell/xss-sanitize/default.nix
index 4c48eeeb0620c..c66b615eafbc6 100644
--- a/pkgs/development/libraries/haskell/xss-sanitize/default.nix
+++ b/pkgs/development/libraries/haskell/xss-sanitize/default.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "sanitize untrusted HTML to prevent XSS attacks";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yaml-light/default.nix b/pkgs/development/libraries/haskell/yaml-light/default.nix
index 26e698b1dbfe2..460e2833d9921 100644
--- a/pkgs/development/libraries/haskell/yaml-light/default.nix
+++ b/pkgs/development/libraries/haskell/yaml-light/default.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     description = "A light-weight wrapper with utility functions around HsSyck";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix
index 88475a1e951ac..b5438fabc123c 100644
--- a/pkgs/development/libraries/haskell/yaml/default.nix
+++ b/pkgs/development/libraries/haskell/yaml/default.nix
@@ -23,6 +23,5 @@ cabal.mkDerivation (self: {
     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/yap/default.nix b/pkgs/development/libraries/haskell/yap/default.nix
index c7eb1f180e485..a52a921ed6490 100644
--- a/pkgs/development/libraries/haskell/yap/default.nix
+++ b/pkgs/development/libraries/haskell/yap/default.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     description = "yet another prelude - a simplistic refactoring with algebraic classes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix
index 3f0b9267f0096..2579946080f51 100644
--- a/pkgs/development/libraries/haskell/yesod-auth/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix
@@ -28,6 +28,5 @@ cabal.mkDerivation (self: {
     description = "Authentication for Yesod";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix
index 944a60fe29f60..90d354a22cfff 100644
--- a/pkgs/development/libraries/haskell/yesod-core/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-core/default.nix
@@ -36,6 +36,5 @@ cabal.mkDerivation (self: {
     description = "Creation of type-safe, RESTful web applications";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-default/default.nix b/pkgs/development/libraries/haskell/yesod-default/default.nix
index 578ec4f58a163..6a65dfefe2166 100644
--- a/pkgs/development/libraries/haskell/yesod-default/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-default/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Default config and main functions for your yesod application (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-form/default.nix b/pkgs/development/libraries/haskell/yesod-form/default.nix
index a5a70848dfd79..2b994168d5ee9 100644
--- a/pkgs/development/libraries/haskell/yesod-form/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-form/default.nix
@@ -23,6 +23,5 @@ cabal.mkDerivation (self: {
     description = "Form handling support for Yesod Web Framework";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-json/default.nix b/pkgs/development/libraries/haskell/yesod-json/default.nix
index 53c5d2c7e859d..1964abe7dc8c0 100644
--- a/pkgs/development/libraries/haskell/yesod-json/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-json/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Generate content for Yesod using the aeson package. (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-persistent/default.nix b/pkgs/development/libraries/haskell/yesod-persistent/default.nix
index ce13f78b31b46..64a2bd7730f74 100644
--- a/pkgs/development/libraries/haskell/yesod-persistent/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-persistent/default.nix
@@ -22,6 +22,5 @@ cabal.mkDerivation (self: {
     description = "Some helpers for using Persistent from Yesod";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-routes/default.nix b/pkgs/development/libraries/haskell/yesod-routes/default.nix
index 1c7eba504cbc8..668cbfda1eb54 100644
--- a/pkgs/development/libraries/haskell/yesod-routes/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-routes/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Efficient routing for Yesod";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-static/default.nix b/pkgs/development/libraries/haskell/yesod-static/default.nix
index 7b118711ccedc..5ad4a27b66fe5 100644
--- a/pkgs/development/libraries/haskell/yesod-static/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-static/default.nix
@@ -33,6 +33,5 @@ cabal.mkDerivation (self: {
     description = "Static file serving subsite for Yesod Web Framework";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-test/default.nix b/pkgs/development/libraries/haskell/yesod-test/default.nix
index 16dc0b6857f47..9cc7a380f66a5 100644
--- a/pkgs/development/libraries/haskell/yesod-test/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-test/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-test";
-  version = "1.2.3.2";
-  sha256 = "05h7m0v92b8js71kgkvqc9nzpwa8hhxp052pknbvcfv3yn3spsx9";
+  version = "1.2.5";
+  sha256 = "0qk6qqigrqygczsnfrpg7psfz6gy5rqm9lfbhzaw64n4jklmzw3n";
   buildDepends = [
     attoparsec blazeBuilder blazeHtml blazeMarkup caseInsensitive
     cookie hspec htmlConduit httpTypes HUnit monadControl network
diff --git a/pkgs/development/libraries/haskell/yesod/default.nix b/pkgs/development/libraries/haskell/yesod/default.nix
index d43100901cce5..07d4ac958e633 100644
--- a/pkgs/development/libraries/haskell/yesod/default.nix
+++ b/pkgs/development/libraries/haskell/yesod/default.nix
@@ -24,6 +24,5 @@ cabal.mkDerivation (self: {
     description = "Creation of type-safe, RESTful web applications";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yst/default.nix b/pkgs/development/libraries/haskell/yst/default.nix
index 9597861c6fe77..2dadfcbfd6869 100644
--- a/pkgs/development/libraries/haskell/yst/default.nix
+++ b/pkgs/development/libraries/haskell/yst/default.nix
@@ -15,11 +15,11 @@ cabal.mkDerivation (self: {
     aeson csv filepath HDBC HDBCSqlite3 HStringTemplate pandoc parsec
     scientific split text time unorderedContainers xhtml yaml
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/jgm/yst";
     description = "Builds a static website from templates and data in YAML or CSV files";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zeromq-haskell/default.nix b/pkgs/development/libraries/haskell/zeromq-haskell/default.nix
index c7be4e280dc10..37528689a3878 100644
--- a/pkgs/development/libraries/haskell/zeromq-haskell/default.nix
+++ b/pkgs/development/libraries/haskell/zeromq-haskell/default.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     description = "Bindings to ZeroMQ 2.1.x";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zip-archive/0.2.2.1.nix b/pkgs/development/libraries/haskell/zip-archive/0.2.2.1.nix
index 422d81e6707df..67f2c2453b66b 100644
--- a/pkgs/development/libraries/haskell/zip-archive/0.2.2.1.nix
+++ b/pkgs/development/libraries/haskell/zip-archive/0.2.2.1.nix
@@ -16,6 +16,6 @@ cabal.mkDerivation (self: {
     description = "Library for creating and modifying zip archives";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/zip-archive/0.2.3.2.nix b/pkgs/development/libraries/haskell/zip-archive/0.2.3.4.nix
index 20795a15a9877..a773236771099 100644
--- a/pkgs/development/libraries/haskell/zip-archive/0.2.3.2.nix
+++ b/pkgs/development/libraries/haskell/zip-archive/0.2.3.4.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "zip-archive";
-  version = "0.2.3.2";
-  sha256 = "1y69sk6jyw1klgpl6bcamq1i9wy1536hz9x4s9b8n375sbhj10f1";
+  version = "0.2.3.4";
+  sha256 = "1c589cpl1jax1r60b92az1800b67zrva3dndhv9hcxidlgyf46gp";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ binary digest filepath mtl text time zlib ];
@@ -16,6 +16,5 @@ cabal.mkDerivation (self: {
     description = "Library for creating and modifying zip archives";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zipper/default.nix b/pkgs/development/libraries/haskell/zipper/default.nix
index 4c31b2c2d01c3..f2db123aa1796 100644
--- a/pkgs/development/libraries/haskell/zipper/default.nix
+++ b/pkgs/development/libraries/haskell/zipper/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Generic zipper for families of recursive datatypes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib-bindings/default.nix b/pkgs/development/libraries/haskell/zlib-bindings/default.nix
index 9dd91fa1f72c0..a14d685e96812 100644
--- a/pkgs/development/libraries/haskell/zlib-bindings/default.nix
+++ b/pkgs/development/libraries/haskell/zlib-bindings/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Low-level bindings to the zlib package. (deprecated)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib-conduit/default.nix b/pkgs/development/libraries/haskell/zlib-conduit/default.nix
index 596dbdfb21ea9..3d91442022da0 100644
--- a/pkgs/development/libraries/haskell/zlib-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/zlib-conduit/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Streaming compression/decompression via conduits. (deprecated)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib-enum/default.nix b/pkgs/development/libraries/haskell/zlib-enum/default.nix
index 928511be957f9..4b133b4c05571 100644
--- a/pkgs/development/libraries/haskell/zlib-enum/default.nix
+++ b/pkgs/development/libraries/haskell/zlib-enum/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Enumerator interface for zlib compression";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.0.0.nix b/pkgs/development/libraries/haskell/zlib/0.5.0.0.nix
index 6e44732abec21..b676048212937 100644
--- a/pkgs/development/libraries/haskell/zlib/0.5.0.0.nix
+++ b/pkgs/development/libraries/haskell/zlib/0.5.0.0.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     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 ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix b/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix
index 190c2b0cc725f..f3669c97c0a89 100644
--- a/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix
+++ b/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     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 ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix b/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix
index 73e6e42f7015c..1bed95bc2e82f 100644
--- a/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix
+++ b/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     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 ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.3.3.nix b/pkgs/development/libraries/haskell/zlib/0.5.3.3.nix
index 8902e9f75e399..5260b55a02771 100644
--- a/pkgs/development/libraries/haskell/zlib/0.5.3.3.nix
+++ b/pkgs/development/libraries/haskell/zlib/0.5.3.3.nix
@@ -12,6 +12,6 @@ cabal.mkDerivation (self: {
     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 ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.4.0.nix b/pkgs/development/libraries/haskell/zlib/0.5.4.0.nix
index cabb6875a0d5f..8b13da93ce344 100644
--- a/pkgs/development/libraries/haskell/zlib/0.5.4.0.nix
+++ b/pkgs/development/libraries/haskell/zlib/0.5.4.0.nix
@@ -11,6 +11,6 @@ cabal.mkDerivation (self: {
     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 ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.4.1.nix b/pkgs/development/libraries/haskell/zlib/0.5.4.1.nix
index 90c693376b9b6..28f69ad0a64ab 100644
--- a/pkgs/development/libraries/haskell/zlib/0.5.4.1.nix
+++ b/pkgs/development/libraries/haskell/zlib/0.5.4.1.nix
@@ -11,6 +11,5 @@ cabal.mkDerivation (self: {
     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/ibus/default.nix b/pkgs/development/libraries/ibus/default.nix
index 905f11dfdc227..6b426169a708e 100644
--- a/pkgs/development/libraries/ibus/default.nix
+++ b/pkgs/development/libraries/ibus/default.nix
@@ -19,7 +19,10 @@ stdenv.mkDerivation rec {
     libnotify isocodes gobjectIntrospection
   ];
 
-  preBuild = "patchShebangs ./scripts";
+  preBuild = ''
+    patchShebangs ./scripts
+    substituteInPlace data/dconf/Makefile --replace "dconf update" "echo"
+  '';
 
   preFixup = ''
     for f in "$out"/bin/*; do
diff --git a/pkgs/development/libraries/java/junit/default.nix b/pkgs/development/libraries/java/junit/default.nix
index 888365f789f73..b398a7a114730 100644
--- a/pkgs/development/libraries/java/junit/default.nix
+++ b/pkgs/development/libraries/java/junit/default.nix
@@ -1,30 +1,23 @@
-{ stdenv, fetchurl }:
+{ stdenv, antBuild, fetchgit, perl }:
 
 let
-
-  junit = fetchurl {
-    url = http://search.maven.org/remotecontent?filepath=junit/junit/4.11/junit-4.11.jar;
-    sha256 = "1zh6klzv8w30dx7jg6pkhllk4587av4znflzhxz8x97c7rhf3a4h";
-  };
-
-  hamcrest = fetchurl {
-    url = http://search.maven.org/remotecontent?filepath=org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar;
-    sha256 = "1sfqqi8p5957hs9yik44an3lwpv8ln2a6sh9gbgli4vkx68yzzb6";
+  version = "4.11";
+in antBuild {
+  name = "junit-${version}";
+
+  # I think this is only used to generate the docs, and will likely disappear
+  # with the next release of junit since its build system completely changes.
+  buildInputs = [perl];
+
+  src = fetchgit {
+    url = "https://github.com/junit-team/junit.git";
+    sha256 = "019azv0cfy2zs45c7g3r952gvjmikkq76p2ydr4q5252r0pzy9dr";
+    rev = "c2e4d911fadfbd64444fb285342a8f1b72336169";
   };
 
-in
-
-stdenv.mkDerivation {
-  name = "junit-4.11";
-
-  unpackPhase = "true";
-
-  installPhase =
-    ''
-      mkdir -p $out/share/java
-      ln -s ${junit} $out/share/java/junit.jar
-      ln -s ${hamcrest} $out/share/java/hamcrest-core.jar
-    '';
+  antProperties = [
+    { name = "version"; value = version; }
+  ];
 
   meta = {
     homepage = http://www.junit.org/;
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index 679b091ce7217..2f9e1786473e7 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -27,7 +27,7 @@ with { inherit (stdenv.lib) optional optionals; };
 let
   result = {
     libav_0_8 = libavFun "0.8.13" "1fr3rzykrlm1cla0csm9hqa3gcqp19hf5rgn70nyb9w92r67v685";
-    libav_9   = libavFun   "9.14" "07gn4lbqx6wfhb2h2ddj88hcsacwmzb4syalg211m55xmp1g1fp4";
+    libav_9   = libavFun   "9.16" "18378gdgzqsxaacc9vl7ligwndbdvy95wbn50hs8xvdqn1rn916a";
     libav_10  = libavFun  "10.3"  "1fq83rc5534fjqjlhkw5i9k54dmyqn2pgvyillm6pws8rkn9yb5r";
   };
 
diff --git a/pkgs/development/libraries/libcdr/default.nix b/pkgs/development/libraries/libcdr/default.nix
index 1da25527ef7ee..23fafb44c81ea 100644
--- a/pkgs/development/libraries/libcdr/default.nix
+++ b/pkgs/development/libraries/libcdr/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, libwpg, libwpd, lcms, pkgconfig }:
+{ stdenv, fetchurl, libwpg, libwpd, lcms, pkgconfig, librevenge, icu, boost }:
 
 stdenv.mkDerivation rec {
-  name = "libcdr-0.0.8";
+  name = "libcdr-0.1.0";
 
   src = fetchurl {
-    url = "http://dev-www.libreoffice.org/src/${name}.tar.xz";
-    sha256 = "117a8gp29xs3kin6kaisb3frsx8dwrsjgs4wq4y5hjqprzy6lwz0";
+    url = "http://dev-www.libreoffice.org/src/${name}.tar.bz2";
+    sha256 = "1l4glkyyxhzqq6j9n9cc01sf1q7xx8dd97cl3bwj8w4fp06ihv7g";
   };
 
-  buildInputs = [ libwpg libwpd lcms ];
+  buildInputs = [ libwpg libwpd lcms librevenge icu boost ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/libraries/libmwaw/default.nix b/pkgs/development/libraries/libmwaw/default.nix
index 0a7b76edab130..297d0a2f2ee64 100644
--- a/pkgs/development/libraries/libmwaw/default.nix
+++ b/pkgs/development/libraries/libmwaw/default.nix
@@ -3,11 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="libmwaw";
-    version="0.3.1";
+    version="0.3.2";
     name="${baseName}-${version}";
-    hash="0fa6nf4pxl853xnh2kdjw1nk3w6i39diixiampml7g9qygbd0vqb";
-    url="mirror://sourceforge/project/libmwaw/libmwaw/libmwaw-0.3.1/libmwaw-0.3.1.tar.xz";
-    sha256="0fa6nf4pxl853xnh2kdjw1nk3w6i39diixiampml7g9qygbd0vqb";
+    url="mirror://sourceforge/project/libmwaw/libmwaw/libmwaw-${version}/libmwaw-${version}.tar.bz2";
+    sha256="0rzp2bbwyxdq1i9b2y5jz5b2ic7466l8ifgmz7lk8bsmqxbb0a0d";
   };
   buildInputs = [
     boost pkgconfig cppunit zlib libwpg libwpd librevenge
diff --git a/pkgs/development/libraries/libnm-qt/default.nix b/pkgs/development/libraries/libnm-qt/default.nix
index 6e8545a3ba07b..39e784fe89f31 100644
--- a/pkgs/development/libraries/libnm-qt/default.nix
+++ b/pkgs/development/libraries/libnm-qt/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation {
     networkmanager
   ];
 
+  cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ];
+
   propagatedBuildInputs = [ libmm-qt ];
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/libpar2/default.nix b/pkgs/development/libraries/libpar2/default.nix
index a987768bbc538..89d9a3de02f21 100644
--- a/pkgs/development/libraries/libpar2/default.nix
+++ b/pkgs/development/libraries/libpar2/default.nix
@@ -1,15 +1,19 @@
 { stdenv, fetchurl, pkgconfig, libsigcxx }:
 
+let version = "0.4"; in
+
 stdenv.mkDerivation rec {
-  name = "libpar2-0.2";
+  name = "libpar2-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/parchive/${name}.tar.gz";
-    sha256 = "024r37wi01d1pfkk17l5lk0ci0cc0xhy5z050hzf3cbk1y2bykq7";
+    url = "https://launchpad.net/libpar2/trunk/${version}/+download/${name}.tar.gz";
+    sha256 = "1m4ncws1h03zq7zyqbaymvjzzbh1d3lc4wb1aksrdf0ync76yv9i";
   };
 
   buildInputs = [ pkgconfig libsigcxx ];
 
+  patches = [ ./libpar2-0.4-external-verification.patch ];
+
   meta = {
     homepage = http://parchive.sourceforge.net/;
     license = stdenv.lib.licenses.gpl2Plus;
diff --git a/pkgs/development/libraries/libpar2/libpar2-0.4-external-verification.patch b/pkgs/development/libraries/libpar2/libpar2-0.4-external-verification.patch
new file mode 100644
index 0000000000000..74879c4fe9b8a
--- /dev/null
+++ b/pkgs/development/libraries/libpar2/libpar2-0.4-external-verification.patch
@@ -0,0 +1,16 @@
+diff -aud -U 5 libpar2-0.4-original/par2repairer.h libpar2-0.4-patched/par2repairer.h
+--- libpar2-0.4-original/par2repairer.h	2013-07-18 15:03:10.000000000 +0200
++++ libpar2-0.4-patched/par2repairer.h	2014-08-06 15:52:59.000000000 +0200
+@@ -94,11 +94,11 @@
+   // Perform a sliding window scan of the DiskFile looking for blocks of data that 
+   // might belong to any of the source files (for which a verification packet was
+   // available). If a block of data might be from more than one source file, prefer
+   // the one specified by the "sourcefile" parameter. If the first data block
+   // found is for a different source file then "sourcefile" is changed accordingly.
+-  bool ScanDataFile(DiskFile                *diskfile,   // [in]     The file being scanned
++  virtual bool ScanDataFile(DiskFile                *diskfile,   // [in]     The file being scanned
+                     Par2RepairerSourceFile* &sourcefile, // [in/out] The source file matched
+                     MatchType               &matchtype,  // [out]    The type of match
+                     MD5Hash                 &hashfull,   // [out]    The full hash of the file
+                     MD5Hash                 &hash16k,    // [out]    The hash of the first 16k
+                     u32                     &count);     // [out]    The number of blocks found
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index 04e2bc7175e62..7ed9794011cdd 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -40,10 +40,10 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Library and utilities for working with the TIFF image file format";
     homepage = http://www.remotesensing.org/libtiff/;
-    license = "bsd";
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.libtiff;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libvisio/default.nix b/pkgs/development/libraries/libvisio/default.nix
index 7d24fc9a8a66c..c015e7473bd96 100644
--- a/pkgs/development/libraries/libvisio/default.nix
+++ b/pkgs/development/libraries/libvisio/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchurl, boost, libwpd, libwpg, pkgconfig, zlib }:
+{ stdenv, fetchurl, boost, libwpd, libwpg, pkgconfig, zlib, gperf
+, librevenge, libxml2, icu, perl
+}:
 
 stdenv.mkDerivation rec {
-  name = "libvisio-0.0.19";
+  name = "libvisio-0.1.0";
 
   src = fetchurl {
-    url = "http://dev-www.libreoffice.org/src/${name}.tar.xz";
-    sha256 = "1iqkz280mi066bdccyxagkqm41i270nx01cacvgjq2pflgd3njd1";
+    url = "http://dev-www.libreoffice.org/src/${name}.tar.bz2";
+    sha256 = "1vpb7nbk5qh6w3jz9rl9w8p25invcvj46parb9ld13h9777kyf0j";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ boost libwpd libwpg zlib ];
+  buildInputs = [ boost libwpd libwpg zlib gperf librevenge libxml2 icu perl ];
 
   configureFlags = "--disable-werror";
 
diff --git a/pkgs/development/libraries/libwpd/default.nix b/pkgs/development/libraries/libwpd/default.nix
index 830890fad560d..df5917fb05cf9 100644
--- a/pkgs/development/libraries/libwpd/default.nix
+++ b/pkgs/development/libraries/libwpd/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, zlib, pkgconfig, glib, libgsf, libxml2 }:
+{ stdenv, fetchurl, zlib, pkgconfig, glib, libgsf, libxml2, librevenge }:
 
 stdenv.mkDerivation rec {
-  name = "libwpd-0.9.9";
+  name = "libwpd-0.10.0";
   
   src = fetchurl {
     url = "mirror://sourceforge/libwpd/${name}.tar.xz";
-    sha256 = "1cn2z89yzsz8k6xjl02jdfhm0pkarw3yxj9ijnz5dx7h1v5g87dr";
+    sha256 = "0b6krzr6kxzm89g6bapn805kdayq70hn16n5b5wfs2lwrf0ag2wx";
   };
   
-  buildInputs = [ glib libgsf libxml2 zlib ];
+  buildInputs = [ glib libgsf libxml2 zlib librevenge ];
 
   nativeBuildInputs = [ pkgconfig ];
 }
diff --git a/pkgs/development/libraries/libwpg/default.nix b/pkgs/development/libraries/libwpg/default.nix
index f71cc9654724a..0cb405d48375a 100644
--- a/pkgs/development/libraries/libwpg/default.nix
+++ b/pkgs/development/libraries/libwpg/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, libwpd, zlib }:
+{ stdenv, fetchurl, pkgconfig, libwpd, zlib, librevenge }:
 
 stdenv.mkDerivation rec {
-  name = "libwpg-0.2.2";
+  name = "libwpg-0.3.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/libwpg/${name}.tar.xz";
-    sha256 = "1kd6d583s9162z023gh5jqrhkjsdig2bsfylw3g38xa4p5vzv6xl";
+    sha256 = "097jx8a638fwwfrzf6v29r1yhc34rq9526py7wf0ck2z4fcr2w3g";
   };
 
-  buildInputs = [ libwpd zlib ];
+  buildInputs = [ libwpd zlib librevenge ];
   nativeBuildInputs = [ pkgconfig ];
 
   meta = {
diff --git a/pkgs/development/libraries/mesa-darwin/default.nix b/pkgs/development/libraries/mesa-darwin/default.nix
new file mode 100644
index 0000000000000..98936904be59e
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/default.nix
@@ -0,0 +1,62 @@
+{ stdenv, stdenvAdapters, gccApple, fetchurl, pkgconfig, intltool, flex, bison
+, python, libxml2Python, file, expat, makedepend, xorg, llvm, libffi, libvdpau
+, enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
+, enableExtraFeatures ? false # not maintained
+}:
+
+let
+  version = "8.0.5";
+  self = stdenv.mkDerivation rec {
+    name = "mesa-${version}";
+
+    src =  fetchurl {
+      url = "ftp://ftp.freedesktop.org/pub/mesa/older-versions/8.x/${version}/MesaLib-${version}.tar.bz2";
+      sha256 = "0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si";
+    };
+
+    nativeBuildInputs = [ pkgconfig python makedepend flex bison ];
+
+    buildInputs = with xorg; [
+      glproto dri2proto libXfixes libXi libXmu
+      intltool expat libxml2Python llvm
+      presentproto
+      libX11 libXext libxcb libXt libxshmfence
+      libffi libvdpau
+    ];
+
+    postUnpack = ''
+      ln -s darwin $sourceRoot/configs/current
+    '';
+
+    patches = [
+      ./patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch
+      ./patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch
+      ./patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch
+      ./patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch
+      ./patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch
+      ./patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch
+      ./patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch
+      ./patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch
+      ./patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch
+      ./patches/patch-src-mapi-vgapi-Makefile.diff
+    ];
+
+    postPatch = "patchShebangs .";
+
+    configurePhase = ":";
+
+    makeFlags = "INSTALL_DIR=\${out} CC=cc CXX=c++";
+
+    enableParallelBuilding = true;
+
+    passthru = { inherit version; };
+
+    meta = {
+      description = "An open source implementation of OpenGL";
+      homepage = http://www.mesa3d.org/;
+      license = "bsd";
+      platforms = stdenv.lib.platforms.darwin;
+      maintainers = with stdenv.lib.maintainers; [ cstrahan ];
+    };
+  };
+in self // { driverLink = self; }
diff --git a/pkgs/development/libraries/mesa-darwin/patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch b/pkgs/development/libraries/mesa-darwin/patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch
new file mode 100644
index 0000000000000..5466ffc908581
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch
@@ -0,0 +1,147 @@
+From 9cf1afbf8ae87ddbb29b24a0f9f2724e9e2935c1 Mon Sep 17 00:00:00 2001
+From: Brian Paul <brianp@vmware.com>
+Date: Tue, 4 Sep 2012 20:17:15 -0600
+Subject: [PATCH 03/13] mesa: fix per-level max texture size error checking
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This is a long-standing omission in Mesa's texture image size checking.
+We need to take the mipmap level into consideration when checking if the
+width, height and depth are too large.
+
+Fixes the new piglit max-texture-size-level test.
+Thanks to Stéphane Marchesin for finding this problem.
+
+Note: This is a candidate for the stable branches.
+
+Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
+(cherry picked from commit 771e7b6d884bb4294a89f276a904d90b28efb90a)
+---
+ src/mesa/main/teximage.c | 36 +++++++++++++++++++++---------------
+ 1 file changed, 21 insertions(+), 15 deletions(-)
+
+diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
+index 3aecc0f..ed22fa9 100644
+--- a/src/mesa/main/teximage.c
++++ b/src/mesa/main/teximage.c
+@@ -1251,11 +1251,12 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level,
+ 
+    switch (target) {
+    case GL_PROXY_TEXTURE_1D:
+-      maxSize = 1 << (ctx->Const.MaxTextureLevels - 1);
+-      if (width < 2 * border || width > 2 * border + maxSize)
+-         return GL_FALSE;
+       if (level >= ctx->Const.MaxTextureLevels)
+          return GL_FALSE;
++      maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); /* level zero size */
++      maxSize >>= level;  /* level size */
++      if (width < 2 * border || width > 2 * border + maxSize)
++         return GL_FALSE;
+       if (!ctx->Extensions.ARB_texture_non_power_of_two) {
+          if (width > 0 && !_mesa_is_pow_two(width - 2 * border))
+             return GL_FALSE;
+@@ -1263,13 +1264,14 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level,
+       return GL_TRUE;
+ 
+    case GL_PROXY_TEXTURE_2D:
++      if (level >= ctx->Const.MaxTextureLevels)
++         return GL_FALSE;
+       maxSize = 1 << (ctx->Const.MaxTextureLevels - 1);
++      maxSize >>= level;
+       if (width < 2 * border || width > 2 * border + maxSize)
+          return GL_FALSE;
+       if (height < 2 * border || height > 2 * border + maxSize)
+          return GL_FALSE;
+-      if (level >= ctx->Const.MaxTextureLevels)
+-         return GL_FALSE;
+       if (!ctx->Extensions.ARB_texture_non_power_of_two) {
+          if (width > 0 && !_mesa_is_pow_two(width - 2 * border))
+             return GL_FALSE;
+@@ -1279,15 +1281,16 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level,
+       return GL_TRUE;
+ 
+    case GL_PROXY_TEXTURE_3D:
++      if (level >= ctx->Const.Max3DTextureLevels)
++         return GL_FALSE;
+       maxSize = 1 << (ctx->Const.Max3DTextureLevels - 1);
++      maxSize >>= level;
+       if (width < 2 * border || width > 2 * border + maxSize)
+          return GL_FALSE;
+       if (height < 2 * border || height > 2 * border + maxSize)
+          return GL_FALSE;
+       if (depth < 2 * border || depth > 2 * border + maxSize)
+          return GL_FALSE;
+-      if (level >= ctx->Const.Max3DTextureLevels)
+-         return GL_FALSE;
+       if (!ctx->Extensions.ARB_texture_non_power_of_two) {
+          if (width > 0 && !_mesa_is_pow_two(width - 2 * border))
+             return GL_FALSE;
+@@ -1299,23 +1302,24 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level,
+       return GL_TRUE;
+ 
+    case GL_PROXY_TEXTURE_RECTANGLE_NV:
++      if (level != 0)
++         return GL_FALSE;
+       maxSize = ctx->Const.MaxTextureRectSize;
+       if (width < 0 || width > maxSize)
+          return GL_FALSE;
+       if (height < 0 || height > maxSize)
+          return GL_FALSE;
+-      if (level != 0)
+-         return GL_FALSE;
+       return GL_TRUE;
+ 
+    case GL_PROXY_TEXTURE_CUBE_MAP_ARB:
++      if (level >= ctx->Const.MaxCubeTextureLevels)
++         return GL_FALSE;
+       maxSize = 1 << (ctx->Const.MaxCubeTextureLevels - 1);
++      maxSize >>= level;
+       if (width < 2 * border || width > 2 * border + maxSize)
+          return GL_FALSE;
+       if (height < 2 * border || height > 2 * border + maxSize)
+          return GL_FALSE;
+-      if (level >= ctx->Const.MaxCubeTextureLevels)
+-         return GL_FALSE;
+       if (!ctx->Extensions.ARB_texture_non_power_of_two) {
+          if (width > 0 && !_mesa_is_pow_two(width - 2 * border))
+             return GL_FALSE;
+@@ -1325,13 +1329,14 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level,
+       return GL_TRUE;
+ 
+    case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
++      if (level >= ctx->Const.MaxTextureLevels)
++         return GL_FALSE;
+       maxSize = 1 << (ctx->Const.MaxTextureLevels - 1);
++      maxSize >>= level;
+       if (width < 2 * border || width > 2 * border + maxSize)
+          return GL_FALSE;
+       if (height < 1 || height > ctx->Const.MaxArrayTextureLayers)
+          return GL_FALSE;
+-      if (level >= ctx->Const.MaxTextureLevels)
+-         return GL_FALSE;
+       if (!ctx->Extensions.ARB_texture_non_power_of_two) {
+          if (width > 0 && !_mesa_is_pow_two(width - 2 * border))
+             return GL_FALSE;
+@@ -1339,15 +1344,16 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level,
+       return GL_TRUE;
+ 
+    case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
++      if (level >= ctx->Const.MaxTextureLevels)
++         return GL_FALSE;
+       maxSize = 1 << (ctx->Const.MaxTextureLevels - 1);
++      maxSize >>= level;
+       if (width < 2 * border || width > 2 * border + maxSize)
+          return GL_FALSE;
+       if (height < 2 * border || height > 2 * border + maxSize)
+          return GL_FALSE;
+       if (depth < 1 || depth > ctx->Const.MaxArrayTextureLayers)
+          return GL_FALSE;
+-      if (level >= ctx->Const.MaxTextureLevels)
+-         return GL_FALSE;
+       if (!ctx->Extensions.ARB_texture_non_power_of_two) {
+          if (width > 0 && !_mesa_is_pow_two(width - 2 * border))
+             return GL_FALSE;
+-- 
+1.9.2
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch b/pkgs/development/libraries/mesa-darwin/patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch
new file mode 100644
index 0000000000000..ff933b2ec2840
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch
@@ -0,0 +1,33 @@
+From db8cb2250335a93cad6e877e634116e5cd6b42fc Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Tue, 13 Mar 2012 14:53:25 +0000
+Subject: [PATCH 08/13] glsl: initialise const force glsl extension warning in
+ fake ctx
+
+valgrind complained about an uninitialised value being used in
+glsl_parser_extras.cpp, and this was the one it was giving out about.
+
+Just initialise the value in the fakectx.
+
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48057
+(cherry picked from commit b78a77f979b21a84aecb6fa4f19a2ed51a48c306)
+---
+ src/glsl/builtins/tools/generate_builtins.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/glsl/builtins/tools/generate_builtins.py b/src/glsl/builtins/tools/generate_builtins.py
+index 72d12bb..bd15c4d 100755
+--- a/src/glsl/builtins/tools/generate_builtins.py
++++ b/src/glsl/builtins/tools/generate_builtins.py
+@@ -156,6 +156,7 @@ read_builtins(GLenum target, const char *protos, const char **functions, unsigne
+    fakeCtx.API = API_OPENGL;
+    fakeCtx.Const.GLSLVersion = 130;
+    fakeCtx.Extensions.ARB_ES2_compatibility = true;
++   fakeCtx.Const.ForceGLSLExtensionsWarn = false;
+    gl_shader *sh = _mesa_new_shader(NULL, 0, target);
+    struct _mesa_glsl_parse_state *st =
+       new(sh) _mesa_glsl_parse_state(&fakeCtx, target, sh);
+-- 
+1.9.2
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch b/pkgs/development/libraries/mesa-darwin/patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch
new file mode 100644
index 0000000000000..919443045e46b
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch
@@ -0,0 +1,28 @@
+From 2286bd68a832a4d4908d50e1a4496853e1f3305a Mon Sep 17 00:00:00 2001
+From: Brian Paul <brianp@vmware.com>
+Date: Mon, 27 Aug 2012 21:52:07 -0600
+Subject: [PATCH 09/13] mesa: test for GL_EXT_framebuffer_sRGB in glPopAttrib()
+
+To avoid spurious GL_INVALID_ENUM errors if the extension isn't supported.
+(cherry picked from commit 1aee8803f83f7ae24d9c2150c70afff2b1ee4c2f)
+---
+ src/mesa/main/attrib.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
+index 225ac89..cc384c7 100644
+--- a/src/mesa/main/attrib.c
++++ b/src/mesa/main/attrib.c
+@@ -993,7 +993,8 @@ _mesa_PopAttrib(void)
+                _mesa_ClampColorARB(GL_CLAMP_READ_COLOR_ARB, color->ClampReadColor);
+ 
+                /* GL_ARB_framebuffer_sRGB / GL_EXT_framebuffer_sRGB */
+-               _mesa_set_enable(ctx, GL_FRAMEBUFFER_SRGB, color->sRGBEnabled);
++               if (ctx->Extensions.EXT_framebuffer_sRGB)
++                  _mesa_set_enable(ctx, GL_FRAMEBUFFER_SRGB, color->sRGBEnabled);
+             }
+             break;
+          case GL_CURRENT_BIT:
+-- 
+1.9.2
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch b/pkgs/development/libraries/mesa-darwin/patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch
new file mode 100644
index 0000000000000..565d5e6c27372
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch
@@ -0,0 +1,29 @@
+From 9c50093adff0c7531ab32a7ec9ce3b91712b4d20 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Sat, 20 Jul 2013 10:25:28 -0700
+Subject: [PATCH 11/13] Apple: glFlush() is not needed with CGLFlushDrawable()
+
+<rdar://problem/14496373>
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+(cherry picked from commit fa5ed99d8e809fb86e486a40273a4a6971055398)
+---
+ src/glx/apple/apple_glx.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/src/glx/apple/apple_glx.c b/src/glx/apple/apple_glx.c
+index 56cff64..4e2aa33 100644
+--- a/src/glx/apple/apple_glx.c
++++ b/src/glx/apple/apple_glx.c
+@@ -132,8 +132,6 @@ apple_glx_swap_buffers(void *ptr)
+ {
+    struct apple_glx_context *ac = ptr;
+ 
+-   /* This may not be needed with CGLFlushDrawable: */
+-   glFlush();
+    apple_cgl.flush_drawable(ac->context_obj);
+ }
+ 
+-- 
+1.9.2
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch b/pkgs/development/libraries/mesa-darwin/patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch
new file mode 100644
index 0000000000000..58ac66bd55110
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch
@@ -0,0 +1,28 @@
+From 629600450b3845a768c0edc92ea3f444d03a2738 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Tue, 20 May 2014 01:37:58 -0700
+Subject: [PATCH 12/13] glapi: Avoid heap corruption in _glapi_table
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Reviewed-by: Chia-I Wu <olv@lunarg.com>
+(cherry picked from commit ff5456d1acf6f627a6837be3f3f37c6a268c9e8e)
+---
+ src/mapi/glapi/gen/gl_gentable.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/mapi/glapi/gen/gl_gentable.py b/src/mapi/glapi/gen/gl_gentable.py
+index 5657e32..0d0a02d 100644
+--- a/src/mapi/glapi/gen/gl_gentable.py
++++ b/src/mapi/glapi/gen/gl_gentable.py
+@@ -111,7 +111,7 @@ __glapi_gentable_set_remaining_noop(struct _glapi_table *disp) {
+ 
+ struct _glapi_table *
+ _glapi_create_table_from_handle(void *handle, const char *symbol_prefix) {
+-    struct _glapi_table *disp = calloc(1, sizeof(struct _glapi_table));
++    struct _glapi_table *disp = calloc(1, _glapi_get_dispatch_table_size() * sizeof(_glapi_proc));
+     char symboln[512];
+ 
+     if(!disp)
+-- 
+1.9.2
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch b/pkgs/development/libraries/mesa-darwin/patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch
new file mode 100644
index 0000000000000..5ec0d9024effc
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch
@@ -0,0 +1,40 @@
+From ba59a779ed41e08fa16805c1c60da39885546d0e Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Tue, 20 May 2014 10:53:00 -0700
+Subject: [PATCH 13/13] darwin: Fix test for kCGLPFAOpenGLProfile support at
+ runtime
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+(cherry picked from commit 7a109268ab5b3544e7f7b99e84ef1fdf54023fb4)
+---
+ src/glx/apple/apple_visual.c | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c
+index 282934f..238c248 100644
+--- a/src/glx/apple/apple_visual.c
++++ b/src/glx/apple/apple_visual.c
+@@ -73,11 +73,15 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m
+    GLint vsref = 0;
+    CGLError error = 0;
+ 
+-   /* Request an OpenGL 3.2 profile if one is available */
+-   if(apple_cgl.version_major > 1 || (apple_cgl.version_major == 1 && apple_cgl.version_minor >= 3)) {
+-      attr[numattr++] = kCGLPFAOpenGLProfile;
+-      attr[numattr++] = kCGLOGLPVersion_3_2_Core;
+-   }
++   /* Request an OpenGL 3.2 profile if one is available and supported */
++   attr[numattr++] = kCGLPFAOpenGLProfile;
++   attr[numattr++] = kCGLOGLPVersion_3_2_Core;
++
++   /* Test for kCGLPFAOpenGLProfile support at runtime and roll it out if not supported */
++   attr[numattr] = 0;
++   error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref);
++   if (error == kCGLBadAttribute)
++      numattr -= 2;
+ 
+    if (offscreen) {
+       apple_glx_diagnostic
+-- 
+1.9.2
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch b/pkgs/development/libraries/mesa-darwin/patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch
new file mode 100644
index 0000000000000..372ce4a27a39b
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch
@@ -0,0 +1,30 @@
+From f0702d6e631bb912a230c081463bb51a0dde1bff Mon Sep 17 00:00:00 2001
+From: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date: Mon, 12 May 2014 15:38:26 +0100
+Subject: [PATCH 1001/1003] appleglx: Improve error reporting if
+ CGLChoosePixelFormat() didn't find any matching pixel formats.
+
+Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
+Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+(cherry picked from commit 002a3a74273b81dfb226e1c3f0a8c18525ed0af4)
+---
+ src/glx/apple/apple_visual.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c
+index 238c248..c6ede51 100644
+--- a/src/glx/apple/apple_visual.c
++++ b/src/glx/apple/apple_visual.c
+@@ -167,4 +167,9 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m
+       fprintf(stderr, "error: %s\n", apple_cgl.error_string(error));
+       abort();
+    }
++
++   if (!*pfobj) {
++      fprintf(stderr, "No matching pixelformats found, perhaps try using LIBGL_ALLOW_SOFTWARE\n");
++      abort();
++   }
+ }
+-- 
+1.9.2 (Apple Git-49)
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch b/pkgs/development/libraries/mesa-darwin/patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch
new file mode 100644
index 0000000000000..4818ee63d4c95
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch
@@ -0,0 +1,55 @@
+From 1b2f877c8ef052b183c1f20ece6c6e4a7bfd237c Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Sat, 24 May 2014 14:13:33 -0700
+Subject: [PATCH 1002/1003] darwin: Write errors in choosing the pixel format
+ to the crash log
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+(cherry picked from commit 9eb1d36c978a9b15ae2e999c630492dfffd7f165)
+---
+ src/glx/apple/apple_visual.c | 18 ++++++++++++++++--
+ 1 file changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c
+index c6ede51..951b213 100644
+--- a/src/glx/apple/apple_visual.c
++++ b/src/glx/apple/apple_visual.c
+@@ -63,6 +63,16 @@ enum
+    MAX_ATTR = 60
+ };
+ 
++static char __crashreporter_info_buff__[4096] = { 0 };
++static const char *__crashreporter_info__ __attribute__((__used__)) =
++    &__crashreporter_info_buff__[0];
++#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050
++// This is actually a toolchain requirement, but I'm not sure the correct check,
++// but it should be fine to just only include it for Leopard and later.  This line
++// just tells the linker to never strip this symbol (such as for space optimization)
++__asm__ (".desc ___crashreporter_info__, 0x10");
++#endif
++
+ void
+ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * mode,
+                           bool * double_buffered, bool * uses_stereo,
+@@ -164,12 +174,16 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m
+    error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref);
+ 
+    if (error) {
+-      fprintf(stderr, "error: %s\n", apple_cgl.error_string(error));
++      snprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__),
++               "CGLChoosePixelFormat error: %s\n", apple_cgl.error_string(error));
++      fprintf(stderr, "%s", __crashreporter_info_buff__);
+       abort();
+    }
+ 
+    if (!*pfobj) {
+-      fprintf(stderr, "No matching pixelformats found, perhaps try using LIBGL_ALLOW_SOFTWARE\n");
++      snprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__),
++               "No matching pixelformats found, perhaps try using LIBGL_ALLOW_SOFTWARE\n");
++      fprintf(stderr, "%s", __crashreporter_info_buff__);
+       abort();
+    }
+ }
+-- 
+1.9.2 (Apple Git-49)
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch b/pkgs/development/libraries/mesa-darwin/patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch
new file mode 100644
index 0000000000000..72841e2a2cced
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch
@@ -0,0 +1,69 @@
+From 9d6e12eb6b06202519e48a7321f32944d7a34b0f Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Sat, 24 May 2014 14:08:16 -0700
+Subject: [PATCH 1003/1003] darwin: Guard Core Profile usage behind a testing
+ envvar
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+(cherry picked from commit 04ce3be4010305902cc5ae81e8e0c8550d043a1e)
+---
+ src/glx/apple/apple_visual.c | 30 ++++++++++++++++++++----------
+ 1 file changed, 20 insertions(+), 10 deletions(-)
+
+diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c
+index 951b213..046581b 100644
+--- a/src/glx/apple/apple_visual.c
++++ b/src/glx/apple/apple_visual.c
+@@ -82,16 +82,7 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m
+    int numattr = 0;
+    GLint vsref = 0;
+    CGLError error = 0;
+-
+-   /* Request an OpenGL 3.2 profile if one is available and supported */
+-   attr[numattr++] = kCGLPFAOpenGLProfile;
+-   attr[numattr++] = kCGLOGLPVersion_3_2_Core;
+-
+-   /* Test for kCGLPFAOpenGLProfile support at runtime and roll it out if not supported */
+-   attr[numattr] = 0;
+-   error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref);
+-   if (error == kCGLBadAttribute)
+-      numattr -= 2;
++   bool use_core_profile = getenv("LIBGL_PROFILE_CORE");
+ 
+    if (offscreen) {
+       apple_glx_diagnostic
+@@ -167,12 +158,31 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m
+       attr[numattr++] = mode->samples;
+    }
+ 
++   /* Debugging support for Core profiles to support newer versions of OpenGL */
++   if (use_core_profile) {
++      attr[numattr++] = kCGLPFAOpenGLProfile;
++      attr[numattr++] = kCGLOGLPVersion_3_2_Core;
++   }
++
+    attr[numattr++] = 0;
+ 
+    assert(numattr < MAX_ATTR);
+ 
+    error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref);
+ 
++   if ((error == kCGLBadAttribute || vsref == 0) && use_core_profile) {
++      apple_glx_diagnostic
++         ("Trying again without CoreProfile: error=%s, vsref=%d\n", apple_cgl.error_string(error), vsref);
++
++      if (!error)
++         apple_cgl.destroy_pixel_format(*pfobj);
++
++      numattr -= 3;
++      attr[numattr++] = 0;
++
++      error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref);
++   }
++
+    if (error) {
+       snprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__),
+                "CGLChoosePixelFormat error: %s\n", apple_cgl.error_string(error));
+-- 
+1.9.2 (Apple Git-49)
+
diff --git a/pkgs/development/libraries/mesa-darwin/patches/patch-src-mapi-vgapi-Makefile.diff b/pkgs/development/libraries/mesa-darwin/patches/patch-src-mapi-vgapi-Makefile.diff
new file mode 100644
index 0000000000000..e29a8464076da
--- /dev/null
+++ b/pkgs/development/libraries/mesa-darwin/patches/patch-src-mapi-vgapi-Makefile.diff
@@ -0,0 +1,11 @@
+--- a/src/mapi/vgapi/Makefile	2012-11-30 12:06:24.000000000 -0500
++++ b/src/mapi/vgapi/Makefile	2012-11-30 12:06:52.000000000 -0500
+@@ -75,6 +75,8 @@
+ install-headers:
+ 	$(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/VG
+ 	$(INSTALL) -m 644 $(TOP)/include/VG/*.h $(DESTDIR)$(INSTALL_INC_DIR)/VG
++	$(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/KHR
++	$(INSTALL) -m 644 $(TOP)/include/KHR/*.h $(DESTDIR)$(INSTALL_INC_DIR)/KHR
+ 
+ install: default install-headers install-pc
+ 	$(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 8c88df984f059..c972635c9c726 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -60,7 +60,12 @@ stdenv.mkDerivation {
     else "./config";
 
   configureFlags = "shared --libdir=lib --openssldir=etc/ssl" +
-    stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS";
+    stdenv.lib.optionalString withCryptodev " -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS" +
+    stdenv.lib.optionalString (stdenv.system == "x86_64-cygwin") " no-asm";
+
+  preBuild = stdenv.lib.optionalString (stdenv.system == "x86_64-cygwin") ''
+    sed -i -e "s|-march=i486|-march=x86-64|g" Makefile
+  '';
 
   makeFlags = "MANDIR=$(out)/share/man";
 
diff --git a/pkgs/development/libraries/science/math/arpack/default.nix b/pkgs/development/libraries/science/math/arpack/default.nix
index cd56287f6ca0d..71f9ef2a2b6b4 100644
--- a/pkgs/development/libraries/science/math/arpack/default.nix
+++ b/pkgs/development/libraries/science/math/arpack/default.nix
@@ -23,7 +23,9 @@ stdenv.mkDerivation {
   meta = {
     homepage = "http://forge.scilab.org/index.php/p/arpack-ng/";
     description = "A collection of Fortran77 subroutines to solve large scale eigenvalue problems";
-    platforms = stdenv.lib.platforms.all;
+    # Looks like OpenBLAS is not that easy to build
+    # there is a sgemm_itcopy undefined reference on 32-bit, for example
+    platforms = ["x86_64-linux"];
     license = stdenv.lib.licenses.bsd3;
     maintainers = [ stdenv.lib.maintainers.ttuegel ];
   };
diff --git a/pkgs/development/libraries/thrift/default.nix b/pkgs/development/libraries/thrift/default.nix
index 191f9da99d10c..f8c437f2b0f18 100644
--- a/pkgs/development/libraries/thrift/default.nix
+++ b/pkgs/development/libraries/thrift/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
     md5 = "466aca9e43e43df868f4385af50e32f6";
   };
 
-  enableParallelBuilding = true;
+  #enableParallelBuilding = true; problems on hydra
 
   # Fixes build error: <flex>/lib/libfl.so: undefined reference to `yylex'.
   # Patch exists in upstream git repo, so it can be removed on the next version
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 3b6ef1acd9839..82cff159a56a3 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -8,7 +8,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "webkitgtk-2.4.3";
+  name = "webkitgtk-2.4.4";
 
   meta = {
     description = "Web content rendering engine, GTK+ port";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://webkitgtk.org/releases/${name}.tar.xz";
-    sha256 = "1b6fm1c5kk6vl0llalsd605raqs152hn14635kjwcb6iq7mc6qlq";
+    sha256 = "1f9sypnnxxcml9vj79g9hf2di52pg5kggyc3wgsy3q9a6mzgrjsq";
   };
 
   patches = [ ./webcore-svg-libxml-cflags.patch ];
diff --git a/pkgs/development/libraries/wxGTK-3.0/default.nix b/pkgs/development/libraries/wxGTK-3.0/default.nix
index 33f42854c2c37..faa17c08363fc 100644
--- a/pkgs/development/libraries/wxGTK-3.0/default.nix
+++ b/pkgs/development/libraries/wxGTK-3.0/default.nix
@@ -8,14 +8,14 @@ assert withMesa -> mesa != null;
 with stdenv.lib;
 
 let
-  version = "3.0.0";
+  version = "3.0.1";
 in
 stdenv.mkDerivation {
   name = "wxwidgets-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/wxwindows/wxWidgets-${version}.tar.bz2";
-    sha256 = "11dz8pn1nm79i054l05rzyk4vqxw7v0x6j78pj6mvr5nphwhad7z";
+    sha256 = "1xf5s8cnq6xr0r6l0y9cn1pjg961xbycl4afhjrqzbsnxiwinrxx";
   };
 
   buildInputs =
diff --git a/pkgs/development/libraries/xylib/default.nix b/pkgs/development/libraries/xylib/default.nix
new file mode 100644
index 0000000000000..8fff5f3933839
--- /dev/null
+++ b/pkgs/development/libraries/xylib/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, boost, zlib, bzip2 }:
+
+let
+  name    = "xylib";
+  version = "1.3";
+in
+stdenv.mkDerivation {
+  name = "${name}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/wojdyr/xylib/releases/download/v${version}/${name}-${version}.tar.bz2";
+    sha256 = "09j426qjbg3damch1hfw16j992kn2hj8gs4lpvqgfqdw61kvqivh";
+  };
+
+  buildInputs = [boost zlib bzip2 ];
+
+  meta = {
+    description = "xylib is a portable library for reading files that contain x-y data from powder diffraction, spectroscopy and other experimental methods.";
+    license = "LGPL";
+    homepage = http://xylib.sourceforge.net/;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/pcre/default.nix b/pkgs/development/ocaml-modules/pcre/default.nix
index 6df221a9244c9..b6c2488b2502f 100644
--- a/pkgs/development/ocaml-modules/pcre/default.nix
+++ b/pkgs/development/ocaml-modules/pcre/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, pcre, ocaml, findlib}:
 
 stdenv.mkDerivation {
-  name = "ocaml-pcre-7.0.4";
+  name = "ocaml-pcre-7.1.1";
 
   src = fetchurl {
-    url = https://bitbucket.org/mmottl/pcre-ocaml/downloads/pcre-ocaml-7.0.4.tar.gz;
-    sha256 = "0h2qlza7jkzgrglw1k0fydpbil0dgpv526kxyyd1apdbyzhb0mpw";
+    url = https://github.com/mmottl/pcre-ocaml/releases/download/v7.1.1/pcre-ocaml-7.1.1.tar.gz;
+    sha256 = "0nj4gb6hjjjmz5gnl9cjrh4w82rw8cvbwnk0hxhfgfd25p9k50n3";
   };
 
   buildInputs = [ocaml findlib];
diff --git a/pkgs/development/pharo/vm/default.nix b/pkgs/development/pharo/vm/default.nix
index 939ff8ec75068..7022206c5cc61 100644
--- a/pkgs/development/pharo/vm/default.nix
+++ b/pkgs/development/pharo/vm/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
 
     cp * "$prefix/lib/pharo-vm"
 
-    cp -R "$resources"/* "$prefix/"
+    cp -R "$resources/"* "$prefix/"
 
     mkdir $prefix/bin
 
@@ -76,4 +76,25 @@ stdenv.mkDerivation rec {
   patches = [ patches/pharo-is-not-squeak.patch patches/fix-executable-name.patch patches/fix-cmake-root-directory.patch ];
  
   buildInputs = [ bash unzip cmake glibc openssl gcc mesa freetype xlibs.libX11 xlibs.libICE xlibs.libSM alsaLib ];
+
+  meta = {
+    description = "Clean and innovative Smalltalk-inspired environment";
+    longDescription = ''
+      Pharo's goal is to deliver a clean, innovative, free open-source
+      Smalltalk-inspired environment. By providing a stable and small core
+      system, excellent dev tools, and maintained releases, Pharo is an
+      attractive platform to build and deploy mission critical applications.
+
+      This package provides the executable VM. You should probably not care
+      about this package (which represents a packaging detail) and have a
+      look at the pharo-vm-core package instead.
+
+      Please fill bug reports on http://bugs.pharo.org under the 'Ubuntu
+      packaging (ppa:pharo/stable)' project.
+    '';
+    homepage = http://pharo.org;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.DamienCassou ];
+    platforms = stdenv.lib.platforms.mesaPlatforms;
+  };
 }
\ No newline at end of file
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
new file mode 100644
index 0000000000000..2d2a2ed51511d
--- /dev/null
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, python, pkgconfig, qt5, sip, pythonDBus, lndir, makeWrapper }:
+
+let
+  version = "5.3";
+in stdenv.mkDerivation {
+  name = "PyQt-${version}";
+
+  meta = with stdenv.lib; {
+    description = "Python bindings for Qt5";
+    homepage    = http://www.riverbankcomputing.co.uk;
+    license     = licenses.gpl3;
+    platforms   = platforms.mesaPlatforms;
+    maintainers = with maintainers; [ sander iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt-gpl-${version}.tar.gz";
+    sha256 = "0xc1cc68fi989rfybibimhhi3mqn3b93n0p3jdqznzabgilcb1m2";
+  };
+
+  buildInputs = [ python pkgconfig makeWrapper lndir qt5 ];
+
+  propagatedBuildInputs = [ sip ];
+
+  configurePhase = ''
+    mkdir -p $out
+    lndir ${pythonDBus} $out
+
+    export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages
+
+    substituteInPlace configure.py \
+      --replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'"
+
+    ${python.executable} configure.py  -w \
+      --confirm-license \
+      --dbus=$out/include/dbus-1.0 \
+      --no-qml-plugin \
+      --bindir=$out/bin \
+      --destdir=$out/lib/${python.libPrefix}/site-packages \
+      --sipdir=$out/share/sip \
+      --designer-plugindir=$out/plugins/designer
+  '';
+
+  postInstall = ''
+    for i in $out/bin/*; do
+      wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH"
+    done
+  '';
+
+  enableParallelBuilding = true;
+}
diff --git a/pkgs/development/python-modules/sip/4.16.nix b/pkgs/development/python-modules/sip/4.16.nix
new file mode 100644
index 0000000000000..aa1fb19843854
--- /dev/null
+++ b/pkgs/development/python-modules/sip/4.16.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, python }:
+
+stdenv.mkDerivation rec {
+  name = "sip-4.16.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz";
+    sha256 = "1hknl71ij924syc9ik9nk4z051q3n75y7w27q9i07awpd39sp7m4";
+  };
+
+  configurePhase = ''
+    ${python.executable} ./configure.py \
+      -d $out/lib/${python.libPrefix}/site-packages \
+      -b $out/bin -e $out/include
+  '';
+
+  buildInputs = [ python ];
+
+  meta = with stdenv.lib; {
+    description = "Creates C++ bindings for Python modules";
+    homepage    = "http://www.riverbankcomputing.co.uk/";
+    license     = licenses.gpl2Plus;
+    maintainers = with maintainers; [ lovek323 sander urkud ];
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
index abc0b070a7643..39052fea6cb53 100755
--- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
@@ -47,7 +47,7 @@ cmakeConfigurePhase() {
     eval "$postConfigure"
 }
 
-if [ -z "$dontUseCmakeConfigure" -a ! -v configurePhase ]; then
+if [ -z "$dontUseCmakeConfigure" -a -z "$configurePhase" ]; then
     configurePhase=cmakeConfigurePhase
 fi
 
diff --git a/pkgs/development/tools/build-managers/rebar/default.nix b/pkgs/development/tools/build-managers/rebar/default.nix
index b57c4c263f56d..d10d9d6d1a3a6 100644
--- a/pkgs/development/tools/build-managers/rebar/default.nix
+++ b/pkgs/development/tools/build-managers/rebar/default.nix
@@ -2,14 +2,14 @@
 
 
 let
-  version = "2.3.0";
+  version = "2.5.1";
 in
 stdenv.mkDerivation {
   name = "rebar-${version}";
 
   src = fetchurl {
     url = "https://github.com/rebar/rebar/archive/${version}.tar.gz";
-    sha256 = "0g23ib96lalpmynx39fprlw08ivgyb7i6c6a8jvgqwr9jmd0nj06";
+    sha256 = "1y9b0smw0g5q197xf4iklzmcf8ad6w52p6mwzpf7b0ib1nd89jw6";
   };
 
   buildInputs = [ erlang ];
diff --git a/pkgs/development/tools/documentation/haddock/2.12.0.nix b/pkgs/development/tools/documentation/haddock/2.12.0.nix
index c88ee80917843..b1249eee32788 100644
--- a/pkgs/development/tools/documentation/haddock/2.12.0.nix
+++ b/pkgs/development/tools/documentation/haddock/2.12.0.nix
@@ -18,6 +18,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/documentation/haddock/2.14.3.nix b/pkgs/development/tools/documentation/haddock/2.14.3.nix
index 7681d3fd135ce..a16994b1f2edb 100644
--- a/pkgs/development/tools/documentation/haddock/2.14.3.nix
+++ b/pkgs/development/tools/documentation/haddock/2.14.3.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/documentation/haddock/2.4.2.nix b/pkgs/development/tools/documentation/haddock/2.4.2.nix
index 01bdca2badf24..6493302218f97 100644
--- a/pkgs/development/tools/documentation/haddock/2.4.2.nix
+++ b/pkgs/development/tools/documentation/haddock/2.4.2.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/documentation/haddock/2.9.4.nix b/pkgs/development/tools/documentation/haddock/2.9.4.nix
index 3c1f8a332ccb9..80d7c623c1e9e 100644
--- a/pkgs/development/tools/documentation/haddock/2.9.4.nix
+++ b/pkgs/development/tools/documentation/haddock/2.9.4.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/haskell/HaRe/default.nix b/pkgs/development/tools/haskell/HaRe/default.nix
deleted file mode 100644
index 3bd6323df2704..0000000000000
--- a/pkgs/development/tools/haskell/HaRe/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, deepseq, Diff, dualTree, filepath, ghcMod, ghcPaths
-, ghcSybUtils, haskellTokenUtils, hslogger, hspec, HUnit
-, monoidExtras, mtl, parsec, QuickCheck, rosezipper, semigroups
-, silently, StrafunskiStrategyLib, stringbuilder, syb, syz, time
-, transformers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "HaRe";
-  version = "0.7.2.6";
-  sha256 = "0fvnif75sjgi4388in8fdvgvaxb0s9cgnqf7i583rxlxjibx44ai";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    dualTree filepath ghcMod ghcPaths ghcSybUtils haskellTokenUtils
-    hslogger monoidExtras mtl parsec rosezipper semigroups
-    StrafunskiStrategyLib syb syz time transformers
-  ];
-  testDepends = [
-    deepseq Diff dualTree filepath ghcMod ghcPaths ghcSybUtils
-    haskellTokenUtils hslogger hspec HUnit monoidExtras mtl QuickCheck
-    rosezipper semigroups silently StrafunskiStrategyLib stringbuilder
-    syb syz time transformers
-  ];
-  jailbreak = true;
-  meta = {
-    homepage = "https://github.com/RefactoringTools/HaRe/wiki";
-    description = "the Haskell Refactorer";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/tools/haskell/PastePipe/default.nix b/pkgs/development/tools/haskell/PastePipe/default.nix
new file mode 100644
index 0000000000000..ce1c8a27c54e1
--- /dev/null
+++ b/pkgs/development/tools/haskell/PastePipe/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cmdargs, HTTP, network }:
+
+cabal.mkDerivation (self: {
+  pname = "PastePipe";
+  version = "1.5";
+  sha256 = "1jqfk6d22vi0vrwx0whjkh4pxwagr4hmi79bid6bffn72c7ygm8f";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ cmdargs HTTP network ];
+  meta = {
+    homepage = "http://github.com/creswick/pastepipe";
+    description = "CLI for pasting to lpaste.net";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/tools/haskell/SourceGraph/default.nix b/pkgs/development/tools/haskell/SourceGraph/default.nix
new file mode 100644
index 0000000000000..abfd386c82aa1
--- /dev/null
+++ b/pkgs/development/tools/haskell/SourceGraph/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, fgl, filepath, Graphalyze, graphviz, haskellSrcExts
+, mtl, multiset, random
+}:
+
+cabal.mkDerivation (self: {
+  pname = "SourceGraph";
+  version = "0.7.0.6";
+  sha256 = "03psglm6xyqvcgnbimidafy51kwpipk5q6s8ip5vhjm2d5makkhm";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    Cabal fgl filepath Graphalyze graphviz haskellSrcExts mtl multiset
+    random
+  ];
+  meta = {
+    description = "Static code analysis using graph-theoretic techniques";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/cabal-bounds/default.nix b/pkgs/development/tools/haskell/cabal-bounds/default.nix
index 44d4bcd8340a2..c8dc299e7d90d 100644
--- a/pkgs/development/tools/haskell/cabal-bounds/default.nix
+++ b/pkgs/development/tools/haskell/cabal-bounds/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal-bounds";
-  version = "0.7";
-  sha256 = "1dz3bi33s2s0glsw248dxh76yj6qqlq2v2z7rys5js1mi6dicwa3";
+  version = "0.8";
+  sha256 = "0db5vy4qfjc2d27d4vk37gz9sdjgjlargndligmljf52s2g568r0";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -15,7 +15,6 @@ cabal.mkDerivation (self: {
     unorderedContainers
   ];
   testDepends = [ filepath tasty tastyGolden ];
-  jailbreak = true;
   doCheck = false;
   meta = {
     description = "A command line program for managing the bounds/versions of the dependencies in a cabal file";
diff --git a/pkgs/development/tools/haskell/cabal-delete/default.nix b/pkgs/development/tools/haskell/cabal-delete/default.nix
index 65a7b4d3211a0..7de6c0e6f1c20 100644
--- a/pkgs/development/tools/haskell/cabal-delete/default.nix
+++ b/pkgs/development/tools/haskell/cabal-delete/default.nix
@@ -30,5 +30,7 @@ cabal.mkDerivation (self: {
     description = "Uninstall packages installed by cabal";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/tools/haskell/cabal-ghci/default.nix b/pkgs/development/tools/haskell/cabal-ghci/default.nix
index 2fc2637840dab..389318978dac0 100644
--- a/pkgs/development/tools/haskell/cabal-ghci/default.nix
+++ b/pkgs/development/tools/haskell/cabal-ghci/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Set up ghci with options taken from a .cabal file";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix
index 1e6e69036e2ed..978ebde7e293b 100644
--- a/pkgs/development/tools/haskell/cabal2nix/default.nix
+++ b/pkgs/development/tools/haskell/cabal2nix/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal2nix";
-  version = "1.67";
-  sha256 = "1l614lx5l3rhn0jvs45is9m8bil32ms5lb74j30ialv3qnjsvjnv";
+  version = "1.68";
+  sha256 = "0w9ayvr3ljfxgi17yaayqvyxflbgf7b5245pc3m011lp3cfnj849";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ];
@@ -17,9 +17,6 @@ cabal.mkDerivation (self: {
     description = "Convert Cabal files into Nix build instructions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/development/tools/haskell/happy-meta/default.nix b/pkgs/development/tools/haskell/happy-meta/default.nix
index e7c143d7ace47..dc5c1f203ba4e 100644
--- a/pkgs/development/tools/haskell/happy-meta/default.nix
+++ b/pkgs/development/tools/haskell/happy-meta/default.nix
@@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
     description = "Quasi-quoter for Happy parsers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/tools/haskell/haskdogs/default.nix b/pkgs/development/tools/haskell/haskdogs/default.nix
index 06a6b04bb5908..27e4876ea0931 100644
--- a/pkgs/development/tools/haskell/haskdogs/default.nix
+++ b/pkgs/development/tools/haskell/haskdogs/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Generate ctags file for haskell project directory and it's deps";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/haskell/haskell-docs/default.nix b/pkgs/development/tools/haskell/haskell-docs/default.nix
new file mode 100644
index 0000000000000..b9cd34c716e06
--- /dev/null
+++ b/pkgs/development/tools/haskell/haskell-docs/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, Cabal, filepath, ghcPaths, haddock, monadLoops
+, text, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haskell-docs";
+  version = "4.2.2";
+  sha256 = "0w52kzwjzd5jl8v55rjy5550cy2fcyj9j5b7b33vbwjyh06gfrk1";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson Cabal filepath ghcPaths haddock monadLoops text
+    unorderedContainers
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://github.com/chrisdone/haskell-docs";
+    description = "A program to find and display the docs and type of a name";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix
index 83ffd0367e585..4fe5f01c3d18b 100644
--- a/pkgs/development/tools/haskell/hlint/default.nix
+++ b/pkgs/development/tools/haskell/hlint/default.nix
@@ -19,6 +19,5 @@ cabal.mkDerivation (self: {
     description = "Source code suggestions";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/haskell/hp2any-manager/default.nix b/pkgs/development/tools/haskell/hp2any-manager/default.nix
index 3bbf65bcf7a48..537550e989fb3 100644
--- a/pkgs/development/tools/haskell/hp2any-manager/default.nix
+++ b/pkgs/development/tools/haskell/hp2any-manager/default.nix
@@ -19,5 +19,6 @@ cabal.mkDerivation (self: {
     description = "A utility to visualise and compare heap profiles";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/haskell/hscolour/default.nix b/pkgs/development/tools/haskell/hscolour/default.nix
index fa41d7fb35c8a..bb00ade3d4c2d 100644
--- a/pkgs/development/tools/haskell/hscolour/default.nix
+++ b/pkgs/development/tools/haskell/hscolour/default.nix
@@ -13,6 +13,5 @@ cabal.mkDerivation (self: {
     description = "Colourise Haskell code";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/haskell/hscope/default.nix b/pkgs/development/tools/haskell/hscope/default.nix
new file mode 100644
index 0000000000000..981e612044408
--- /dev/null
+++ b/pkgs/development/tools/haskell/hscope/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, cpphs, deepseq, haskellSrcExts, mtl, pureCdb
+, testSimple, uniplate, Unixutils, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hscope";
+  version = "0.4";
+  sha256 = "1jb2d61c1as6li54zw33jsyvfap214pqxpkr2m6lkzaizh8396hg";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    cereal cpphs deepseq haskellSrcExts mtl pureCdb uniplate vector
+  ];
+  testDepends = [ mtl testSimple Unixutils ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/bosu/hscope";
+    description = "cscope like browser for Haskell code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/hslogger/default.nix b/pkgs/development/tools/haskell/hslogger/default.nix
index af8300bf91f5c..43da5b21ca4e7 100644
--- a/pkgs/development/tools/haskell/hslogger/default.nix
+++ b/pkgs/development/tools/haskell/hslogger/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Versatile logging framework";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/haskell/pointfree/default.nix b/pkgs/development/tools/haskell/pointfree/default.nix
new file mode 100644
index 0000000000000..166105f22b6a0
--- /dev/null
+++ b/pkgs/development/tools/haskell/pointfree/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, haskellSrcExts, HUnit, QuickCheck, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "pointfree";
+  version = "1.0.4.7";
+  sha256 = "0jwql0ka01cr53ayjc4dpaci11i7r1y3b9gcbh3rlamb1mnfcqvl";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ haskellSrcExts transformers ];
+  testDepends = [ haskellSrcExts HUnit QuickCheck transformers ];
+  jailbreak = true;
+  meta = {
+    description = "Tool for refactoring expressions into pointfree form";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/pointful/default.nix b/pkgs/development/tools/haskell/pointful/default.nix
new file mode 100644
index 0000000000000..7f077d160a3ce
--- /dev/null
+++ b/pkgs/development/tools/haskell/pointful/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, haskellSrc, mtl, syb }:
+
+cabal.mkDerivation (self: {
+  pname = "pointful";
+  version = "1.0.2";
+  sha256 = "00xlxgdajkbi5d6gv88wdpwm16xdryshszz5qklryi0p65mmp99p";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ haskellSrc mtl syb ];
+  meta = {
+    homepage = "http://github.com/23Skidoo/pointful";
+    description = "Pointful refactoring tool";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/threadscope/default.nix b/pkgs/development/tools/haskell/threadscope/default.nix
index d52b4dec70f40..892faca8e8cd2 100644
--- a/pkgs/development/tools/haskell/threadscope/default.nix
+++ b/pkgs/development/tools/haskell/threadscope/default.nix
@@ -19,6 +19,7 @@ cabal.mkDerivation (self: {
     description = "A graphical tool for profiling parallel Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/tools/haskell/uuagc/bootstrap.nix b/pkgs/development/tools/haskell/uuagc/bootstrap.nix
index ddd4890261d13..5e954c526c413 100644
--- a/pkgs/development/tools/haskell/uuagc/bootstrap.nix
+++ b/pkgs/development/tools/haskell/uuagc/bootstrap.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Attribute Grammar System of Universiteit Utrecht";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/haskell/uuagc/cabal.nix b/pkgs/development/tools/haskell/uuagc/cabal.nix
index 79c8f513b9b86..1a735a2471e97 100644
--- a/pkgs/development/tools/haskell/uuagc/cabal.nix
+++ b/pkgs/development/tools/haskell/uuagc/cabal.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Cabal plugin for the Universiteit Utrecht Attribute Grammar System";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/haskell/uuagc/default.nix b/pkgs/development/tools/haskell/uuagc/default.nix
index 43cf0cafd22d2..230174dccbc6b 100644
--- a/pkgs/development/tools/haskell/uuagc/default.nix
+++ b/pkgs/development/tools/haskell/uuagc/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Attribute Grammar System of Universiteit Utrecht";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
index 9e3abab382db2..c4f4caa3b6586 100644
--- a/pkgs/development/tools/misc/arcanist/default.nix
+++ b/pkgs/development/tools/misc/arcanist/default.nix
@@ -3,18 +3,18 @@
 let
   libphutil = fetchgit {
     url    = "git://github.com/facebook/libphutil.git";
-    rev    = "d8c026530d7f442eb0f93233b536cfb06aec911d";
-    sha256 = "6cbeb5b7640371f95ef017f3382f33a985a5c417f69e837fbb3b59c0332b5ecf";
+    rev    = "49f08a756a54f12405d3704c0f978b71c7b13811";
+    sha256 = "b32267fe19c6e9532887388815b8553519e2844bc5b839b5ad35efeab6b07fb8";
   };
   arcanist = fetchgit {
     url    = "git://github.com/facebook/arcanist.git";
-    rev    = "a9535446579af33dfa50f60dcc79c9edf633eebd";
-    sha256 = "8468f3beecdce2f62dc010ddade8ffbf0a8802f23ee88b91e09c09f173e692f6";
+    rev    = "4c0edd296e3301fffdda33c447f6fcafe7d1de01";
+    sha256 = "a9f162fb6b47bcf628130e0e8988ab650278b3a6606fa425e4707241ed22dd3e";
   };
 in
 stdenv.mkDerivation rec {
   name    = "arcanist-${version}";
-  version = "20140717";
+  version = "20140812";
 
   src = [ arcanist libphutil ];
   buildInputs = [ php makeWrapper flex ];
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 8d8fc5d464e89..246a8573fac9b 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -59,6 +59,7 @@ stdenv.mkDerivation rec {
 
   configureFlags =
     [ "--enable-shared" "--enable-deterministic-archives" ]
+    ++ optional noSysDirs "--with-sysroot=/var/empty"
     ++ optional (stdenv.system == "mips64el-linux") "--enable-fix-loongson2f-nop"
     ++ optional (cross != null) "--target=${cross.config}"
     ++ optionals gold [ "--enable-gold" "--enable-plugins" ]
diff --git a/pkgs/development/tools/misc/cpphs/default.nix b/pkgs/development/tools/misc/cpphs/default.nix
index edd0a52f2c6f0..f3a724f30399b 100644
--- a/pkgs/development/tools/misc/cpphs/default.nix
+++ b/pkgs/development/tools/misc/cpphs/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "A liberalised re-implementation of cpp, the C pre-processor";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index 852c1b7421954..df5fdbfab5a38 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -26,7 +26,6 @@ stdenv.mkDerivation rec {
       wrapProgram $out/bin/d-feet \
         --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \
         --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-        --prefix LD_LIBRARY_PATH : "${gtk3}/lib:${atk}/lib:${libwnck3}/lib" \
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share"
 
       rm $out/share/icons/hicolor/icon-theme.cache
diff --git a/pkgs/development/tools/misc/dfu-programmer/default.nix b/pkgs/development/tools/misc/dfu-programmer/default.nix
index 93dceb60f8d9e..2df687b8bc6b8 100644
--- a/pkgs/development/tools/misc/dfu-programmer/default.nix
+++ b/pkgs/development/tools/misc/dfu-programmer/default.nix
@@ -1,21 +1,18 @@
-{ stdenv, fetchurl, libusb1 }:
+{ stdenv, fetchurl, libusb }:
 let
-  version = "0.6.2";
+  version = "0.7.0";
 in
 stdenv.mkDerivation rec {
   name="dfu-programmer-${version}";
 
-  buildInputs = [ libusb1 ];
+  buildInputs = [ libusb ];
 
   src = fetchurl {
     url = "mirror://sourceforge/dfu-programmer/${name}.tar.gz";
-    sha256 = "0rdg4h5alpa3py3v3xgvn2vcgmnbj077am90jqj83nad89m9c801";
+    sha256 = "17lglglk5xrqd2n0impg5bkq4j96qc51cw3kzcghzmzmn6fvg3gf";
   };
 
-  preConfigure = ''
-    substituteInPlace configure \
-     --replace "/usr/include/libusb-1.0" "${libusb1}/include/libusb-1.0"
-  '';
+  configureFlags = [ "--disable-libusb_1_0" ];
 
   meta = with stdenv.lib; {
     license = licenses.gpl2;
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index c8579ef3831b5..4a38762a3ff3c 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -1,16 +1,16 @@
-{stdenv, fetchurl, lua, curl}:
+{stdenv, fetchurl, lua, curl, makeWrapper, which}:
 let
   s = # Generated upstream information
   rec {
     baseName="luarocks";
-    version="2.2";
+    version="2.2.0";
     name="${baseName}-${version}";
-    hash="03i46ayimp087288f0bi6g30fi3aixp2bha2jmsbbhwmsxm1yshs";
-    url="http://luarocks.org/releases/luarocks-2.2.0beta1.tar.gz";
-    sha256="03i46ayimp087288f0bi6g30fi3aixp2bha2jmsbbhwmsxm1yshs";
+    hash="1717p694455w1fdldb2ldlyklln8w3bqk1dsly8gpqh3n73lw6lv";
+    url="http://luarocks.org/releases/luarocks-2.2.0-rc1.tar.gz";
+    sha256="1717p694455w1fdldb2ldlyklln8w3bqk1dsly8gpqh3n73lw6lv";
   };
   buildInputs = [
-    lua curl
+    lua curl makeWrapper which
   ];
 in
 stdenv.mkDerivation {
@@ -19,6 +19,29 @@ stdenv.mkDerivation {
   src = fetchurl {
     inherit (s) url sha256;
   };
+  preConfigure = ''
+    lua -e "" || {
+        luajit -e "" && {
+	    export LUA_SUFFIX=jit
+	    configureFlags="$configureFlags --lua-suffix=$LUA_SUFFIX"
+	}
+    }
+    lua_inc="$(echo "${lua}/include"/*/)"
+    if test -n "$lua_inc"; then
+        configureFlags="$configureFlags --with-lua-include=$lua_inc"
+    fi
+  '';
+  postInstall = ''
+    sed -e "1s@.*@#! ${lua}/bin/lua$LUA_SUFFIX@" -i "$out"/bin/*
+    for i in "$out"/bin/*; do
+        test -L "$i" || {
+	    wrapProgram "$i" \
+	      --prefix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?.lua" \
+	      --prefix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \
+
+	}
+    done
+  '';
   meta = {
     inherit (s) version;
     description = ''A package manager for Lua'';
diff --git a/pkgs/development/tools/parsing/Ebnf2ps/default.nix b/pkgs/development/tools/parsing/Ebnf2ps/default.nix
index 5267849a9bc31..b3d4c125bb9e9 100644
--- a/pkgs/development/tools/parsing/Ebnf2ps/default.nix
+++ b/pkgs/development/tools/parsing/Ebnf2ps/default.nix
@@ -14,6 +14,5 @@ cabal.mkDerivation (self: {
     description = "Peter's Syntax Diagram Drawing Tool";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/parsing/alex/3.0.1.nix b/pkgs/development/tools/parsing/alex/3.0.1.nix
index a72f5eedc2319..7dc18c63c9159 100644
--- a/pkgs/development/tools/parsing/alex/3.0.1.nix
+++ b/pkgs/development/tools/parsing/alex/3.0.1.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/parsing/alex/3.0.2.nix b/pkgs/development/tools/parsing/alex/3.0.2.nix
index 90b9c2630f9db..c18c5d89d1be0 100644
--- a/pkgs/development/tools/parsing/alex/3.0.2.nix
+++ b/pkgs/development/tools/parsing/alex/3.0.2.nix
@@ -17,6 +17,5 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/parsing/alex/3.1.3.nix b/pkgs/development/tools/parsing/alex/3.1.3.nix
index b0f57d4d83340..172c90d96cc19 100644
--- a/pkgs/development/tools/parsing/alex/3.1.3.nix
+++ b/pkgs/development/tools/parsing/alex/3.1.3.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     description = "Alex is a tool for generating lexical analysers in Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/parsing/happy/1.18.10.nix b/pkgs/development/tools/parsing/happy/1.18.10.nix
index 0e3f730defd5e..187fd3628e835 100644
--- a/pkgs/development/tools/parsing/happy/1.18.10.nix
+++ b/pkgs/development/tools/parsing/happy/1.18.10.nix
@@ -15,6 +15,6 @@ cabal.mkDerivation (self: {
     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 ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/parsing/happy/1.18.4.nix b/pkgs/development/tools/parsing/happy/1.18.4.nix
index 5ebac4303e757..c7e3f919568be 100644
--- a/pkgs/development/tools/parsing/happy/1.18.4.nix
+++ b/pkgs/development/tools/parsing/happy/1.18.4.nix
@@ -14,6 +14,6 @@ cabal.mkDerivation (self: {
     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 ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/parsing/happy/1.18.5.nix b/pkgs/development/tools/parsing/happy/1.18.5.nix
index 7463a9f94a0aa..f66f208935168 100644
--- a/pkgs/development/tools/parsing/happy/1.18.5.nix
+++ b/pkgs/development/tools/parsing/happy/1.18.5.nix
@@ -14,6 +14,6 @@ cabal.mkDerivation (self: {
     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 ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/parsing/happy/1.18.6.nix b/pkgs/development/tools/parsing/happy/1.18.6.nix
index 3a3795c90db68..7919908681e10 100644
--- a/pkgs/development/tools/parsing/happy/1.18.6.nix
+++ b/pkgs/development/tools/parsing/happy/1.18.6.nix
@@ -14,6 +14,6 @@ cabal.mkDerivation (self: {
     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 ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/parsing/happy/1.18.9.nix b/pkgs/development/tools/parsing/happy/1.18.9.nix
index 25e8dcb7b7e10..4ad9bf546b5fc 100644
--- a/pkgs/development/tools/parsing/happy/1.18.9.nix
+++ b/pkgs/development/tools/parsing/happy/1.18.9.nix
@@ -15,6 +15,6 @@ cabal.mkDerivation (self: {
     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 ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/parsing/happy/1.19.4.nix b/pkgs/development/tools/parsing/happy/1.19.4.nix
index e7cd358fb827f..979d4bc52e376 100644
--- a/pkgs/development/tools/parsing/happy/1.19.4.nix
+++ b/pkgs/development/tools/parsing/happy/1.19.4.nix
@@ -15,6 +15,5 @@ cabal.mkDerivation (self: {
     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/tools/watchman/default.nix b/pkgs/development/tools/watchman/default.nix
index 90e31349e4f65..6db164131f7e3 100644
--- a/pkgs/development/tools/watchman/default.nix
+++ b/pkgs/development/tools/watchman/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ autoconf automake pcre ];
 
   configureFlags = [
+      "--enable-lenient"
       "--enable-conffile=${if confFile == null then "no" else confFile}"
       "--with-pcre=yes"
   ];
diff --git a/pkgs/development/web/remarkjs/default.nix b/pkgs/development/web/remarkjs/default.nix
index bf96175b8cd0c..0898761733447 100644
--- a/pkgs/development/web/remarkjs/default.nix
+++ b/pkgs/development/web/remarkjs/default.nix
@@ -14,11 +14,11 @@ let
 in stdenv.mkDerivation rec {
   name = "remarkjs-${version}";
 
-  version = "0.6.4";
+  version = "0.6.5";
 
   src = fetchurl {
     url = "https://github.com/gnab/remark/archive/v${version}.tar.gz";
-    sha256 = "0sdhpn91b05qdqfqbfrhkfx8rkqrgm9pqg4bgjhxf9prfjhvmlrn";
+    sha256 = "1bh3hmhq99qqd3qg747xwjqkyppc9vf3b5nhi56556rwc02cn17p";
   };
 
   buildInputs = with nodePackages; [
diff --git a/pkgs/games/Allure/default.nix b/pkgs/games/Allure/default.nix
new file mode 100644
index 0000000000000..532ef092f0945
--- /dev/null
+++ b/pkgs/games/Allure/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, enummapsetTh, filepath, LambdaHack, text }:
+
+cabal.mkDerivation (self: {
+  pname = "Allure";
+  version = "0.4.99.0";
+  sha256 = "1i4v1h4ynx4aap0nmf8qn2qx22wqfgypr83l7bh38fd4qibsvx3q";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ enummapsetTh filepath LambdaHack text ];
+  testDepends = [ enummapsetTh filepath LambdaHack text ];
+  meta = {
+    homepage = "http://allureofthestars.com";
+    description = "Near-future Sci-Fi roguelike and tactical squad game";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/games/LambdaHack/default.nix b/pkgs/games/LambdaHack/default.nix
index 00172b840c45c..eb4edf2b36a9f 100644
--- a/pkgs/games/LambdaHack/default.nix
+++ b/pkgs/games/LambdaHack/default.nix
@@ -3,13 +3,13 @@
 { cabal, assertFailure, async, binary, deepseq, enummapsetTh
 , filepath, gtk, hashable, hsini, keys, miniutter, mtl, prettyShow
 , random, stm, text, transformers, unorderedContainers, vector
-, vectorBinaryInstances, zlib
+, vectorBinaryInstances, x11, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "LambdaHack";
-  version = "0.2.14";
-  sha256 = "1nygyzrgzrv7qfr153xvkh50p0sjrbv3jbif7qmpam5jjlw26ahs";
+  version = "0.4.99.0";
+  sha256 = "1mcz44akf706a0q1xr4h7hlf1gj60570bi8im6jpg73k728314cp";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -22,16 +22,12 @@ cabal.mkDerivation (self: {
     hsini keys miniutter mtl prettyShow random stm text transformers
     unorderedContainers vector vectorBinaryInstances zlib
   ];
-  doCheck = false;
-  patchPhase = ''
-    sed -i -e 's|gtk >=.*|gtk|' LambdaHack.cabal
-  '';
+  pkgconfigDepends = [ gtk x11 ];
   meta = {
     homepage = "http://github.com/LambdaHack/LambdaHack";
-    description = "A roguelike game engine in early development";
+    description = "A game engine library for roguelike dungeon crawlers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = with self.stdenv.lib.maintainers; [ andres ];
   };
 })
diff --git a/pkgs/misc/emulators/mednafen/default.nix b/pkgs/misc/emulators/mednafen/default.nix
index c7ef57357500d..e3bb3965739b0 100644
--- a/pkgs/misc/emulators/mednafen/default.nix
+++ b/pkgs/misc/emulators/mednafen/default.nix
@@ -7,17 +7,16 @@
 stdenv.mkDerivation rec {
 
   name = "mednafen-${version}";
-  version = "0.9.34.1";
+  version = "0.9.36.3";
 
   src = fetchurl {
-    url = "http://sourceforge.net/projects/mednafen/files/Mednafen/${version}/${name}.tar.bz2";
-    sha256 = "1d783ws5rpx6r8qk1l9nksx3kahbalis606psk4067bvfzy7kjb9";
+    url = "http://downloads.sourceforge.net/project/mednafen/Mednafen/${version}/${name}.tar.bz2";
+    sha256 = "00byql2p28l4476mvzmv5ysclb6yv9f4qrf6vz0x7ii648rp97in";
   };
 
   buildInputs = with stdenv.lib;
-  [ libX11 mesa freeglut jack2 libcdio libsndfile libsamplerate SDL SDL_net zlib ];
+  [ pkgconfig libX11 mesa freeglut jack2 libcdio libsndfile libsamplerate SDL SDL_net zlib ];
   
-  nativeBuildInputs = [ pkgconfig ];
 
   # Install docs
   postInstall = ''
diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix
index 7afe895cb5c59..0479174981004 100644
--- a/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
     homepage = "http://www.jwz.org/xscreensaver/";
     description = "A set of screensavers";
     maintainers = with stdenv.lib.maintainers; [ raskin urkud ];
-    platforms = stdenv.lib.platforms.allBut "i686-cygwin";
+    platforms = with stdenv.lib.platforms; allBut cygwin;
   };
 }
diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix
index f9f5c185bbd05..2a87611a68009 100644
--- a/pkgs/os-specific/linux/bluez/bluez5.nix
+++ b/pkgs/os-specific/linux/bluez/bluez5.nix
@@ -5,11 +5,11 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "bluez-5.16";
+  name = "bluez-5.22";
    
   src = fetchurl {
     url = "mirror://kernel/linux/bluetooth/${name}.tar.xz";
-    sha256 = "0qxivd64az3qziw82axj2ksilllxq4fnb6fdrnlxr6d74550kmf8";
+    sha256 = "10h8p89jnhxhjw4x53j4r53i999qjaz82l5591q6q48qb98ndf78";
   };
 
   pythonPath = with pythonPackages;
diff --git a/pkgs/os-specific/linux/checkpolicy/default.nix b/pkgs/os-specific/linux/checkpolicy/default.nix
index 87cfc8ed939bc..1f06fb6621889 100644
--- a/pkgs/os-specific/linux/checkpolicy/default.nix
+++ b/pkgs/os-specific/linux/checkpolicy/default.nix
@@ -2,22 +2,24 @@
 stdenv.mkDerivation rec {
 
   name = "checkpolicy-${version}";
-  version = "2.2";
+  version = "2.3";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/checkpolicy-${version}.tar.gz";
-    sha256 = "1y5dx4s5k404fgpm7hlhgw8a9b9ksn3q2d3fj6f9rdac9n7nkxlz";
+    sha256 = "0yr0r2cxz9lbj7i0wqgcd4wjvc6zf1fmqk0xjybnkdpcmw8jsqwh";
   };
 
   buildInputs = [ libsepol libselinux bison flex ];
 
-  preBuild = '' makeFlags="$makeFlags LEX=flex LIBDIR=${libsepol}/lib PREFIX=$out" '';
+  preBuild = ''
+    makeFlags="$makeFlags LEX=flex LIBDIR=${libsepol}/lib PREFIX=$out"
+    sed -e 's@[.]o$@& ../lex.yy.o@' -i test/Makefile
+  '';
 
   meta = with stdenv.lib; {
     description = "SELinux policy compiler";
     license = licenses.gpl2;
     inherit (libsepol.meta) homepage platforms maintainers;
-    broken = true;
   };
 }
diff --git a/pkgs/os-specific/linux/criu/default.nix b/pkgs/os-specific/linux/criu/default.nix
index 8cb39927353c3..433cc2c81d7a7 100644
--- a/pkgs/os-specific/linux/criu/default.nix
+++ b/pkgs/os-specific/linux/criu/default.nix
@@ -1,21 +1,23 @@
-{ stdenv, fetchurl, protobuf, protobufc, asciidoc, xmlto, utillinux }:
+{ stdenv, fetchurl, protobuf, protobufc, asciidoc
+, xmlto, utillinux, docbook_xsl, libpaper }:
 
 stdenv.mkDerivation rec {
   name    = "criu-${version}";
-  version = "1.3-rc1";
+  version = "1.3-rc2";
 
   src = fetchurl {
     url    = "http://download.openvz.org/criu/${name}.tar.bz2";
-    sha256 = "00q3kyvaizg5x2zladj0mazmp69c9kg7nvlazcqf0w6bqp0y7sp0";
+    sha256 = "1h9ii91aq8cja22j3520vg3qb3y9h6c064s4115s2ldylm8jmi0s";
   };
 
   enableParallelBuilding = true;
-  buildInputs = [ protobuf protobufc asciidoc xmlto ];
+  buildInputs = [ protobuf protobufc asciidoc xmlto libpaper ];
 
   patchPhase = ''
     chmod +w ./scripts/gen-offsets.sh
     substituteInPlace ./scripts/gen-offsets.sh --replace hexdump ${utillinux}/bin/hexdump
     substituteInPlace ./Documentation/Makefile --replace "2>/dev/null" ""
+    substituteInPlace ./Documentation/Makefile --replace "--skip-validation" "--skip-validation -x ${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl"
   '';
 
   configurePhase = "make config PREFIX=$out";
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index 26938b7157835..8fa684e407cff 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.10.51";
+  version = "3.10.53";
   extraMeta.branch = "3.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1z1sbk13f5njbmx7vi775i2pp79f6b5r39cp85yzz0byvn6lx885";
+    sha256 = "1sxa6ppgpy9fgj4lyj8d53y309v6r5nmifbrcf5pqs6l944frhq6";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix
index 2d53d06f755c0..74d83345ec149 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.14.15";
+  version = "3.14.17";
   extraMeta.branch = "3.14";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0wjws67s698zpjj0kd3sxakjvnls91kc6vvz0md4i0qg683ld790";
+    sha256 = "1dl9skwd1xvkdm9gblidcawkck6x5slb41gbx0i8jxby2k6w6i5n";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.15.nix b/pkgs/os-specific/linux/kernel/linux-3.15.nix
index b59baf9f669c6..cb2463ebfdc82 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.15.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.15.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.15.8";
+  version = "3.15.10";
   extraMeta.branch = "3.15";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "012d793mg2lkxfs6rxqkl22p6899l620ssbsii1szfjhnynh1qjd";
+    sha256 = "1x057a1pfr4rqzmjdb3x1bwwl6gzr6im8dg8f6anwz9fnps6vv5d";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.16.nix b/pkgs/os-specific/linux/kernel/linux-3.16.nix
index 3a7e51a080e5c..be2e68ab81e34 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.16.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.16.nix
@@ -1,13 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.16";
-  modDirVersion = "3.16.0";
+  version = "3.16.1";
   extraMeta.branch = "3.16";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "183p3pz2rfprbp5i4kwk90kjn90v40banwx8759jxnd74xwss4s8";
+    sha256 = "0wbxqlmk7w9047ir51dsz6vi7ww0hpycgrb43mk2a189xaldsdxy";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.2.nix b/pkgs/os-specific/linux/kernel/linux-3.2.nix
index 80b9ff614d66f..13205e048ca63 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.2.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.2.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.2.60";
+  version = "3.2.62";
   extraMeta.branch = "3.2";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "10nigsr0i08ykmkbalsjm4v283iy42zxgxxl77h6484xxb52bw7s";
+    sha256 = "1yrmar14p5y9xaj9df388xwjmwz8fnsxnid6rkxxk7dni5di8nqf";
   };
 
   # We don't provide these patches if grsecurity is enabled, because
diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix
index 6a232d6450b40..30bb873501b84 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.4.101";
+  version = "3.4.103";
   extraMeta.branch = "3.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1zmb3dzqjiwb9ckj0gqqvlpdvqrjw17z9sddzxyawfrag6xv24a7";
+    sha256 = "1ldga9l7dydwv5zvl3xgk8833cjv73yasyy2qmgimkbs03s8q4ig";
   };
 
   kernelPatches = args.kernelPatches ++
diff --git a/pkgs/os-specific/linux/ldm/default.nix b/pkgs/os-specific/linux/ldm/default.nix
index a4d9e5a866dfd..c5e94ed81e9a0 100644
--- a/pkgs/os-specific/linux/ldm/default.nix
+++ b/pkgs/os-specific/linux/ldm/default.nix
@@ -3,7 +3,7 @@
 assert mountPath != "";
 
 let
-  version = "v0.4.2";
+  version = "0.5";
   git = https://github.com/LemonBoy/ldm.git;
 in
 stdenv.mkDerivation rec {
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
   # contains important fixes for LVM setups.
   src = fetchgit {
     url = meta.repositories.git;
-    rev = "refs/tags/${version}";
-    sha256 = "1fdm3l00csjyvz40py6wlsh8s441rbp4az3sc2i14ag7srh2yim8";
+    rev = "refs/tags/v${version}";
+    sha256 = "0kkby3a0xgh1lmkbzpsi4am2rqjv3ccgdpic99aw1c76y0ca837y";
   };
 
   buildInputs = [ udev utillinux ];
@@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
       --replace "/mnt/" "${mountPath}"
   '';
 
+  buildPhase = "make ldm";
+
   installPhase = ''
     mkdir -p $out/bin
     cp -v ldm $out/bin
diff --git a/pkgs/os-specific/linux/libselinux/default.nix b/pkgs/os-specific/linux/libselinux/default.nix
index e125ac3fe8e9d..746f49b519dd7 100644
--- a/pkgs/os-specific/linux/libselinux/default.nix
+++ b/pkgs/os-specific/linux/libselinux/default.nix
@@ -8,12 +8,12 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "libselinux-${version}";
-  version = "2.2.2";
+  version = "2.3";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/libselinux-${version}.tar.gz";
-    sha256 = "0gjs5cqwhqzmf0avnn0343ip69153k9z35vbp03sjvc02qs3darh";
+    sha256 = "1ckpiv6m5c07rp5vawlhv02w5rq8kc0n95fh2ckq2jnqxi1hn7hb";
   };
 
   buildInputs = [ pkgconfig libsepol pcre ]
diff --git a/pkgs/os-specific/linux/libsemanage/default.nix b/pkgs/os-specific/linux/libsemanage/default.nix
index afd83f7308064..599da9e4b3c2c 100644
--- a/pkgs/os-specific/linux/libsemanage/default.nix
+++ b/pkgs/os-specific/linux/libsemanage/default.nix
@@ -2,12 +2,12 @@
 stdenv.mkDerivation rec {
 
   name = "libsemanage-${version}";
-  version = "2.2";
+  version = "2.3";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/libsemanage-${version}.tar.gz";
-    sha256 = "0xdx0dwcsyw4kv9l6xwdkfg6v7fc9b5y176rkg6n6q0w1zx0pxhi";
+    sha256 = "0jrf66df80mvjhrsbxcnb60j69pg4dh2pydy8vj8dhhiwqsrxq03";
   };
 
   makeFlags = "PREFIX=$(out) DESTDIR=$(out)";
diff --git a/pkgs/os-specific/linux/libsepol/default.nix b/pkgs/os-specific/linux/libsepol/default.nix
index bb5dde9a61ed4..c469fe93493d4 100644
--- a/pkgs/os-specific/linux/libsepol/default.nix
+++ b/pkgs/os-specific/linux/libsepol/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libsepol-${version}";
-  version = "2.2";
-  se_release = "20131030";
+  version = "2.3";
+  se_release = "20140506";
   se_url = "${meta.homepage}/releases";
 
   src = fetchurl {
     url = "${se_url}/${se_release}/libsepol-${version}.tar.gz";
-    sha256 = "03zw6clp00cmi49x8iq8svhrp91jrcw0093zpnyhan190rqb593p";
+    sha256 = "13z6xakc2qqyhlvnc5h53jy7lqmh5b5cnpfn51lmvfdpqd18d3fc";
   };
 
   preBuild = '' makeFlags="$makeFlags PREFIX=$out DESTDIR=$out" '';
diff --git a/pkgs/os-specific/linux/policycoreutils/default.nix b/pkgs/os-specific/linux/policycoreutils/default.nix
index 063f89edaa2ba..d312e25fc2e43 100644
--- a/pkgs/os-specific/linux/policycoreutils/default.nix
+++ b/pkgs/os-specific/linux/policycoreutils/default.nix
@@ -4,12 +4,12 @@
 stdenv.mkDerivation rec {
 
   name = "policycoreutils-${version}";
-  version = "2.2.5";
+  version = "2.3";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/policycoreutils-${version}.tar.gz";
-    sha256 = "1i0chc3km3wdgzrd556mmhvsglydxrimclnn77s73wy2qfl51y5v";
+    sha256 = "1lpwxr5hw3dwhlp2p7y8jcr18mvfcrclwd8c2idz3lmmb3pglk46";
   };
 
   patchPhase = ''
diff --git a/pkgs/os-specific/linux/powertop/default.nix b/pkgs/os-specific/linux/powertop/default.nix
index 04ab624b86a4e..630fe04e226b6 100644
--- a/pkgs/os-specific/linux/powertop/default.nix
+++ b/pkgs/os-specific/linux/powertop/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gettext, libnl, ncurses, pciutils, pkgconfig, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "powertop-2.5";
+  name = "powertop-2.6.1";
 
   src = fetchurl {
-    url = "https://01.org/powertop/sites/default/files/downloads/${name}.tar.gz";
-    sha256 = "02rwqbpasdayl201v0549gbp2f82rd0hqiv3i111r7npanjhhb4b";
+    url = "https://01.org/sites/default/files/downloads/powertop/${name}.tar.gz";
+    sha256 = "1r103crmkdk617qrxqjzy2mlhaacbpg5q795546zwcxlbdnxwk03";
   };
 
   buildInputs = [ gettext libnl ncurses pciutils pkgconfig zlib ];
diff --git a/pkgs/os-specific/linux/setools/default.nix b/pkgs/os-specific/linux/setools/default.nix
index cc1363156dd74..63a43b2b5e938 100644
--- a/pkgs/os-specific/linux/setools/default.nix
+++ b/pkgs/os-specific/linux/setools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, pkgconfig, bison, flex
+{ stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, bison, flex
 , python, swig2, tcl, libsepol, libselinux, libxml2, sqlite, bzip2 }:
 
 stdenv.mkDerivation rec {
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "16g987ijaxabc30zyjzia4nafq49rm038y1pm4vca7i3kb67wf24";
   };
 
+  patches = [ ./ftbfs-invalid-operands-of-types.patch ];
+
   # SWIG-TCL is broken in 3.3.8
   configureFlags = ''
     --with-tcl=${tcl}/lib
diff --git a/pkgs/os-specific/linux/setools/ftbfs-invalid-operands-of-types.patch b/pkgs/os-specific/linux/setools/ftbfs-invalid-operands-of-types.patch
new file mode 100644
index 0000000000000..97a5727f05b05
--- /dev/null
+++ b/pkgs/os-specific/linux/setools/ftbfs-invalid-operands-of-types.patch
@@ -0,0 +1,15 @@
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750331
+
+Index: setools-git/secmds/replcon.cc
+===================================================================
+--- setools-git.orig/secmds/replcon.cc
++++ setools-git/secmds/replcon.cc
+@@ -60,7 +60,7 @@ static struct option const longopts[] =
+ 	{NULL, 0, NULL, 0}
+ };
+ 
+-extern int lsetfilecon_raw(const char *, security_context_t) __attribute__ ((weak));
++extern int lsetfilecon_raw(const char *, const char *) __attribute__ ((weak));
+ 
+ /**
+  * As that setools must work with older libselinux versions that may
diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix
index e9b533f668768..d5e2ed3ff9405 100644
--- a/pkgs/os-specific/linux/sysdig/default.nix
+++ b/pkgs/os-specific/linux/sysdig/default.nix
@@ -3,10 +3,10 @@ let
   inherit (stdenv.lib) optional optionalString;
   s = rec {
     baseName="sysdig";
-    version = "0.1.86";
+    version="0.1.87";
     name="${baseName}-${version}";
     url="https://github.com/draios/sysdig/archive/${version}.tar.gz";
-    sha256 = "1bb5whzxmbzr21fxirymhznkgdx01rsqzxd2dlnqvhbf8x2dpzw3";
+    sha256="0xfildaj8kzbngpza47zqm363i6q87m97a18qlmdisrxmz11s32b";
   };
   buildInputs = [
     cmake zlib luajit
diff --git a/pkgs/os-specific/linux/systemd/fixes.patch b/pkgs/os-specific/linux/systemd/fixes.patch
index 7410c87e277e0..72cf0e92bb84e 100644
--- a/pkgs/os-specific/linux/systemd/fixes.patch
+++ b/pkgs/os-specific/linux/systemd/fixes.patch
@@ -1,7 +1,25 @@
 diff --git a/Makefile.am b/Makefile.am
-index 3d9e5c1..4d43cb4 100644
+index 3d9e5c1..46487f6 100644
 --- a/Makefile.am
 +++ b/Makefile.am
+@@ -1095,7 +1095,7 @@ BUILT_SOURCES += \
+ 
+ src/shared/errno-list.txt:
+ 	$(AM_V_at)$(MKDIR_P) $(dir $@)
+-	$(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+[0-9]/ { print $$2; }'  > $@
++	$(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include errno.h - < /dev/null | $(AWK) '/^#define[ \t]+E[^ _]+[ \t]+/ { print $$2; }'  > $@
+ 
+ src/shared/errno-from-name.gperf: src/shared/errno-list.txt
+ 	$(AM_V_at)$(MKDIR_P) $(dir $@)
+@@ -1107,7 +1107,7 @@ src/shared/errno-from-name.h: src/shared/errno-from-name.gperf
+ 
+ src/shared/errno-to-name.h: src/shared/errno-list.txt
+ 	$(AM_V_at)$(MKDIR_P) $(dir $@)
+-	$(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@
++	$(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} !/EDEADLOCK/ && !/EWOULDBLOCK/ && !/ENOTSUP/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' < $< > $@
+ 
+ src/shared/af-list.txt:
+ 	$(AM_V_at)$(MKDIR_P) $(dir $@)
 @@ -1707,7 +1707,9 @@ dist_tmpfiles_DATA += \
  endif
  
@@ -13,8 +31,42 @@ index 3d9e5c1..4d43cb4 100644
  	systemd-tmpfiles-setup.service
  
  dist_zshcompletion_DATA += \
+@@ -1961,6 +1963,7 @@ systemd_cgls_SOURCES = \
+ 	src/cgls/cgls.c
+ 
+ systemd_cgls_LDADD = \
++	libsystemd-internal.la \
+ 	libsystemd-shared.la
+ 
+ # ------------------------------------------------------------------------------
+diff --git a/TODO b/TODO
+index e2ca1e6..d7efdd5 100644
+--- a/TODO
++++ b/TODO
+@@ -1,4 +1,6 @@
+ Bugfixes:
++* Should systemctl status \* work on all unit types, not just .service?
++
+ * enabling an instance unit creates a pointless link, and
+   the unit will be started with getty@getty.service:
+     $ systemctl enable getty@.service
+diff --git a/rules/42-usb-hid-pm.rules b/rules/42-usb-hid-pm.rules
+index c675b5b..4c300da 100644
+--- a/rules/42-usb-hid-pm.rules
++++ b/rules/42-usb-hid-pm.rules
+@@ -12,10 +12,6 @@ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}!=
+ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto"
+ ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}!="1", TEST=="power/control", ATTR{power/control}="auto"
+ 
+-# Catch-all for Avocent HID devices. Keyed off interface in order to only
+-# trigger on HID class devices.
+-ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0624", ATTR{bInterfaceClass}=="03", TEST=="../power/control", ATTR{../power/control}="auto"
+-
+ # Dell DRAC 4
+ ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="413c", ATTR{idProduct}=="2500", TEST=="power/control", ATTR{power/control}="auto"
+ 
 diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in
-index db72373..2fc12ca 100644
+index db72373..2875958 100644
 --- a/rules/99-systemd.rules.in
 +++ b/rules/99-systemd.rules.in
 @@ -14,10 +14,6 @@ KERNEL=="vport*", TAG+="systemd"
@@ -28,11 +80,329 @@ index db72373..2fc12ca 100644
  # Ignore raid devices that are not yet assembled and started
  SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", ENV{SYSTEMD_READY}="0"
  SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0"
+@@ -43,7 +39,7 @@ SUBSYSTEM=="net", KERNEL!="lo", TAG+="systemd", ENV{SYSTEMD_ALIAS}+="/sys/subsys
+ SUBSYSTEM=="bluetooth", TAG+="systemd", ENV{SYSTEMD_ALIAS}+="/sys/subsystem/bluetooth/devices/%k"
+ 
+ SUBSYSTEM=="bluetooth", TAG+="systemd", ENV{SYSTEMD_WANTS}+="bluetooth.target"
+-ENV{ID_SMARTCARD_READER}=="*?", TAG+="systemd", ENV{SYSTEMD_WANTS}+="smartcard.target"
++ENV{ID_SMARTCARD_READER}=="?*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="smartcard.target"
+ SUBSYSTEM=="sound", KERNEL=="card*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sound.target"
+ 
+ SUBSYSTEM=="printer", TAG+="systemd", ENV{SYSTEMD_WANTS}+="printer.target"
+diff --git a/src/cgls/cgls.c b/src/cgls/cgls.c
+index b8e275d..1840594 100644
+--- a/src/cgls/cgls.c
++++ b/src/cgls/cgls.c
+@@ -35,6 +35,10 @@
+ #include "build.h"
+ #include "output-mode.h"
+ #include "fileio.h"
++#include "sd-bus.h"
++#include "bus-util.h"
++#include "bus-error.h"
++#include "unit-name.h"
+ 
+ static bool arg_no_pager = false;
+ static bool arg_kernel_threads = false;
+@@ -127,6 +131,7 @@ int main(int argc, char *argv[]) {
+         int r = 0, retval = EXIT_FAILURE;
+         int output_flags;
+         char _cleanup_free_ *root = NULL;
++        _cleanup_bus_unref_ sd_bus *bus = NULL;
+ 
+         log_parse_environment();
+         log_open();
+@@ -151,6 +156,12 @@ int main(int argc, char *argv[]) {
+                 arg_all * OUTPUT_SHOW_ALL |
+                 (arg_full > 0) * OUTPUT_FULL_WIDTH;
+ 
++        r = bus_open_transport(BUS_TRANSPORT_LOCAL, NULL, false, &bus);
++        if (r < 0) {
++                log_error("Failed to create bus connection: %s", strerror(-r));
++                goto finish;
++        }
++
+         if (optind < argc) {
+                 int i;
+ 
+@@ -189,8 +200,52 @@ int main(int argc, char *argv[]) {
+                 } else {
+                         if (arg_machine) {
+                                 char *m;
++                                const char *cgroup;
++                                _cleanup_free_ char *scope = NULL;
++                                _cleanup_free_ char *path = NULL;
++                                _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
++                                _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
++
+                                 m = strappenda("/run/systemd/machines/", arg_machine);
+-                                r = parse_env_file(m, NEWLINE, "CGROUP", &root, NULL);
++                                r = parse_env_file(m, NEWLINE, "SCOPE", &scope, NULL);
++                                if (r < 0) {
++                                        log_error("Failed to get machine path: %s", strerror(-r));
++                                        goto finish;
++                                }
++
++                                path = unit_dbus_path_from_name(scope);
++                                if (!path) {
++                                        r = log_oom();
++                                        goto finish;
++                                }
++
++                                r = sd_bus_get_property(
++                                                bus,
++                                                "org.freedesktop.systemd1",
++                                                path,
++                                                "org.freedesktop.systemd1.Scope",
++                                                "ControlGroup",
++                                                &error,
++                                                &reply,
++                                                "s");
++
++                                if (r < 0) {
++                                        log_error("Failed to query ControlGroup: %s", bus_error_message(&error, -r));
++                                        goto finish;
++                                }
++
++                                r = sd_bus_message_read(reply, "s", &cgroup);
++                                if (r < 0) {
++                                        bus_log_parse_error(r);
++                                        goto finish;
++                                }
++
++                                root = strdup(cgroup);
++                                if (!root) {
++                                        r = log_oom();
++                                        goto finish;
++                                }
++
+                         } else
+                                 r = cg_get_root_path(&root);
+                         if (r < 0) {
+diff --git a/src/core/cgroup.c b/src/core/cgroup.c
+index 3dd4c91..4201e1e 100644
+--- a/src/core/cgroup.c
++++ b/src/core/cgroup.c
+@@ -871,7 +871,7 @@ int manager_setup_cgroup(Manager *m) {
+         safe_close(m->pin_cgroupfs_fd);
+ 
+         m->pin_cgroupfs_fd = open(path, O_RDONLY|O_CLOEXEC|O_DIRECTORY|O_NOCTTY|O_NONBLOCK);
+-        if (r < 0) {
++        if (m->pin_cgroupfs_fd < 0) {
+                 log_error("Failed to open pin file: %m");
+                 return -errno;
+         }
+diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
+index 775825b..5b1c4e3 100644
+--- a/src/core/dbus-cgroup.c
++++ b/src/core/dbus-cgroup.c
+@@ -173,6 +173,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->cpu_accounting = b;
++                        u->cgroup_realized_mask &= ~CGROUP_CPUACCT;
+                         unit_write_drop_in_private(u, mode, name, b ? "CPUAccounting=yes" : "CPUAccounting=no");
+                 }
+ 
+@@ -192,6 +193,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->cpu_shares = ul;
++                        u->cgroup_realized_mask &= ~CGROUP_CPU;
+                         unit_write_drop_in_private_format(u, mode, name, "CPUShares=%lu", ul);
+                 }
+ 
+@@ -206,6 +208,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->blockio_accounting = b;
++                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
+                         unit_write_drop_in_private(u, mode, name, b ? "BlockIOAccounting=yes" : "BlockIOAccounting=no");
+                 }
+ 
+@@ -225,6 +228,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->blockio_weight = ul;
++                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
+                         unit_write_drop_in_private_format(u, mode, name, "BlockIOWeight=%lu", ul);
+                 }
+ 
+@@ -294,6 +298,8 @@ int bus_cgroup_set_property(
+                                                 cgroup_context_free_blockio_device_bandwidth(c, a);
+                         }
+ 
++                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
++
+                         f = open_memstream(&buf, &size);
+                         if (!f)
+                                 return -ENOMEM;
+@@ -375,6 +381,8 @@ int bus_cgroup_set_property(
+                                         cgroup_context_free_blockio_device_weight(c, c->blockio_device_weights);
+                         }
+ 
++                        u->cgroup_realized_mask &= ~CGROUP_BLKIO;
++
+                         f = open_memstream(&buf, &size);
+                         if (!f)
+                                 return -ENOMEM;
+@@ -398,6 +406,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->memory_accounting = b;
++                        u->cgroup_realized_mask &= ~CGROUP_MEMORY;
+                         unit_write_drop_in_private(u, mode, name, b ? "MemoryAccounting=yes" : "MemoryAccounting=no");
+                 }
+ 
+@@ -412,6 +421,7 @@ int bus_cgroup_set_property(
+ 
+                 if (mode != UNIT_CHECK) {
+                         c->memory_limit = limit;
++                        u->cgroup_realized_mask &= ~CGROUP_MEMORY;
+                         unit_write_drop_in_private_format(u, mode, name, "%s=%" PRIu64, name, limit);
+                 }
+ 
+@@ -433,6 +443,7 @@ int bus_cgroup_set_property(
+                         char *buf;
+ 
+                         c->device_policy = p;
++                        u->cgroup_realized_mask &= ~CGROUP_DEVICE;
+ 
+                         buf = strappenda("DevicePolicy=", policy);
+                         unit_write_drop_in_private(u, mode, name, buf);
+@@ -511,6 +522,8 @@ int bus_cgroup_set_property(
+                                         cgroup_context_free_device_allow(c, c->device_allow);
+                         }
+ 
++                        u->cgroup_realized_mask &= ~CGROUP_DEVICE;
++
+                         f = open_memstream(&buf, &size);
+                         if (!f)
+                                 return -ENOMEM;
+diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
+index 13b3d0d..37d4154 100644
+--- a/src/core/dbus-execute.c
++++ b/src/core/dbus-execute.c
+@@ -842,7 +842,7 @@ int bus_exec_context_set_transient_property(
+                         strv_free(c->environment);
+                         c->environment = e;
+ 
+-                        joined = strv_join(c->environment, " ");
++                        joined = strv_join_quoted(c->environment);
+                         if (!joined)
+                                 return -ENOMEM;
+ 
+diff --git a/src/core/job.c b/src/core/job.c
+index 35a9de6..dc4f441 100644
+--- a/src/core/job.c
++++ b/src/core/job.c
+@@ -1060,6 +1060,9 @@ int job_coldplug(Job *j) {
+         if (r < 0)
+                 return r;
+ 
++        if (j->state == JOB_WAITING)
++                job_add_to_run_queue(j);
++
+         if (j->begin_usec == 0 || j->unit->job_timeout == 0)
+                 return 0;
+ 
+diff --git a/src/core/killall.c b/src/core/killall.c
+index 57ed41c..eab48f7 100644
+--- a/src/core/killall.c
++++ b/src/core/killall.c
+@@ -168,7 +168,7 @@ static int killall(int sig, Set *pids, bool send_sighup) {
+                         continue;
+ 
+                 if (sig == SIGKILL) {
+-                        _cleanup_free_ char *s;
++                        _cleanup_free_ char *s = NULL;
+ 
+                         get_process_comm(pid, &s);
+                         log_notice("Sending SIGKILL to PID "PID_FMT" (%s).", pid, strna(s));
+diff --git a/src/core/machine-id-setup.c b/src/core/machine-id-setup.c
+index d459afe..2a58e48 100644
+--- a/src/core/machine-id-setup.c
++++ b/src/core/machine-id-setup.c
+@@ -93,32 +93,9 @@ static int generate(char id[34], const char *root) {
+                 }
+         }
+ 
+-        /* If that didn't work, see if we are running in qemu/kvm and a
+-         * machine ID was passed in via -uuid on the qemu/kvm command
+-         * line */
+-
+-        r = detect_vm(&vm_id);
+-        if (r > 0 && streq(vm_id, "kvm")) {
+-                char uuid[37];
+-
+-                fd = open("/sys/class/dmi/id/product_uuid", O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW);
+-                if (fd >= 0) {
+-                        k = loop_read(fd, uuid, 36, false);
+-                        safe_close(fd);
+-
+-                        if (k >= 36) {
+-                                r = shorten_uuid(id, uuid);
+-                                if (r >= 0) {
+-                                        log_info("Initializing machine ID from KVM UUID.");
+-                                        return 0;
+-                                }
+-                        }
+-                }
+-        }
+-
+-        /* If that didn't work either, see if we are running in a
+-         * container, and a machine ID was passed in via
+-         * $container_uuid the way libvirt/LXC does it */
++        /* If that didn't work, see if we are running in a container,
++         * and a machine ID was passed in via $container_uuid the way
++         * libvirt/LXC does it */
+         r = detect_container(NULL);
+         if (r > 0) {
+                 _cleanup_free_ char *e = NULL;
+@@ -133,6 +110,30 @@ static int generate(char id[34], const char *root) {
+                                 }
+                         }
+                 }
++
++        } else {
++                /* If we are not running in a container, see if we are
++                 * running in qemu/kvm and a machine ID was passed in
++                 * via -uuid on the qemu/kvm command line */
++
++                r = detect_vm(&vm_id);
++                if (r > 0 && streq(vm_id, "kvm")) {
++                        char uuid[37];
++
++                        fd = open("/sys/class/dmi/id/product_uuid", O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NOFOLLOW);
++                        if (fd >= 0) {
++                                k = loop_read(fd, uuid, 36, false);
++                                safe_close(fd);
++
++                                if (k >= 36) {
++                                        r = shorten_uuid(id, uuid);
++                                        if (r >= 0) {
++                                                log_info("Initializing machine ID from KVM UUID.");
++                                                return 0;
++                                        }
++                                }
++                        }
++                }
+         }
+ 
+         /* If that didn't work, generate a random machine id */
 diff --git a/src/core/main.c b/src/core/main.c
-index 41605ee..8517369 100644
+index 41605ee..c65701d 100644
 --- a/src/core/main.c
 +++ b/src/core/main.c
-@@ -1883,7 +1883,7 @@ finish:
+@@ -1840,6 +1840,7 @@ finish:
+         if (reexecute) {
+                 const char **args;
+                 unsigned i, args_size;
++                sigset_t ss;
+ 
+                 /* Close and disarm the watchdog, so that the new
+                  * instance can reinitialize it, but doesn't get
+@@ -1883,7 +1884,7 @@ finish:
                          char_array_0(sfd);
  
                          i = 0;
@@ -41,6 +411,83 @@ index 41605ee..8517369 100644
                          if (switch_root_dir)
                                  args[i++] = "--switched-root";
                          args[i++] = arg_running_as == SYSTEMD_SYSTEM ? "--system" : "--user";
+@@ -1923,6 +1924,13 @@ finish:
+                 args[i++] = NULL;
+                 assert(i <= args_size);
+ 
++                /* reenable any blocked signals, especially important
++                 * if we switch from initial ramdisk to init=... */
++                reset_all_signal_handlers();
++
++                assert_se(sigemptyset(&ss) == 0);
++                assert_se(sigprocmask(SIG_SETMASK, &ss, NULL) == 0);
++
+                 if (switch_root_init) {
+                         args[0] = switch_root_init;
+                         execv(args[0], (char* const*) args);
+diff --git a/src/core/manager.c b/src/core/manager.c
+index 224106c..7342095 100644
+--- a/src/core/manager.c
++++ b/src/core/manager.c
+@@ -422,7 +422,7 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) {
+                 return -ENOMEM;
+ 
+ #ifdef ENABLE_EFI
+-        if (detect_container(NULL) <= 0)
++        if (running_as == SYSTEMD_SYSTEM && detect_container(NULL) <= 0)
+                 boot_timestamps(&m->userspace_timestamp, &m->firmware_timestamp, &m->loader_timestamp);
+ #endif
+ 
+@@ -2129,9 +2129,6 @@ int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool switching_root) {
+                 if (u->id != t)
+                         continue;
+ 
+-                if (!unit_can_serialize(u))
+-                        continue;
+-
+                 /* Start marker */
+                 fputs(u->id, f);
+                 fputc('\n', f);
+diff --git a/src/core/namespace.c b/src/core/namespace.c
+index 9f15211..e41cf5b 100644
+--- a/src/core/namespace.c
++++ b/src/core/namespace.c
+@@ -42,6 +42,7 @@
+ #include "mkdir.h"
+ #include "dev-setup.h"
+ #include "def.h"
++#include "label.h"
+ 
+ typedef enum MountMode {
+         /* This is ordered by priority! */
+@@ -68,6 +69,7 @@ static int append_mounts(BindMount **p, char **strv, MountMode mode) {
+         STRV_FOREACH(i, strv) {
+ 
+                 (*p)->ignore = false;
++                (*p)->done = false;
+ 
+                 if ((mode == INACCESSIBLE || mode == READONLY || mode == READWRITE) && (*i)[0] == '-') {
+                         (*p)->ignore = true;
+@@ -217,7 +219,10 @@ static int mount_dev(BindMount *m) {
+                         goto fail;
+                 }
+ 
++                label_context_set(d, st.st_mode);
+                 r = mknod(dn, st.st_mode, st.st_rdev);
++                label_context_clear();
++
+                 if (r < 0) {
+                         r = -errno;
+                         goto fail;
+@@ -350,7 +355,7 @@ int setup_namespace(
+                 private_dev;
+ 
+         if (n > 0) {
+-                m = mounts = (BindMount *) alloca(n * sizeof(BindMount));
++                m = mounts = (BindMount *) alloca0(n * sizeof(BindMount));
+                 r = append_mounts(&m, read_write_dirs, READWRITE);
+                 if (r < 0)
+                         return r;
 diff --git a/src/core/service.c b/src/core/service.c
 index ae3695a..6b3aa45 100644
 --- a/src/core/service.c
@@ -58,7 +505,7 @@ index ae3695a..6b3aa45 100644
                  log_error_unit(UNIT(s)->id, "%s is of type D-Bus but no D-Bus service name has been specified. Refusing.", UNIT(s)->id);
                  return -EINVAL;
 diff --git a/src/core/socket.c b/src/core/socket.c
-index 7c18a2b..eba67d5 100644
+index 7c18a2b..1a560a6 100644
 --- a/src/core/socket.c
 +++ b/src/core/socket.c
 @@ -663,16 +663,25 @@ static int instance_from_socket(int fd, unsigned nr, char **instance) {
@@ -96,6 +543,115 @@ index 7c18a2b..eba67d5 100644
                  break;
          }
  
+@@ -1242,6 +1251,8 @@ static int socket_spawn(Socket *s, ExecCommand *c, pid_t *_pid) {
+                        NULL,
+                        s->exec_runtime,
+                        &pid);
++        if (r < 0)
++                goto fail;
+ 
+         strv_free(argv);
+         if (r < 0)
+@@ -1497,6 +1508,12 @@ static void socket_enter_running(Socket *s, int cfd) {
+                         }
+ 
+                 if (!pending) {
++                        if (!UNIT_ISSET(s->service)) {
++                                log_error_unit(UNIT(s)->id, "%s: service to activate vanished, refusing activation.", UNIT(s)->id);
++                                r = -ENOENT;
++                                goto fail;
++                        }
++
+                         r = manager_add_job(UNIT(s)->manager, JOB_START, UNIT_DEREF(s->service), JOB_REPLACE, true, &error, NULL);
+                         if (r < 0)
+                                 goto fail;
+diff --git a/src/core/timer.c b/src/core/timer.c
+index 6c85304..720b8af 100644
+--- a/src/core/timer.c
++++ b/src/core/timer.c
+@@ -111,6 +111,23 @@ static int timer_add_default_dependencies(Timer *t) {
+         return unit_add_two_dependencies_by_name(UNIT(t), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_SHUTDOWN_TARGET, NULL, true);
+ }
+ 
++static void update_stampfile(Timer *t, usec_t timestamp) {
++        _cleanup_close_ int fd = -1;
++
++        mkdir_parents_label(t->stamp_path, 0755);
++
++        /* Update the file atime + mtime, if we can */
++        fd = open(t->stamp_path, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644);
++        if (fd >= 0) {
++                struct timespec ts[2];
++
++                timespec_store(&ts[0], timestamp);
++                ts[1] = ts[0];
++
++                futimens(fd, ts);
++        }
++}
++
+ static int timer_setup_persistent(Timer *t) {
+         int r;
+ 
+@@ -131,7 +148,7 @@ static int timer_setup_persistent(Timer *t) {
+ 
+                 e = getenv("XDG_DATA_HOME");
+                 if (e)
+-                        t->stamp_path = strjoin(e, "/systemd/timers/", UNIT(t)->id, NULL);
++                        t->stamp_path = strjoin(e, "/systemd/timers/stamp-", UNIT(t)->id, NULL);
+                 else {
+ 
+                         _cleanup_free_ char *h = NULL;
+@@ -496,22 +513,8 @@ static void timer_enter_running(Timer *t) {
+ 
+         dual_timestamp_get(&t->last_trigger);
+ 
+-        if (t->stamp_path) {
+-                _cleanup_close_ int fd = -1;
+-
+-                mkdir_parents_label(t->stamp_path, 0755);
+-
+-                /* Update the file atime + mtime, if we can */
+-                fd = open(t->stamp_path, O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644);
+-                if (fd >= 0) {
+-                        struct timespec ts[2];
+-
+-                        timespec_store(&ts[0], t->last_trigger.realtime);
+-                        ts[1] = ts[0];
+-
+-                        futimens(fd, ts);
+-                }
+-        }
++        if (t->stamp_path)
++                update_stampfile(t, t->last_trigger.realtime);
+ 
+         timer_set_state(t, TIMER_RUNNING);
+         return;
+@@ -539,6 +542,11 @@ static int timer_start(Unit *u) {
+ 
+                 if (stat(t->stamp_path, &st) >= 0)
+                         t->last_trigger.realtime = timespec_load(&st.st_atim);
++                else if (errno == ENOENT)
++                        /* The timer has never run before,
++                         * make sure a stamp file exists.
++                         */
++                        update_stampfile(t, now(CLOCK_REALTIME));
+         }
+ 
+         t->result = TIMER_SUCCESS;
+diff --git a/src/core/transaction.c b/src/core/transaction.c
+index d00f427..2befc32 100644
+--- a/src/core/transaction.c
++++ b/src/core/transaction.c
+@@ -378,7 +378,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi
+                                       "Found dependency on %s/%s",
+                                       k->unit->id, job_type_to_string(k->type));
+ 
+-                        if (!delete &&
++                        if (!delete && hashmap_get(tr->jobs, k->unit) &&
+                             !unit_matters_to_anchor(k->unit, k)) {
+                                 /* Ok, we can drop this one, so let's
+                                  * do so. */
 diff --git a/src/core/umount.c b/src/core/umount.c
 index d1258f0..0311812 100644
 --- a/src/core/umount.c
@@ -109,6 +665,195 @@ index d1258f0..0311812 100644
  #ifndef HAVE_SPLIT_USR
                      || path_equal(m->path, "/usr")
  #endif
+diff --git a/src/core/unit.c b/src/core/unit.c
+index 153b79b..ed52694 100644
+--- a/src/core/unit.c
++++ b/src/core/unit.c
+@@ -2287,25 +2287,25 @@ bool unit_can_serialize(Unit *u) {
+ }
+ 
+ int unit_serialize(Unit *u, FILE *f, FDSet *fds, bool serialize_jobs) {
+-        ExecRuntime *rt;
+         int r;
+ 
+         assert(u);
+         assert(f);
+         assert(fds);
+ 
+-        if (!unit_can_serialize(u))
+-                return 0;
+-
+-        r = UNIT_VTABLE(u)->serialize(u, f, fds);
+-        if (r < 0)
+-                return r;
++        if (unit_can_serialize(u)) {
++                ExecRuntime *rt;
+ 
+-        rt = unit_get_exec_runtime(u);
+-        if (rt) {
+-                r = exec_runtime_serialize(rt, u, f, fds);
++                r = UNIT_VTABLE(u)->serialize(u, f, fds);
+                 if (r < 0)
+                         return r;
++
++                rt = unit_get_exec_runtime(u);
++                if (rt) {
++                        r = exec_runtime_serialize(rt, u, f, fds);
++                        if (r < 0)
++                                return r;
++                }
+         }
+ 
+         dual_timestamp_serialize(f, "inactive-exit-timestamp", &u->inactive_exit_timestamp);
+@@ -2367,17 +2367,14 @@ void unit_serialize_item(Unit *u, FILE *f, const char *key, const char *value) {
+ }
+ 
+ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
+-        size_t offset;
+         ExecRuntime **rt = NULL;
++        size_t offset;
+         int r;
+ 
+         assert(u);
+         assert(f);
+         assert(fds);
+ 
+-        if (!unit_can_serialize(u))
+-                return 0;
+-
+         offset = UNIT_VTABLE(u)->exec_runtime_offset;
+         if (offset > 0)
+                 rt = (ExecRuntime**) ((uint8_t*) u + offset);
+@@ -2487,24 +2484,34 @@ int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
+                         if (!s)
+                                 return -ENOMEM;
+ 
+-                        free(u->cgroup_path);
+-                        u->cgroup_path = s;
++                        if (u->cgroup_path) {
++                                void *p;
+ 
++                                p = hashmap_remove(u->manager->cgroup_unit, u->cgroup_path);
++                                log_info("Removing cgroup_path %s from hashmap (%p)",
++                                         u->cgroup_path, p);
++                                free(u->cgroup_path);
++                        }
++
++                        u->cgroup_path = s;
+                         assert(hashmap_put(u->manager->cgroup_unit, s, u) == 1);
++
+                         continue;
+                 }
+ 
+-                if (rt) {
+-                        r = exec_runtime_deserialize_item(rt, u, l, v, fds);
++                if (unit_can_serialize(u)) {
++                        if (rt) {
++                                r = exec_runtime_deserialize_item(rt, u, l, v, fds);
++                                if (r < 0)
++                                        return r;
++                                if (r > 0)
++                                        continue;
++                        }
++
++                        r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds);
+                         if (r < 0)
+                                 return r;
+-                        if (r > 0)
+-                                continue;
+                 }
+-
+-                r = UNIT_VTABLE(u)->deserialize_item(u, l, v, fds);
+-                if (r < 0)
+-                        return r;
+         }
+ }
+ 
+diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
+index 75d56dd..be8fb2f 100644
+--- a/src/cryptsetup/cryptsetup-generator.c
++++ b/src/cryptsetup/cryptsetup-generator.c
+@@ -29,6 +29,7 @@
+ #include "mkdir.h"
+ #include "strv.h"
+ #include "fileio.h"
++#include "path-util.h"
+ 
+ static const char *arg_dest = "/tmp";
+ static bool arg_enabled = true;
+@@ -144,16 +145,19 @@ static int create_disk(
+                         if (!uu)
+                                 return log_oom();
+ 
+-                        if (is_device_path(uu)) {
+-                                _cleanup_free_ char *dd;
++                        if (!path_equal(uu, "/dev/null")) {
+ 
+-                                dd = unit_name_from_path(uu, ".device");
+-                                if (!dd)
+-                                        return log_oom();
++                                if (is_device_path(uu)) {
++                                        _cleanup_free_ char *dd;
+ 
+-                                fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
+-                        } else
+-                                fprintf(f, "RequiresMountsFor=%s\n", password);
++                                        dd = unit_name_from_path(uu, ".device");
++                                        if (!dd)
++                                                return log_oom();
++
++                                        fprintf(f, "After=%1$s\nRequires=%1$s\n", dd);
++                                } else
++                                        fprintf(f, "RequiresMountsFor=%s\n", password);
++                        }
+                 }
+         }
+ 
+@@ -287,7 +291,7 @@ static int parse_proc_cmdline_item(const char *key, const char *value) {
+         } else if (STR_IN_SET(key, "luks.key", "rd.luks.key") && value) {
+ 
+                 free(arg_keyfile);
+-                arg_keyfile = strdup(key);
++                arg_keyfile = strdup(value);
+                 if (!arg_keyfile)
+                         return log_oom();
+ 
+diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c
+index 9b9074c..ad6c76c 100644
+--- a/src/cryptsetup/cryptsetup.c
++++ b/src/cryptsetup/cryptsetup.c
+@@ -88,6 +88,13 @@ static int parse_one_option(const char *option) {
+                         return 0;
+                 }
+ 
++                if (arg_key_size % 8) {
++                        log_error("size= not a multiple of 8, ignoring.");
++                        return 0;
++                }
++
++                arg_key_size /= 8;
++
+         } else if (startswith(option, "key-slot=")) {
+ 
+                 arg_type = CRYPT_LUKS1;
+@@ -404,7 +411,7 @@ static int attach_luks_or_plain(struct crypt_device *cd,
+                 /* for CRYPT_PLAIN limit reads
+                  * from keyfile to key length, and
+                  * ignore keyfile-size */
+-                arg_keyfile_size = arg_key_size / 8;
++                arg_keyfile_size = arg_key_size;
+ 
+                 /* In contrast to what the name
+                  * crypt_setup() might suggest this
+@@ -567,7 +574,7 @@ int main(int argc, char *argv[]) {
+                 else
+                         until = 0;
+ 
+-                arg_key_size = (arg_key_size > 0 ? arg_key_size : 256);
++                arg_key_size = (arg_key_size > 0 ? arg_key_size : (256 / 8));
+ 
+                 if (key_file) {
+                         struct stat st;
 diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c
 index 18f2aca..2a2b1ea 100644
 --- a/src/fsck/fsck.c
@@ -131,11 +876,715 @@ index 18f2aca..2a2b1ea 100644
          cmdline[i++] = "-a";
          cmdline[i++] = "-T";
          cmdline[i++] = "-l";
+diff --git a/src/getty-generator/getty-generator.c b/src/getty-generator/getty-generator.c
+index 6a4aa2c..700e90a 100644
+--- a/src/getty-generator/getty-generator.c
++++ b/src/getty-generator/getty-generator.c
+@@ -72,7 +72,7 @@ static int add_serial_getty(const char *tty) {
+ 
+         log_debug("Automatically adding serial getty for /dev/%s.", tty);
+ 
+-        n = unit_name_replace_instance("serial-getty@.service", tty);
++        n = unit_name_from_path_instance("serial-getty", tty, ".service");
+         if (!n)
+                 return log_oom();
+ 
+@@ -86,7 +86,7 @@ static int add_container_getty(const char *tty) {
+ 
+         log_debug("Automatically adding container getty for /dev/pts/%s.", tty);
+ 
+-        n = unit_name_replace_instance("container-getty@.service", tty);
++        n = unit_name_from_path_instance("container-getty", tty, ".service");
+         if (!n)
+                 return log_oom();
+ 
+diff --git a/src/journal/catalog.c b/src/journal/catalog.c
+index 3ed0b7e..02dedc4 100644
+--- a/src/journal/catalog.c
++++ b/src/journal/catalog.c
+@@ -103,7 +103,7 @@ static int finish_item(
+                 const char *payload) {
+ 
+         ssize_t offset;
+-        CatalogItem *i;
++        _cleanup_free_ CatalogItem *i = NULL;
+         int r;
+ 
+         assert(h);
+@@ -126,13 +126,14 @@ static int finish_item(
+         i->offset = htole64((uint64_t) offset);
+ 
+         r = hashmap_put(h, i, i);
+-        if (r == EEXIST) {
++        if (r == -EEXIST) {
+                 log_warning("Duplicate entry for " SD_ID128_FORMAT_STR ".%s, ignoring.",
+                             SD_ID128_FORMAT_VAL(id), language ? language : "C");
+-                free(i);
+                 return 0;
+-        }
++        } else if (r < 0)
++                return r;
+ 
++        i = NULL;
+         return 0;
+ }
+ 
+@@ -383,8 +384,8 @@ error:
+ int catalog_update(const char* database, const char* root, const char* const* dirs) {
+         _cleanup_strv_free_ char **files = NULL;
+         char **f;
+-        Hashmap *h;
+         struct strbuf *sb = NULL;
++        _cleanup_hashmap_free_free_ Hashmap *h = NULL;
+         _cleanup_free_ CatalogItem *items = NULL;
+         CatalogItem *i;
+         Iterator j;
+@@ -406,13 +407,17 @@ int catalog_update(const char* database, const char* root, const char* const* di
+         }
+ 
+         STRV_FOREACH(f, files) {
+-                log_debug("reading file '%s'", *f);
+-                catalog_import_file(h, sb, *f);
++                log_debug("Reading file '%s'", *f);
++                r = catalog_import_file(h, sb, *f);
++                if (r < 0) {
++                        log_error("Failed to import file '%s': %s.",
++                                  *f, strerror(-r));
++                        goto finish;
++                }
+         }
+ 
+         if (hashmap_size(h) <= 0) {
+                 log_info("No items in catalog.");
+-                r = 0;
+                 goto finish;
+         } else
+                 log_debug("Found %u items in catalog.", hashmap_size(h));
+@@ -443,11 +448,7 @@ int catalog_update(const char* database, const char* root, const char* const* di
+                 log_debug("%s: wrote %u items, with %zu bytes of strings, %ld total size.",
+                           database, n, sb->len, r);
+ 
+-        r = 0;
+-
+ finish:
+-        if (h)
+-                hashmap_free_free(h);
+         if (sb)
+                 strbuf_cleanup(sb);
+ 
+diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
+index f2f1f35..fd9d2a8 100644
+--- a/src/journal/journal-file.c
++++ b/src/journal/journal-file.c
+@@ -274,12 +274,6 @@ static int journal_file_verify_header(JournalFile *f) {
+             !VALID64(le64toh(f->header->entry_array_offset)))
+                 return -ENODATA;
+ 
+-        if (le64toh(f->header->data_hash_table_offset) < le64toh(f->header->header_size) ||
+-            le64toh(f->header->field_hash_table_offset) < le64toh(f->header->header_size) ||
+-            le64toh(f->header->tail_object_offset) < le64toh(f->header->header_size) ||
+-            le64toh(f->header->entry_array_offset) < le64toh(f->header->header_size))
+-                return -ENODATA;
+-
+         if (f->writable) {
+                 uint8_t state;
+                 sd_id128_t machine_id;
+diff --git a/src/journal/journal-remote-parse.c b/src/journal/journal-remote-parse.c
+index 142de0e..239ff38 100644
+--- a/src/journal/journal-remote-parse.c
++++ b/src/journal/journal-remote-parse.c
+@@ -40,7 +40,7 @@ void source_free(RemoteSource *source) {
+ 
+ static int get_line(RemoteSource *source, char **line, size_t *size) {
+         ssize_t n, remain;
+-        char *c;
++        char *c = NULL;
+         char *newbuf = NULL;
+         size_t newsize = 0;
+ 
+@@ -49,7 +49,9 @@ static int get_line(RemoteSource *source, char **line, size_t *size) {
+         assert(source->filled <= source->size);
+         assert(source->buf == NULL || source->size > 0);
+ 
+-        c = memchr(source->buf, '\n', source->filled);
++        if (source->buf)
++                c = memchr(source->buf, '\n', source->filled);
++
+         if (c != NULL)
+                 goto docopy;
+ 
+diff --git a/src/journal/journald-kmsg.c b/src/journal/journald-kmsg.c
+index 35948ea..48725e4 100644
+--- a/src/journal/journald-kmsg.c
++++ b/src/journal/journald-kmsg.c
+@@ -152,7 +152,7 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) {
+                 /* Did we lose any? */
+                 if (serial > *s->kernel_seqnum)
+                         server_driver_message(s, SD_MESSAGE_JOURNAL_MISSED, "Missed %"PRIu64" kernel messages",
+-                                              serial - *s->kernel_seqnum - 1);
++                                              serial - *s->kernel_seqnum);
+ 
+                 /* Make sure we never read this one again. Note that
+                  * we always store the next message serial we expect
+diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
+index 6da81e7..b6f8e7e 100644
+--- a/src/journal/journald-server.c
++++ b/src/journal/journald-server.c
+@@ -67,6 +67,7 @@
+ #define DEFAULT_SYNC_INTERVAL_USEC (5*USEC_PER_MINUTE)
+ #define DEFAULT_RATE_LIMIT_INTERVAL (30*USEC_PER_SEC)
+ #define DEFAULT_RATE_LIMIT_BURST 1000
++#define DEFAULT_MAX_FILE_USEC USEC_PER_MONTH
+ 
+ #define RECHECK_AVAILABLE_SPACE_USEC (30*USEC_PER_SEC)
+ 
+@@ -1473,6 +1474,8 @@ int server_init(Server *s) {
+         s->forward_to_syslog = true;
+         s->forward_to_wall = true;
+ 
++        s->max_file_usec = DEFAULT_MAX_FILE_USEC;
++
+         s->max_level_store = LOG_DEBUG;
+         s->max_level_syslog = LOG_DEBUG;
+         s->max_level_kmsg = LOG_NOTICE;
+diff --git a/src/journal/microhttpd-util.c b/src/journal/microhttpd-util.c
+index f693e0f..9a8d5c6 100644
+--- a/src/journal/microhttpd-util.c
++++ b/src/journal/microhttpd-util.c
+@@ -129,7 +129,7 @@ void log_func_gnutls(int level, const char *message) {
+         if (0 <= level && level < (int) ELEMENTSOF(log_level_map))
+                 ourlevel = log_level_map[level];
+         else
+-                level = LOG_DEBUG;
++                ourlevel = LOG_DEBUG;
+ 
+         log_meta(ourlevel, NULL, 0, NULL, "gnutls: %s", message);
+ }
+diff --git a/src/journal/test-catalog.c b/src/journal/test-catalog.c
+index b087a8b..967ab67 100644
+--- a/src/journal/test-catalog.c
++++ b/src/journal/test-catalog.c
+@@ -157,7 +157,8 @@ int main(int argc, char *argv[]) {
+ 
+         setlocale(LC_ALL, "de_DE.UTF-8");
+ 
+-        log_set_max_level(LOG_DEBUG);
++        log_parse_environment();
++        log_open();
+ 
+         test_catalog_file_lang();
+ 
+diff --git a/src/libsystemd/sd-rtnl/rtnl-message.c b/src/libsystemd/sd-rtnl/rtnl-message.c
+index 84a8ffa..e79b318 100644
+--- a/src/libsystemd/sd-rtnl/rtnl-message.c
++++ b/src/libsystemd/sd-rtnl/rtnl-message.c
+@@ -335,24 +335,28 @@ int sd_rtnl_message_link_get_flags(sd_rtnl_message *m, unsigned *flags) {
+ /* If successful the updated message will be correctly aligned, if
+    unsuccessful the old message is untouched. */
+ static int add_rtattr(sd_rtnl_message *m, unsigned short type, const void *data, size_t data_length) {
+-        uint32_t rta_length, message_length;
++        uint32_t rta_length;
++        size_t message_length, padding_length;
+         struct nlmsghdr *new_hdr;
+         struct rtattr *rta;
+         char *padding;
+         unsigned i;
++        int offset;
+ 
+         assert(m);
+         assert(m->hdr);
+         assert(!m->sealed);
+         assert(NLMSG_ALIGN(m->hdr->nlmsg_len) == m->hdr->nlmsg_len);
+-        assert(!data || data_length > 0);
+-        assert(data || m->n_containers < RTNL_CONTAINER_DEPTH);
++        assert(!data || data_length);
++
++        /* get offset of the new attribute */
++        offset = m->hdr->nlmsg_len;
+ 
+         /* get the size of the new rta attribute (with padding at the end) */
+         rta_length = RTA_LENGTH(data_length);
+ 
+         /* get the new message size (with padding at the end) */
+-        message_length = m->hdr->nlmsg_len + RTA_ALIGN(rta_length);
++        message_length = offset + RTA_ALIGN(rta_length);
+ 
+         /* realloc to fit the new attribute */
+         new_hdr = realloc(m->hdr, message_length);
+@@ -361,32 +365,35 @@ static int add_rtattr(sd_rtnl_message *m, unsigned short type, const void *data,
+         m->hdr = new_hdr;
+ 
+         /* get pointer to the attribute we are about to add */
+-        rta = (struct rtattr *) ((uint8_t *) m->hdr + m->hdr->nlmsg_len);
++        rta = (struct rtattr *) ((uint8_t *) m->hdr + offset);
+ 
+         /* if we are inside containers, extend them */
+         for (i = 0; i < m->n_containers; i++)
+-                GET_CONTAINER(m, i)->rta_len += message_length - m->hdr->nlmsg_len;
++                GET_CONTAINER(m, i)->rta_len += message_length - offset;
+ 
+         /* fill in the attribute */
+         rta->rta_type = type;
+         rta->rta_len = rta_length;
+-        if (!data) {
+-                /* this is the start of a new container */
+-                m->container_offsets[m->n_containers ++] = m->hdr->nlmsg_len;
+-        } else {
++        if (data)
+                 /* we don't deal with the case where the user lies about the type
+                  * and gives us too little data (so don't do that)
+-                */
++                 */
+                 padding = mempcpy(RTA_DATA(rta), data, data_length);
+-                /* make sure also the padding at the end of the message is initialized */
+-                memzero(padding,
+-                        (uint8_t *) m->hdr + message_length - (uint8_t *) padding);
++        else {
++                /* if no data was passed, make sure we still initialize the padding
++                   note that we can have data_length > 0 (used by some containers) */
++                padding = RTA_DATA(rta);
++                data_length = 0;
+         }
+ 
++        /* make sure also the padding at the end of the message is initialized */
++        padding_length = (uint8_t*)m->hdr + message_length - (uint8_t*)padding;
++        memzero(padding, padding_length);
++
+         /* update message size */
+         m->hdr->nlmsg_len = message_length;
+ 
+-        return 0;
++        return offset;
+ }
+ 
+ int sd_rtnl_message_append_string(sd_rtnl_message *m, unsigned short type, const char *data) {
+@@ -761,22 +768,29 @@ int sd_rtnl_message_open_container(sd_rtnl_message *m, unsigned short type) {
+ 
+         assert_return(m, -EINVAL);
+         assert_return(!m->sealed, -EPERM);
++        assert_return(m->n_containers < RTNL_CONTAINER_DEPTH, -ERANGE);
+ 
+         sd_rtnl_message_get_type(m, &rtm_type);
+ 
++        int r = -ENOTSUP;
++
+         if (rtnl_message_type_is_link(rtm_type)) {
+ 
+                 if ((type == IFLA_LINKINFO && m->n_containers == 0) ||
+                     (type == IFLA_INFO_DATA && m->n_containers == 1 &&
+                      GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO))
+-                        return add_rtattr(m, type, NULL, 0);
++                        r = add_rtattr(m, type, NULL, 0);
+                 else if (type == VETH_INFO_PEER && m->n_containers == 2 &&
+                          GET_CONTAINER(m, 1)->rta_type == IFLA_INFO_DATA &&
+                          GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO)
+-                        return add_rtattr(m, type, NULL, sizeof(struct ifinfomsg));
++                        r=  add_rtattr(m, type, NULL, sizeof(struct ifinfomsg));
+         }
+ 
+-        return -ENOTSUP;
++        if (r < 0) return r;
++
++        m->container_offsets[m->n_containers ++] = r;
++
++        return 0;
+ }
+ 
+ int sd_rtnl_message_close_container(sd_rtnl_message *m) {
+diff --git a/src/libudev/libudev-monitor.c b/src/libudev/libudev-monitor.c
+index ba1b04d..85b1e40 100644
+--- a/src/libudev/libudev-monitor.c
++++ b/src/libudev/libudev-monitor.c
+@@ -108,15 +108,13 @@ static struct udev_monitor *udev_monitor_new(struct udev *udev)
+ 
+ /* we consider udev running when /dev is on devtmpfs */
+ static bool udev_has_devtmpfs(struct udev *udev) {
+-        struct file_handle *h;
++        union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, };
+         int mount_id;
+         _cleanup_fclose_ FILE *f = NULL;
+         char line[LINE_MAX], *e;
+         int r;
+ 
+-        h = alloca(MAX_HANDLE_SZ);
+-        h->handle_bytes = MAX_HANDLE_SZ;
+-        r = name_to_handle_at(AT_FDCWD, "/dev", h, &mount_id, 0);
++        r = name_to_handle_at(AT_FDCWD, "/dev", &h.handle, &mount_id, 0);
+         if (r < 0)
+                 return false;
+ 
+diff --git a/src/login/70-uaccess.rules b/src/login/70-uaccess.rules
+index e1cf897..57f619d 100644
+--- a/src/login/70-uaccess.rules
++++ b/src/login/70-uaccess.rules
+@@ -12,7 +12,7 @@ ENV{MAJOR}=="", GOTO="uaccess_end"
+ SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:060101:*", TAG+="uaccess"
+ 
+ # Digicams with proprietary protocol
+-ENV{ID_GPHOTO2}=="*?", TAG+="uaccess"
++ENV{ID_GPHOTO2}=="?*", TAG+="uaccess"
+ 
+ # SCSI and USB scanners
+ ENV{libsane_matched}=="yes", TAG+="uaccess"
+@@ -49,13 +49,13 @@ SUBSYSTEM=="drm", KERNEL=="card*|renderD*", TAG+="uaccess"
+ SUBSYSTEM=="misc", KERNEL=="kvm", TAG+="uaccess"
+ 
+ # smart-card readers
+-ENV{ID_SMARTCARD_READER}=="*?", TAG+="uaccess"
++ENV{ID_SMARTCARD_READER}=="?*", TAG+="uaccess"
+ 
+ # (USB) authentication devices
+-ENV{ID_SECURITY_TOKEN}=="*?", TAG+="uaccess"
++ENV{ID_SECURITY_TOKEN}=="?*", TAG+="uaccess"
+ 
+ # PDA devices
+-ENV{ID_PDA}=="*?", TAG+="uaccess"
++ENV{ID_PDA}=="?*", TAG+="uaccess"
+ 
+ # Programmable remote control
+ ENV{ID_REMOTE_CONTROL}=="1", TAG+="uaccess"
+@@ -64,10 +64,10 @@ ENV{ID_REMOTE_CONTROL}=="1", TAG+="uaccess"
+ SUBSYSTEM=="input", ENV{ID_INPUT_JOYSTICK}=="?*", TAG+="uaccess"
+ 
+ # color measurement devices
+-ENV{COLOR_MEASUREMENT_DEVICE}=="*?", TAG+="uaccess"
++ENV{COLOR_MEASUREMENT_DEVICE}=="?*", TAG+="uaccess"
+ 
+ # DDC/CI device, usually high-end monitors such as the DreamColor
+-ENV{DDC_DEVICE}=="*?", TAG+="uaccess"
++ENV{DDC_DEVICE}=="?*", TAG+="uaccess"
+ 
+ # media player raw devices (for user-mode drivers, Android SDK, etc.)
+ SUBSYSTEM=="usb", ENV{ID_MEDIA_PLAYER}=="?*", TAG+="uaccess"
+diff --git a/src/login/logind-acl.c b/src/login/logind-acl.c
+index dc86f0f..4bbeb64 100644
+--- a/src/login/logind-acl.c
++++ b/src/login/logind-acl.c
+@@ -279,7 +279,9 @@ int devnode_acl_all(struct udev *udev,
+ 
+                 log_debug("Fixing up ACLs at %s for seat %s", n, seat);
+                 k = devnode_acl(n, flush, del, old_uid, add, new_uid);
+-                if (k < 0)
++                if (k == -ENOENT)
++                        log_debug("Device %s disappeared while setting ACLs", n);
++                else if (k < 0)
+                         r = k;
+         }
+ 
+diff --git a/src/login/logind-action.c b/src/login/logind-action.c
+index 1928f43..d69c7ad 100644
+--- a/src/login/logind-action.c
++++ b/src/login/logind-action.c
+@@ -79,14 +79,12 @@ int manager_handle_action(
+                         return 0;
+                 }
+ 
+-                /* If we have more than one or no displays connected,
+-                 * don't react to lid closing. The no display case we
+-                 * treat like this under the assumption that there is
+-                 * no modern drm driver available. */
++                /* If we have more than one display connected,
++                 * don't react to lid closing. */
+                 n = manager_count_displays(m);
+                 if (n < 0)
+                         log_warning("Display counting failed: %s", strerror(-n));
+-                else if (n != 1) {
++                else if (n > 1) {
+                         log_debug("Ignoring lid switch request, %i displays connected.", n);
+                         return 0;
+                 }
+diff --git a/src/login/logind-seat.c b/src/login/logind-seat.c
+index 3f5efdc..1ee6ced 100644
+--- a/src/login/logind-seat.c
++++ b/src/login/logind-seat.c
+@@ -275,8 +275,13 @@ int seat_switch_to(Seat *s, unsigned int num) {
+         if (!num)
+                 return -EINVAL;
+ 
+-        if (num >= s->position_count || !s->positions[num])
++        if (num >= s->position_count || !s->positions[num]) {
++                /* allow switching to unused VTs to trigger auto-activate */
++                if (seat_has_vts(s) && num < 64)
++                        return chvt(num);
++
+                 return -EINVAL;
++        }
+ 
+         return session_activate(s->positions[num]);
+ }
+diff --git a/src/login/logind-session.c b/src/login/logind-session.c
+index 4ca6b5d..02a780d 100644
+--- a/src/login/logind-session.c
++++ b/src/login/logind-session.c
+@@ -213,7 +213,6 @@ int session_save(Session *s) {
+ 
+         if (s->scope)
+                 fprintf(f, "SCOPE=%s\n", s->scope);
+-
+         if (s->scope_job)
+                 fprintf(f, "SCOPE_JOB=%s\n", s->scope_job);
+ 
+@@ -229,17 +228,54 @@ int session_save(Session *s) {
+         if (s->display)
+                 fprintf(f, "DISPLAY=%s\n", s->display);
+ 
+-        if (s->remote_host)
+-                fprintf(f, "REMOTE_HOST=%s\n", s->remote_host);
++        if (s->remote_host) {
++                _cleanup_free_ char *escaped;
++
++                escaped = cescape(s->remote_host);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "REMOTE_HOST=%s\n", escaped);
++        }
++
++        if (s->remote_user) {
++                _cleanup_free_ char *escaped;
++
++                escaped = cescape(s->remote_user);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "REMOTE_USER=%s\n", escaped);
++        }
++
++        if (s->service) {
++                _cleanup_free_ char *escaped;
+ 
+-        if (s->remote_user)
+-                fprintf(f, "REMOTE_USER=%s\n", s->remote_user);
++                escaped = cescape(s->service);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "SERVICE=%s\n", escaped);
++        }
+ 
+-        if (s->service)
+-                fprintf(f, "SERVICE=%s\n", s->service);
++        if (s->desktop) {
++                _cleanup_free_ char *escaped;
+ 
+-        if (s->desktop)
+-                fprintf(f, "DESKTOP=%s\n", s->desktop);
++
++                escaped = cescape(s->desktop);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "DESKTOP=%s\n", escaped);
++        }
+ 
+         if (s->seat && seat_has_vts(s->seat))
+                 fprintf(f, "VTNR=%u\n", s->vtnr);
+@@ -972,6 +1008,10 @@ void session_mute_vt(Session *s) {
+         if (vt < 0)
+                 return;
+ 
++        r = fchown(vt, s->user->uid, -1);
++        if (r < 0)
++                goto error;
++
+         r = ioctl(vt, KDSKBMODE, K_OFF);
+         if (r < 0)
+                 goto error;
+@@ -1026,6 +1066,8 @@ void session_restore_vt(Session *s) {
+         mode.mode = VT_AUTO;
+         ioctl(vt, VT_SETMODE, &mode);
+ 
++        fchown(vt, 0, -1);
++
+         s->vtfd = safe_close(s->vtfd);
+ }
+ 
+diff --git a/src/login/org.freedesktop.login1.policy.in b/src/login/org.freedesktop.login1.policy.in
+index b96d32d..b8e90f1 100644
+--- a/src/login/org.freedesktop.login1.policy.in
++++ b/src/login/org.freedesktop.login1.policy.in
+@@ -254,7 +254,7 @@
+                 <defaults>
+                         <allow_any>auth_admin_keep</allow_any>
+                         <allow_inactive>auth_admin_keep</allow_inactive>
+-                        <allow_active>auth_admin_keep</allow_active>
++                        <allow_active>yes</allow_active>
+                 </defaults>
+                 <annotate key="org.freedesktop.policykit.imply">org.freedesktop.login1.hibernate</annotate>
+         </action>
+diff --git a/src/login/pam-module.c b/src/login/pam-module.c
+index 9873dd5..1259457 100644
+--- a/src/login/pam-module.c
++++ b/src/login/pam-module.c
+@@ -475,7 +475,7 @@ _public_ PAM_EXTERN int pam_sm_open_session(
+         }
+ 
+         if (session_fd >= 0) {
+-                session_fd = dup(session_fd);
++                session_fd = fcntl(session_fd, F_DUPFD_CLOEXEC, 3);
+                 if (session_fd < 0) {
+                         pam_syslog(handle, LOG_ERR, "Failed to dup session fd: %m");
+                         return PAM_SESSION_ERR;
+diff --git a/src/machine/machine.c b/src/machine/machine.c
+index 9a5cc9a..de701ad 100644
+--- a/src/machine/machine.c
++++ b/src/machine/machine.c
+@@ -123,17 +123,42 @@ int machine_save(Machine *m) {
+                 "NAME=%s\n",
+                 m->name);
+ 
+-        if (m->unit)
+-                fprintf(f, "SCOPE=%s\n", m->unit); /* We continue to call this "SCOPE=" because it is internal only, and we want to stay compatible with old files */
++        if (m->unit) {
++                _cleanup_free_ char *escaped;
++
++                escaped = cescape(m->unit);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++
++                fprintf(f, "SCOPE=%s\n", escaped); /* We continue to call this "SCOPE=" because it is internal only, and we want to stay compatible with old files */
++        }
+ 
+         if (m->scope_job)
+                 fprintf(f, "SCOPE_JOB=%s\n", m->scope_job);
+ 
+-        if (m->service)
+-                fprintf(f, "SERVICE=%s\n", m->service);
++        if (m->service) {
++                _cleanup_free_ char *escaped;
+ 
+-        if (m->root_directory)
+-                fprintf(f, "ROOT=%s\n", m->root_directory);
++                escaped = cescape(m->service);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++                fprintf(f, "SERVICE=%s\n", escaped);
++        }
++
++        if (m->root_directory) {
++                _cleanup_free_ char *escaped;
++
++                escaped = cescape(m->root_directory);
++                if (!escaped) {
++                        r = -ENOMEM;
++                        goto finish;
++                }
++                fprintf(f, "ROOT=%s\n", escaped);
++        }
+ 
+         if (!sd_id128_equal(m->id, SD_ID128_NULL))
+                 fprintf(f, "ID=" SD_ID128_FORMAT_STR "\n", SD_ID128_FORMAT_VAL(m->id));
+@@ -330,16 +355,18 @@ static int machine_stop_scope(Machine *m) {
+         if (!m->unit)
+                 return 0;
+ 
+-        r = manager_stop_unit(m->manager, m->unit, &error, &job);
+-        if (r < 0) {
+-                log_error("Failed to stop machine scope: %s", bus_error_message(&error, r));
+-                return r;
++        if (!m->registered) {
++                r = manager_stop_unit(m->manager, m->unit, &error, &job);
++                if (r < 0) {
++                        log_error("Failed to stop machine scope: %s", bus_error_message(&error, r));
++                        return r;
++                }
+         }
+ 
+         free(m->scope_job);
+         m->scope_job = job;
+ 
+-        return r;
++        return 0;
+ }
+ 
+ int machine_stop(Machine *m) {
+@@ -415,6 +442,8 @@ int machine_kill(Machine *m, KillWho who, int signo) {
+ 
+                 if (kill(m->leader, signo) < 0)
+                         return -errno;
++
++                return 0;
+         }
+ 
+         /* Otherwise make PID 1 do it for us, for the entire cgroup */
+diff --git a/src/machine/machine.h b/src/machine/machine.h
+index f4aefc5..de3536d 100644
+--- a/src/machine/machine.h
++++ b/src/machine/machine.h
+@@ -72,6 +72,7 @@ struct Machine {
+ 
+         bool in_gc_queue:1;
+         bool started:1;
++        bool registered:1;
+ 
+         sd_bus_message *create_message;
+ 
+diff --git a/src/machine/machined-dbus.c b/src/machine/machined-dbus.c
+index 9473105..154a335 100644
+--- a/src/machine/machined-dbus.c
++++ b/src/machine/machined-dbus.c
+@@ -241,6 +241,7 @@ static int method_create_or_register_machine(Manager *manager, sd_bus_message *m
+         m->leader = leader;
+         m->class = c;
+         m->id = id;
++        m->registered = true;
+ 
+         if (!isempty(service)) {
+                 m->service = strdup(service);
 diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
-index 9a9ed9d..9e46e18 100644
+index 9a9ed9d..c3e6d23 100644
 --- a/src/nspawn/nspawn.c
 +++ b/src/nspawn/nspawn.c
-@@ -2667,6 +2667,7 @@ int main(int argc, char *argv[]) {
+@@ -769,6 +769,15 @@ static int setup_resolv_conf(const char *dest) {
+         return 0;
+ }
+ 
++static char* id128_format_as_uuid(sd_id128_t id, char s[37]) {
++
++        snprintf(s, 37,
++                 "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
++                 SD_ID128_FORMAT_VAL(id));
++
++        return s;
++}
++
+ static int setup_boot_id(const char *dest) {
+         _cleanup_free_ char *from = NULL, *to = NULL;
+         sd_id128_t rnd = {};
+@@ -794,10 +803,7 @@ static int setup_boot_id(const char *dest) {
+                 return r;
+         }
+ 
+-        snprintf(as_uuid, sizeof(as_uuid),
+-                 "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x",
+-                 SD_ID128_FORMAT_VAL(rnd));
+-        char_array_0(as_uuid);
++        id128_format_as_uuid(rnd, as_uuid);
+ 
+         r = write_string_file(from, as_uuid);
+         if (r < 0) {
+@@ -2378,7 +2384,7 @@ static int change_uid_gid(char **_home) {
+         _cleanup_fclose_ FILE *f = NULL;
+         _cleanup_close_ int fd = -1;
+         unsigned n_uids = 0;
+-        size_t sz, l;
++        size_t sz = 0, l;
+         uid_t uid;
+         gid_t gid;
+         pid_t pid;
+@@ -2667,6 +2673,7 @@ int main(int argc, char *argv[]) {
                                  goto finish;
                          }
                  } else {
@@ -143,7 +1592,7 @@ index 9a9ed9d..9e46e18 100644
                          const char *p;
  
                          p = strappenda(arg_directory,
-@@ -2676,6 +2677,7 @@ int main(int argc, char *argv[]) {
+@@ -2676,6 +2683,7 @@ int main(int argc, char *argv[]) {
                                  goto finish;
  
                          }
@@ -151,6 +1600,46 @@ index 9a9ed9d..9e46e18 100644
                  }
          } else {
                  char template[] = "/tmp/nspawn-root-XXXXXX";
+@@ -2748,8 +2756,6 @@ int main(int argc, char *argv[]) {
+                 goto finish;
+         }
+ 
+-        sd_notify(0, "READY=1");
+-
+         assert_se(sigemptyset(&mask) == 0);
+         sigset_add_many(&mask, SIGCHLD, SIGWINCH, SIGTERM, SIGINT, -1);
+         assert_se(sigprocmask(SIG_BLOCK, &mask, NULL) == 0);
+@@ -2966,7 +2972,9 @@ int main(int argc, char *argv[]) {
+                         }
+ 
+                         if (!sd_id128_equal(arg_uuid, SD_ID128_NULL)) {
+-                                if (asprintf((char**)(envp + n_env++), "container_uuid=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL(arg_uuid)) < 0) {
++                                char as_uuid[37];
++
++                                if (asprintf((char**)(envp + n_env++), "container_uuid=%s", id128_format_as_uuid(arg_uuid, as_uuid)) < 0) {
+                                         log_oom();
+                                         goto child_fail;
+                                 }
+@@ -3086,6 +3094,8 @@ int main(int argc, char *argv[]) {
+                 if (r < 0)
+                         goto finish;
+ 
++                sd_notify(0, "READY=1");
++
+                 /* Notify the child that the parent is ready with all
+                  * its setup, and thtat the child can now hand over
+                  * control to the code to run inside the container. */
+@@ -3136,6 +3146,10 @@ int main(int argc, char *argv[]) {
+ 
+                         if (!arg_quiet)
+                                 log_info("Container %s is being rebooted.", arg_machine);
++                        if (getenv("EXIT_ON_REBOOT") != 0) {
++                                r = 10;
++                                break;
++                        }
+                         continue;
+                 } else if (status.si_code == CLD_KILLED ||
+                            status.si_code == CLD_DUMPED) {
 diff --git a/src/nss-myhostname/netlink.c b/src/nss-myhostname/netlink.c
 index d61ecdf..228a3a4 100644
 --- a/src/nss-myhostname/netlink.c
@@ -166,6 +1655,88 @@ index d61ecdf..228a3a4 100644
                  if (ifaddrmsg->ifa_flags & IFA_F_DEPRECATED)
                          continue;
  
+diff --git a/src/python-systemd/_reader.c b/src/python-systemd/_reader.c
+index 059b904..9a19a10 100644
+--- a/src/python-systemd/_reader.c
++++ b/src/python-systemd/_reader.c
+@@ -902,7 +902,6 @@ static PyObject* get_catalog(PyObject *self, PyObject *args) {
+         sd_id128_t id;
+         _cleanup_free_ char *msg = NULL;
+ 
+-        assert(!self);
+         assert(args);
+ 
+         if (!PyArg_ParseTuple(args, "z:get_catalog", &id_))
+diff --git a/src/python-systemd/journal.py b/src/python-systemd/journal.py
+index 9c7e004..dd1f229 100644
+--- a/src/python-systemd/journal.py
++++ b/src/python-systemd/journal.py
+@@ -293,7 +293,7 @@ class Reader(_Reader):
+             monotonic = monotonic.totalseconds()
+         monotonic = int(monotonic * 1000000)
+         if isinstance(bootid, _uuid.UUID):
+-            bootid = bootid.get_hex()
++            bootid = bootid.hex
+         return super(Reader, self).seek_monotonic(monotonic, bootid)
+ 
+     def log_level(self, level):
+@@ -314,7 +314,7 @@ class Reader(_Reader):
+         Equivalent to add_match(MESSAGE_ID=`messageid`).
+         """
+         if isinstance(messageid, _uuid.UUID):
+-            messageid = messageid.get_hex()
++            messageid = messageid.hex
+         self.add_match(MESSAGE_ID=messageid)
+ 
+     def this_boot(self, bootid=None):
+@@ -346,7 +346,7 @@ class Reader(_Reader):
+ 
+ def get_catalog(mid):
+     if isinstance(mid, _uuid.UUID):
+-        mid = mid.get_hex()
++        mid = mid.hex
+     return _get_catalog(mid)
+ 
+ def _make_line(field, value):
+diff --git a/src/readahead/readahead-common.c b/src/readahead/readahead-common.c
+index 5ffa88b..49679fc 100644
+--- a/src/readahead/readahead-common.c
++++ b/src/readahead/readahead-common.c
+@@ -75,7 +75,7 @@ int fs_on_ssd(const char *p) {
+         if (major(st.st_dev) == 0) {
+                 _cleanup_fclose_ FILE *f = NULL;
+                 int mount_id;
+-                struct file_handle *h;
++                union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ, };
+ 
+                 /* Might be btrfs, which exposes "ssd" as mount flag if it is on ssd.
+                  *
+@@ -83,9 +83,7 @@ int fs_on_ssd(const char *p) {
+                  * and then lookup the mount ID in mountinfo to find
+                  * the mount options. */
+ 
+-                h = alloca(MAX_HANDLE_SZ);
+-                h->handle_bytes = MAX_HANDLE_SZ;
+-                r = name_to_handle_at(AT_FDCWD, p, h, &mount_id, AT_SYMLINK_FOLLOW);
++                r = name_to_handle_at(AT_FDCWD, p, &h.handle, &mount_id, AT_SYMLINK_FOLLOW);
+                 if (r < 0)
+                         return false;
+ 
+diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c
+index d27b1b7..905a2e1 100644
+--- a/src/shared/conf-parser.c
++++ b/src/shared/conf-parser.c
+@@ -336,8 +336,8 @@ int config_parse(const char *unit,
+         if (!f) {
+                 f = ours = fopen(filename, "re");
+                 if (!f) {
+-                        log_error("Failed to open configuration file '%s': %m", filename);
+-                        return -errno;
++                        log_full(errno == ENOENT ? LOG_DEBUG : LOG_ERR, "Failed to open configuration file '%s': %m", filename);
++                        return errno == ENOENT ? 0 : -errno;
+                 }
+         }
+ 
 diff --git a/src/shared/generator.c b/src/shared/generator.c
 index 6110303..e679cb1 100644
 --- a/src/shared/generator.c
@@ -179,10 +1750,359 @@ index 6110303..e679cb1 100644
                  r = access(checker, X_OK);
                  if (r < 0) {
                          log_warning("Checking was requested for %s, but %s cannot be used: %m", what, checker);
+diff --git a/src/shared/install.c b/src/shared/install.c
+index 7409046..4517c9c 100644
+--- a/src/shared/install.c
++++ b/src/shared/install.c
+@@ -560,7 +560,7 @@ int unit_file_mask(
+                 unsigned *n_changes) {
+ 
+         char **i;
+-        _cleanup_free_ char *prefix;
++        _cleanup_free_ char *prefix = NULL;
+         int r;
+ 
+         assert(scope >= 0);
+diff --git a/src/shared/log.c b/src/shared/log.c
+index a4b3b68..890a9fa 100644
+--- a/src/shared/log.c
++++ b/src/shared/log.c
+@@ -878,6 +878,9 @@ void log_parse_environment(void) {
+                         if (l == 5 && startswith(w, "debug")) {
+                                 log_set_max_level(LOG_DEBUG);
+                                 break;
++                        } else if (l == 5 && startswith(w, "quiet")) {
++                                log_set_max_level(LOG_WARNING);
++                                break;
+                         }
+                 }
+         }
+diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
+index 9d14933..b0b66f6 100644
+--- a/src/shared/logs-show.c
++++ b/src/shared/logs-show.c
+@@ -547,7 +547,9 @@ static int output_export(
+                     startswith(data, "_BOOT_ID="))
+                         continue;
+ 
+-                if (!utf8_is_printable(data, length)) {
++                if (utf8_is_printable_newline(data, length, false))
++                        fwrite(data, length, 1, f);
++                else {
+                         const char *c;
+                         uint64_t le64;
+ 
+@@ -562,8 +564,7 @@ static int output_export(
+                         le64 = htole64(length - (c - (const char*) data) - 1);
+                         fwrite(&le64, sizeof(le64), 1, f);
+                         fwrite(c + 1, length - (c - (const char*) data) - 1, 1, f);
+-                } else
+-                        fwrite(data, length, 1, f);
++                }
+ 
+                 fputc('\n', f);
+         }
+diff --git a/src/shared/unit-name.c b/src/shared/unit-name.c
+index 6c167b4..d0e71f2 100644
+--- a/src/shared/unit-name.c
++++ b/src/shared/unit-name.c
+@@ -332,7 +332,7 @@ char *unit_name_path_unescape(const char *f) {
+ }
+ 
+ bool unit_name_is_template(const char *n) {
+-        const char *p;
++        const char *p, *e;
+ 
+         assert(n);
+ 
+@@ -340,11 +340,15 @@ bool unit_name_is_template(const char *n) {
+         if (!p)
+                 return false;
+ 
+-        return p[1] == '.';
++        e = strrchr(p+1, '.');
++        if (!e)
++                return false;
++
++        return e == p + 1;
+ }
+ 
+ bool unit_name_is_instance(const char *n) {
+-        const char *p;
++        const char *p, *e;
+ 
+         assert(n);
+ 
+@@ -352,7 +356,11 @@ bool unit_name_is_instance(const char *n) {
+         if (!p)
+                 return false;
+ 
+-        return p[1] != '.';
++        e = strrchr(p+1, '.');
++        if (!e)
++                return false;
++
++        return e > p + 1;
+ }
+ 
+ char *unit_name_replace_instance(const char *f, const char *i) {
+diff --git a/src/shared/utf8.c b/src/shared/utf8.c
+index 0b524d8..c559c13 100644
+--- a/src/shared/utf8.c
++++ b/src/shared/utf8.c
+@@ -136,7 +136,7 @@ int utf8_encoded_to_unichar(const char *str) {
+         return unichar;
+ }
+ 
+-bool utf8_is_printable(const char* str, size_t length) {
++bool utf8_is_printable_newline(const char* str, size_t length, bool newline) {
+         const uint8_t *p;
+ 
+         assert(str);
+@@ -145,7 +145,8 @@ bool utf8_is_printable(const char* str, size_t length) {
+                 int encoded_len = utf8_encoded_valid_unichar((const char *)p);
+                 int val = utf8_encoded_to_unichar((const char*)p);
+ 
+-                if (encoded_len < 0 || val < 0 || is_unicode_control(val))
++                if (encoded_len < 0 || val < 0 || is_unicode_control(val) ||
++                    (!newline && val == '\n'))
+                         return false;
+ 
+                 length -= encoded_len;
+diff --git a/src/shared/utf8.h b/src/shared/utf8.h
+index c0eb73a..c087995 100644
+--- a/src/shared/utf8.h
++++ b/src/shared/utf8.h
+@@ -31,7 +31,10 @@ const char *utf8_is_valid(const char *s) _pure_;
+ char *ascii_is_valid(const char *s) _pure_;
+ char *utf8_escape_invalid(const char *s);
+ 
+-bool utf8_is_printable(const char* str, size_t length) _pure_;
++bool utf8_is_printable_newline(const char* str, size_t length, bool newline) _pure_;
++_pure_ static inline bool utf8_is_printable(const char* str, size_t length) {
++        return utf8_is_printable_newline(str, length, true);
++}
+ 
+ char *utf16_to_utf8(const void *s, size_t length);
+ 
+diff --git a/src/shared/util.c b/src/shared/util.c
+index ffe6624..2a2b2b2 100644
+--- a/src/shared/util.c
++++ b/src/shared/util.c
+@@ -166,19 +166,19 @@ int close_nointr(int fd) {
+ 
+         assert(fd >= 0);
+         r = close(fd);
+-
+-        /* Just ignore EINTR; a retry loop is the wrong
+-         * thing to do on Linux.
+-         *
+-         * http://lkml.indiana.edu/hypermail/linux/kernel/0509.1/0877.html
+-         * https://bugzilla.gnome.org/show_bug.cgi?id=682819
+-         * http://utcc.utoronto.ca/~cks/space/blog/unix/CloseEINTR
+-         * https://sites.google.com/site/michaelsafyan/software-engineering/checkforeintrwheninvokingclosethinkagain
+-         */
+-        if (_unlikely_(r < 0 && errno == EINTR))
+-                return 0;
+-        else if (r >= 0)
++        if (r >= 0)
+                 return r;
++        else if (errno == EINTR)
++                /*
++                 * Just ignore EINTR; a retry loop is the wrong
++                 * thing to do on Linux.
++                 *
++                 * http://lkml.indiana.edu/hypermail/linux/kernel/0509.1/0877.html
++                 * https://bugzilla.gnome.org/show_bug.cgi?id=682819
++                 * http://utcc.utoronto.ca/~cks/space/blog/unix/CloseEINTR
++                 * https://sites.google.com/site/michaelsafyan/software-engineering/checkforeintrwheninvokingclosethinkagain
++                 */
++                return 0;
+         else
+                 return -errno;
+ }
+@@ -195,7 +195,13 @@ int safe_close(int fd) {
+ 
+         if (fd >= 0) {
+                 PROTECT_ERRNO;
+-                assert_se(close_nointr(fd) == 0);
++
++                /* The kernel might return pretty much any error code
++                 * via close(), but the fd will be closed anyway. The
++                 * only condition we want to check for here is whether
++                 * the fd was invalid at all... */
++
++                assert_se(close_nointr(fd) != -EBADF);
+         }
+ 
+         return -1;
+@@ -1365,7 +1371,7 @@ bool ignore_file(const char *filename) {
+         assert(filename);
+ 
+         if (endswith(filename, "~"))
+-                return false;
++                return true;
+ 
+         return ignore_file_allow_backup(filename);
+ }
+@@ -1495,6 +1501,7 @@ bool fstype_is_network(const char *fstype) {
+         static const char table[] =
+                 "cifs\0"
+                 "smbfs\0"
++                "sshfs\0"
+                 "ncpfs\0"
+                 "ncp\0"
+                 "nfs\0"
+@@ -1581,8 +1588,9 @@ int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) {
+                 if (fd_wait_for_event(fileno(f), POLLIN, t) <= 0)
+                         return -ETIMEDOUT;
+ 
++        errno = 0;
+         if (!fgets(line, sizeof(line), f))
+-                return -EIO;
++                return errno ? -errno : -EIO;
+ 
+         truncate_nl(line);
+ 
+@@ -5327,6 +5335,9 @@ bool string_is_safe(const char *p) {
+                 if (*t > 0 && *t < ' ')
+                         return false;
+ 
++                if (*t == 127)
++                        return false;
++
+                 if (strchr("\\\"\'", *t))
+                         return false;
+         }
+@@ -5343,10 +5354,14 @@ bool string_has_cc(const char *p) {
+ 
+         assert(p);
+ 
+-        for (t = p; *t; t++)
++        for (t = p; *t; t++) {
+                 if (*t > 0 && *t < ' ' && *t != '\t')
+                         return true;
+ 
++                if (*t == 127)
++                        return true;
++        }
++
+         return false;
+ }
+ 
+@@ -6391,3 +6406,19 @@ void hexdump(FILE *f, const void *p, size_t s) {
+                 s -= 16;
+         }
+ }
++
++int update_reboot_param_file(const char *param)
++{
++        int r = 0;
++
++        if (param) {
++
++                r = write_string_file(REBOOT_PARAM_FILE, param);
++                if (r < 0)
++                        log_error("Failed to write reboot param to "
++                                  REBOOT_PARAM_FILE": %s", strerror(-r));
++        } else
++                unlink(REBOOT_PARAM_FILE);
++
++        return r;
++}
+diff --git a/src/shared/util.h b/src/shared/util.h
+index 90464c9..122ac91 100644
+--- a/src/shared/util.h
++++ b/src/shared/util.h
+@@ -22,6 +22,7 @@
+ ***/
+ 
+ #include <alloca.h>
++#include <fcntl.h>
+ #include <inttypes.h>
+ #include <time.h>
+ #include <sys/time.h>
+@@ -922,3 +923,10 @@ uint64_t physical_memory(void);
+ char* mount_test_option(const char *haystack, const char *needle);
+ 
+ void hexdump(FILE *f, const void *p, size_t s);
++
++union file_handle_union {
++        struct file_handle handle;
++        char padding[sizeof(struct file_handle) + MAX_HANDLE_SZ];
++};
++
++int update_reboot_param_file(const char *param);
+diff --git a/src/shared/virt.c b/src/shared/virt.c
+index ec2ddcf..f03e790 100644
+--- a/src/shared/virt.c
++++ b/src/shared/virt.c
+@@ -149,7 +149,7 @@ static int detect_vm_dmi(const char **_id) {
+ 
+ /* Returns a short identifier for the various VM implementations */
+ int detect_vm(const char **id) {
+-        _cleanup_free_ char *hvtype = NULL, *cpuinfo_contents = NULL;
++        _cleanup_free_ char *domcap = NULL, *cpuinfo_contents = NULL;
+         static thread_local int cached_found = -1;
+         static thread_local const char *cached_id = NULL;
+         const char *_id = NULL;
+@@ -163,17 +163,37 @@ int detect_vm(const char **id) {
+                 return cached_found;
+         }
+ 
+-        /* Try high-level hypervisor sysfs file first:
++        /* Try xen capabilities file first, if not found try high-level hypervisor sysfs file:
+          *
+-         * https://bugs.freedesktop.org/show_bug.cgi?id=61491 */
+-        r = read_one_line_file("/sys/hypervisor/type", &hvtype);
++         * https://bugs.freedesktop.org/show_bug.cgi?id=77271 */
++        r = read_one_line_file("/proc/xen/capabilities", &domcap);
+         if (r >= 0) {
+-                if (streq(hvtype, "xen")) {
++                char *cap, *i = domcap;
++
++                while ((cap = strsep(&i, ",")))
++                        if (streq(cap, "control_d"))
++                                break;
++
++                if (!i)  {
+                         _id = "xen";
+                         r = 1;
+-                        goto finish;
+                 }
+-        } else if (r != -ENOENT)
++
++                goto finish;
++
++        } else if (r == -ENOENT) {
++                _cleanup_free_ char *hvtype = NULL;
++
++                r = read_one_line_file("/sys/hypervisor/type", &hvtype);
++                if (r >= 0) {
++                        if (streq(hvtype, "xen")) {
++                                _id = "xen";
++                                r = 1;
++                                goto finish;
++                        }
++                } else if (r != -ENOENT)
++                        return r;
++        } else
+                 return r;
+ 
+         /* this will set _id to "other" and return 0 for unknown hypervisors */
 diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
-index 0887bc3..6b502ce 100644
+index 0887bc3..d02ee2b 100644
 --- a/src/systemctl/systemctl.c
 +++ b/src/systemctl/systemctl.c
+@@ -461,7 +461,7 @@ static int output_units_list(const UnitInfo *unit_infos, unsigned c) {
+                 }
+ 
+                 if (circle_len > 0)
+-                        printf("%s%s%s", on_circle, circle ? draw_special_char(DRAW_BLACK_CIRCLE) : "  ", off_circle);
++                        printf("%s%s%s ", on_circle, circle ? draw_special_char(DRAW_BLACK_CIRCLE) : " ", off_circle);
+ 
+                 printf("%s%-*s%s %s%-*s%s %s%-*s %-*s%s %-*s",
+                        on_active, id_len, id, off_active,
 @@ -2561,7 +2561,7 @@ static int start_unit_one(
  
                  log_debug("Adding %s to the set", p);
@@ -192,6 +2112,523 @@ index 0887bc3..6b502ce 100644
                          return log_oom();
          }
  
+@@ -4240,7 +4240,7 @@ static int show_all(
+         _cleanup_free_ UnitInfo *unit_infos = NULL;
+         const UnitInfo *u;
+         unsigned c;
+-        int r;
++        int r, ret = 0;
+ 
+         r = get_unit_list(bus, NULL, NULL, &unit_infos, 0, &reply);
+         if (r < 0)
+@@ -4262,9 +4262,11 @@ static int show_all(
+                 r = show_one(verb, bus, p, show_properties, new_line, ellipsized);
+                 if (r < 0)
+                         return r;
++                else if (r > 0 && ret == 0)
++                        ret = r;
+         }
+ 
+-        return 0;
++        return ret;
+ }
+ 
+ static int show_system_status(sd_bus *bus) {
+@@ -4386,7 +4388,12 @@ static int show(sd_bus *bus, char **args) {
+                                 }
+                         }
+ 
+-                        show_one(args[0], bus, unit, show_properties, &new_line, &ellipsized);
++                        r = show_one(args[0], bus, unit, show_properties,
++                                     &new_line, &ellipsized);
++                        if (r < 0)
++                                return r;
++                        else if (r > 0 && ret == 0)
++                                ret = r;
+                 }
+ 
+                 if (!strv_isempty(patterns)) {
+@@ -4403,7 +4410,12 @@ static int show(sd_bus *bus, char **args) {
+                                 if (!unit)
+                                         return log_oom();
+ 
+-                                show_one(args[0], bus, unit, show_properties, &new_line, &ellipsized);
++                                r = show_one(args[0], bus, unit, show_properties,
++                                             &new_line, &ellipsized);
++                                if (r < 0)
++                                        return r;
++                                else if (r > 0 && ret == 0)
++                                        ret = r;
+                         }
+                 }
+         }
+@@ -5403,15 +5415,15 @@ static int systemctl_help(void) {
+                "                                  otherwise restart if active\n"
+                "  isolate NAME                    Start one unit and stop all others\n"
+                "  kill NAME...                    Send signal to processes of a unit\n"
+-               "  is-active NAME...               Check whether units are active\n"
+-               "  is-failed NAME...               Check whether units are failed\n"
+-               "  status [NAME...|PID...]         Show runtime status of one or more units\n"
+-               "  show [NAME...|JOB...]           Show properties of one or more\n"
++               "  is-active PATTERN...            Check whether units are active\n"
++               "  is-failed PATTERN...            Check whether units are failed\n"
++               "  status [PATTERN...|PID...]      Show runtime status of one or more units\n"
++               "  show [PATTERN...|JOB...]        Show properties of one or more\n"
+                "                                  units/jobs or the manager\n"
+-               "  cat NAME...                     Show files and drop-ins of one or more units\n"
++               "  cat PATTERN...                  Show files and drop-ins of one or more units\n"
+                "  set-property NAME ASSIGNMENT... Sets one or more properties of a unit\n"
+-               "  help NAME...|PID...             Show manual for one or more units\n"
+-               "  reset-failed [NAME...]          Reset failed state for all, one, or more\n"
++               "  help PATTERN...|PID...          Show manual for one or more units\n"
++               "  reset-failed [PATTERN...]       Reset failed state for all, one, or more\n"
+                "                                  units\n"
+                "  list-dependencies [NAME]        Recursively show units which are required\n"
+                "                                  or wanted by this unit or by which this\n"
+@@ -5973,13 +5985,10 @@ static int halt_parse_argv(int argc, char *argv[]) {
+                 }
+         }
+ 
+-        if (arg_action == ACTION_REBOOT && argc == optind + 1) {
+-                r = write_string_file(REBOOT_PARAM_FILE, argv[optind]);
+-                if (r < 0) {
+-                        log_error("Failed to write reboot param to "
+-                                  REBOOT_PARAM_FILE": %s", strerror(-r));
++        if (arg_action == ACTION_REBOOT && (argc == optind || argc == optind + 1)) {
++                r = update_reboot_param_file(argc == optind + 1 ? argv[optind] : NULL);
++                if (r < 0)
+                         return r;
+-                }
+         } else if (optind < argc) {
+                 log_error("Too many arguments.");
+                 return -EINVAL;
+diff --git a/src/test/test-udev.c b/src/test/test-udev.c
+index b064744..b057cc8 100644
+--- a/src/test/test-udev.c
++++ b/src/test/test-udev.c
+@@ -155,9 +155,8 @@ int main(int argc, char *argv[]) {
+                 }
+         }
+ 
+-        err = udev_event_execute_rules(event, rules, &sigmask_orig);
+-        if (err == 0)
+-                udev_event_execute_run(event, NULL);
++        udev_event_execute_rules(event, rules, &sigmask_orig);
++        udev_event_execute_run(event, NULL);
+ out:
+         if (event != NULL && event->fd_signal >= 0)
+                 close(event->fd_signal);
+diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
+index 33e7cbc..04b472d 100644
+--- a/src/tmpfiles/tmpfiles.c
++++ b/src/tmpfiles/tmpfiles.c
+@@ -217,19 +217,16 @@ static bool unix_socket_alive(const char *fn) {
+ }
+ 
+ static int dir_is_mount_point(DIR *d, const char *subdir) {
+-        struct file_handle *h;
++        union file_handle_union h = { .handle.handle_bytes = MAX_HANDLE_SZ };
+         int mount_id_parent, mount_id;
+         int r_p, r;
+ 
+-        h = alloca(MAX_HANDLE_SZ);
+-
+-        h->handle_bytes = MAX_HANDLE_SZ;
+-        r_p = name_to_handle_at(dirfd(d), ".", h, &mount_id_parent, 0);
++        r_p = name_to_handle_at(dirfd(d), ".", &h.handle, &mount_id_parent, 0);
+         if (r_p < 0)
+                 r_p = -errno;
+ 
+-        h->handle_bytes = MAX_HANDLE_SZ;
+-        r = name_to_handle_at(dirfd(d), subdir, h, &mount_id, 0);
++        h.handle.handle_bytes = MAX_HANDLE_SZ;
++        r = name_to_handle_at(dirfd(d), subdir, &h.handle, &mount_id, 0);
+         if (r < 0)
+                 r = -errno;
+ 
+diff --git a/src/tty-ask-password-agent/tty-ask-password-agent.c b/src/tty-ask-password-agent/tty-ask-password-agent.c
+index 1d067af..3203474 100644
+--- a/src/tty-ask-password-agent/tty-ask-password-agent.c
++++ b/src/tty-ask-password-agent/tty-ask-password-agent.c
+@@ -432,7 +432,7 @@ static int wall_tty_block(void) {
+ 
+         r = get_ctty_devnr(0, &devnr);
+         if (r < 0)
+-                return -r;
++                return r;
+ 
+         if (asprintf(&p, "/run/systemd/ask-password-block/%u:%u", major(devnr), minor(devnr)) < 0)
+                 return -ENOMEM;
+diff --git a/src/udev/accelerometer/accelerometer.c b/src/udev/accelerometer/accelerometer.c
+index 925d38d..32adf27 100644
+--- a/src/udev/accelerometer/accelerometer.c
++++ b/src/udev/accelerometer/accelerometer.c
+@@ -180,7 +180,7 @@ get_prev_orientation(struct udev_device *dev)
+         return string_to_orientation(value);
+ }
+ 
+-#define SET_AXIS(axis, code_) if (ev[i].code == code_) { if (got_##axis == 0) { axis = ev[i].value; got_##axis = true; } }
++#define READ_AXIS(axis, var) { memzero(&abs_info, sizeof(abs_info)); r = ioctl(fd, EVIOCGABS(axis), &abs_info); if (r < 0) return; var = abs_info.value; }
+ 
+ /* accelerometers */
+ static void test_orientation(struct udev *udev,
+@@ -189,10 +189,9 @@ static void test_orientation(struct udev *udev,
+ {
+         OrientationUp old, new;
+         _cleanup_close_ int fd = -1;
+-        struct input_event ev[64];
+-        bool got_syn = false;
+-        bool got_x = false, got_y = false, got_z = false;
++        struct input_absinfo abs_info;
+         int x = 0, y = 0, z = 0;
++        int r;
+         char text[64];
+ 
+         old = get_prev_orientation(dev);
+@@ -201,30 +200,10 @@ static void test_orientation(struct udev *udev,
+         if (fd < 0)
+                 return;
+ 
+-        while (1) {
+-                int i, r;
+-
+-                r = read(fd, ev, sizeof(struct input_event) * 64);
+-
+-                if (r < (int) sizeof(struct input_event))
+-                        return;
+-
+-                for (i = 0; i < r / (int) sizeof(struct input_event); i++) {
+-                        if (got_syn) {
+-                                if (ev[i].type == EV_ABS) {
+-                                        SET_AXIS(x, ABS_X);
+-                                        SET_AXIS(y, ABS_Y);
+-                                        SET_AXIS(z, ABS_Z);
+-                                }
+-                        }
+-                        if (ev[i].type == EV_SYN && ev[i].code == SYN_REPORT)
+-                                got_syn = true;
+-                        if (got_x && got_y && got_z)
+-                                goto read_dev;
+-                }
+-        }
++        READ_AXIS(ABS_X, x);
++        READ_AXIS(ABS_Y, y);
++        READ_AXIS(ABS_Z, z);
+ 
+-read_dev:
+         new = orientation_calc(old, x, y, z);
+         snprintf(text, sizeof(text),
+                  "ID_INPUT_ACCELEROMETER_ORIENTATION=%s", orientation_to_string(new));
+diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
+index 5bb6b02..b31ad80 100644
+--- a/src/udev/net/link-config.c
++++ b/src/udev/net/link-config.c
+@@ -184,7 +184,7 @@ failure:
+ }
+ 
+ static bool enable_name_policy(void) {
+-        _cleanup_free_ char *line;
++        _cleanup_free_ char *line = NULL;
+         char *w, *state;
+         int r;
+         size_t l;
+@@ -391,7 +391,9 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, struct udev_dev
+                 case MACPOLICY_PERSISTENT:
+                         if (!mac_is_permanent(device)) {
+                                 r = get_mac(device, false, &generated_mac);
+-                                if (r < 0)
++                                if (r == -ENOENT)
++                                        break;
++                                else if (r < 0)
+                                         return r;
+                                 mac = &generated_mac;
+                         }
+@@ -399,7 +401,9 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, struct udev_dev
+                 case MACPOLICY_RANDOM:
+                         if (!mac_is_random(device)) {
+                                 r = get_mac(device, true, &generated_mac);
+-                                if (r < 0)
++                                if (r == -ENOENT)
++                                        break;
++                                else if (r < 0)
+                                         return r;
+                                 mac = &generated_mac;
+                         }
+diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
+index 5998be2..5213a4a 100644
+--- a/src/udev/udev-event.c
++++ b/src/udev/udev-event.c
+@@ -771,18 +771,17 @@ static int rename_netif(struct udev_event *event)
+                 log_error("error changing net interface name %s to %s: %s",
+                           oldname, name, strerror(-r));
+         else
+-                print_kmsg("renamed network interface %s to %s", oldname, name);
++                print_kmsg("renamed network interface %s to %s\n", oldname, name);
+ 
+         return r;
+ }
+ 
+-int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask)
++void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask)
+ {
+         struct udev_device *dev = event->dev;
+-        int err = 0;
+ 
+         if (udev_device_get_subsystem(dev) == NULL)
+-                return -1;
++                return;
+ 
+         if (streq(udev_device_get_action(dev), "remove")) {
+                 udev_device_read_db(dev, NULL);
+@@ -816,9 +815,10 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
+                     event->name != NULL && !streq(event->name, udev_device_get_sysname(dev))) {
+                         char syspath[UTIL_PATH_SIZE];
+                         char *pos;
++                        int r;
+ 
+-                        err = rename_netif(event);
+-                        if (err == 0) {
++                        r = rename_netif(event);
++                        if (r >= 0) {
+                                 log_debug("renamed netif to '%s'", event->name);
+ 
+                                 /* remember old name */
+@@ -881,7 +881,6 @@ int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules,
+                 udev_device_unref(event->dev_db);
+                 event->dev_db = NULL;
+         }
+-        return err;
+ }
+ 
+ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask)
+diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
+index 2630264..17f47f2 100644
+--- a/src/udev/udev-rules.c
++++ b/src/udev/udev-rules.c
+@@ -2555,10 +2555,15 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules)
+                         struct stat stats;
+ 
+                         /* we assure, that the permissions tokens are sorted before the static token */
++
+                         if (mode == 0 && uid == 0 && gid == 0 && tags == NULL)
+                                 goto next;
+ 
+                         strscpyl(device_node, sizeof(device_node), "/dev/", rules_str(rules, cur->key.value_off), NULL);
++                        if (stat(device_node, &stats) != 0)
++                                break;
++                        if (!S_ISBLK(stats.st_mode) && !S_ISCHR(stats.st_mode))
++                                break;
+ 
+                         /* export the tags to a directory as symlinks, allowing otherwise dead nodes to be tagged */
+                         if (tags) {
+@@ -2588,11 +2593,6 @@ int udev_rules_apply_static_dev_perms(struct udev_rules *rules)
+                         if (mode == 0 && uid == 0 && gid == 0)
+                                 break;
+ 
+-                        if (stat(device_node, &stats) != 0)
+-                                break;
+-                        if (!S_ISBLK(stats.st_mode) && !S_ISCHR(stats.st_mode))
+-                                break;
+-
+                         if (mode == 0) {
+                                 if (gid > 0)
+                                         mode = 0660;
+diff --git a/src/udev/udev.h b/src/udev/udev.h
+index 936adfb..62538bc 100644
+--- a/src/udev/udev.h
++++ b/src/udev/udev.h
+@@ -84,7 +84,7 @@ int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string,
+ int udev_event_spawn(struct udev_event *event,
+                      const char *cmd, char **envp, const sigset_t *sigmask,
+                      char *result, size_t ressize);
+-int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset);
++void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset);
+ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset);
+ int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]);
+ 
+diff --git a/src/udev/udevadm-test.c b/src/udev/udevadm-test.c
+index 6cd311b..6a2f548 100644
+--- a/src/udev/udevadm-test.c
++++ b/src/udev/udevadm-test.c
+@@ -43,7 +43,6 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
+         _cleanup_udev_device_unref_ struct udev_device *dev = NULL;
+         _cleanup_udev_event_unref_ struct udev_event *event = NULL;
+         sigset_t mask, sigmask_orig;
+-        int err;
+         int rc = 0, c;
+ 
+         static const struct option options[] = {
+@@ -139,18 +138,16 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
+                 goto out;
+         }
+ 
+-        err = udev_event_execute_rules(event, rules, &sigmask_orig);
++        udev_event_execute_rules(event, rules, &sigmask_orig);
+ 
+         udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev))
+                 printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry));
+ 
+-        if (err == 0) {
+-                udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) {
+-                        char program[UTIL_PATH_SIZE];
++        udev_list_entry_foreach(entry, udev_list_get_entry(&event->run_list)) {
++                char program[UTIL_PATH_SIZE];
+ 
+-                        udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program));
+-                        printf("run: '%s'\n", program);
+-                }
++                udev_event_apply_format(event, udev_list_entry_get_name(entry), program, sizeof(program));
++                printf("run: '%s'\n", program);
+         }
+ out:
+         if (event != NULL && event->fd_signal >= 0)
+diff --git a/src/udev/udevd.c b/src/udev/udevd.c
+index f21c227..93afca1 100644
+--- a/src/udev/udevd.c
++++ b/src/udev/udevd.c
+@@ -288,10 +288,9 @@ static void worker_new(struct event *event)
+                                 udev_event->exec_delay = exec_delay;
+ 
+                         /* apply rules, create node, symlinks */
+-                        err = udev_event_execute_rules(udev_event, rules, &sigmask_orig);
++                        udev_event_execute_rules(udev_event, rules, &sigmask_orig);
+ 
+-                        if (err == 0)
+-                                udev_event_execute_run(udev_event, &sigmask_orig);
++                        udev_event_execute_run(udev_event, &sigmask_orig);
+ 
+                         /* apply/restore inotify watch */
+                         if (err == 0 && udev_event->inotify_watch) {
+diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
+index 0f2b706..645b1e6 100644
+--- a/src/vconsole/vconsole-setup.c
++++ b/src/vconsole/vconsole-setup.c
+@@ -180,6 +180,10 @@ static int font_load(const char *vc, const char *font, const char *map, const ch
+  */
+ static void font_copy_to_all_vcs(int fd) {
+         struct vt_stat vcs = {};
++        unsigned char map8[E_TABSZ];
++        unsigned short map16[E_TABSZ];
++        struct unimapdesc unimapd;
++        struct unipair unipairs[USHRT_MAX];
+         int i, r;
+ 
+         /* get active, and 16 bit mask of used VT numbers */
+@@ -209,17 +213,35 @@ static void font_copy_to_all_vcs(int fd) {
+                 cfo.op = KD_FONT_OP_COPY;
+                 cfo.height = vcs.v_active-1; /* tty1 == index 0 */
+                 ioctl(vcfd, KDFONTOP, &cfo);
++
++                /* copy map of 8bit chars */
++                if (ioctl(fd, GIO_SCRNMAP, map8) >= 0)
++                    ioctl(vcfd, PIO_SCRNMAP, map8);
++
++                /* copy map of 8bit chars -> 16bit Unicode values */
++                if (ioctl(fd, GIO_UNISCRNMAP, map16) >= 0)
++                    ioctl(vcfd, PIO_UNISCRNMAP, map16);
++
++                /* copy unicode translation table */
++                /* unimapd is a ushort count and a pointer to an
++                   array of struct unipair { ushort, ushort } */
++                unimapd.entries  = unipairs;
++                unimapd.entry_ct = USHRT_MAX;
++                if (ioctl(fd, GIO_UNIMAP, &unimapd) >= 0) {
++                        struct unimapinit adv = { 0, 0, 0 };
++
++                        ioctl(vcfd, PIO_UNIMAPCLR, &adv);
++                        ioctl(vcfd, PIO_UNIMAP, &unimapd);
++                }
+         }
+ }
+ 
+ int main(int argc, char **argv) {
+         const char *vc;
+-        char *vc_keymap = NULL;
+-        char *vc_keymap_toggle = NULL;
+-        char *vc_font = NULL;
+-        char *vc_font_map = NULL;
+-        char *vc_font_unimap = NULL;
+-        int fd = -1;
++        _cleanup_free_ char
++                *vc_keymap = NULL, *vc_keymap_toggle = NULL,
++                *vc_font = NULL, *vc_font_map = NULL, *vc_font_unimap = NULL;
++        _cleanup_close_ int fd = -1;
+         bool utf8;
+         pid_t font_pid = 0, keymap_pid = 0;
+         bool font_copy = false;
+@@ -241,12 +263,12 @@ int main(int argc, char **argv) {
+         fd = open_terminal(vc, O_RDWR|O_CLOEXEC);
+         if (fd < 0) {
+                 log_error("Failed to open %s: %m", vc);
+-                goto finish;
++                return EXIT_FAILURE;
+         }
+ 
+         if (!is_vconsole(fd)) {
+                 log_error("Device %s is not a virtual console.", vc);
+-                goto finish;
++                return EXIT_FAILURE;
+         }
+ 
+         utf8 = is_locale_utf8();
+@@ -281,27 +303,27 @@ int main(int argc, char **argv) {
+         else
+                 disable_utf8(fd);
+ 
+-        r = EXIT_FAILURE;
+-        if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid) >= 0 &&
+-            font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 0)
+-                r = EXIT_SUCCESS;
+-
+-finish:
+-        if (keymap_pid > 0)
+-                wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
++        r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid);
++        if (r < 0) {
++                log_error("Failed to start " KBD_SETFONT ": %s", strerror(-r));
++                return EXIT_FAILURE;
++        }
+ 
+-        if (font_pid > 0) {
++        if (font_pid > 0)
+                 wait_for_terminate_and_warn(KBD_SETFONT, font_pid);
+-                if (font_copy)
+-                        font_copy_to_all_vcs(fd);
++
++        r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, &keymap_pid);
++        if (r < 0) {
++                log_error("Failed to start " KBD_LOADKEYS ": %s", strerror(-r));
++                return EXIT_FAILURE;
+         }
+ 
+-        free(vc_keymap);
+-        free(vc_font);
+-        free(vc_font_map);
+-        free(vc_font_unimap);
++        if (keymap_pid > 0)
++                wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
+ 
+-        safe_close(fd);
++        /* Only copy the font when we started setfont successfully */
++        if (font_copy && font_pid > 0)
++                font_copy_to_all_vcs(fd);
+ 
+-        return r;
++        return EXIT_SUCCESS;
+ }
+diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf
+index 7c6d6b9..c470045 100644
+--- a/tmpfiles.d/systemd.conf
++++ b/tmpfiles.d/systemd.conf
+@@ -23,6 +23,6 @@ d /run/systemd/machines 0755 root root -
+ d /run/systemd/shutdown 0755 root root -
+ 
+ m /var/log/journal 2755 root systemd-journal - -
+-m /var/log/journal/%m 2755 root systemd-journal - -
++Z /var/log/journal/%m 2755 root systemd-journal - -
+ m /run/log/journal 2755 root systemd-journal - -
+-m /run/log/journal/%m 2755 root systemd-journal - -
++Z /run/log/journal/%m 2755 root systemd-journal - -
 diff --git a/units/console-getty.service.m4.in b/units/console-getty.service.m4.in
 index 8ac51a4..cae9fb5 100644
 --- a/units/console-getty.service.m4.in
@@ -294,17 +2731,20 @@ index 552ef89..af3915f 100644
  ExecStart=-/sbin/sulogin
  ExecStopPost=-@SYSTEMCTL@ --fail --no-block default
 diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4
-index 4ac51e7..86a3b59 100644
+index 4ac51e7..96daa5c 100644
 --- a/units/serial-getty@.service.m4
 +++ b/units/serial-getty@.service.m4
-@@ -22,7 +22,6 @@ Before=getty.target
+@@ -22,10 +22,8 @@ Before=getty.target
  IgnoreOnIsolate=yes
  
  [Service]
 -ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM
  Type=idle
  Restart=always
- RestartSec=0
+-RestartSec=0
+ UtmpIdentifier=%I
+ TTYPath=/dev/%I
+ TTYReset=yes
 diff --git a/units/sysinit.target b/units/sysinit.target
 index 8f4fb8f..e0f0147 100644
 --- a/units/sysinit.target
@@ -354,6 +2794,18 @@ index de93879..c9a49f3 100644
 +# journald to stop logging (see
 +# https://bugs.freedesktop.org/show_bug.cgi?id=56043).
 +X-RestartIfChanged=no
+diff --git a/units/systemd-nspawn@.service.in b/units/systemd-nspawn@.service.in
+index ff36e90..e373628 100644
+--- a/units/systemd-nspawn@.service.in
++++ b/units/systemd-nspawn@.service.in
+@@ -11,6 +11,7 @@ Documentation=man:systemd-nspawn(1)
+ 
+ [Service]
+ ExecStart=@bindir@/systemd-nspawn --quiet --keep-unit --boot --link-journal=guest --directory=/var/lib/container/%i
++KillMode=mixed
+ Type=notify
+ 
+ [Install]
 diff --git a/units/systemd-random-seed.service.in b/units/systemd-random-seed.service.in
 index 1879b2f..9b895b9 100644
 --- a/units/systemd-random-seed.service.in
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
new file mode 100644
index 0000000000000..5282541e2f9e3
--- /dev/null
+++ b/pkgs/servers/consul/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, lib, go, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+let
+  version = "0.3.0";
+in
+
+stdenv.mkDerivation {
+  name = "consul-${version}";
+
+  src = import ./deps.nix {
+    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    export GOPATH=$src
+    go build -v -o consul github.com/hashicorp/consul
+  '';
+
+  installPhase = ''
+    ensureDir $out/bin
+    cp consul $out/bin
+  '';
+
+  meta = with lib; {
+    homepage    = http://www.consul.io/;
+    description = "A tool for service discovery, monitoring and configuration";
+    maintainers = with maintainers; [ cstrahan ];
+    license     = licenses.mpl20 ;
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/consul/deps.nix b/pkgs/servers/consul/deps.nix
new file mode 100644
index 0000000000000..c1ebcf8092881
--- /dev/null
+++ b/pkgs/servers/consul/deps.nix
@@ -0,0 +1,239 @@
+{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+let
+  goDeps = [
+    {
+      root = "code.google.com/p/go.net";
+      src = fetchhg {
+        url = "http://code.google.com/p/go.net";
+        rev = "134";
+        sha256 = "1jycpgrfwgkfac60zjbx6babcz7sgyn9xgy6cr3l811j6k8r2pbv";
+      };
+    }
+    {
+      root = "code.google.com/p/go.text";
+      src = fetchhg {
+        url = "http://code.google.com/p/go.text";
+        rev = "85";
+        sha256 = "1x8h6vq9g5gbi7iiwla6dkaaqqf7wmkdm4szj7wvzlsijf2x8dwr";
+      };
+    }
+    {
+      root = "github.com/armon/circbuf";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "circbuf";
+        rev = "f092b4f207b6e5cce0569056fba9e1a2735cb6cf";
+        sha256 = "06kwwdwa3hskdh6ws7clj1vim80dyc3ldim8k9y5qpd30x0avn5s";
+      };
+    }
+    {
+      root = "github.com/armon/go-metrics";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "go-metrics";
+        rev = "02567bbc4f518a43853d262b651a3c8257c3f141";
+        sha256 = "08fk3zmw0ywmdfp2qhrpv0vrk1y97hzqczrgr3y2yip3x8sr37ar";
+      };
+    }
+    {
+      root = "github.com/armon/gomdb";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "gomdb";
+        rev = "a8e036c4dabe7437014ecf9dbc03c6f6f0766ef8";
+        sha256 = "0hiw5qkkyfd22v291w7rbnlrb4kraqzbkjfx2dvl7rqchkb0hv68";
+      };
+    }
+    {
+      root = "github.com/armon/mdns";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "mdns";
+        rev = "70462deb060d44247356ee238ebafd7699ddcffe";
+        sha256 = "0xkm3d0hsixdm1yrkx9c39723kfjkb3wvrzrmx3np9ylcwn6h5p5";
+      };
+    }
+    {
+      root = "github.com/hashicorp/consul";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "consul";
+        rev = "441d613e1bd96254c78c46ee7c1b35c161fc7295";
+        sha256 = "1v06ygzsvc9c02yxpxnnm407kd30fc46b2146k5zrk1v8lq0f91j";
+      };
+    }
+    {
+      root = "github.com/hashicorp/go-syslog";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "go-syslog";
+        rev = "ac3963b72ac367e48b1e68a831e62b93fb69091c";
+        sha256 = "1r9s1gsa4azcs05gx1179ixk7qvrkrik3v92wr4s8gwm00m0gf81";
+      };
+    }
+    {
+      root = "github.com/hashicorp/logutils";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "logutils";
+        rev = "8e0820fe7ac5eb2b01626b1d99df47c5449eb2d8";
+        sha256 = "033rbkc066g657r0dnzysigjz2bs4biiz0kmiypd139d34jvslwz";
+      };
+    }
+    {
+      root = "github.com/hashicorp/memberlist";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "memberlist";
+        rev = "17d39b695094be943bfb98442a80b082e6b9ac47";
+        sha256 = "0nvgjnwmfqhv2wvr77d2q5mq1bfw4xbpil6wgyj4fyrmhsfzrv3g";
+      };
+    }
+    {
+      root = "github.com/hashicorp/raft";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "raft";
+        rev = "8bdafd1e83e7d85ffeb5dc8f0857dbddd61edba5";
+        sha256 = "1yv3v0vhw5hgqqhh20jhyba2lpkkmmj80lfgf7v4vgjb0y3jqy6x";
+      };
+    }
+    {
+      root = "github.com/hashicorp/raft-mdb";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "raft-mdb";
+        rev = "70e1c88f4b6fb06fc94cc02109243160a443609d";
+        sha256 = "1031yqgb91ch79m41gl8prrymlh4y4k9yklmbv3qvxkfqirdv247";
+      };
+    }
+    {
+      root = "github.com/hashicorp/serf";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "serf";
+        rev = "83f220b4faa0614f49649156118b750b5b12fafb";
+        sha256 = "144a4g5yfcjv1jnl3mi4jcwy4cd970h1924cdas2s7bcdx6kpnv4";
+      };
+    }
+    {
+      root = "github.com/hashicorp/yamux";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "yamux";
+        rev = "35417c7dfab4085d7c921b33e4d5ea6cf9ceef65";
+        sha256 = "02pk30dgjmp0zz5g3dcll6lf7izmpfh6fw2rp13al7771vaziqyl";
+      };
+    }
+    {
+      root = "github.com/inconshreveable/muxado";
+      src = fetchFromGitHub {
+        owner = "inconshreveable";
+        repo = "muxado";
+        rev = "f693c7e88ba316d1a0ae3e205e22a01aa3ec2848";
+        sha256 = "1vgiwwxhgx9c899f6ikvrs0w6vfsnypzalcqyr0mqm2w816r9hhs";
+      };
+    }
+    {
+      root = "github.com/miekg/dns";
+      src = fetchFromGitHub {
+        owner = "miekg";
+        repo = "dns";
+        rev = "05cfaca9f0712f44206ecbfa65a6769434164e7a";
+        sha256 = "1qc12v5yqlsi1mg18i10pvz9g4a5diqzp73q5n4m00gyk41q855j";
+      };
+    }
+    {
+      root = "github.com/mitchellh/cli";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "cli";
+        rev = "975a7477b1507ea6bb888c48108e05d26fb30434";
+        sha256 = "0gxjizg8pf5p3zj04k7cpkwf8l2q9j1j270j2bw0wv2d2pgn6z5l";
+      };
+    }
+    {
+      root = "github.com/mitchellh/mapstructure";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "mapstructure";
+        rev = "6fb2c832bcac61d01212ab1d172f7a14a8585b07";
+        sha256 = "0mx855lwhv0rk461wmbnbzbpkhmq5p2ipmrm5bhzimagrr1w17hw";
+      };
+    }
+    {
+      root = "github.com/ryanuber/columnize";
+      src = fetchFromGitHub {
+        owner = "ryanuber";
+        repo = "columnize";
+        rev = "785d943a7b6886e0bb2f139a60487b823dd8d9de";
+        sha256 = "1h3sxzhiwz65vf3cvclirlf6zhdr97v01dpn5cmf3m09rxxpnp3f";
+      };
+    }
+    {
+      root = "github.com/ugorji/go";
+      src = fetchFromGitHub {
+        owner = "ugorji";
+        repo = "go";
+        rev = "71c2886f5a673a35f909803f38ece5810165097b";
+        sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j";
+      };
+    }
+    {
+      root = "github.com/ugorji/go-msgpack";
+      src = fetchFromGitHub {
+        owner = "ugorji";
+        repo = "go-msgpack";
+        rev = "75092644046c5e38257395b86ed26c702dc95b92";
+        sha256 = "1bmqi16bfiqw7qhb3d5hbh0dfzhx2bbq1g15nh2pxwxckwh80x98";
+      };
+    }
+    {
+      root = "github.com/vmihailenco/bufio";
+      src = fetchFromGitHub {
+        owner = "vmihailenco";
+        repo = "bufio";
+        rev = "24e7e48f60fc2d9e99e43c07485d9fff42051e66";
+        sha256 = "0x46qnf2f15v7m0j2dcb16raxjamk5rdc7hqwgyxfr1sqmmw3983";
+      };
+    }
+    {
+      root = "github.com/vmihailenco/msgpack";
+      src = fetchFromGitHub {
+        owner = "vmihailenco";
+        repo = "msgpack";
+        rev = "20c1b88a6c7fc5432037439f4e8c582e236fb205";
+        sha256 = "1dj5scpfhgnw0yrh0w6jlrb9d03halvsv4l3wgjhazrrimdqf0q0";
+      };
+    }
+    {
+      root = "launchpad.net/gocheck";
+      src = fetchbzr {
+        url = "https://launchpad.net/gocheck";
+        rev = "87";
+        sha256 = "1y9fa2mv61if51gpik9isls48idsdz87zkm1p3my7swjdix7fcl0";
+      };
+    }
+    {
+      root = "launchpad.net/mgo";
+      src = fetchbzr {
+        url = "https://launchpad.net/mgo";
+        rev = "2";
+        sha256 = "0h1dxzyx5c4r4gfnmjxv92hlhjxrgx9p4g53p4fhmz6x2fdglb0x";
+      };
+    }
+  ];
+
+in
+
+stdenv.mkDerivation rec {
+  name = "go-deps";
+
+  buildCommand =
+    lib.concatStrings
+      (map (dep: ''
+              mkdir -p $out/src/`dirname ${dep.root}`
+              ln -s ${dep.src} $out/src/${dep.root}
+            '') goDeps);
+}
diff --git a/pkgs/servers/consul/ui.nix b/pkgs/servers/consul/ui.nix
new file mode 100644
index 0000000000000..d1c04f959cb86
--- /dev/null
+++ b/pkgs/servers/consul/ui.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchzip }:
+
+let
+  version = "0.3.0";
+  meta = with stdenv.lib; {
+    homepage = http://www.consul.io/intro/getting-started/ui.html;
+    description = "The static files for Consul's UI (used via -ui-dir)";
+    maintainers = with maintainers; [ cstrahan ];
+    license = licenses.mpl20 ;
+    platforms = platforms.all;
+  };
+in (fetchzip {
+  name = "consul-ui-${version}";
+  url = "https://dl.bintray.com/mitchellh/consul/${version}_web_ui.zip";
+  sha256 = "0p4mhlrqidd6p3899wd3i9p41bdbb5avbz5986mnxg9f7dvhjdrc";
+}) // { inherit meta; }
+
diff --git a/pkgs/servers/misc/taskserver/default.nix b/pkgs/servers/misc/taskserver/default.nix
new file mode 100644
index 0000000000000..0fdcf5f2f3b52
--- /dev/null
+++ b/pkgs/servers/misc/taskserver/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, cmake, libuuid, gnutls }:
+
+stdenv.mkDerivation rec {
+  name = "taskserver-${version}";
+  version = "1.0.0";
+
+  enableParallelBuilding = true;
+
+  src = fetchurl {
+    url = "http://www.taskwarrior.org/download/taskd-${version}.tar.gz";
+    sha256 = "162ef1eec48f8145870ef0dbe0121b78a6da99815bc18af77de07fbb0abe02d0";
+  };
+
+  nativeBuildInputs = [ cmake libuuid gnutls ];
+
+  meta = {
+    description = "Server for synchronising Taskwarrior clients";
+    homepage = http://taskwarrior.org;
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/servers/sql/virtuoso/7.x.nix b/pkgs/servers/sql/virtuoso/7.x.nix
index 630095782fa4e..0c310b18901fe 100644
--- a/pkgs/servers/sql/virtuoso/7.x.nix
+++ b/pkgs/servers/sql/virtuoso/7.x.nix
@@ -25,11 +25,12 @@ stdenv.mkDerivation rec {
     echo Removing jars and empty directories
     find $out -name "*.a" -delete -o -name "*.jar" -delete -o -type d -empty -delete
     '';
-  
+
   meta = with stdenv.lib; {
     description = "SQL/RDF database used by, e.g., KDE-nepomuk";
     homepage = http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/;
-    platforms = platforms.all;
+    #configure: The current version [...] can only be build on 64bit platforms
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
     maintainers = [ maintainers.urkud ];
   };
 }
diff --git a/pkgs/servers/x11/quartz-wm/default.nix b/pkgs/servers/x11/quartz-wm/default.nix
new file mode 100644
index 0000000000000..8f5885a485650
--- /dev/null
+++ b/pkgs/servers/x11/quartz-wm/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, lib, fetchurl, xorg, pixman, pkgconfig }:
+
+let version = "1.3.1";
+in stdenv.mkDerivation {
+  name = "quartz-wm-${version}";
+  src = fetchurl {
+    url = "http://xquartz-dl.macosforge.org/src/quartz-wm-${version}.tar.xz";
+    sha256 = "1j8zd3p7rhay1s3sxq6anw78k5s59mx44xpqla2ianl62346a5g9";
+  };
+  patches = [
+    ./no_title_crash.patch
+    ./extern-patch.patch
+  ];
+  buildInputs = [
+    xorg.libXinerama
+    xorg.libAppleWM
+    xorg.applewmproto
+    xorg.libXrandr
+    xorg.libXext
+    pixman
+    pkgconfig
+  ];
+  meta = with lib; {
+    license = licenses.apsl20;
+    platforms = platforms.darwin;
+  };
+}
diff --git a/pkgs/servers/x11/quartz-wm/extern-patch.patch b/pkgs/servers/x11/quartz-wm/extern-patch.patch
new file mode 100644
index 0000000000000..cd7b47fc7b056
--- /dev/null
+++ b/pkgs/servers/x11/quartz-wm/extern-patch.patch
@@ -0,0 +1,13 @@
+diff --git a/src/x-list.h b/src/x-list.h
+index bb85c02..059c88b 100644
+--- a/src/x-list.h
++++ b/src/x-list.h
+@@ -39,7 +39,7 @@
+ #endif
+ 
+ #ifndef X_EXTERN
+-# define X_EXTERN __private_extern__
++# define X_EXTERN extern
+ #endif
+ 
+ X_EXTERN void X_PFX (list_free_1) (x_list *node);
diff --git a/pkgs/servers/x11/quartz-wm/no_title_crash.patch b/pkgs/servers/x11/quartz-wm/no_title_crash.patch
new file mode 100644
index 0000000000000..751a35072bcf3
--- /dev/null
+++ b/pkgs/servers/x11/quartz-wm/no_title_crash.patch
@@ -0,0 +1,25 @@
+commit c28527b1340c51f2b492a31e49127106cebbfc5d
+Author: Jeremy Huddleston <jeremyhu@apple.com>
+Date:   Fri Jun 1 10:38:37 2012 -0700
+
+    Fix a crash when minimizing windows without titles
+    
+    <rdar://problem/11575791>
+    
+    Regression-from: 21f210c923aa5d79400ce46275084f2636c92bd9
+    
+    Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+
+diff --git a/src/x-window.m b/src/x-window.m
+index a210c6a..e3b9066 100644
+--- a/src/x-window.m
++++ b/src/x-window.m
+@@ -2139,7 +2139,7 @@ - (void) do_collapse
+     if (wid == XP_NULL_NATIVE_WINDOW_ID)
+         return;
+ 
+-    title_c = strdup([_title UTF8String]);
++    title_c = strdup([[self title] UTF8String]);
+     assert(title_c);
+ 
+     err = qwm_dock_minimize_item_with_title_async (wid, title_c);
diff --git a/pkgs/servers/x11/xorg/darwin/0001-XQuartz-Ensure-we-wait-for-the-server-thread-to-term.patch b/pkgs/servers/x11/xorg/darwin/0001-XQuartz-Ensure-we-wait-for-the-server-thread-to-term.patch
new file mode 100644
index 0000000000000..cd87e396d4f00
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/0001-XQuartz-Ensure-we-wait-for-the-server-thread-to-term.patch
@@ -0,0 +1,33 @@
+From ec6007e6f7772a90713c9c51c64359229961ce27 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Sun, 6 Apr 2014 05:32:00 -0700
+Subject: [PATCH] XQuartz: Ensure we wait for the server thread to terminate
+
+AKA: XQuartz 2.7.5 doesn't delete its /tmp/.X$d-lock
+
+http://xquartz.macosforge.org/trac/ticket/823
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+---
+ hw/xquartz/X11Controller.m | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m
+index 5445c6f..022e832 100644
+--- a/hw/xquartz/X11Controller.m
++++ b/hw/xquartz/X11Controller.m
+@@ -942,9 +942,8 @@ extern char *bundle_id_prefix;
+     /* shutdown the X server, it will exit () for us. */
+     DarwinSendDDXEvent(kXquartzQuit, 0);
+ 
+-    /* In case it doesn't, exit anyway after a while. */
+-    remain = 10000000;
+-    while ((remain = usleep(remain)) > 0) ;
++    /* In case it doesn't, exit anyway after 5s. */
++    [NSThread sleepForTimeInterval:5.0];
+ 
+     exit(1);
+ }
+-- 
+1.9.1
+
diff --git a/pkgs/servers/x11/xorg/darwin/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch b/pkgs/servers/x11/xorg/darwin/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
new file mode 100644
index 0000000000000..450801c6f2f98
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
@@ -0,0 +1,40 @@
+From d36a301fb3d0f2c7a3d81cbda3fd21d8d36038e5 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Fri, 13 Jan 2012 12:00:57 -0800
+Subject: [PATCH 5000/5004] sdksyms.sh: Use CPPFLAGS, not CFLAGS
+
+CFLAGS can include flags which are not useful to the preprocessor
+or can even cause it to fail.  This fixes a build issue on darwin
+when building for more than one architecture.
+
+Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+Reviewed-by: Keith Packard <keithp@keithp.com>
+---
+ hw/xfree86/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
+index c3899b5..4f48b85 100644
+--- a/hw/xfree86/Makefile.am
++++ b/hw/xfree86/Makefile.am
+@@ -38,7 +38,7 @@ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
+ bin_PROGRAMS = Xorg
+ nodist_Xorg_SOURCES = sdksyms.c
+ 
+-AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
++AM_CPPFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
+ INCLUDES = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
+ 	-I$(srcdir)/ddc -I$(srcdir)/i2c -I$(srcdir)/modes -I$(srcdir)/ramdac \
+ 	-I$(srcdir)/dri -I$(srcdir)/dri2
+@@ -115,7 +115,7 @@ CLEANFILES = sdksyms.c sdksyms.dep
+ EXTRA_DIST += sdksyms.sh
+ 
+ sdksyms.dep sdksyms.c: sdksyms.sh
+-	$(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(INCLUDES)
++	$(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CPPFLAGS) $(AM_CPPFLAGS) $(INCLUDES)
+ 
+ SDKSYMS_DEP = sdksyms.dep
+ include $(SDKSYMS_DEP)
+-- 
+1.8.4.1
+
diff --git a/pkgs/servers/x11/xorg/darwin/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch b/pkgs/servers/x11/xorg/darwin/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
new file mode 100644
index 0000000000000..c9a5f7e0f5bce
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
@@ -0,0 +1,165 @@
+From 9ca14507a31338fad40d430445a4a4cb8106bc9b Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Fri, 30 Apr 2010 13:08:25 -0700
+Subject: [PATCH 5001/5004] Workaround the GC clipping problem in miPaintWindow
+ and add some debugging output.
+
+Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+---
+ mi/miexpose.c | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 94 insertions(+), 10 deletions(-)
+
+diff --git a/mi/miexpose.c b/mi/miexpose.c
+index 8b7c93f..3e972f7 100644
+--- a/mi/miexpose.c
++++ b/mi/miexpose.c
+@@ -489,7 +489,8 @@ void RootlessSetPixmapOfAncestors(WindowPtr pWin);
+ void RootlessStartDrawing(WindowPtr pWin);
+ void RootlessDamageRegion(WindowPtr pWin, RegionPtr prgn);
+ Bool IsFramedWindow(WindowPtr pWin);
+-#endif
++#include "../fb/fb.h"
++#endif 
+ 
+ void
+ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+@@ -518,23 +519,37 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+     Bool solid = TRUE;
+     DrawablePtr drawable = &pWin->drawable;
+ 
++#ifdef XQUARTZ_CLIP_DEBUG
++    ErrorF("START %d BS %d (pR = %ld)\n", what, pWin->backgroundState, ParentRelative);
++    ErrorF("      Rgn: %d %d %d %d\n", prgn->extents.x1, prgn->extents.y1,
++	                               prgn->extents.x2 - prgn->extents.x1,
++	                               prgn->extents.y2 - prgn->extents.y1);
++    ErrorF("      Win: %d %d (%d %d) %d %d\n", pWin->origin.x, pWin->origin.y,
++	                                       pWin->winSize.extents.x1, pWin->winSize.extents.y1,
++	                                       pWin->winSize.extents.x2 - pWin->winSize.extents.x1,
++					       pWin->winSize.extents.y2 - pWin->winSize.extents.y1);
++    ErrorF("     Draw: %d %d %d %d\n", pWin->drawable.x, pWin->drawable.y,
++				       pWin->drawable.width, pWin->drawable.height);
++#endif
++
+ #ifdef ROOTLESS
+     if (!drawable || drawable->type == UNDRAWABLE_WINDOW)
+         return;
++#endif
++    
++    if (what == PW_BACKGROUND)
++    {
++#ifdef ROOTLESS
++        if(IsFramedWindow(pWin)) {
++            RootlessStartDrawing(pWin);
++            RootlessDamageRegion(pWin, prgn);
+ 
+-    if (IsFramedWindow(pWin)) {
+-        RootlessStartDrawing(pWin);
+-        RootlessDamageRegion(pWin, prgn);
+-
+-        if (pWin->backgroundState == ParentRelative) {
+-            if ((what == PW_BACKGROUND) ||
+-                (what == PW_BORDER && !pWin->borderIsPixel))
++            if(pWin->backgroundState == ParentRelative) {
+                 RootlessSetPixmapOfAncestors(pWin);
++            }
+         }
+-    }
+ #endif
+ 
+-    if (what == PW_BACKGROUND) {
+         while (pWin->backgroundState == ParentRelative)
+             pWin = pWin->parent;
+ 
+@@ -559,6 +574,18 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+     else {
+         PixmapPtr pixmap;
+ 
++#ifdef ROOTLESS
++	if(IsFramedWindow(pWin)) {
++	    RootlessStartDrawing(pWin);
++	    RootlessDamageRegion(pWin, prgn);
++	    
++	    if(!pWin->borderIsPixel &&
++		pWin->backgroundState == ParentRelative) {
++		RootlessSetPixmapOfAncestors(pWin);
++	    }
++	}
++#endif
++
+         tile_x_off = drawable->x;
+         tile_y_off = drawable->y;
+ 
+@@ -567,6 +594,12 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+             return;
+         pixmap = (*pScreen->GetWindowPixmap) ((WindowPtr) drawable);
+         drawable = &pixmap->drawable;
++
++#ifdef XQUARTZ_CLIP_DEBUG
++        ErrorF("     Draw: %d %d %d %d\n",
++               drawable->x, drawable->y, drawable->width, drawable->height);    
++#endif
++	
+ #ifdef COMPOSITE
+         draw_x_off = pixmap->screen_x;
+         draw_y_off = pixmap->screen_y;
+@@ -629,6 +662,57 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+     ChangeGC(NullClient, pGC, gcmask, gcval);
+     ValidateGC(drawable, pGC);
+ 
++#ifdef XQUARTZ_CLIP_DEBUG
++    ErrorF("       GC: %d %d %d %d\n",
++	   pGC->pCompositeClip->extents.x1, pGC->pCompositeClip->extents.y1,
++	   pGC->pCompositeClip->extents.x2 - pGC->pCompositeClip->extents.x1,
++	   pGC->pCompositeClip->extents.y2 - pGC->pCompositeClip->extents.y1);
++#endif
++    
++#ifdef XQUARTZ
++    /* Looks like our clipping isn't set right for some reason:
++     * http://xquartz.macosforge.org/trac/ticket/290
++     */
++    if(what == PW_BORDER) {
++
++#if 0
++	if(solid) {
++#if 1
++	    fbFillRegionSolid(&pWin->drawable,
++			      prgn,
++			      0,
++			      fbReplicatePixel(fill.pixel,
++					       pWin->drawable.bitsPerPixel));
++#else
++	    fbFillRegionSolid(drawable,
++			      prgn,
++			      0,
++			      fbReplicatePixel(fill.pixel,
++					       drawable->bitsPerPixel));
++#endif
++	    return;
++	}
++#endif
++    
++	pGC->pCompositeClip->extents.x1 += prgn->extents.x1;
++	pGC->pCompositeClip->extents.y1 += prgn->extents.y1;
++	pGC->pCompositeClip->extents.x2 += prgn->extents.x1;
++	pGC->pCompositeClip->extents.y2 += prgn->extents.y1;
++	
++	if(pGC->pCompositeClip->extents.x2 > drawable->pScreen->width)
++	    pGC->pCompositeClip->extents.x2 = drawable->pScreen->width;
++	if(pGC->pCompositeClip->extents.y2 > drawable->pScreen->height)
++	    pGC->pCompositeClip->extents.y2 = drawable->pScreen->height;
++    }
++#endif
++
++#ifdef XQUARTZ_CLIP_DEBUG
++    ErrorF("       GC: %d %d %d %d\n",
++	   pGC->pCompositeClip->extents.x1, pGC->pCompositeClip->extents.y1,
++	   pGC->pCompositeClip->extents.x2 - pGC->pCompositeClip->extents.x1,
++	   pGC->pCompositeClip->extents.y2 - pGC->pCompositeClip->extents.y1);    
++#endif
++
+     numRects = RegionNumRects(prgn);
+     pbox = RegionRects(prgn);
+     for (i = numRects; --i >= 0; pbox++, prect++) {
+-- 
+1.8.4.1
+
diff --git a/pkgs/servers/x11/xorg/darwin/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch b/pkgs/servers/x11/xorg/darwin/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch
new file mode 100644
index 0000000000000..9f99ab603353d
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch
@@ -0,0 +1,316 @@
+From 07f9e0beaf66ec9de1455a305c87ab642968f3f1 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Fri, 12 Feb 2010 19:48:52 -0800
+Subject: [PATCH 5002/5004] fb: Revert fb changes that broke XQuartz
+
+http://bugs.freedesktop.org/show_bug.cgi?id=26124
+
+Revert "Fix source pictures getting random transforms after 2d6a8f668342a5190cdf43b5."
+Revert "fb: Adjust transform or composite coordinates for pixman operations"
+
+http://bugs.freedesktop.org/26124
+
+This reverts commit a72c65e9176c51de95db2fdbf4c5d946a4911695.
+This reverts commit a6bd5d2e482a5aa84acb3d4932e2a166d8670ef1.
+
+Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+---
+ fb/fb.h     |  3 +--
+ fb/fbpict.c | 82 ++++++++++++++++++-------------------------------------------
+ fb/fbtrap.c | 43 ++++++++++++++------------------
+ 3 files changed, 43 insertions(+), 85 deletions(-)
+
+diff --git a/fb/fb.h b/fb/fb.h
+index b869d12..895b148 100644
+--- a/fb/fb.h
++++ b/fb/fb.h
+@@ -1686,8 +1686,7 @@ fbFillRegionSolid(DrawablePtr pDrawable,
+                   RegionPtr pRegion, FbBits and, FbBits xor);
+ 
+ extern _X_EXPORT pixman_image_t *image_from_pict(PicturePtr pict,
+-                                                 Bool has_clip,
+-                                                 int *xoff, int *yoff);
++                                                 Bool has_clip);
+ 
+ extern _X_EXPORT void free_pixman_pict(PicturePtr, pixman_image_t *);
+ 
+diff --git a/fb/fbpict.c b/fb/fbpict.c
+index 2804ff4..80c2a91 100644
+--- a/fb/fbpict.c
++++ b/fb/fbpict.c
+@@ -46,23 +46,18 @@ fbComposite(CARD8 op,
+             INT16 yMask, INT16 xDst, INT16 yDst, CARD16 width, CARD16 height)
+ {
+     pixman_image_t *src, *mask, *dest;
+-    int src_xoff, src_yoff;
+-    int msk_xoff, msk_yoff;
+-    int dst_xoff, dst_yoff;
+-
+     miCompositeSourceValidate(pSrc);
+     if (pMask)
+         miCompositeSourceValidate(pMask);
+ 
+-    src = image_from_pict(pSrc, FALSE, &src_xoff, &src_yoff);
+-    mask = image_from_pict(pMask, FALSE, &msk_xoff, &msk_yoff);
+-    dest = image_from_pict(pDst, TRUE, &dst_xoff, &dst_yoff);
++    src = image_from_pict(pSrc, TRUE);
++    mask = image_from_pict(pMask, TRUE);
++    dest = image_from_pict(pDst, TRUE);
+ 
+     if (src && dest && !(pMask && !mask)) {
+         pixman_image_composite(op, src, mask, dest,
+-                               xSrc + src_xoff, ySrc + src_yoff,
+-                               xMask + msk_xoff, yMask + msk_yoff,
+-                               xDst + dst_xoff, yDst + dst_yoff, width, height);
++                               xSrc, ySrc, xMask, yMask, xDst, yDst,
++                               width, height);
+     }
+ 
+     free_pixman_pict(pSrc, src);
+@@ -293,20 +288,22 @@ create_conical_gradient_image(PictGradient * gradient)
+ }
+ 
+ static pixman_image_t *
+-create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
++create_bits_picture(PicturePtr pict, Bool has_clip)
+ {
+-    PixmapPtr pixmap;
+     FbBits *bits;
+     FbStride stride;
+-    int bpp;
++    int bpp, xoff, yoff;
+     pixman_image_t *image;
+ 
+-    fbGetDrawablePixmap(pict->pDrawable, pixmap, *xoff, *yoff);
+-    fbGetPixmapBitsData(pixmap, bits, stride, bpp);
++    fbGetDrawable (pict->pDrawable, bits, stride, bpp, xoff, yoff);
++
++    bits = (FbBits*)((CARD8*)bits +
++                     (pict->pDrawable->y + yoff) * stride * sizeof(FbBits) +
++                     (pict->pDrawable->x + xoff) * (bpp / 8));
+ 
+     image = pixman_image_create_bits((pixman_format_code_t) pict->format,
+-                                     pixmap->drawable.width,
+-                                     pixmap->drawable.height, (uint32_t *) bits,
++                                     pict->pDrawable->width,
++                                     pict->pDrawable->height, (uint32_t *) bits,
+                                      stride * sizeof(FbStride));
+ 
+     if (!image)
+@@ -333,57 +330,31 @@ create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
+         if (pict->clientClipType != CT_NONE)
+             pixman_image_set_has_client_clip(image, TRUE);
+ 
+-        if (*xoff || *yoff)
+-            pixman_region_translate(pict->pCompositeClip, *xoff, *yoff);
++        pixman_region_translate (pict->pCompositeClip, - pict->pDrawable->x, - pict->pDrawable->y);
+ 
+         pixman_image_set_clip_region(image, pict->pCompositeClip);
+ 
+-        if (*xoff || *yoff)
+-            pixman_region_translate(pict->pCompositeClip, -*xoff, -*yoff);
++        pixman_region_translate (pict->pCompositeClip, pict->pDrawable->x, pict->pDrawable->y);
+     }
+ 
+     /* Indexed table */
+     if (pict->pFormat->index.devPrivate)
+         pixman_image_set_indexed(image, pict->pFormat->index.devPrivate);
+ 
+-    /* Add in drawable origin to position within the image */
+-    *xoff += pict->pDrawable->x;
+-    *yoff += pict->pDrawable->y;
+-
+     return image;
+ }
+ 
+ static pixman_image_t *image_from_pict_internal(PicturePtr pict, Bool has_clip,
+-                                                int *xoff, int *yoff,
+                                                 Bool is_alpha_map);
+ 
+ static void
+-set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
+-                     int *xoff, int *yoff, Bool is_alpha_map)
++set_image_properties(pixman_image_t * image, PicturePtr pict, Bool is_alpha_map)
+ {
+     pixman_repeat_t repeat;
+     pixman_filter_t filter;
+ 
+     if (pict->transform) {
+-        /* For source images, adjust the transform to account
+-         * for the drawable offset within the pixman image,
+-         * then set the offset to 0 as it will be used
+-         * to compute positions within the transformed image.
+-         */
+-        if (!has_clip) {
+-            struct pixman_transform adjusted;
+-
+-            adjusted = *pict->transform;
+-            pixman_transform_translate(&adjusted,
+-                                       NULL,
+-                                       pixman_int_to_fixed(*xoff),
+-                                       pixman_int_to_fixed(*yoff));
+-            pixman_image_set_transform(image, &adjusted);
+-            *xoff = 0;
+-            *yoff = 0;
+-        }
+-        else
+-            pixman_image_set_transform(image, pict->transform);
++        pixman_image_set_transform(image, pict->transform);
+     }
+ 
+     switch (pict->repeatType) {
+@@ -411,10 +382,8 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
+      * as the alpha map for this operation
+      */
+     if (pict->alphaMap && !is_alpha_map) {
+-        int alpha_xoff, alpha_yoff;
+         pixman_image_t *alpha_map =
+-            image_from_pict_internal(pict->alphaMap, FALSE, &alpha_xoff,
+-                                     &alpha_yoff, TRUE);
++            image_from_pict_internal(pict->alphaMap, TRUE, TRUE);
+ 
+         pixman_image_set_alpha_map(image, alpha_map, pict->alphaOrigin.x,
+                                    pict->alphaOrigin.y);
+@@ -448,8 +417,7 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
+ }
+ 
+ static pixman_image_t *
+-image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
+-                         Bool is_alpha_map)
++image_from_pict_internal(PicturePtr pict, Bool has_clip, Bool is_alpha_map)
+ {
+     pixman_image_t *image = NULL;
+ 
+@@ -457,7 +425,7 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
+         return NULL;
+ 
+     if (pict->pDrawable) {
+-        image = create_bits_picture(pict, has_clip, xoff, yoff);
++        image = create_bits_picture(pict, has_clip);
+     }
+     else if (pict->pSourcePict) {
+         SourcePict *sp = pict->pSourcePict;
+@@ -475,19 +443,17 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
+             else if (sp->type == SourcePictTypeConical)
+                 image = create_conical_gradient_image(gradient);
+         }
+-        *xoff = *yoff = 0;
+     }
+ 
+     if (image)
+-        set_image_properties(image, pict, has_clip, xoff, yoff, is_alpha_map);
+-
++        set_image_properties (image, pict, is_alpha_map);
+     return image;
+ }
+ 
+ pixman_image_t *
+-image_from_pict(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
++image_from_pict (PicturePtr pict, Bool has_clip)
+ {
+-    return image_from_pict_internal(pict, has_clip, xoff, yoff, FALSE);
++    return image_from_pict_internal (pict, has_clip, FALSE);
+ }
+ 
+ void
+diff --git a/fb/fbtrap.c b/fb/fbtrap.c
+index bf82f8f..0145ce9 100644
+--- a/fb/fbtrap.c
++++ b/fb/fbtrap.c
+@@ -36,13 +36,12 @@ fbAddTraps(PicturePtr pPicture,
+            INT16 x_off, INT16 y_off, int ntrap, xTrap * traps)
+ {
+     pixman_image_t *image;
+-    int dst_xoff, dst_yoff;
+ 
+-    if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff)))
+-        return;
+-
+-    pixman_add_traps(image, x_off + dst_xoff, y_off + dst_yoff,
+-                     ntrap, (pixman_trap_t *) traps);
++    if (!(image = image_from_pict (pPicture, FALSE)))
++	return;
++    
++    pixman_add_traps(image, x_off, y_off,
++                     ntrap, (pixman_trap_t *)traps);
+ 
+     free_pixman_pict(pPicture, image);
+ }
+@@ -52,13 +51,12 @@ fbRasterizeTrapezoid(PicturePtr pPicture,
+                      xTrapezoid * trap, int x_off, int y_off)
+ {
+     pixman_image_t *image;
+-    int dst_xoff, dst_yoff;
+ 
+-    if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff)))
++    if (!(image = image_from_pict (pPicture, FALSE)))
+         return;
+ 
+-    pixman_rasterize_trapezoid(image, (pixman_trapezoid_t *) trap,
+-                               x_off + dst_xoff, y_off + dst_yoff);
++    pixman_rasterize_trapezoid(image, (pixman_trapezoid_t *)trap,
++                               x_off, y_off);
+ 
+     free_pixman_pict(pPicture, image);
+ }
+@@ -68,14 +66,12 @@ fbAddTriangles(PicturePtr pPicture,
+                INT16 x_off, INT16 y_off, int ntri, xTriangle * tris)
+ {
+     pixman_image_t *image;
+-    int dst_xoff, dst_yoff;
+ 
+-    if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff)))
++    if (!(image = image_from_pict (pPicture, FALSE)))
+         return;
+-
+-    pixman_add_triangles(image,
+-                         dst_xoff + x_off, dst_yoff + y_off,
+-                         ntri, (pixman_triangle_t *) tris);
++    
++    pixman_add_triangles(image, x_off, y_off, ntri,
++                         (pixman_triangle_t *)tris);
+ 
+     free_pixman_pict(pPicture, image);
+ }
+@@ -98,13 +94,11 @@ fbShapes(CompositeShapesFunc composite,
+          int16_t ySrc, int nshapes, int shape_size, const uint8_t * shapes)
+ {
+     pixman_image_t *src, *dst;
+-    int src_xoff, src_yoff;
+-    int dst_xoff, dst_yoff;
+ 
+     miCompositeSourceValidate(pSrc);
+ 
+-    src = image_from_pict(pSrc, FALSE, &src_xoff, &src_yoff);
+-    dst = image_from_pict(pDst, TRUE, &dst_xoff, &dst_yoff);
++    src = image_from_pict(pSrc, FALSE);
++    dst = image_from_pict(pDst, TRUE);
+ 
+     if (src && dst) {
+         pixman_format_code_t format;
+@@ -121,9 +115,8 @@ fbShapes(CompositeShapesFunc composite,
+ 
+             for (i = 0; i < nshapes; ++i) {
+                 composite(op, src, dst, format,
+-                          xSrc + src_xoff,
+-                          ySrc + src_yoff,
+-                          dst_xoff, dst_yoff, 1, shapes + i * shape_size);
++                          xSrc, ySrc, 0, 0, 
++                          1, shapes + i * shape_size);
+             }
+         }
+         else {
+@@ -143,8 +136,8 @@ fbShapes(CompositeShapesFunc composite,
+             }
+ 
+             composite(op, src, dst, format,
+-                      xSrc + src_xoff,
+-                      ySrc + src_yoff, dst_xoff, dst_yoff, nshapes, shapes);
++                      xSrc, ySrc, 0, 0,
++                      nshapes, shapes);
+         }
+ 
+         DamageRegionProcessPending(pDst->pDrawable);
+-- 
+1.8.4.1
+
diff --git a/pkgs/servers/x11/xorg/darwin/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch b/pkgs/servers/x11/xorg/darwin/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch
new file mode 100644
index 0000000000000..0ff989258fb91
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch
@@ -0,0 +1,230 @@
+From 4a0444a2773bddc3abbf5305a344001ecfe9378c Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Tue, 18 Dec 2012 01:03:38 -0800
+Subject: [PATCH 5003/5004] fb: Revert fb changes that broke XQuartz
+
+    http://bugs.freedesktop.org/show_bug.cgi?id=26124
+
+Revert "Use new pixman_glyph_cache_t API that will be in pixman 0.28.0"
+
+This reverts commit 9cbcb5bd6a5360a128d15b77a02d8d3351f74366.
+---
+ configure.ac  |   2 +-
+ fb/fb.h       |   3 --
+ fb/fbpict.c   | 153 +---------------------------------------------------------
+ fb/fbscreen.c |   1 -
+ 4 files changed, 2 insertions(+), 157 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 8797df5..99a1e62 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -811,7 +811,7 @@ LIBPCIACCESS="pciaccess >= 0.12.901"
+ LIBUDEV="libudev >= 143"
+ LIBSELINUX="libselinux >= 2.0.86"
+ LIBDBUS="dbus-1 >= 1.0"
+-LIBPIXMAN="pixman-1 >= 0.27.2"
++LIBPIXMAN="pixman-1 >= 0.21.8"
+ 
+ dnl Pixman is always required, but we separate it out so we can link
+ dnl specific modules against it
+diff --git a/fb/fb.h b/fb/fb.h
+index 895b148..cc5759c 100644
+--- a/fb/fb.h
++++ b/fb/fb.h
+@@ -1344,9 +1344,6 @@ extern _X_EXPORT void
+ extern _X_EXPORT Bool
+  fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats);
+ 
+-extern _X_EXPORT void
+-fbDestroyGlyphCache(void);
+-
+ /*
+  * fbpixmap.c
+  */
+diff --git a/fb/fbpict.c b/fb/fbpict.c
+index 80c2a91..dc0ca3c 100644
+--- a/fb/fbpict.c
++++ b/fb/fbpict.c
+@@ -65,156 +65,6 @@ fbComposite(CARD8 op,
+     free_pixman_pict(pDst, dest);
+ }
+ 
+-static pixman_glyph_cache_t *glyphCache;
+-
+-void
+-fbDestroyGlyphCache(void)
+-{
+-    if (glyphCache)
+-    {
+-	pixman_glyph_cache_destroy (glyphCache);
+-	glyphCache = NULL;
+-    }
+-}
+-
+-static void
+-fbUnrealizeGlyph(ScreenPtr pScreen,
+-		 GlyphPtr pGlyph)
+-{
+-    if (glyphCache)
+-	pixman_glyph_cache_remove (glyphCache, pGlyph, NULL);
+-}
+-
+-static void
+-fbGlyphs(CARD8 op,
+-	 PicturePtr pSrc,
+-	 PicturePtr pDst,
+-	 PictFormatPtr maskFormat,
+-	 INT16 xSrc,
+-	 INT16 ySrc, int nlist,
+-	 GlyphListPtr list,
+-	 GlyphPtr *glyphs)
+-{
+-#define N_STACK_GLYPHS 512
+-    ScreenPtr pScreen = pDst->pDrawable->pScreen;
+-    pixman_glyph_t stack_glyphs[N_STACK_GLYPHS];
+-    pixman_glyph_t *pglyphs = stack_glyphs;
+-    pixman_image_t *srcImage, *dstImage;
+-    int srcXoff, srcYoff, dstXoff, dstYoff;
+-    GlyphPtr glyph;
+-    int n_glyphs;
+-    int x, y;
+-    int i, n;
+-    int xDst = list->xOff, yDst = list->yOff;
+-
+-    miCompositeSourceValidate(pSrc);
+-    
+-    n_glyphs = 0;
+-    for (i = 0; i < nlist; ++i)
+-	n_glyphs += list[i].len;
+-
+-    if (!glyphCache)
+-	glyphCache = pixman_glyph_cache_create();
+-
+-    pixman_glyph_cache_freeze (glyphCache);
+-    
+-    if (n_glyphs > N_STACK_GLYPHS) {
+-	if (!(pglyphs = malloc (n_glyphs * sizeof (pixman_glyph_t))))
+-	    goto out;
+-    }
+-    
+-    i = 0;
+-    x = y = 0;
+-    while (nlist--) {
+-        x += list->xOff;
+-        y += list->yOff;
+-        n = list->len;
+-        while (n--) {
+-	    const void *g;
+-
+-            glyph = *glyphs++;
+-
+-	    if (!(g = pixman_glyph_cache_lookup (glyphCache, glyph, NULL))) {
+-		pixman_image_t *glyphImage;
+-		PicturePtr pPicture;
+-		int xoff, yoff;
+-
+-		pPicture = GetGlyphPicture(glyph, pScreen);
+-		if (!pPicture) {
+-		    n_glyphs--;
+-		    goto next;
+-		}
+-
+-		if (!(glyphImage = image_from_pict(pPicture, FALSE, &xoff, &yoff)))
+-		    goto out;
+-
+-		g = pixman_glyph_cache_insert(glyphCache, glyph, NULL,
+-					      glyph->info.x,
+-					      glyph->info.y,
+-					      glyphImage);
+-
+-		free_pixman_pict(pPicture, glyphImage);
+-
+-		if (!g)
+-		    goto out;
+-	    }
+-
+-	    pglyphs[i].x = x;
+-	    pglyphs[i].y = y;
+-	    pglyphs[i].glyph = g;
+-	    i++;
+-
+-	next:
+-            x += glyph->info.xOff;
+-            y += glyph->info.yOff;
+-	}
+-	list++;
+-    }
+-
+-    if (!(srcImage = image_from_pict(pSrc, FALSE, &srcXoff, &srcYoff)))
+-	goto out;
+-
+-    if (!(dstImage = image_from_pict(pDst, TRUE, &dstXoff, &dstYoff)))
+-	goto out_free_src;
+-
+-    if (maskFormat) {
+-	pixman_format_code_t format;
+-	pixman_box32_t extents;
+-	int x, y;
+-
+-	format = maskFormat->format | (maskFormat->depth << 24);
+-
+-	pixman_glyph_get_extents(glyphCache, n_glyphs, pglyphs, &extents);
+-
+-	x = extents.x1;
+-	y = extents.y1;
+-
+-	pixman_composite_glyphs(op, srcImage, dstImage, format,
+-				xSrc + srcXoff + xDst, ySrc + srcYoff + yDst,
+-				x, y,
+-				x + dstXoff, y + dstYoff,
+-				extents.x2 - extents.x1,
+-				extents.y2 - extents.y1,
+-				glyphCache, n_glyphs, pglyphs);
+-    }
+-    else {
+-	pixman_composite_glyphs_no_mask(op, srcImage, dstImage,
+-					xSrc + srcXoff - xDst, ySrc + srcYoff - yDst,
+-					dstXoff, dstYoff,
+-					glyphCache, n_glyphs, pglyphs);
+-    }
+-
+-    free_pixman_pict(pDst, dstImage);
+-
+-out_free_src:
+-    free_pixman_pict(pSrc, srcImage);
+-
+-out:
+-    pixman_glyph_cache_thaw(glyphCache);
+-    if (pglyphs != stack_glyphs)
+-	free(pglyphs);
+-}
+-
+ static pixman_image_t *
+ create_solid_fill_image(PicturePtr pict)
+ {
+@@ -473,8 +323,7 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
+         return FALSE;
+     ps = GetPictureScreen(pScreen);
+     ps->Composite = fbComposite;
+-    ps->Glyphs = fbGlyphs;
+-    ps->UnrealizeGlyph = fbUnrealizeGlyph;
++    ps->Glyphs = miGlyphs;
+     ps->CompositeRects = miCompositeRects;
+     ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
+     ps->Trapezoids = fbTrapezoids;
+diff --git a/fb/fbscreen.c b/fb/fbscreen.c
+index f9080a4..7c7d656 100644
+--- a/fb/fbscreen.c
++++ b/fb/fbscreen.c
+@@ -32,7 +32,6 @@ fbCloseScreen(ScreenPtr pScreen)
+     int d;
+     DepthPtr depths = pScreen->allowedDepths;
+ 
+-    fbDestroyGlyphCache();
+     for (d = 0; d < pScreen->numDepths; d++)
+         free(depths[d].vids);
+     free(depths);
+-- 
+1.8.4.1
+
diff --git a/pkgs/servers/x11/xorg/darwin/5004-Use-old-miTrapezoids-and-miTriangles-routines.patch b/pkgs/servers/x11/xorg/darwin/5004-Use-old-miTrapezoids-and-miTriangles-routines.patch
new file mode 100644
index 0000000000000..f70ddf9e6af85
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/5004-Use-old-miTrapezoids-and-miTriangles-routines.patch
@@ -0,0 +1,297 @@
+From bd9fce8b74f5358e4d7e5ce9b5cdd8fd195bb3fd Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+Date: Sat, 2 Nov 2013 11:00:23 -0700
+Subject: [PATCH 5004/5004] Use old miTrapezoids and miTriangles routines
+
+Reverts commits:
+    788ccb9a8bcf6a4fb4054c507111eec3338fb969
+    566f1931ee2916269e164e114bffaf2da1d039d1
+
+http://xquartz.macosforge.org/trac/ticket/525
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
+---
+ fb/fbpict.c     |   2 -
+ render/mipict.c |   4 +-
+ render/mipict.h |  27 ++++++++++++++
+ render/mitrap.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ render/mitri.c  |  61 +++++++++++++++++++++++++++++++
+ 5 files changed, 201 insertions(+), 4 deletions(-)
+
+diff --git a/fb/fbpict.c b/fb/fbpict.c
+index dc0ca3c..276ff06 100644
+--- a/fb/fbpict.c
++++ b/fb/fbpict.c
+@@ -326,10 +326,8 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
+     ps->Glyphs = miGlyphs;
+     ps->CompositeRects = miCompositeRects;
+     ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
+-    ps->Trapezoids = fbTrapezoids;
+     ps->AddTraps = fbAddTraps;
+     ps->AddTriangles = fbAddTriangles;
+-    ps->Triangles = fbTriangles;
+ 
+     return TRUE;
+ }
+diff --git a/render/mipict.c b/render/mipict.c
+index 2e64b20..d21b58a 100644
+--- a/render/mipict.c
++++ b/render/mipict.c
+@@ -595,8 +595,8 @@ miPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
+     ps->Composite = 0;          /* requires DDX support */
+     ps->Glyphs = miGlyphs;
+     ps->CompositeRects = miCompositeRects;
+-    ps->Trapezoids = 0;
+-    ps->Triangles = 0;
++    ps->Trapezoids = miTrapezoids;
++    ps->Triangles = miTriangles;
+ 
+     ps->RasterizeTrapezoid = 0; /* requires DDX support */
+     ps->AddTraps = 0;           /* requires DDX support */
+diff --git a/render/mipict.h b/render/mipict.h
+index 9436228..7ee2991 100644
+--- a/render/mipict.h
++++ b/render/mipict.h
+@@ -122,6 +122,16 @@ miCompositeRects(CARD8 op,
+                  xRenderColor * color, int nRect, xRectangle *rects);
+ 
+ extern _X_EXPORT void
++miTriangles (CARD8	    op,
++	     PicturePtr	    pSrc,
++	     PicturePtr	    pDst,
++	     PictFormatPtr  maskFormat,
++	     INT16	    xSrc,
++	     INT16	    ySrc,
++	     int	    ntri,
++	     xTriangle	    *tris);
++
++extern _X_EXPORT void
+ 
+ miTriStrip(CARD8 op,
+            PicturePtr pSrc,
+@@ -137,10 +147,27 @@ miTriFan(CARD8 op,
+          PictFormatPtr maskFormat,
+          INT16 xSrc, INT16 ySrc, int npoints, xPointFixed * points);
+ 
++extern _X_EXPORT PicturePtr
++miCreateAlphaPicture (ScreenPtr	    pScreen, 
++		      PicturePtr    pDst,
++		      PictFormatPtr pPictFormat,
++		      CARD16	    width,
++		      CARD16	    height);
++
+ extern _X_EXPORT void
+  miTrapezoidBounds(int ntrap, xTrapezoid * traps, BoxPtr box);
+ 
+ extern _X_EXPORT void
++miTrapezoids (CARD8        op,
++             PicturePtr    pSrc,
++             PicturePtr    pDst,
++             PictFormatPtr maskFormat,
++             INT16         xSrc,
++             INT16         ySrc,
++             int           ntrap,
++             xTrapezoid    *traps);
++
++extern _X_EXPORT void
+  miPointFixedBounds(int npoint, xPointFixed * points, BoxPtr bounds);
+ 
+ extern _X_EXPORT void
+diff --git a/render/mitrap.c b/render/mitrap.c
+index 17b6dcd..71c1857 100644
+--- a/render/mitrap.c
++++ b/render/mitrap.c
+@@ -34,6 +34,55 @@
+ #include "picturestr.h"
+ #include "mipict.h"
+ 
++PicturePtr
++miCreateAlphaPicture (ScreenPtr	    pScreen, 
++		      PicturePtr    pDst,
++		      PictFormatPtr pPictFormat,
++		      CARD16	    width,
++		      CARD16	    height)
++{
++    PixmapPtr	    pPixmap;
++    PicturePtr	    pPicture;
++    GCPtr	    pGC;
++    int		    error;
++    xRectangle	    rect;
++
++    if (width > 32767 || height > 32767)
++	return 0;
++
++    if (!pPictFormat)
++    {
++	if (pDst->polyEdge == PolyEdgeSharp)
++	    pPictFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
++	else
++	    pPictFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
++	if (!pPictFormat)
++	    return 0;
++    }
++
++    pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height, 
++					pPictFormat->depth, 0);
++    if (!pPixmap)
++	return 0;
++    pGC = GetScratchGC (pPixmap->drawable.depth, pScreen);
++    if (!pGC)
++    {
++	(*pScreen->DestroyPixmap) (pPixmap);
++	return 0;
++    }
++    ValidateGC (&pPixmap->drawable, pGC);
++    rect.x = 0;
++    rect.y = 0;
++    rect.width = width;
++    rect.height = height;
++    (*pGC->ops->PolyFillRect)(&pPixmap->drawable, pGC, 1, &rect);
++    FreeScratchGC (pGC);
++    pPicture = CreatePicture (0, &pPixmap->drawable, pPictFormat,
++			      0, 0, serverClient, &error);
++    (*pScreen->DestroyPixmap) (pPixmap);
++    return pPicture;
++}
++
+ static xFixed
+ miLineFixedX(xLineFixed * l, xFixed y, Bool ceil)
+ {
+@@ -79,3 +128,65 @@ miTrapezoidBounds(int ntrap, xTrapezoid * traps, BoxPtr box)
+             box->x2 = x2;
+     }
+ }
++
++
++void
++miTrapezoids (CARD8        op,
++             PicturePtr    pSrc,
++             PicturePtr    pDst,
++             PictFormatPtr maskFormat,
++             INT16         xSrc,
++             INT16         ySrc,
++             int           ntrap,
++             xTrapezoid    *traps)
++{
++    ScreenPtr          pScreen = pDst->pDrawable->pScreen;
++    PictureScreenPtr    ps = GetPictureScreen(pScreen);
++
++    /*
++     * Check for solid alpha add
++     */
++    if (op == PictOpAdd && miIsSolidAlpha (pSrc))
++    {
++       for (; ntrap; ntrap--, traps++)
++           (*ps->RasterizeTrapezoid) (pDst, traps, 0, 0);
++    } 
++    else if (maskFormat)
++    {
++       PicturePtr      pPicture;
++       BoxRec          bounds;
++       INT16           xDst, yDst;
++       INT16           xRel, yRel;
++       
++       xDst = traps[0].left.p1.x >> 16;
++       yDst = traps[0].left.p1.y >> 16;
++
++       miTrapezoidBounds (ntrap, traps, &bounds);
++       if (bounds.y1 >= bounds.y2 || bounds.x1 >= bounds.x2)
++           return;
++       pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat,
++                                        bounds.x2 - bounds.x1,
++                                        bounds.y2 - bounds.y1);
++       if (!pPicture)
++           return;
++       for (; ntrap; ntrap--, traps++)
++           (*ps->RasterizeTrapezoid) (pPicture, traps, 
++                                      -bounds.x1, -bounds.y1);
++       xRel = bounds.x1 + xSrc - xDst;
++       yRel = bounds.y1 + ySrc - yDst;
++       CompositePicture (op, pSrc, pPicture, pDst,
++                         xRel, yRel, 0, 0, bounds.x1, bounds.y1,
++                         bounds.x2 - bounds.x1,
++                         bounds.y2 - bounds.y1);
++       FreePicture (pPicture, 0);
++    }
++    else
++    {
++       if (pDst->polyEdge == PolyEdgeSharp)
++           maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
++       else
++           maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
++       for (; ntrap; ntrap--, traps++)
++           miTrapezoids (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, traps);
++    }
++}
+diff --git a/render/mitri.c b/render/mitri.c
+index 922f22a..bdca9ca 100644
+--- a/render/mitri.c
++++ b/render/mitri.c
+@@ -65,3 +65,64 @@ miTriangleBounds(int ntri, xTriangle * tris, BoxPtr bounds)
+ {
+     miPointFixedBounds(ntri * 3, (xPointFixed *) tris, bounds);
+ }
++
++
++void
++miTriangles (CARD8	    op,
++	     PicturePtr	    pSrc,
++	     PicturePtr	    pDst,
++	     PictFormatPtr  maskFormat,
++	     INT16	    xSrc,
++	     INT16	    ySrc,
++	     int	    ntri,
++	     xTriangle	    *tris)
++{
++    ScreenPtr		pScreen = pDst->pDrawable->pScreen;
++    PictureScreenPtr    ps = GetPictureScreen(pScreen);
++    
++    /*
++     * Check for solid alpha add
++     */
++    if (op == PictOpAdd && miIsSolidAlpha (pSrc))
++    {
++	(*ps->AddTriangles) (pDst, 0, 0, ntri, tris);
++    }
++    else if (maskFormat)
++    {
++	BoxRec		bounds;
++	PicturePtr	pPicture;
++	INT16		xDst, yDst;
++	INT16		xRel, yRel;
++	
++	xDst = tris[0].p1.x >> 16;
++	yDst = tris[0].p1.y >> 16;
++
++	miTriangleBounds (ntri, tris, &bounds);
++	if (bounds.x2 <= bounds.x1 || bounds.y2 <= bounds.y1)
++	    return;
++	pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat,
++					 bounds.x2 - bounds.x1,
++					 bounds.y2 - bounds.y1);
++	if (!pPicture)
++	    return;
++	(*ps->AddTriangles) (pPicture, -bounds.x1, -bounds.y1, ntri, tris);
++	
++	xRel = bounds.x1 + xSrc - xDst;
++	yRel = bounds.y1 + ySrc - yDst;
++	CompositePicture (op, pSrc, pPicture, pDst,
++			  xRel, yRel, 0, 0, bounds.x1, bounds.y1,
++			  bounds.x2 - bounds.x1, bounds.y2 - bounds.y1);
++	FreePicture (pPicture, 0);
++    }
++    else
++    {
++	if (pDst->polyEdge == PolyEdgeSharp)
++	    maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
++	else
++	    maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
++	
++	for (; ntri; ntri--, tris++)
++	    miTriangles (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, tris);
++    }
++}
++
+-- 
+1.8.4.1
+
diff --git a/pkgs/servers/x11/xorg/darwin/bundle_main.patch b/pkgs/servers/x11/xorg/darwin/bundle_main.patch
new file mode 100644
index 0000000000000..e60ca5738d14b
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/bundle_main.patch
@@ -0,0 +1,118 @@
+cstrahan:
+
+This patch makes it possible (and necessary) to specify the default
+shell, xterm client, and startx script from environment variables. These
+defaults are used when launching the XQuartz.app, which in turn needs to know
+how to start the X server. I've patched `command_from_prefs' so that it ignores
+the preferences settings and immediately sets them to whatever the environment
+variables are.
+
+When developing an installable package for XQuartz/XQuartz.app, we'll need to
+set an `LSEnvironment' entry in the plist for the XQuartz.app, we'll also need
+to wrap the XQuartz.app/Contents/MacOS/X11 script (the Xquartz server will
+invoke this script during initialization. See stub.patch for more details.).
+
+diff --git a/hw/xquartz/mach-startup/bundle-main.c b/hw/xquartz/mach-startup/bundle-main.c
+index b403662..b1e2070 100644
+--- a/hw/xquartz/mach-startup/bundle-main.c
++++ b/hw/xquartz/mach-startup/bundle-main.c
+@@ -77,13 +77,7 @@ FatalError(const char *f, ...) _X_ATTRIBUTE_PRINTF(1, 2) _X_NORETURN;
+ 
+ extern int noPanoramiXExtension;
+ 
+-#define DEFAULT_CLIENT X11BINDIR "/xterm"
+-#define DEFAULT_STARTX X11BINDIR "/startx -- " X11BINDIR "/Xquartz"
+-#define DEFAULT_SHELL  "/bin/sh"
+-
+-#ifndef BUILD_DATE
+ #define BUILD_DATE ""
+-#endif
+ #ifndef XSERVER_VERSION
+ #define XSERVER_VERSION "?"
+ #endif
+@@ -718,14 +712,14 @@ main(int argc, char **argv, char **envp)
+         pid_t child1, child2;
+         int status;
+ 
+-        pref_app_to_run = command_from_prefs("app_to_run", DEFAULT_CLIENT);
++        pref_app_to_run = command_from_prefs("app_to_run", getenv("XQUARTZ_DEFAULT_CLIENT"));
+         assert(pref_app_to_run);
+ 
+-        pref_login_shell = command_from_prefs("login_shell", DEFAULT_SHELL);
++        pref_login_shell = command_from_prefs("login_shell", getenv("XQUARTZ_DEFAULT_SHELL"));
+         assert(pref_login_shell);
+ 
+         pref_startx_script = command_from_prefs("startx_script",
+-                                                DEFAULT_STARTX);
++                                                getenv("XQUARTZ_DEFAULT_STARTX"));
+         assert(pref_startx_script);
+ 
+         /* Do the fork-twice trick to avoid having to reap zombies */
+@@ -804,10 +798,12 @@ execute(const char *command)
+ static char *
+ command_from_prefs(const char *key, const char *default_value)
+ {
++    if (default_value == NULL)
++        return NULL;
++
+     char *command = NULL;
+ 
+     CFStringRef cfKey;
+-    CFPropertyListRef PlistRef;
+ 
+     if (!key)
+         return NULL;
+@@ -817,40 +813,24 @@ command_from_prefs(const char *key, const char *default_value)
+     if (!cfKey)
+         return NULL;
+ 
+-    PlistRef = CFPreferencesCopyAppValue(cfKey,
+-                                         kCFPreferencesCurrentApplication);
++    CFStringRef cfDefaultValue = CFStringCreateWithCString(
++        NULL, default_value, kCFStringEncodingASCII);
++    int len = strlen(default_value) + 1;
+ 
+-    if ((PlistRef == NULL) ||
+-        (CFGetTypeID(PlistRef) != CFStringGetTypeID())) {
+-        CFStringRef cfDefaultValue = CFStringCreateWithCString(
+-            NULL, default_value, kCFStringEncodingASCII);
+-        int len = strlen(default_value) + 1;
++    if (!cfDefaultValue)
++        goto command_from_prefs_out;
+ 
+-        if (!cfDefaultValue)
+-            goto command_from_prefs_out;
++    CFPreferencesSetAppValue(cfKey, cfDefaultValue,
++                             kCFPreferencesCurrentApplication);
++    CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication);
++    CFRelease(cfDefaultValue);
+ 
+-        CFPreferencesSetAppValue(cfKey, cfDefaultValue,
+-                                 kCFPreferencesCurrentApplication);
+-        CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication);
+-        CFRelease(cfDefaultValue);
+-
+-        command = (char *)malloc(len * sizeof(char));
+-        if (!command)
+-            goto command_from_prefs_out;
+-        strcpy(command, default_value);
+-    }
+-    else {
+-        int len = CFStringGetLength((CFStringRef)PlistRef) + 1;
+-        command = (char *)malloc(len * sizeof(char));
+-        if (!command)
+-            goto command_from_prefs_out;
+-        CFStringGetCString((CFStringRef)PlistRef, command, len,
+-                           kCFStringEncodingASCII);
+-    }
++    command = (char *)malloc(len * sizeof(char));
++    if (!command)
++        goto command_from_prefs_out;
++    strcpy(command, default_value);
+ 
+ command_from_prefs_out:
+-    if (PlistRef)
+-        CFRelease(PlistRef);
+     if (cfKey)
+         CFRelease(cfKey);
+     return command;
diff --git a/pkgs/servers/x11/xorg/darwin/dri/GL/internal/dri_interface.h b/pkgs/servers/x11/xorg/darwin/dri/GL/internal/dri_interface.h
new file mode 100644
index 0000000000000..b012570ae133c
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/dri/GL/internal/dri_interface.h
@@ -0,0 +1,1409 @@
+/*
+ * Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+ * Copyright 2007-2008 Red Hat, Inc.
+ * (C) Copyright IBM Corporation 2004
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * on the rights to use, copy, modify, merge, publish, distribute, sub
+ * license, and/or sell copies of the Software, and to permit persons to whom
+ * the Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
+ * THE COPYRIGHT HOLDERS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ * USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/**
+ * \file dri_interface.h
+ *
+ * This file contains all the types and functions that define the interface
+ * between a DRI driver and driver loader.  Currently, the most common driver
+ * loader is the XFree86 libGL.so.  However, other loaders do exist, and in
+ * the future the server-side libglx.a will also be a loader.
+ * 
+ * \author Kevin E. Martin <kevin@precisioninsight.com>
+ * \author Ian Romanick <idr@us.ibm.com>
+ * \author Kristian Høgsberg <krh@redhat.com>
+ */
+
+#ifndef DRI_INTERFACE_H
+#define DRI_INTERFACE_H
+
+/* For archs with no drm.h */
+#if defined(__APPLE__) || defined(__CYGWIN__) || defined(__GNU__)
+#ifndef __NOT_HAVE_DRM_H
+#define __NOT_HAVE_DRM_H
+#endif
+#endif
+
+#ifndef __NOT_HAVE_DRM_H
+#include <drm.h>
+#else
+typedef unsigned int drm_context_t;
+typedef unsigned int drm_drawable_t;
+typedef struct drm_clip_rect drm_clip_rect_t;
+#endif
+
+/**
+ * \name DRI interface structures
+ *
+ * The following structures define the interface between the GLX client
+ * side library and the DRI (direct rendering infrastructure).
+ */
+/*@{*/
+typedef struct __DRIdisplayRec		__DRIdisplay;
+typedef struct __DRIscreenRec		__DRIscreen;
+typedef struct __DRIcontextRec		__DRIcontext;
+typedef struct __DRIdrawableRec		__DRIdrawable;
+typedef struct __DRIconfigRec		__DRIconfig;
+typedef struct __DRIframebufferRec	__DRIframebuffer;
+typedef struct __DRIversionRec		__DRIversion;
+
+typedef struct __DRIcoreExtensionRec		__DRIcoreExtension;
+typedef struct __DRIextensionRec		__DRIextension;
+typedef struct __DRIcopySubBufferExtensionRec	__DRIcopySubBufferExtension;
+typedef struct __DRIswapControlExtensionRec	__DRIswapControlExtension;
+typedef struct __DRIframeTrackingExtensionRec	__DRIframeTrackingExtension;
+typedef struct __DRImediaStreamCounterExtensionRec	__DRImediaStreamCounterExtension;
+typedef struct __DRItexOffsetExtensionRec	__DRItexOffsetExtension;
+typedef struct __DRItexBufferExtensionRec	__DRItexBufferExtension;
+typedef struct __DRIlegacyExtensionRec		__DRIlegacyExtension;
+typedef struct __DRIswrastExtensionRec		__DRIswrastExtension;
+typedef struct __DRIbufferRec			__DRIbuffer;
+typedef struct __DRIdri2ExtensionRec		__DRIdri2Extension;
+typedef struct __DRIdri2LoaderExtensionRec	__DRIdri2LoaderExtension;
+typedef struct __DRI2flushExtensionRec	__DRI2flushExtension;
+typedef struct __DRI2throttleExtensionRec	__DRI2throttleExtension;
+
+
+typedef struct __DRIimageLoaderExtensionRec     __DRIimageLoaderExtension;
+typedef struct __DRIimageDriverExtensionRec     __DRIimageDriverExtension;
+
+/*@}*/
+
+
+/**
+ * Extension struct.  Drivers 'inherit' from this struct by embedding
+ * it as the first element in the extension struct.
+ *
+ * We never break API in for a DRI extension.  If we need to change
+ * the way things work in a non-backwards compatible manner, we
+ * introduce a new extension.  During a transition period, we can
+ * leave both the old and the new extension in the driver, which
+ * allows us to move to the new interface without having to update the
+ * loader(s) in lock step.
+ *
+ * However, we can add entry points to an extension over time as long
+ * as we don't break the old ones.  As we add entry points to an
+ * extension, we increase the version number.  The corresponding
+ * #define can be used to guard code that accesses the new entry
+ * points at compile time and the version field in the extension
+ * struct can be used at run-time to determine how to use the
+ * extension.
+ */
+struct __DRIextensionRec {
+    const char *name;
+    int version;
+};
+
+/**
+ * The first set of extension are the screen extensions, returned by
+ * __DRIcore::getExtensions().  This entry point will return a list of
+ * extensions and the loader can use the ones it knows about by
+ * casting them to more specific extensions and advertising any GLX
+ * extensions the DRI extensions enables.
+ */
+
+/**
+ * Used by drivers to indicate support for setting the read drawable.
+ */
+#define __DRI_READ_DRAWABLE "DRI_ReadDrawable"
+#define __DRI_READ_DRAWABLE_VERSION 1
+
+/**
+ * Used by drivers that implement the GLX_MESA_copy_sub_buffer extension.
+ */
+#define __DRI_COPY_SUB_BUFFER "DRI_CopySubBuffer"
+#define __DRI_COPY_SUB_BUFFER_VERSION 1
+struct __DRIcopySubBufferExtensionRec {
+    __DRIextension base;
+    void (*copySubBuffer)(__DRIdrawable *drawable, int x, int y, int w, int h);
+};
+
+/**
+ * Used by drivers that implement the GLX_SGI_swap_control or
+ * GLX_MESA_swap_control extension.
+ */
+#define __DRI_SWAP_CONTROL "DRI_SwapControl"
+#define __DRI_SWAP_CONTROL_VERSION 1
+struct __DRIswapControlExtensionRec {
+    __DRIextension base;
+    void (*setSwapInterval)(__DRIdrawable *drawable, unsigned int inteval);
+    unsigned int (*getSwapInterval)(__DRIdrawable *drawable);
+};
+
+/**
+ * Used by drivers that implement the GLX_MESA_swap_frame_usage extension.
+ */
+#define __DRI_FRAME_TRACKING "DRI_FrameTracking"
+#define __DRI_FRAME_TRACKING_VERSION 1
+struct __DRIframeTrackingExtensionRec {
+    __DRIextension base;
+
+    /**
+     * Enable or disable frame usage tracking.
+     * 
+     * \since Internal API version 20030317.
+     */
+    int (*frameTracking)(__DRIdrawable *drawable, GLboolean enable);
+
+    /**
+     * Retrieve frame usage information.
+     * 
+     * \since Internal API version 20030317.
+     */
+    int (*queryFrameTracking)(__DRIdrawable *drawable,
+			      int64_t * sbc, int64_t * missedFrames,
+			      float * lastMissedUsage, float * usage);
+};
+
+
+/**
+ * Used by drivers that implement the GLX_SGI_video_sync extension.
+ */
+#define __DRI_MEDIA_STREAM_COUNTER "DRI_MediaStreamCounter"
+#define __DRI_MEDIA_STREAM_COUNTER_VERSION 1
+struct __DRImediaStreamCounterExtensionRec {
+    __DRIextension base;
+
+    /**
+     * Wait for the MSC to equal target_msc, or, if that has already passed,
+     * the next time (MSC % divisor) is equal to remainder.  If divisor is
+     * zero, the function will return as soon as MSC is greater than or equal
+     * to target_msc.
+     */
+    int (*waitForMSC)(__DRIdrawable *drawable,
+		      int64_t target_msc, int64_t divisor, int64_t remainder,
+		      int64_t * msc, int64_t * sbc);
+
+    /**
+     * Get the number of vertical refreshes since some point in time before
+     * this function was first called (i.e., system start up).
+     */
+    int (*getDrawableMSC)(__DRIscreen *screen, __DRIdrawable *drawable,
+			  int64_t *msc);
+};
+
+
+#define __DRI_TEX_OFFSET "DRI_TexOffset"
+#define __DRI_TEX_OFFSET_VERSION 1
+struct __DRItexOffsetExtensionRec {
+    __DRIextension base;
+
+    /**
+     * Method to override base texture image with a driver specific 'offset'.
+     * The depth passed in allows e.g. to ignore the alpha channel of texture
+     * images where the non-alpha components don't occupy a whole texel.
+     *
+     * For GLX_EXT_texture_from_pixmap with AIGLX.
+     */
+    void (*setTexOffset)(__DRIcontext *pDRICtx, GLint texname,
+			 unsigned long long offset, GLint depth, GLuint pitch);
+};
+
+
+/* Valid values for format in the setTexBuffer2 function below.  These
+ * values match the GLX tokens for compatibility reasons, but we
+ * define them here since the DRI interface can't depend on GLX. */
+#define __DRI_TEXTURE_FORMAT_NONE        0x20D8
+#define __DRI_TEXTURE_FORMAT_RGB         0x20D9
+#define __DRI_TEXTURE_FORMAT_RGBA        0x20DA
+
+#define __DRI_TEX_BUFFER "DRI_TexBuffer"
+#define __DRI_TEX_BUFFER_VERSION 2
+struct __DRItexBufferExtensionRec {
+    __DRIextension base;
+
+    /**
+     * Method to override base texture image with the contents of a
+     * __DRIdrawable. 
+     *
+     * For GLX_EXT_texture_from_pixmap with AIGLX.  Deprecated in favor of
+     * setTexBuffer2 in version 2 of this interface
+     */
+    void (*setTexBuffer)(__DRIcontext *pDRICtx,
+			 GLint target,
+			 __DRIdrawable *pDraw);
+
+    /**
+     * Method to override base texture image with the contents of a
+     * __DRIdrawable, including the required texture format attribute.
+     *
+     * For GLX_EXT_texture_from_pixmap with AIGLX.
+     */
+    void (*setTexBuffer2)(__DRIcontext *pDRICtx,
+			  GLint target,
+			  GLint format,
+			  __DRIdrawable *pDraw);
+    /**
+     * Method to release texture buffer in case some special platform
+     * need this.
+     *
+     * For GLX_EXT_texture_from_pixmap with AIGLX.
+     */
+    void (*releaseTexBuffer)(__DRIcontext *pDRICtx,
+			GLint target,
+			__DRIdrawable *pDraw);
+};
+
+/**
+ * Used by drivers that implement DRI2
+ */
+#define __DRI2_FLUSH "DRI2_Flush"
+#define __DRI2_FLUSH_VERSION 4
+
+#define __DRI2_FLUSH_DRAWABLE (1 << 0) /* the drawable should be flushed. */
+#define __DRI2_FLUSH_CONTEXT  (1 << 1) /* glFlush should be called */
+
+enum __DRI2throttleReason {
+   __DRI2_THROTTLE_SWAPBUFFER,
+   __DRI2_THROTTLE_COPYSUBBUFFER,
+   __DRI2_THROTTLE_FLUSHFRONT
+};
+
+struct __DRI2flushExtensionRec {
+    __DRIextension base;
+    void (*flush)(__DRIdrawable *drawable);
+
+    /**
+     * Ask the driver to call getBuffers/getBuffersWithFormat before
+     * it starts rendering again.
+     *
+     * \param drawable the drawable to invalidate
+     *
+     * \since 3
+     */
+    void (*invalidate)(__DRIdrawable *drawable);
+
+    /**
+     * This function reduces the number of flushes in the driver by combining
+     * several operations into one call.
+     *
+     * It can:
+     * - throttle
+     * - flush a drawable
+     * - flush a context
+     *
+     * \param context           the context
+     * \param drawable          the drawable to flush
+     * \param flags             a combination of _DRI2_FLUSH_xxx flags
+     * \param throttle_reason   the reason for throttling, 0 = no throttling
+     *
+     * \since 4
+     */
+    void (*flush_with_flags)(__DRIcontext *ctx,
+                             __DRIdrawable *drawable,
+                             unsigned flags,
+                             enum __DRI2throttleReason throttle_reason);
+};
+
+
+/**
+ * Extension that the driver uses to request
+ * throttle callbacks.
+ */
+
+#define __DRI2_THROTTLE "DRI2_Throttle"
+#define __DRI2_THROTTLE_VERSION 1
+
+struct __DRI2throttleExtensionRec {
+   __DRIextension base;
+   void (*throttle)(__DRIcontext *ctx,
+		    __DRIdrawable *drawable,
+		    enum __DRI2throttleReason reason);
+};
+
+/*@}*/
+
+/**
+ * The following extensions describe loader features that the DRI
+ * driver can make use of.  Some of these are mandatory, such as the
+ * getDrawableInfo extension for DRI and the DRI Loader extensions for
+ * DRI2, while others are optional, and if present allow the driver to
+ * expose certain features.  The loader pass in a NULL terminated
+ * array of these extensions to the driver in the createNewScreen
+ * constructor.
+ */
+
+typedef struct __DRIgetDrawableInfoExtensionRec __DRIgetDrawableInfoExtension;
+typedef struct __DRIsystemTimeExtensionRec __DRIsystemTimeExtension;
+typedef struct __DRIdamageExtensionRec __DRIdamageExtension;
+typedef struct __DRIloaderExtensionRec __DRIloaderExtension;
+typedef struct __DRIswrastLoaderExtensionRec __DRIswrastLoaderExtension;
+
+
+/**
+ * Callback to getDrawableInfo protocol
+ */
+#define __DRI_GET_DRAWABLE_INFO "DRI_GetDrawableInfo"
+#define __DRI_GET_DRAWABLE_INFO_VERSION 1
+struct __DRIgetDrawableInfoExtensionRec {
+    __DRIextension base;
+
+    /**
+     * This function is used to get information about the position, size, and
+     * clip rects of a drawable.
+     */
+    GLboolean (* getDrawableInfo) ( __DRIdrawable *drawable,
+	unsigned int * index, unsigned int * stamp,
+        int * x, int * y, int * width, int * height,
+        int * numClipRects, drm_clip_rect_t ** pClipRects,
+        int * backX, int * backY,
+	int * numBackClipRects, drm_clip_rect_t ** pBackClipRects,
+	void *loaderPrivate);
+};
+
+/**
+ * Callback to get system time for media stream counter extensions.
+ */
+#define __DRI_SYSTEM_TIME "DRI_SystemTime"
+#define __DRI_SYSTEM_TIME_VERSION 1
+struct __DRIsystemTimeExtensionRec {
+    __DRIextension base;
+
+    /**
+     * Get the 64-bit unadjusted system time (UST).
+     */
+    int (*getUST)(int64_t * ust);
+
+    /**
+     * Get the media stream counter (MSC) rate.
+     * 
+     * Matching the definition in GLX_OML_sync_control, this function returns
+     * the rate of the "media stream counter".  In practical terms, this is
+     * the frame refresh rate of the display.
+     */
+    GLboolean (*getMSCRate)(__DRIdrawable *draw,
+			    int32_t * numerator, int32_t * denominator,
+			    void *loaderPrivate);
+};
+
+/**
+ * Damage reporting
+ */
+#define __DRI_DAMAGE "DRI_Damage"
+#define __DRI_DAMAGE_VERSION 1
+struct __DRIdamageExtensionRec {
+    __DRIextension base;
+
+    /**
+     * Reports areas of the given drawable which have been modified by the
+     * driver.
+     *
+     * \param drawable which the drawing was done to.
+     * \param rects rectangles affected, with the drawable origin as the
+     *	      origin.
+     * \param x X offset of the drawable within the screen (used in the
+     *	      front_buffer case)
+     * \param y Y offset of the drawable within the screen.
+     * \param front_buffer boolean flag for whether the drawing to the
+     * 	      drawable was actually done directly to the front buffer (instead
+     *	      of backing storage, for example)
+     * \param loaderPrivate the data passed in at createNewDrawable time
+     */
+    void (*reportDamage)(__DRIdrawable *draw,
+			 int x, int y,
+			 drm_clip_rect_t *rects, int num_rects,
+			 GLboolean front_buffer,
+			 void *loaderPrivate);
+};
+
+#define __DRI_SWRAST_IMAGE_OP_DRAW	1
+#define __DRI_SWRAST_IMAGE_OP_CLEAR	2
+#define __DRI_SWRAST_IMAGE_OP_SWAP	3
+
+/**
+ * SWRast Loader extension.
+ */
+#define __DRI_SWRAST_LOADER "DRI_SWRastLoader"
+#define __DRI_SWRAST_LOADER_VERSION 1
+struct __DRIswrastLoaderExtensionRec {
+    __DRIextension base;
+
+    /*
+     * Drawable position and size
+     */
+    void (*getDrawableInfo)(__DRIdrawable *drawable,
+			    int *x, int *y, int *width, int *height,
+			    void *loaderPrivate);
+
+    /**
+     * Put image to drawable
+     */
+    void (*putImage)(__DRIdrawable *drawable, int op,
+		     int x, int y, int width, int height,
+		     char *data, void *loaderPrivate);
+
+    /**
+     * Get image from readable
+     */
+    void (*getImage)(__DRIdrawable *readable,
+		     int x, int y, int width, int height,
+		     char *data, void *loaderPrivate);
+};
+
+/**
+ * Invalidate loader extension.  The presence of this extension
+ * indicates to the DRI driver that the loader will call invalidate in
+ * the __DRI2_FLUSH extension, whenever the needs to query for new
+ * buffers.  This means that the DRI driver can drop the polling in
+ * glViewport().
+ *
+ * The extension doesn't provide any functionality, it's only use to
+ * indicate to the driver that it can use the new semantics.  A DRI
+ * driver can use this to switch between the different semantics or
+ * just refuse to initialize if this extension isn't present.
+ */
+#define __DRI_USE_INVALIDATE "DRI_UseInvalidate"
+#define __DRI_USE_INVALIDATE_VERSION 1
+
+typedef struct __DRIuseInvalidateExtensionRec __DRIuseInvalidateExtension;
+struct __DRIuseInvalidateExtensionRec {
+   __DRIextension base;
+};
+
+/**
+ * The remaining extensions describe driver extensions, immediately
+ * available interfaces provided by the driver.  To start using the
+ * driver, dlsym() for the __DRI_DRIVER_EXTENSIONS symbol and look for
+ * the extension you need in the array.
+ */
+#define __DRI_DRIVER_EXTENSIONS "__driDriverExtensions"
+
+/**
+ * This symbol replaces the __DRI_DRIVER_EXTENSIONS symbol, and will be
+ * suffixed by "_drivername", allowing multiple drivers to be built into one
+ * library, and also giving the driver the chance to return a variable driver
+ * extensions struct depending on the driver name being loaded or any other
+ * system state.
+ *
+ * The function prototype is:
+ *
+ * const __DRIextension **__driDriverGetExtensions_drivername(void);
+ */
+#define __DRI_DRIVER_GET_EXTENSIONS "__driDriverGetExtensions"
+
+/**
+ * Tokens for __DRIconfig attribs.  A number of attributes defined by
+ * GLX or EGL standards are not in the table, as they must be provided
+ * by the loader.  For example, FBConfig ID or visual ID, drawable type.
+ */
+
+#define __DRI_ATTRIB_BUFFER_SIZE		 1
+#define __DRI_ATTRIB_LEVEL			 2
+#define __DRI_ATTRIB_RED_SIZE			 3
+#define __DRI_ATTRIB_GREEN_SIZE			 4
+#define __DRI_ATTRIB_BLUE_SIZE			 5
+#define __DRI_ATTRIB_LUMINANCE_SIZE		 6
+#define __DRI_ATTRIB_ALPHA_SIZE			 7
+#define __DRI_ATTRIB_ALPHA_MASK_SIZE		 8
+#define __DRI_ATTRIB_DEPTH_SIZE			 9
+#define __DRI_ATTRIB_STENCIL_SIZE		10
+#define __DRI_ATTRIB_ACCUM_RED_SIZE		11
+#define __DRI_ATTRIB_ACCUM_GREEN_SIZE		12
+#define __DRI_ATTRIB_ACCUM_BLUE_SIZE		13
+#define __DRI_ATTRIB_ACCUM_ALPHA_SIZE		14
+#define __DRI_ATTRIB_SAMPLE_BUFFERS		15
+#define __DRI_ATTRIB_SAMPLES			16
+#define __DRI_ATTRIB_RENDER_TYPE		17
+#define __DRI_ATTRIB_CONFIG_CAVEAT		18
+#define __DRI_ATTRIB_CONFORMANT			19
+#define __DRI_ATTRIB_DOUBLE_BUFFER		20
+#define __DRI_ATTRIB_STEREO			21
+#define __DRI_ATTRIB_AUX_BUFFERS		22
+#define __DRI_ATTRIB_TRANSPARENT_TYPE		23
+#define __DRI_ATTRIB_TRANSPARENT_INDEX_VALUE	24
+#define __DRI_ATTRIB_TRANSPARENT_RED_VALUE	25
+#define __DRI_ATTRIB_TRANSPARENT_GREEN_VALUE	26
+#define __DRI_ATTRIB_TRANSPARENT_BLUE_VALUE	27
+#define __DRI_ATTRIB_TRANSPARENT_ALPHA_VALUE	28
+#define __DRI_ATTRIB_FLOAT_MODE			29
+#define __DRI_ATTRIB_RED_MASK			30
+#define __DRI_ATTRIB_GREEN_MASK			31
+#define __DRI_ATTRIB_BLUE_MASK			32
+#define __DRI_ATTRIB_ALPHA_MASK			33
+#define __DRI_ATTRIB_MAX_PBUFFER_WIDTH		34
+#define __DRI_ATTRIB_MAX_PBUFFER_HEIGHT		35
+#define __DRI_ATTRIB_MAX_PBUFFER_PIXELS		36
+#define __DRI_ATTRIB_OPTIMAL_PBUFFER_WIDTH	37
+#define __DRI_ATTRIB_OPTIMAL_PBUFFER_HEIGHT	38
+#define __DRI_ATTRIB_VISUAL_SELECT_GROUP	39
+#define __DRI_ATTRIB_SWAP_METHOD		40
+#define __DRI_ATTRIB_MAX_SWAP_INTERVAL		41
+#define __DRI_ATTRIB_MIN_SWAP_INTERVAL		42
+#define __DRI_ATTRIB_BIND_TO_TEXTURE_RGB	43
+#define __DRI_ATTRIB_BIND_TO_TEXTURE_RGBA	44
+#define __DRI_ATTRIB_BIND_TO_MIPMAP_TEXTURE	45
+#define __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS	46
+#define __DRI_ATTRIB_YINVERTED			47
+#define __DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE	48
+
+/* __DRI_ATTRIB_RENDER_TYPE */
+#define __DRI_ATTRIB_RGBA_BIT			0x01	
+#define __DRI_ATTRIB_COLOR_INDEX_BIT		0x02
+#define __DRI_ATTRIB_LUMINANCE_BIT		0x04
+#define __DRI_ATTRIB_FLOAT_BIT			0x08
+#define __DRI_ATTRIB_UNSIGNED_FLOAT_BIT		0x10
+
+/* __DRI_ATTRIB_CONFIG_CAVEAT */
+#define __DRI_ATTRIB_SLOW_BIT			0x01
+#define __DRI_ATTRIB_NON_CONFORMANT_CONFIG	0x02
+
+/* __DRI_ATTRIB_TRANSPARENT_TYPE */
+#define __DRI_ATTRIB_TRANSPARENT_RGB		0x00
+#define __DRI_ATTRIB_TRANSPARENT_INDEX		0x01
+
+/* __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS	 */
+#define __DRI_ATTRIB_TEXTURE_1D_BIT		0x01
+#define __DRI_ATTRIB_TEXTURE_2D_BIT		0x02
+#define __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT	0x04
+
+/**
+ * This extension defines the core DRI functionality.
+ */
+#define __DRI_CORE "DRI_Core"
+#define __DRI_CORE_VERSION 1
+
+struct __DRIcoreExtensionRec {
+    __DRIextension base;
+
+    __DRIscreen *(*createNewScreen)(int screen, int fd,
+				    unsigned int sarea_handle,
+				    const __DRIextension **extensions,
+				    const __DRIconfig ***driverConfigs,
+				    void *loaderPrivate);
+
+    void (*destroyScreen)(__DRIscreen *screen);
+
+    const __DRIextension **(*getExtensions)(__DRIscreen *screen);
+
+    int (*getConfigAttrib)(const __DRIconfig *config,
+			   unsigned int attrib,
+			   unsigned int *value);
+
+    int (*indexConfigAttrib)(const __DRIconfig *config, int index,
+			     unsigned int *attrib, unsigned int *value);
+
+    __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
+					const __DRIconfig *config,
+					unsigned int drawable_id,
+					unsigned int head,
+					void *loaderPrivate);
+
+    void (*destroyDrawable)(__DRIdrawable *drawable);
+
+    void (*swapBuffers)(__DRIdrawable *drawable);
+
+    __DRIcontext *(*createNewContext)(__DRIscreen *screen,
+				      const __DRIconfig *config,
+				      __DRIcontext *shared,
+				      void *loaderPrivate);
+
+    int (*copyContext)(__DRIcontext *dest,
+		       __DRIcontext *src,
+		       unsigned long mask);
+
+    void (*destroyContext)(__DRIcontext *context);
+
+    int (*bindContext)(__DRIcontext *ctx,
+		       __DRIdrawable *pdraw,
+		       __DRIdrawable *pread);
+
+    int (*unbindContext)(__DRIcontext *ctx);
+};
+
+/**
+ * Stored version of some component (i.e., server-side DRI module, kernel-side
+ * DRM, etc.).
+ * 
+ * \todo
+ * There are several data structures that explicitly store a major version,
+ * minor version, and patch level.  These structures should be modified to
+ * have a \c __DRIversionRec instead.
+ */
+struct __DRIversionRec {
+    int    major;        /**< Major version number. */
+    int    minor;        /**< Minor version number. */
+    int    patch;        /**< Patch-level. */
+};
+
+/**
+ * Framebuffer information record.  Used by libGL to communicate information
+ * about the framebuffer to the driver's \c __driCreateNewScreen function.
+ * 
+ * In XFree86, most of this information is derrived from data returned by
+ * calling \c XF86DRIGetDeviceInfo.
+ *
+ * \sa XF86DRIGetDeviceInfo __DRIdisplayRec::createNewScreen
+ *     __driUtilCreateNewScreen CallCreateNewScreen
+ *
+ * \bug This structure could be better named.
+ */
+struct __DRIframebufferRec {
+    unsigned char *base;    /**< Framebuffer base address in the CPU's
+			     * address space.  This value is calculated by
+			     * calling \c drmMap on the framebuffer handle
+			     * returned by \c XF86DRIGetDeviceInfo (or a
+			     * similar function).
+			     */
+    int size;               /**< Framebuffer size, in bytes. */
+    int stride;             /**< Number of bytes from one line to the next. */
+    int width;              /**< Pixel width of the framebuffer. */
+    int height;             /**< Pixel height of the framebuffer. */
+    int dev_priv_size;      /**< Size of the driver's dev-priv structure. */
+    void *dev_priv;         /**< Pointer to the driver's dev-priv structure. */
+};
+
+
+/**
+ * This extension provides alternative screen, drawable and context
+ * constructors for legacy DRI functionality.  This is used in
+ * conjunction with the core extension.
+ */
+#define __DRI_LEGACY "DRI_Legacy"
+#define __DRI_LEGACY_VERSION 1
+
+struct __DRIlegacyExtensionRec {
+    __DRIextension base;
+
+    __DRIscreen *(*createNewScreen)(int screen,
+				    const __DRIversion *ddx_version,
+				    const __DRIversion *dri_version,
+				    const __DRIversion *drm_version,
+				    const __DRIframebuffer *frame_buffer,
+				    void *pSAREA, int fd, 
+				    const __DRIextension **extensions,
+				    const __DRIconfig ***driver_configs,
+				    void *loaderPrivate);
+
+    __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
+					const __DRIconfig *config,
+					drm_drawable_t hwDrawable,
+					int renderType, const int *attrs,
+					void *loaderPrivate);
+
+    __DRIcontext *(*createNewContext)(__DRIscreen *screen,
+				      const __DRIconfig *config,
+				      int render_type,
+				      __DRIcontext *shared,
+				      drm_context_t hwContext,
+				      void *loaderPrivate);
+};
+
+/**
+ * This extension provides alternative screen, drawable and context
+ * constructors for swrast DRI functionality.  This is used in
+ * conjunction with the core extension.
+ */
+#define __DRI_SWRAST "DRI_SWRast"
+#define __DRI_SWRAST_VERSION 4
+
+struct __DRIswrastExtensionRec {
+    __DRIextension base;
+
+    __DRIscreen *(*createNewScreen)(int screen,
+				    const __DRIextension **extensions,
+				    const __DRIconfig ***driver_configs,
+				    void *loaderPrivate);
+
+    __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen,
+					const __DRIconfig *config,
+					void *loaderPrivate);
+
+   /* Since version 2 */
+   __DRIcontext *(*createNewContextForAPI)(__DRIscreen *screen,
+                                           int api,
+                                           const __DRIconfig *config,
+                                           __DRIcontext *shared,
+                                           void *data);
+
+   /**
+    * Create a context for a particular API with a set of attributes
+    *
+    * \since version 3
+    *
+    * \sa __DRIdri2ExtensionRec::createContextAttribs
+    */
+   __DRIcontext *(*createContextAttribs)(__DRIscreen *screen,
+					 int api,
+					 const __DRIconfig *config,
+					 __DRIcontext *shared,
+					 unsigned num_attribs,
+					 const uint32_t *attribs,
+					 unsigned *error,
+					 void *loaderPrivate);
+
+   /**
+    * createNewScreen() with the driver extensions passed in.
+    *
+    * \since version 4
+    */
+   __DRIscreen *(*createNewScreen2)(int screen,
+                                    const __DRIextension **loader_extensions,
+                                    const __DRIextension **driver_extensions,
+                                    const __DRIconfig ***driver_configs,
+                                    void *loaderPrivate);
+
+};
+
+/** Common DRI function definitions, shared among DRI2 and Image extensions
+ */
+
+typedef __DRIscreen *
+(*__DRIcreateNewScreen2Func)(int screen, int fd,
+                             const __DRIextension **extensions,
+                             const __DRIextension **driver_extensions,
+                             const __DRIconfig ***driver_configs,
+                             void *loaderPrivate);
+
+typedef __DRIdrawable *
+(*__DRIcreateNewDrawableFunc)(__DRIscreen *screen,
+                              const __DRIconfig *config,
+                              void *loaderPrivate);
+
+typedef __DRIcontext *
+(*__DRIcreateContextAttribsFunc)(__DRIscreen *screen,
+                                 int api,
+                                 const __DRIconfig *config,
+                                 __DRIcontext *shared,
+                                 unsigned num_attribs,
+                                 const uint32_t *attribs,
+                                 unsigned *error,
+                                 void *loaderPrivate);
+
+typedef unsigned int
+(*__DRIgetAPIMaskFunc)(__DRIscreen *screen);
+
+/**
+ * DRI2 Loader extension.
+ */
+#define __DRI_BUFFER_FRONT_LEFT		0
+#define __DRI_BUFFER_BACK_LEFT		1
+#define __DRI_BUFFER_FRONT_RIGHT	2
+#define __DRI_BUFFER_BACK_RIGHT		3
+#define __DRI_BUFFER_DEPTH		4
+#define __DRI_BUFFER_STENCIL		5
+#define __DRI_BUFFER_ACCUM		6
+#define __DRI_BUFFER_FAKE_FRONT_LEFT	7
+#define __DRI_BUFFER_FAKE_FRONT_RIGHT	8
+#define __DRI_BUFFER_DEPTH_STENCIL	9  /**< Only available with DRI2 1.1 */
+#define __DRI_BUFFER_HIZ		10
+
+/* Inofficial and for internal use. Increase when adding a new buffer token. */
+#define __DRI_BUFFER_COUNT		11
+
+struct __DRIbufferRec {
+    unsigned int attachment;
+    unsigned int name;
+    unsigned int pitch;
+    unsigned int cpp;
+    unsigned int flags;
+};
+
+#define __DRI_DRI2_LOADER "DRI_DRI2Loader"
+#define __DRI_DRI2_LOADER_VERSION 3
+struct __DRIdri2LoaderExtensionRec {
+    __DRIextension base;
+
+    __DRIbuffer *(*getBuffers)(__DRIdrawable *driDrawable,
+			       int *width, int *height,
+			       unsigned int *attachments, int count,
+			       int *out_count, void *loaderPrivate);
+
+    /**
+     * Flush pending front-buffer rendering
+     *
+     * Any rendering that has been performed to the
+     * \c __DRI_BUFFER_FAKE_FRONT_LEFT will be flushed to the
+     * \c __DRI_BUFFER_FRONT_LEFT.
+     *
+     * \param driDrawable    Drawable whose front-buffer is to be flushed
+     * \param loaderPrivate  Loader's private data that was previously passed
+     *                       into __DRIdri2ExtensionRec::createNewDrawable
+     */
+    void (*flushFrontBuffer)(__DRIdrawable *driDrawable, void *loaderPrivate);
+
+
+    /**
+     * Get list of buffers from the server
+     *
+     * Gets a list of buffer for the specified set of attachments.  Unlike
+     * \c ::getBuffers, this function takes a list of attachments paired with
+     * opaque \c unsigned \c int value describing the format of the buffer.
+     * It is the responsibility of the caller to know what the service that
+     * allocates the buffers will expect to receive for the format.
+     *
+     * \param driDrawable    Drawable whose buffers are being queried.
+     * \param width          Output where the width of the buffers is stored.
+     * \param height         Output where the height of the buffers is stored.
+     * \param attachments    List of pairs of attachment ID and opaque format
+     *                       requested for the drawable.
+     * \param count          Number of attachment / format pairs stored in
+     *                       \c attachments.
+     * \param loaderPrivate  Loader's private data that was previously passed
+     *                       into __DRIdri2ExtensionRec::createNewDrawable.
+     */
+    __DRIbuffer *(*getBuffersWithFormat)(__DRIdrawable *driDrawable,
+					 int *width, int *height,
+					 unsigned int *attachments, int count,
+					 int *out_count, void *loaderPrivate);
+};
+
+/**
+ * This extension provides alternative screen, drawable and context
+ * constructors for DRI2.
+ */
+#define __DRI_DRI2 "DRI_DRI2"
+#define __DRI_DRI2_VERSION 4
+
+#define __DRI_API_OPENGL	0	/**< OpenGL compatibility profile */
+#define __DRI_API_GLES		1	/**< OpenGL ES 1.x */
+#define __DRI_API_GLES2		2	/**< OpenGL ES 2.x */
+#define __DRI_API_OPENGL_CORE	3	/**< OpenGL 3.2+ core profile */
+#define __DRI_API_GLES3		4	/**< OpenGL ES 3.x */
+
+#define __DRI_CTX_ATTRIB_MAJOR_VERSION		0
+#define __DRI_CTX_ATTRIB_MINOR_VERSION		1
+#define __DRI_CTX_ATTRIB_FLAGS			2
+
+/**
+ * \requires __DRI2_ROBUSTNESS.
+ */
+#define __DRI_CTX_ATTRIB_RESET_STRATEGY		3
+
+#define __DRI_CTX_FLAG_DEBUG			0x00000001
+#define __DRI_CTX_FLAG_FORWARD_COMPATIBLE	0x00000002
+
+/**
+ * \requires __DRI2_ROBUSTNESS.
+ */
+#define __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS	0x00000004
+
+/**
+ * \name Context reset strategies.
+ */
+/*@{*/
+#define __DRI_CTX_RESET_NO_NOTIFICATION		0
+#define __DRI_CTX_RESET_LOSE_CONTEXT		1
+/*@}*/
+
+/**
+ * \name Reasons that __DRIdri2Extension::createContextAttribs might fail
+ */
+/*@{*/
+/** Success! */
+#define __DRI_CTX_ERROR_SUCCESS			0
+
+/** Memory allocation failure */
+#define __DRI_CTX_ERROR_NO_MEMORY		1
+
+/** Client requested an API (e.g., OpenGL ES 2.0) that the driver can't do. */
+#define __DRI_CTX_ERROR_BAD_API			2
+
+/** Client requested an API version that the driver can't do. */
+#define __DRI_CTX_ERROR_BAD_VERSION		3
+
+/** Client requested a flag or combination of flags the driver can't do. */
+#define __DRI_CTX_ERROR_BAD_FLAG		4
+
+/** Client requested an attribute the driver doesn't understand. */
+#define __DRI_CTX_ERROR_UNKNOWN_ATTRIBUTE	5
+
+/** Client requested a flag the driver doesn't understand. */
+#define __DRI_CTX_ERROR_UNKNOWN_FLAG		6
+/*@}*/
+
+struct __DRIdri2ExtensionRec {
+    __DRIextension base;
+
+    __DRIscreen *(*createNewScreen)(int screen, int fd,
+				    const __DRIextension **extensions,
+				    const __DRIconfig ***driver_configs,
+				    void *loaderPrivate);
+
+   __DRIcreateNewDrawableFunc   createNewDrawable;
+   __DRIcontext *(*createNewContext)(__DRIscreen *screen,
+                                     const __DRIconfig *config,
+                                     __DRIcontext *shared,
+                                     void *loaderPrivate);
+
+   /* Since version 2 */
+   __DRIgetAPIMaskFunc          getAPIMask;
+
+   __DRIcontext *(*createNewContextForAPI)(__DRIscreen *screen,
+					   int api,
+					   const __DRIconfig *config,
+					   __DRIcontext *shared,
+					   void *data);
+
+   __DRIbuffer *(*allocateBuffer)(__DRIscreen *screen,
+				  unsigned int attachment,
+				  unsigned int format,
+				  int width,
+				  int height);
+   void (*releaseBuffer)(__DRIscreen *screen,
+			 __DRIbuffer *buffer);
+
+   /**
+    * Create a context for a particular API with a set of attributes
+    *
+    * \since version 3
+    *
+    * \sa __DRIswrastExtensionRec::createContextAttribs
+    */
+   __DRIcreateContextAttribsFunc        createContextAttribs;
+
+   /**
+    * createNewScreen with the driver's extension list passed in.
+    *
+    * \since version 4
+    */
+   __DRIcreateNewScreen2Func            createNewScreen2;
+};
+
+
+/**
+ * This extension provides functionality to enable various EGLImage
+ * extensions.
+ */
+#define __DRI_IMAGE "DRI_IMAGE"
+#define __DRI_IMAGE_VERSION 8
+
+/**
+ * These formats correspond to the similarly named MESA_FORMAT_*
+ * tokens, except in the native endian of the CPU.  For example, on
+ * little endian __DRI_IMAGE_FORMAT_XRGB8888 corresponds to
+ * MESA_FORMAT_XRGB8888, but MESA_FORMAT_XRGB8888_REV on big endian.
+ *
+ * __DRI_IMAGE_FORMAT_NONE is for images that aren't directly usable
+ * by the driver (YUV planar formats) but serve as a base image for
+ * creating sub-images for the different planes within the image.
+ *
+ * R8, GR88 and NONE should not be used with createImageFormName or
+ * createImage, and are returned by query from sub images created with
+ * createImageFromNames (NONE, see above) and fromPlane (R8 & GR88).
+ */
+#define __DRI_IMAGE_FORMAT_RGB565       0x1001
+#define __DRI_IMAGE_FORMAT_XRGB8888     0x1002
+#define __DRI_IMAGE_FORMAT_ARGB8888     0x1003
+#define __DRI_IMAGE_FORMAT_ABGR8888     0x1004
+#define __DRI_IMAGE_FORMAT_XBGR8888     0x1005
+#define __DRI_IMAGE_FORMAT_R8           0x1006 /* Since version 5 */
+#define __DRI_IMAGE_FORMAT_GR88         0x1007
+#define __DRI_IMAGE_FORMAT_NONE         0x1008
+#define __DRI_IMAGE_FORMAT_XRGB2101010  0x1009
+#define __DRI_IMAGE_FORMAT_ARGB2101010  0x100a
+#define __DRI_IMAGE_FORMAT_SARGB8       0x100b
+
+#define __DRI_IMAGE_USE_SHARE		0x0001
+#define __DRI_IMAGE_USE_SCANOUT		0x0002
+#define __DRI_IMAGE_USE_CURSOR		0x0004 /* Depricated */
+#define __DRI_IMAGE_USE_LINEAR		0x0008
+
+
+/**
+ * Four CC formats that matches with WL_DRM_FORMAT_* from wayland_drm.h
+ * and GBM_FORMAT_* from gbm.h, used with createImageFromNames.
+ *
+ * \since 5
+ */
+
+#define __DRI_IMAGE_FOURCC_RGB565	0x36314752
+#define __DRI_IMAGE_FOURCC_ARGB8888	0x34325241
+#define __DRI_IMAGE_FOURCC_XRGB8888	0x34325258
+#define __DRI_IMAGE_FOURCC_ABGR8888	0x34324241
+#define __DRI_IMAGE_FOURCC_XBGR8888	0x34324258
+#define __DRI_IMAGE_FOURCC_YUV410	0x39565559
+#define __DRI_IMAGE_FOURCC_YUV411	0x31315559
+#define __DRI_IMAGE_FOURCC_YUV420	0x32315559
+#define __DRI_IMAGE_FOURCC_YUV422	0x36315559
+#define __DRI_IMAGE_FOURCC_YUV444	0x34325559
+#define __DRI_IMAGE_FOURCC_NV12		0x3231564e
+#define __DRI_IMAGE_FOURCC_NV16		0x3631564e
+#define __DRI_IMAGE_FOURCC_YUYV		0x56595559
+
+
+/**
+ * Queryable on images created by createImageFromNames.
+ *
+ * RGB and RGBA are may be usable directly as images but its still
+ * recommended to call fromPlanar with plane == 0.
+ *
+ * Y_U_V, Y_UV and Y_XUXV all requires call to fromPlanar to create
+ * usable sub-images, sampling from images return raw YUV data and
+ * color conversion needs to be done in the shader.
+ *
+ * \since 5
+ */
+
+#define __DRI_IMAGE_COMPONENTS_RGB	0x3001
+#define __DRI_IMAGE_COMPONENTS_RGBA	0x3002
+#define __DRI_IMAGE_COMPONENTS_Y_U_V	0x3003
+#define __DRI_IMAGE_COMPONENTS_Y_UV	0x3004
+#define __DRI_IMAGE_COMPONENTS_Y_XUXV	0x3005
+
+
+/**
+ * queryImage attributes
+ */
+
+#define __DRI_IMAGE_ATTRIB_STRIDE	0x2000
+#define __DRI_IMAGE_ATTRIB_HANDLE	0x2001
+#define __DRI_IMAGE_ATTRIB_NAME		0x2002
+#define __DRI_IMAGE_ATTRIB_FORMAT	0x2003 /* available in versions 3+ */
+#define __DRI_IMAGE_ATTRIB_WIDTH	0x2004 /* available in versions 4+ */
+#define __DRI_IMAGE_ATTRIB_HEIGHT	0x2005
+#define __DRI_IMAGE_ATTRIB_COMPONENTS	0x2006 /* available in versions 5+ */
+#define __DRI_IMAGE_ATTRIB_FD           0x2007 /* available in versions
+                                                * 7+. Each query will return a
+                                                * new fd. */
+
+enum __DRIYUVColorSpace {
+   __DRI_YUV_COLOR_SPACE_UNDEFINED = 0,
+   __DRI_YUV_COLOR_SPACE_ITU_REC601 = 0x327F,
+   __DRI_YUV_COLOR_SPACE_ITU_REC709 = 0x3280,
+   __DRI_YUV_COLOR_SPACE_ITU_REC2020 = 0x3281
+};
+
+enum __DRISampleRange {
+   __DRI_YUV_RANGE_UNDEFINED = 0,
+   __DRI_YUV_FULL_RANGE = 0x3282,
+   __DRI_YUV_NARROW_RANGE = 0x3283
+};
+
+enum __DRIChromaSiting {
+   __DRI_YUV_CHROMA_SITING_UNDEFINED = 0,
+   __DRI_YUV_CHROMA_SITING_0 = 0x3284,
+   __DRI_YUV_CHROMA_SITING_0_5 = 0x3285
+};
+
+/**
+ * \name Reasons that __DRIimageExtensionRec::createImageFromTexture might fail
+ */
+/*@{*/
+/** Success! */
+#define __DRI_IMAGE_ERROR_SUCCESS       0
+
+/** Memory allocation failure */
+#define __DRI_IMAGE_ERROR_BAD_ALLOC     1
+
+/** Client requested an invalid attribute for a texture object  */
+#define __DRI_IMAGE_ERROR_BAD_MATCH     2
+
+/** Client requested an invalid texture object */
+#define __DRI_IMAGE_ERROR_BAD_PARAMETER 3
+/*@}*/
+
+typedef struct __DRIimageRec          __DRIimage;
+typedef struct __DRIimageExtensionRec __DRIimageExtension;
+struct __DRIimageExtensionRec {
+    __DRIextension base;
+
+    __DRIimage *(*createImageFromName)(__DRIscreen *screen,
+				       int width, int height, int format,
+				       int name, int pitch,
+				       void *loaderPrivate);
+
+    __DRIimage *(*createImageFromRenderbuffer)(__DRIcontext *context,
+					       int renderbuffer,
+					       void *loaderPrivate);
+
+    void (*destroyImage)(__DRIimage *image);
+
+    __DRIimage *(*createImage)(__DRIscreen *screen,
+			       int width, int height, int format,
+			       unsigned int use,
+			       void *loaderPrivate);
+
+   GLboolean (*queryImage)(__DRIimage *image, int attrib, int *value);
+
+   /**
+    * The new __DRIimage will share the content with the old one, see dup(2).
+    */
+   __DRIimage *(*dupImage)(__DRIimage *image, void *loaderPrivate);
+
+   /**
+    * Validate that a __DRIimage can be used a certain way.
+    *
+    * \since 2
+    */
+   GLboolean (*validateUsage)(__DRIimage *image, unsigned int use);
+
+   /**
+    * Unlike createImageFromName __DRI_IMAGE_FORMAT is not but instead
+    * __DRI_IMAGE_FOURCC and strides are in bytes not pixels. Stride is
+    * also per block and not per pixel (for non-RGB, see gallium blocks).
+    *
+    * \since 5
+    */
+   __DRIimage *(*createImageFromNames)(__DRIscreen *screen,
+                                       int width, int height, int fourcc,
+                                       int *names, int num_names,
+                                       int *strides, int *offsets,
+                                       void *loaderPrivate);
+
+   /**
+    * Create an image out of a sub-region of a parent image.  This
+    * entry point lets us create individual __DRIimages for different
+    * planes in a planar buffer (typically yuv), for example.  While a
+    * sub-image shares the underlying buffer object with the parent
+    * image and other sibling sub-images, the life times of parent and
+    * sub-images are not dependent.  Destroying the parent or a
+    * sub-image doesn't affect other images.  The underlying buffer
+    * object is free when no __DRIimage remains that references it.
+    *
+    * Sub-images may overlap, but rendering to overlapping sub-images
+    * is undefined.
+    *
+    * \since 5
+    */
+    __DRIimage *(*fromPlanar)(__DRIimage *image, int plane,
+                              void *loaderPrivate);
+
+    /**
+     * Create image from texture.
+     *
+     * \since 6
+     */
+   __DRIimage *(*createImageFromTexture)(__DRIcontext *context,
+                                         int target,
+                                         unsigned texture,
+                                         int depth,
+                                         int level,
+                                         unsigned *error,
+                                         void *loaderPrivate);
+   /**
+    * Like createImageFromNames, but takes a prime fd instead.
+    *
+    * \since 7
+    */
+   __DRIimage *(*createImageFromFds)(__DRIscreen *screen,
+                                     int width, int height, int fourcc,
+                                     int *fds, int num_fds,
+                                     int *strides, int *offsets,
+                                     void *loaderPrivate);
+
+   /**
+    * Like createImageFromFds, but takes additional attributes.
+    *
+    * For EGL_EXT_image_dma_buf_import.
+    *
+    * \since 8
+    */
+   __DRIimage *(*createImageFromDmaBufs)(__DRIscreen *screen,
+                                         int width, int height, int fourcc,
+                                         int *fds, int num_fds,
+                                         int *strides, int *offsets,
+                                         enum __DRIYUVColorSpace color_space,
+                                         enum __DRISampleRange sample_range,
+                                         enum __DRIChromaSiting horiz_siting,
+                                         enum __DRIChromaSiting vert_siting,
+                                         unsigned *error,
+                                         void *loaderPrivate);
+};
+
+
+/**
+ * This extension must be implemented by the loader and passed to the
+ * driver at screen creation time.  The EGLImage entry points in the
+ * various client APIs take opaque EGLImage handles and use this
+ * extension to map them to a __DRIimage.  At version 1, this
+ * extensions allows mapping EGLImage pointers to __DRIimage pointers,
+ * but future versions could support other EGLImage-like, opaque types
+ * with new lookup functions.
+ */
+#define __DRI_IMAGE_LOOKUP "DRI_IMAGE_LOOKUP"
+#define __DRI_IMAGE_LOOKUP_VERSION 1
+
+typedef struct __DRIimageLookupExtensionRec __DRIimageLookupExtension;
+struct __DRIimageLookupExtensionRec {
+    __DRIextension base;
+
+    __DRIimage *(*lookupEGLImage)(__DRIscreen *screen, void *image,
+				  void *loaderPrivate);
+};
+
+/**
+ * This extension allows for common DRI2 options
+ */
+#define __DRI2_CONFIG_QUERY "DRI_CONFIG_QUERY"
+#define __DRI2_CONFIG_QUERY_VERSION 1
+
+typedef struct __DRI2configQueryExtensionRec __DRI2configQueryExtension;
+struct __DRI2configQueryExtensionRec {
+   __DRIextension base;
+
+   int (*configQueryb)(__DRIscreen *screen, const char *var, GLboolean *val);
+   int (*configQueryi)(__DRIscreen *screen, const char *var, GLint *val);
+   int (*configQueryf)(__DRIscreen *screen, const char *var, GLfloat *val);
+};
+
+/**
+ * Robust context driver extension.
+ *
+ * Existence of this extension means the driver can accept the
+ * \c __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS flag and the
+ * \c __DRI_CTX_ATTRIB_RESET_STRATEGY attribute in
+ * \c __DRIdri2ExtensionRec::createContextAttribs.
+ */
+#define __DRI2_ROBUSTNESS "DRI_Robustness"
+#define __DRI2_ROBUSTNESS_VERSION 1
+
+typedef struct __DRIrobustnessExtensionRec __DRIrobustnessExtension;
+struct __DRIrobustnessExtensionRec {
+   __DRIextension base;
+};
+
+/**
+ * DRI config options extension.
+ *
+ * This extension provides the XML string containing driver options for use by
+ * the loader in supporting the driconf application.
+ */
+#define __DRI_CONFIG_OPTIONS "DRI_ConfigOptions"
+#define __DRI_CONFIG_OPTIONS_VERSION 1
+
+typedef struct __DRIconfigOptionsExtensionRec {
+   __DRIextension base;
+   const char *xml;
+} __DRIconfigOptionsExtension;
+
+/**
+ * This extension provides a driver vtable to a set of common driver helper
+ * functions (driCoreExtension, driDRI2Extension) within the driver
+ * implementation, as opposed to having to pass them through a global
+ * variable.
+ *
+ * It is not intended to be public API to the actual loader, and the vtable
+ * layout may change at any time.
+ */
+#define __DRI_DRIVER_VTABLE "DRI_DriverVtable"
+#define __DRI_DRIVER_VTABLE_VERSION 1
+
+typedef struct __DRIDriverVtableExtensionRec {
+    __DRIextension base;
+    const struct __DriverAPIRec *vtable;
+} __DRIDriverVtableExtension;
+
+/**
+ * Query renderer driver extension
+ *
+ * This allows the window system layer (either EGL or GLX) to query aspects of
+ * hardware and driver support without creating a context.
+ */
+#define __DRI2_RENDERER_QUERY "DRI_RENDERER_QUERY"
+#define __DRI2_RENDERER_QUERY_VERSION 1
+
+#define __DRI2_RENDERER_VENDOR_ID                             0x0000
+#define __DRI2_RENDERER_DEVICE_ID                             0x0001
+#define __DRI2_RENDERER_VERSION                               0x0002
+#define __DRI2_RENDERER_ACCELERATED                           0x0003
+#define __DRI2_RENDERER_VIDEO_MEMORY                          0x0004
+#define __DRI2_RENDERER_UNIFIED_MEMORY_ARCHITECTURE           0x0005
+#define __DRI2_RENDERER_PREFERRED_PROFILE                     0x0006
+#define __DRI2_RENDERER_OPENGL_CORE_PROFILE_VERSION           0x0007
+#define __DRI2_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION  0x0008
+#define __DRI2_RENDERER_OPENGL_ES_PROFILE_VERSION             0x0009
+#define __DRI2_RENDERER_OPENGL_ES2_PROFILE_VERSION            0x000a
+
+typedef struct __DRI2rendererQueryExtensionRec __DRI2rendererQueryExtension;
+struct __DRI2rendererQueryExtensionRec {
+   __DRIextension base;
+
+   int (*queryInteger)(__DRIscreen *screen, int attribute, unsigned int *val);
+   int (*queryString)(__DRIscreen *screen, int attribute, const char **val);
+};
+
+/**
+ * Image Loader extension. Drivers use this to allocate color buffers
+ */
+
+enum __DRIimageBufferMask {
+   __DRI_IMAGE_BUFFER_BACK = (1 << 0),
+   __DRI_IMAGE_BUFFER_FRONT = (1 << 1)
+};
+
+struct __DRIimageList {
+   uint32_t image_mask;
+   __DRIimage *back;
+   __DRIimage *front;
+};
+
+#define __DRI_IMAGE_LOADER "DRI_IMAGE_LOADER"
+#define __DRI_IMAGE_LOADER_VERSION 1
+
+struct __DRIimageLoaderExtensionRec {
+    __DRIextension base;
+
+   /**
+    * Allocate color buffers.
+    *
+    * \param driDrawable
+    * \param width              Width of allocated buffers
+    * \param height             Height of allocated buffers
+    * \param format             one of __DRI_IMAGE_FORMAT_*
+    * \param stamp              Address of variable to be updated when
+    *                           getBuffers must be called again
+    * \param loaderPrivate      The loaderPrivate for driDrawable
+    * \param buffer_mask        Set of buffers to allocate
+    * \param buffers            Returned buffers
+    */
+   int (*getBuffers)(__DRIdrawable *driDrawable,
+                     unsigned int format,
+                     uint32_t *stamp,
+                     void *loaderPrivate,
+                     uint32_t buffer_mask,
+                     struct __DRIimageList *buffers);
+
+    /**
+     * Flush pending front-buffer rendering
+     *
+     * Any rendering that has been performed to the
+     * fake front will be flushed to the front
+     *
+     * \param driDrawable    Drawable whose front-buffer is to be flushed
+     * \param loaderPrivate  Loader's private data that was previously passed
+     *                       into __DRIdri2ExtensionRec::createNewDrawable
+     */
+    void (*flushFrontBuffer)(__DRIdrawable *driDrawable, void *loaderPrivate);
+};
+
+/**
+ * DRI extension.
+ */
+
+#define __DRI_IMAGE_DRIVER           "DRI_IMAGE_DRIVER"
+#define __DRI_IMAGE_DRIVER_VERSION   1
+
+struct __DRIimageDriverExtensionRec {
+   __DRIextension               base;
+
+   /* Common DRI functions, shared with DRI2 */
+   __DRIcreateNewScreen2Func            createNewScreen2;
+   __DRIcreateNewDrawableFunc           createNewDrawable;
+   __DRIcreateContextAttribsFunc        createContextAttribs;
+   __DRIgetAPIMaskFunc                  getAPIMask;
+};
+
+#endif
diff --git a/pkgs/servers/x11/xorg/darwin/function-pointer-test.patch b/pkgs/servers/x11/xorg/darwin/function-pointer-test.patch
new file mode 100644
index 0000000000000..e521a12ba800b
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/function-pointer-test.patch
@@ -0,0 +1,46 @@
+These are functions, not function pointers, so they always evaluate to true.
+
+diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m
+index 5445c6f..8574bf1 100644
+--- a/hw/xquartz/X11Controller.m
++++ b/hw/xquartz/X11Controller.m
+@@ -364,7 +364,6 @@ extern char *bundle_id_prefix;
+     }
+ 
+ #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
+-    if (asl_log_descriptor) {
+         char *asl_sender;
+         aslmsg amsg = asl_new(ASL_TYPE_MSG);
+         assert(amsg);
+@@ -394,7 +393,6 @@ extern char *bundle_id_prefix;
+         asl_log_descriptor(aslc, amsg, ASL_LEVEL_NOTICE, stderr_pipe[0], ASL_LOG_DESCRIPTOR_READ);
+ 
+         asl_free(amsg);
+-    }
+ #endif
+ 
+     /* Do the fork-twice trick to avoid having to reap zombies */
+@@ -414,11 +412,9 @@ extern char *bundle_id_prefix;
+ 
+         case 0:                                     /* child2 */
+ #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
+-            if (asl_log_descriptor) {
+                 /* Replace our stdout/stderr */
+                 dup2(stdout_pipe[1], STDOUT_FILENO);
+                 dup2(stderr_pipe[1], STDERR_FILENO);
+-            }
+ #endif
+ 
+             /* close all open files except for standard streams */
+@@ -443,11 +439,9 @@ extern char *bundle_id_prefix;
+     }
+ 
+ #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
+-    if (asl_log_descriptor) {
+         /* Close the write ends of the pipe */
+         close(stdout_pipe[1]);
+         close(stderr_pipe[1]);
+-    }
+ #endif
+ }
+ 
diff --git a/pkgs/servers/x11/xorg/darwin/private-extern.patch b/pkgs/servers/x11/xorg/darwin/private-extern.patch
new file mode 100644
index 0000000000000..87af7865c3763
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/private-extern.patch
@@ -0,0 +1,12 @@
+diff --git a/hw/xquartz/xpr/x-list.new.h b/hw/xquartz/xpr/x-list.h
+index 28385fd..71f9d26 100644
+--- a/hw/xquartz/xpr/x-list.new.h
++++ b/hw/xquartz/xpr/x-list.h
+@@ -45,6 +45,7 @@ struct x_list_struct {
+ #endif
+ 
+ #ifndef X_EXTERN
++#define __private_extern__ extern
+ #define X_EXTERN __private_extern__
+ #endif
+ 
diff --git a/pkgs/servers/x11/xorg/darwin/stub.patch b/pkgs/servers/x11/xorg/darwin/stub.patch
new file mode 100644
index 0000000000000..db3215b498aa2
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin/stub.patch
@@ -0,0 +1,80 @@
+cstrahan:
+
+When the X / Xquartz server initiallizes, it starts the XQuartz.app and
+hands-off the display FD. To start the XQuartz.app, Xquartz normally uses some
+system calls to get the path of the application by app bundle id, and then
+executes the Contents/MacOS/X11 script contained inside, which in turn executes
+Contents/MacOS/X11.bin (the actual app).
+
+This patch replaces that discovery technique with a simple call to
+`getenv'. In order to make Xquartz actually work, we'll need another wrapper
+that sets the `XQUARTZ_X11' environment variable to point to the `X11' script.
+
+diff --git a/hw/xquartz/mach-startup/stub.c b/hw/xquartz/mach-startup/stub.c
+index 756e4ef..3313a55 100644
+--- a/hw/xquartz/mach-startup/stub.c
++++ b/hw/xquartz/mach-startup/stub.c
+@@ -61,54 +61,16 @@ aslclient aslc;
+ static void
+ set_x11_path(void)
+ {
+-#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050
+-
+-    CFURLRef appURL = NULL;
+-    OSStatus osstatus =
+-        LSFindApplicationForInfo(kLSUnknownCreator, CFSTR(
+-                                     kX11AppBundleId), nil, nil, &appURL);
+-
+-    switch (osstatus) {
+-    case noErr:
+-        if (appURL == NULL) {
+-            asl_log(
+-                aslc, NULL, ASL_LEVEL_ERR,
+-                "Xquartz: Invalid response from LSFindApplicationForInfo(%s)",
+-                kX11AppBundleId);
+-            exit(1);
+-        }
+-
+-        if (!CFURLGetFileSystemRepresentation(appURL, true,
+-                                              (unsigned char *)x11_path,
+-                                              sizeof(x11_path))) {
+-            asl_log(aslc, NULL, ASL_LEVEL_ERR,
+-                    "Xquartz: Error resolving URL for %s",
+-                    kX11AppBundleId);
+-            exit(3);
+-        }
+-
+-        strlcat(x11_path, kX11AppBundlePath, sizeof(x11_path));
+-        asl_log(aslc, NULL, ASL_LEVEL_INFO, "Xquartz: X11.app = %s", x11_path);
+-        break;
+-
+-    case kLSApplicationNotFoundErr:
+-        asl_log(aslc, NULL, ASL_LEVEL_ERR,
+-                "Xquartz: Unable to find application for %s",
+-                kX11AppBundleId);
+-        exit(10);
+-
+-    default:
+-        asl_log(aslc, NULL, ASL_LEVEL_ERR,
+-                "Xquartz: Unable to find application for %s, error code = %d",
+-                kX11AppBundleId,
+-                (int)osstatus);
+-        exit(11);
++    char *xquartzX11 = getenv("XQUARTZ_X11");
++    if (xquartzX11) {
++        strlcpy(x11_path, xquartzX11,
++                sizeof(x11_path));
++    } else {
++        asl_log(
++            aslc, NULL, ASL_LEVEL_ERR,
++            "Xquartz: XQUARTZ_X11 environment variable not set");
++        exit(1);
+     }
+-#else
+-    /* TODO: Make Tiger smarter... but TBH, this should never get called on Tiger... */
+-    strlcpy(x11_path, "/Applications/Utilities/X11.app/Contents/MacOS/X11",
+-            sizeof(x11_path));
+-#endif
+ }
+ 
+ static int
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index 2f18a4e1020fb..806cbf01b8559 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -3,13 +3,18 @@ args: with args;
 
 let
 
+  mkDerivation = name: attrs:
+    let newAttrs = (overrides."${name}" or (x: x)) attrs;
+        stdenv = newAttrs.stdenv or args.stdenv;
+    in stdenv.mkDerivation (removeAttrs newAttrs [ "stdenv" ]);
+
   overrides = import ./overrides.nix {inherit args xorg;};
 
   xorg = rec {
 
   inherit pixman;
 
-  applewmproto = (stdenv.mkDerivation ((if overrides ? applewmproto then overrides.applewmproto else x: x) {
+  applewmproto = (mkDerivation "applewmproto" {
     name = "applewmproto-1.4.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -17,9 +22,9 @@ let
       sha256 = "1zi4p07mp6jmk030p4gmglwxcwp0lzs5mi31y1b4rp8lsqxdxizw";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  bdftopcf = (stdenv.mkDerivation ((if overrides ? bdftopcf then overrides.bdftopcf else x: x) {
+  bdftopcf = (mkDerivation "bdftopcf" {
     name = "bdftopcf-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -27,9 +32,9 @@ let
       sha256 = "1617zmgnx50n7vxlqyj84fl7vnk813jjqmi6jpigyz1xp9br1xga";
     };
     buildInputs = [pkgconfig libXfont ];
-  })) // {inherit libXfont ;};
+  }) // {inherit libXfont ;};
 
-  bigreqsproto = (stdenv.mkDerivation ((if overrides ? bigreqsproto then overrides.bigreqsproto else x: x) {
+  bigreqsproto = (mkDerivation "bigreqsproto" {
     name = "bigreqsproto-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -37,9 +42,9 @@ let
       sha256 = "07hvfm84scz8zjw14riiln2v4w03jlhp756ypwhq27g48jmic8a6";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  compositeproto = (stdenv.mkDerivation ((if overrides ? compositeproto then overrides.compositeproto else x: x) {
+  compositeproto = (mkDerivation "compositeproto" {
     name = "compositeproto-0.4.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -47,9 +52,9 @@ let
       sha256 = "1z0crmf669hirw4s7972mmp8xig80kfndja9h559haqbpvq5k4q4";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  damageproto = (stdenv.mkDerivation ((if overrides ? damageproto then overrides.damageproto else x: x) {
+  damageproto = (mkDerivation "damageproto" {
     name = "damageproto-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -57,9 +62,9 @@ let
       sha256 = "0nzwr5pv9hg7c21n995pdiv0zqhs91yz3r8rn3aska4ykcp12z2w";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  dmxproto = (stdenv.mkDerivation ((if overrides ? dmxproto then overrides.dmxproto else x: x) {
+  dmxproto = (mkDerivation "dmxproto" {
     name = "dmxproto-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -67,9 +72,9 @@ let
       sha256 = "02b5x9dkgajizm8dqyx2w6hmqx3v25l67mgf35nj6sz0lgk52877";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  dri2proto = (stdenv.mkDerivation ((if overrides ? dri2proto then overrides.dri2proto else x: x) {
+  dri2proto = (mkDerivation "dri2proto" {
     name = "dri2proto-2.8";
     builder = ./builder.sh;
     src = fetchurl {
@@ -77,9 +82,9 @@ let
       sha256 = "015az1vfdqmil1yay5nlsmpf6cf7vcbpslxjb72cfkzlvrv59dgr";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  dri3proto = (stdenv.mkDerivation ((if overrides ? dri3proto then overrides.dri3proto else x: x) {
+  dri3proto = (mkDerivation "dri3proto" {
     name = "dri3proto-1.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -87,9 +92,9 @@ let
       sha256 = "0x609xvnl8jky5m8jdklw4nymx3irkv32w99dfd8nl800bblkgh1";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  encodings = (stdenv.mkDerivation ((if overrides ? encodings then overrides.encodings else x: x) {
+  encodings = (mkDerivation "encodings" {
     name = "encodings-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -97,9 +102,9 @@ let
       sha256 = "0ffmaw80vmfwdgvdkp6495xgsqszb6s0iira5j0j6pd4i0lk3mnf";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  fixesproto = (stdenv.mkDerivation ((if overrides ? fixesproto then overrides.fixesproto else x: x) {
+  fixesproto = (mkDerivation "fixesproto" {
     name = "fixesproto-5.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -107,9 +112,9 @@ let
       sha256 = "1ki4wiq2iivx5g4w5ckzbjbap759kfqd72yg18m3zpbb4hqkybxs";
     };
     buildInputs = [pkgconfig xextproto ];
-  })) // {inherit xextproto ;};
+  }) // {inherit xextproto ;};
 
-  fontadobe100dpi = (stdenv.mkDerivation ((if overrides ? fontadobe100dpi then overrides.fontadobe100dpi else x: x) {
+  fontadobe100dpi = (mkDerivation "fontadobe100dpi" {
     name = "font-adobe-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -117,9 +122,9 @@ let
       sha256 = "0m60f5bd0caambrk8ksknb5dks7wzsg7g7xaf0j21jxmx8rq9h5j";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontadobe75dpi = (stdenv.mkDerivation ((if overrides ? fontadobe75dpi then overrides.fontadobe75dpi else x: x) {
+  fontadobe75dpi = (mkDerivation "fontadobe75dpi" {
     name = "font-adobe-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -127,9 +132,9 @@ let
       sha256 = "02advcv9lyxpvrjv8bjh1b797lzg6jvhipclz49z8r8y98g4l0n6";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontadobeutopia100dpi = (stdenv.mkDerivation ((if overrides ? fontadobeutopia100dpi then overrides.fontadobeutopia100dpi else x: x) {
+  fontadobeutopia100dpi = (mkDerivation "fontadobeutopia100dpi" {
     name = "font-adobe-utopia-100dpi-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -137,9 +142,9 @@ let
       sha256 = "19dd9znam1ah72jmdh7i6ny2ss2r6m21z9v0l43xvikw48zmwvyi";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontadobeutopia75dpi = (stdenv.mkDerivation ((if overrides ? fontadobeutopia75dpi then overrides.fontadobeutopia75dpi else x: x) {
+  fontadobeutopia75dpi = (mkDerivation "fontadobeutopia75dpi" {
     name = "font-adobe-utopia-75dpi-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -147,9 +152,9 @@ let
       sha256 = "152wigpph5wvl4k9m3l4mchxxisgsnzlx033mn5iqrpkc6f72cl7";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontadobeutopiatype1 = (stdenv.mkDerivation ((if overrides ? fontadobeutopiatype1 then overrides.fontadobeutopiatype1 else x: x) {
+  fontadobeutopiatype1 = (mkDerivation "fontadobeutopiatype1" {
     name = "font-adobe-utopia-type1-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -157,9 +162,9 @@ let
       sha256 = "0xw0pdnzj5jljsbbhakc6q9ha2qnca1jr81zk7w70yl9bw83b54p";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit mkfontdir mkfontscale ;};
+  }) // {inherit mkfontdir mkfontscale ;};
 
-  fontalias = (stdenv.mkDerivation ((if overrides ? fontalias then overrides.fontalias else x: x) {
+  fontalias = (mkDerivation "fontalias" {
     name = "font-alias-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -167,9 +172,9 @@ let
       sha256 = "16ic8wfwwr3jicaml7b5a0sk6plcgc1kg84w02881yhwmqm3nicb";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  fontarabicmisc = (stdenv.mkDerivation ((if overrides ? fontarabicmisc then overrides.fontarabicmisc else x: x) {
+  fontarabicmisc = (mkDerivation "fontarabicmisc" {
     name = "font-arabic-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -177,9 +182,9 @@ let
       sha256 = "1x246dfnxnmflzf0qzy62k8jdpkb6jkgspcjgbk8jcq9lw99npah";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontbh100dpi = (stdenv.mkDerivation ((if overrides ? fontbh100dpi then overrides.fontbh100dpi else x: x) {
+  fontbh100dpi = (mkDerivation "fontbh100dpi" {
     name = "font-bh-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -187,9 +192,9 @@ let
       sha256 = "10cl4gm38dw68jzln99ijix730y7cbx8np096gmpjjwff1i73h13";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontbh75dpi = (stdenv.mkDerivation ((if overrides ? fontbh75dpi then overrides.fontbh75dpi else x: x) {
+  fontbh75dpi = (mkDerivation "fontbh75dpi" {
     name = "font-bh-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -197,9 +202,9 @@ let
       sha256 = "073jmhf0sr2j1l8da97pzsqj805f7mf9r2gy92j4diljmi8sm1il";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontbhlucidatypewriter100dpi = (stdenv.mkDerivation ((if overrides ? fontbhlucidatypewriter100dpi then overrides.fontbhlucidatypewriter100dpi else x: x) {
+  fontbhlucidatypewriter100dpi = (mkDerivation "fontbhlucidatypewriter100dpi" {
     name = "font-bh-lucidatypewriter-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -207,9 +212,9 @@ let
       sha256 = "1fqzckxdzjv4802iad2fdrkpaxl4w0hhs9lxlkyraq2kq9ik7a32";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontbhlucidatypewriter75dpi = (stdenv.mkDerivation ((if overrides ? fontbhlucidatypewriter75dpi then overrides.fontbhlucidatypewriter75dpi else x: x) {
+  fontbhlucidatypewriter75dpi = (mkDerivation "fontbhlucidatypewriter75dpi" {
     name = "font-bh-lucidatypewriter-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -217,9 +222,9 @@ let
       sha256 = "0cfbxdp5m12cm7jsh3my0lym9328cgm7fa9faz2hqj05wbxnmhaa";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontbhttf = (stdenv.mkDerivation ((if overrides ? fontbhttf then overrides.fontbhttf else x: x) {
+  fontbhttf = (mkDerivation "fontbhttf" {
     name = "font-bh-ttf-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -227,9 +232,9 @@ let
       sha256 = "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit mkfontdir mkfontscale ;};
+  }) // {inherit mkfontdir mkfontscale ;};
 
-  fontbhtype1 = (stdenv.mkDerivation ((if overrides ? fontbhtype1 then overrides.fontbhtype1 else x: x) {
+  fontbhtype1 = (mkDerivation "fontbhtype1" {
     name = "font-bh-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -237,9 +242,9 @@ let
       sha256 = "1hb3iav089albp4sdgnlh50k47cdjif9p4axm0kkjvs8jyi5a53n";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit mkfontdir mkfontscale ;};
+  }) // {inherit mkfontdir mkfontscale ;};
 
-  fontbitstream100dpi = (stdenv.mkDerivation ((if overrides ? fontbitstream100dpi then overrides.fontbitstream100dpi else x: x) {
+  fontbitstream100dpi = (mkDerivation "fontbitstream100dpi" {
     name = "font-bitstream-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -247,9 +252,9 @@ let
       sha256 = "1kmn9jbck3vghz6rj3bhc3h0w6gh0qiaqm90cjkqsz1x9r2dgq7b";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontbitstream75dpi = (stdenv.mkDerivation ((if overrides ? fontbitstream75dpi then overrides.fontbitstream75dpi else x: x) {
+  fontbitstream75dpi = (mkDerivation "fontbitstream75dpi" {
     name = "font-bitstream-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -257,9 +262,9 @@ let
       sha256 = "13plbifkvfvdfym6gjbgy9wx2xbdxi9hfrl1k22xayy02135wgxs";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontbitstreamtype1 = (stdenv.mkDerivation ((if overrides ? fontbitstreamtype1 then overrides.fontbitstreamtype1 else x: x) {
+  fontbitstreamtype1 = (mkDerivation "fontbitstreamtype1" {
     name = "font-bitstream-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -267,9 +272,9 @@ let
       sha256 = "1256z0jhcf5gbh1d03593qdwnag708rxqa032izmfb5dmmlhbsn6";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit mkfontdir mkfontscale ;};
+  }) // {inherit mkfontdir mkfontscale ;};
 
-  fontcronyxcyrillic = (stdenv.mkDerivation ((if overrides ? fontcronyxcyrillic then overrides.fontcronyxcyrillic else x: x) {
+  fontcronyxcyrillic = (mkDerivation "fontcronyxcyrillic" {
     name = "font-cronyx-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -277,9 +282,9 @@ let
       sha256 = "0ai1v4n61k8j9x2a1knvfbl2xjxk3xxmqaq3p9vpqrspc69k31kf";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontcursormisc = (stdenv.mkDerivation ((if overrides ? fontcursormisc then overrides.fontcursormisc else x: x) {
+  fontcursormisc = (mkDerivation "fontcursormisc" {
     name = "font-cursor-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -287,9 +292,9 @@ let
       sha256 = "0dd6vfiagjc4zmvlskrbjz85jfqhf060cpys8j0y1qpcbsrkwdhp";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontdaewoomisc = (stdenv.mkDerivation ((if overrides ? fontdaewoomisc then overrides.fontdaewoomisc else x: x) {
+  fontdaewoomisc = (mkDerivation "fontdaewoomisc" {
     name = "font-daewoo-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -297,9 +302,9 @@ let
       sha256 = "1s2bbhizzgbbbn5wqs3vw53n619cclxksljvm759h9p1prqdwrdw";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontdecmisc = (stdenv.mkDerivation ((if overrides ? fontdecmisc then overrides.fontdecmisc else x: x) {
+  fontdecmisc = (mkDerivation "fontdecmisc" {
     name = "font-dec-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -307,9 +312,9 @@ let
       sha256 = "0yzza0l4zwyy7accr1s8ab7fjqkpwggqydbm2vc19scdby5xz7g1";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontibmtype1 = (stdenv.mkDerivation ((if overrides ? fontibmtype1 then overrides.fontibmtype1 else x: x) {
+  fontibmtype1 = (mkDerivation "fontibmtype1" {
     name = "font-ibm-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -317,9 +322,9 @@ let
       sha256 = "1pyjll4adch3z5cg663s6vhi02k8m6488f0mrasg81ssvg9jinzx";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit mkfontdir mkfontscale ;};
+  }) // {inherit mkfontdir mkfontscale ;};
 
-  fontisasmisc = (stdenv.mkDerivation ((if overrides ? fontisasmisc then overrides.fontisasmisc else x: x) {
+  fontisasmisc = (mkDerivation "fontisasmisc" {
     name = "font-isas-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -327,9 +332,9 @@ let
       sha256 = "0rx8q02rkx673a7skkpnvfkg28i8gmqzgf25s9yi0lar915sn92q";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontjismisc = (stdenv.mkDerivation ((if overrides ? fontjismisc then overrides.fontjismisc else x: x) {
+  fontjismisc = (mkDerivation "fontjismisc" {
     name = "font-jis-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -337,9 +342,9 @@ let
       sha256 = "0rdc3xdz12pnv951538q6wilx8mrdndpkphpbblszsv7nc8cw61b";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontmicromisc = (stdenv.mkDerivation ((if overrides ? fontmicromisc then overrides.fontmicromisc else x: x) {
+  fontmicromisc = (mkDerivation "fontmicromisc" {
     name = "font-micro-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -347,9 +352,9 @@ let
       sha256 = "1dldxlh54zq1yzfnrh83j5vm0k4ijprrs5yl18gm3n9j1z0q2cws";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontmisccyrillic = (stdenv.mkDerivation ((if overrides ? fontmisccyrillic then overrides.fontmisccyrillic else x: x) {
+  fontmisccyrillic = (mkDerivation "fontmisccyrillic" {
     name = "font-misc-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -357,9 +362,9 @@ let
       sha256 = "0q2ybxs8wvylvw95j6x9i800rismsmx4b587alwbfqiw6biy63z4";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontmiscethiopic = (stdenv.mkDerivation ((if overrides ? fontmiscethiopic then overrides.fontmiscethiopic else x: x) {
+  fontmiscethiopic = (mkDerivation "fontmiscethiopic" {
     name = "font-misc-ethiopic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -367,9 +372,9 @@ let
       sha256 = "19cq7iq0pfad0nc2v28n681fdq3fcw1l1hzaq0wpkgpx7bc1zjsk";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit mkfontdir mkfontscale ;};
+  }) // {inherit mkfontdir mkfontscale ;};
 
-  fontmiscmeltho = (stdenv.mkDerivation ((if overrides ? fontmiscmeltho then overrides.fontmiscmeltho else x: x) {
+  fontmiscmeltho = (mkDerivation "fontmiscmeltho" {
     name = "font-misc-meltho-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -377,9 +382,9 @@ let
       sha256 = "148793fqwzrc3bmh2vlw5fdiwjc2n7vs25cic35gfp452czk489p";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit mkfontdir mkfontscale ;};
+  }) // {inherit mkfontdir mkfontscale ;};
 
-  fontmiscmisc = (stdenv.mkDerivation ((if overrides ? fontmiscmisc then overrides.fontmiscmisc else x: x) {
+  fontmiscmisc = (mkDerivation "fontmiscmisc" {
     name = "font-misc-misc-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -387,9 +392,9 @@ let
       sha256 = "150pq6n8n984fah34n3k133kggn9v0c5k07igv29sxp1wi07krxq";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontmuttmisc = (stdenv.mkDerivation ((if overrides ? fontmuttmisc then overrides.fontmuttmisc else x: x) {
+  fontmuttmisc = (mkDerivation "fontmuttmisc" {
     name = "font-mutt-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -397,9 +402,9 @@ let
       sha256 = "13qghgr1zzpv64m0p42195k1kc77pksiv059fdvijz1n6kdplpxx";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontschumachermisc = (stdenv.mkDerivation ((if overrides ? fontschumachermisc then overrides.fontschumachermisc else x: x) {
+  fontschumachermisc = (mkDerivation "fontschumachermisc" {
     name = "font-schumacher-misc-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -407,9 +412,9 @@ let
       sha256 = "0nkym3n48b4v36y4s927bbkjnsmicajarnf6vlp7wxp0as304i74";
     };
     buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
 
-  fontscreencyrillic = (stdenv.mkDerivation ((if overrides ? fontscreencyrillic then overrides.fontscreencyrillic else x: x) {
+  fontscreencyrillic = (mkDerivation "fontscreencyrillic" {
     name = "font-screen-cyrillic-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -417,9 +422,9 @@ let
       sha256 = "0yayf1qlv7irf58nngddz2f1q04qkpr5jwp4aja2j5gyvzl32hl2";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontsonymisc = (stdenv.mkDerivation ((if overrides ? fontsonymisc then overrides.fontsonymisc else x: x) {
+  fontsonymisc = (mkDerivation "fontsonymisc" {
     name = "font-sony-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -427,9 +432,9 @@ let
       sha256 = "1xfgcx4gsgik5mkgkca31fj3w72jw9iw76qyrajrsz1lp8ka6hr0";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontsproto = (stdenv.mkDerivation ((if overrides ? fontsproto then overrides.fontsproto else x: x) {
+  fontsproto = (mkDerivation "fontsproto" {
     name = "fontsproto-2.1.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -437,9 +442,9 @@ let
       sha256 = "1ab8mbqxdwvdz4k5x4xb9c4n5w7i1xw276cbpk4z7a1nlpjrg746";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  fontsunmisc = (stdenv.mkDerivation ((if overrides ? fontsunmisc then overrides.fontsunmisc else x: x) {
+  fontsunmisc = (mkDerivation "fontsunmisc" {
     name = "font-sun-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -447,9 +452,9 @@ let
       sha256 = "1q6jcqrffg9q5f5raivzwx9ffvf7r11g6g0b125na1bhpz5ly7s8";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontutil = (stdenv.mkDerivation ((if overrides ? fontutil then overrides.fontutil else x: x) {
+  fontutil = (mkDerivation "fontutil" {
     name = "font-util-1.3.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -457,9 +462,9 @@ let
       sha256 = "15cijajwhjzpy3ydc817zz8x5z4gbkyv3fps687jbq544mbfbafz";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  fontwinitzkicyrillic = (stdenv.mkDerivation ((if overrides ? fontwinitzkicyrillic then overrides.fontwinitzkicyrillic else x: x) {
+  fontwinitzkicyrillic = (mkDerivation "fontwinitzkicyrillic" {
     name = "font-winitzki-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -467,9 +472,9 @@ let
       sha256 = "181n1bgq8vxfxqicmy1jpm1hnr6gwn1kdhl6hr4frjigs1ikpldb";
     };
     buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit bdftopcf mkfontdir ;};
+  }) // {inherit bdftopcf mkfontdir ;};
 
-  fontxfree86type1 = (stdenv.mkDerivation ((if overrides ? fontxfree86type1 then overrides.fontxfree86type1 else x: x) {
+  fontxfree86type1 = (mkDerivation "fontxfree86type1" {
     name = "font-xfree86-type1-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -477,9 +482,9 @@ let
       sha256 = "0jp3zc0qfdaqfkgzrb44vi9vi0a8ygb35wp082yz7rvvxhmg9sya";
     };
     buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 
-  })) // {inherit mkfontdir mkfontscale ;};
+  }) // {inherit mkfontdir mkfontscale ;};
 
-  gccmakedep = (stdenv.mkDerivation ((if overrides ? gccmakedep then overrides.gccmakedep else x: x) {
+  gccmakedep = (mkDerivation "gccmakedep" {
     name = "gccmakedep-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -487,9 +492,9 @@ let
       sha256 = "1r1fpy5ni8chbgx7j5sz0008fpb6vbazpy1nifgdhgijyzqxqxdj";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  glamoregl = (stdenv.mkDerivation ((if overrides ? glamoregl then overrides.glamoregl else x: x) {
+  glamoregl = (mkDerivation "glamoregl" {
     name = "glamor-egl-0.6.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -497,9 +502,9 @@ let
       sha256 = "1jg5clihklb9drh1jd7nhhdsszla6nv7xmbvm8yvakh5wrb1nlv6";
     };
     buildInputs = [pkgconfig dri2proto xorgserver ];
-  })) // {inherit dri2proto xorgserver ;};
+  }) // {inherit dri2proto xorgserver ;};
 
-  glproto = (stdenv.mkDerivation ((if overrides ? glproto then overrides.glproto else x: x) {
+  glproto = (mkDerivation "glproto" {
     name = "glproto-1.4.17";
     builder = ./builder.sh;
     src = fetchurl {
@@ -507,9 +512,9 @@ let
       sha256 = "0h5ykmcddwid5qj6sbrszgkcypwn3mslvswxpgy2n2iixnyr9amd";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  iceauth = (stdenv.mkDerivation ((if overrides ? iceauth then overrides.iceauth else x: x) {
+  iceauth = (mkDerivation "iceauth" {
     name = "iceauth-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
@@ -517,9 +522,9 @@ let
       sha256 = "1x72y99dxf2fxnlyf0yrf9yzd8xzimxshy6l8mprwhrv6lvhi6dx";
     };
     buildInputs = [pkgconfig libICE xproto ];
-  })) // {inherit libICE xproto ;};
+  }) // {inherit libICE xproto ;};
 
-  imake = (stdenv.mkDerivation ((if overrides ? imake then overrides.imake else x: x) {
+  imake = (mkDerivation "imake" {
     name = "imake-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
@@ -527,9 +532,9 @@ let
       sha256 = "0zpk8p044jh14bis838shbf4100bjg7mccd7bq54glpsq552q339";
     };
     buildInputs = [pkgconfig xproto ];
-  })) // {inherit xproto ;};
+  }) // {inherit xproto ;};
 
-  inputproto = (stdenv.mkDerivation ((if overrides ? inputproto then overrides.inputproto else x: x) {
+  inputproto = (mkDerivation "inputproto" {
     name = "inputproto-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -537,9 +542,9 @@ let
       sha256 = "1lf1jlxp0fc8h6fjdffhd084dqab94966l1zm3rwwsis0mifwiss";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  kbproto = (stdenv.mkDerivation ((if overrides ? kbproto then overrides.kbproto else x: x) {
+  kbproto = (mkDerivation "kbproto" {
     name = "kbproto-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
@@ -547,9 +552,9 @@ let
       sha256 = "0yal11hhpiisy3w8wmacsdzzzcnc3xwnswxz8k7zri40xc5aqz03";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  libAppleWM = (stdenv.mkDerivation ((if overrides ? libAppleWM then overrides.libAppleWM else x: x) {
+  libAppleWM = (mkDerivation "libAppleWM" {
     name = "libAppleWM-1.4.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -557,9 +562,9 @@ let
       sha256 = "0r8x28n45q89x91mz8mv0zkkcxi8wazkac886fyvflhiv2y8ap2y";
     };
     buildInputs = [pkgconfig applewmproto libX11 libXext xextproto ];
-  })) // {inherit applewmproto libX11 libXext xextproto ;};
+  }) // {inherit applewmproto libX11 libXext xextproto ;};
 
-  libFS = (stdenv.mkDerivation ((if overrides ? libFS then overrides.libFS else x: x) {
+  libFS = (mkDerivation "libFS" {
     name = "libFS-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
@@ -567,9 +572,9 @@ let
       sha256 = "1mxfsvj9m3pn8cdkcn4kg190zp665mf4pv0083g6xykvsgxzq1wh";
     };
     buildInputs = [pkgconfig fontsproto xproto xtrans ];
-  })) // {inherit fontsproto xproto xtrans ;};
+  }) // {inherit fontsproto xproto xtrans ;};
 
-  libICE = (stdenv.mkDerivation ((if overrides ? libICE then overrides.libICE else x: x) {
+  libICE = (mkDerivation "libICE" {
     name = "libICE-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
@@ -577,9 +582,9 @@ let
       sha256 = "00p2b6bsg6kcdbb39bv46339qcywxfl4hsrz8asm4hy6q7r34w4g";
     };
     buildInputs = [pkgconfig xproto xtrans ];
-  })) // {inherit xproto xtrans ;};
+  }) // {inherit xproto xtrans ;};
 
-  libSM = (stdenv.mkDerivation ((if overrides ? libSM then overrides.libSM else x: x) {
+  libSM = (mkDerivation "libSM" {
     name = "libSM-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -587,9 +592,9 @@ let
       sha256 = "1gc7wavgs435g9qkp9jw4lhmaiq6ip9llv49f054ad6ryp4sib0b";
     };
     buildInputs = [pkgconfig libICE libuuid xproto xtrans ];
-  })) // {inherit libICE libuuid xproto xtrans ;};
+  }) // {inherit libICE libuuid xproto xtrans ;};
 
-  libWindowsWM = (stdenv.mkDerivation ((if overrides ? libWindowsWM then overrides.libWindowsWM else x: x) {
+  libWindowsWM = (mkDerivation "libWindowsWM" {
     name = "libWindowsWM-1.0.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -597,9 +602,9 @@ let
       sha256 = "1p0flwb67xawyv6yhri9w17m1i4lji5qnd0gq8v1vsfb8zw7rw15";
     };
     buildInputs = [pkgconfig windowswmproto libX11 libXext xextproto ];
-  })) // {inherit windowswmproto libX11 libXext xextproto ;};
+  }) // {inherit windowswmproto libX11 libXext xextproto ;};
 
-  libX11 = (stdenv.mkDerivation ((if overrides ? libX11 then overrides.libX11 else x: x) {
+  libX11 = (mkDerivation "libX11" {
     name = "libX11-1.6.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -607,9 +612,9 @@ let
       sha256 = "05mx0s0vqzds3qjc1gmjr2s6x2ll37z4lfhgm7p2w7936zl2g81a";
     };
     buildInputs = [pkgconfig inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ];
-  })) // {inherit 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) {
+  libXScrnSaver = (mkDerivation "libXScrnSaver" {
     name = "libXScrnSaver-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -617,9 +622,9 @@ let
       sha256 = "07ff4r20nkkrj7h08f9fwamds9b3imj8jz5iz6y38zqw6jkyzwcg";
     };
     buildInputs = [pkgconfig scrnsaverproto libX11 libXext xextproto ];
-  })) // {inherit scrnsaverproto libX11 libXext xextproto ;};
+  }) // {inherit scrnsaverproto libX11 libXext xextproto ;};
 
-  libXau = (stdenv.mkDerivation ((if overrides ? libXau then overrides.libXau else x: x) {
+  libXau = (mkDerivation "libXau" {
     name = "libXau-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
@@ -627,9 +632,9 @@ let
       sha256 = "1wm4pv12f36cwzhldpp7vy3lhm3xdcnp4f184xkxsp7b18r7gm7x";
     };
     buildInputs = [pkgconfig xproto ];
-  })) // {inherit xproto ;};
+  }) // {inherit xproto ;};
 
-  libXaw = (stdenv.mkDerivation ((if overrides ? libXaw then overrides.libXaw else x: x) {
+  libXaw = (mkDerivation "libXaw" {
     name = "libXaw-1.0.12";
     builder = ./builder.sh;
     src = fetchurl {
@@ -637,9 +642,9 @@ let
       sha256 = "1xnv7jy86j9vhmw74frkzcraynqbw1p1s79jasargsgwfi433z4n";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto libXmu libXpm xproto libXt ];
-  })) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;};
+  }) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;};
 
-  libXcomposite = (stdenv.mkDerivation ((if overrides ? libXcomposite then overrides.libXcomposite else x: x) {
+  libXcomposite = (mkDerivation "libXcomposite" {
     name = "libXcomposite-0.4.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -647,9 +652,9 @@ let
       sha256 = "0y21nfpa5s8qmx0srdlilyndas3sgl0c6rc26d5fx2vx436m1qpd";
     };
     buildInputs = [pkgconfig compositeproto libX11 libXfixes xproto ];
-  })) // {inherit compositeproto libX11 libXfixes xproto ;};
+  }) // {inherit compositeproto libX11 libXfixes xproto ;};
 
-  libXcursor = (stdenv.mkDerivation ((if overrides ? libXcursor then overrides.libXcursor else x: x) {
+  libXcursor = (mkDerivation "libXcursor" {
     name = "libXcursor-1.1.14";
     builder = ./builder.sh;
     src = fetchurl {
@@ -657,9 +662,9 @@ let
       sha256 = "1prkdicl5y5yx32h1azh6gjfbijvjp415javv8dsakd13jrarilv";
     };
     buildInputs = [pkgconfig fixesproto libX11 libXfixes xproto libXrender ];
-  })) // {inherit fixesproto libX11 libXfixes xproto libXrender ;};
+  }) // {inherit fixesproto libX11 libXfixes xproto libXrender ;};
 
-  libXdamage = (stdenv.mkDerivation ((if overrides ? libXdamage then overrides.libXdamage else x: x) {
+  libXdamage = (mkDerivation "libXdamage" {
     name = "libXdamage-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -667,9 +672,9 @@ let
       sha256 = "1bamagq7g6s0d23l8rb3nppj8ifqj05f7z9bhbs4fdg8az3ffgvw";
     };
     buildInputs = [pkgconfig damageproto fixesproto libX11 xextproto libXfixes xproto ];
-  })) // {inherit 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) {
+  libXdmcp = (mkDerivation "libXdmcp" {
     name = "libXdmcp-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -677,9 +682,9 @@ let
       sha256 = "13highx4xpgkiwykpcl7z2laslrjc4pzi4h617ny9p7r6116vkls";
     };
     buildInputs = [pkgconfig xproto ];
-  })) // {inherit xproto ;};
+  }) // {inherit xproto ;};
 
-  libXext = (stdenv.mkDerivation ((if overrides ? libXext then overrides.libXext else x: x) {
+  libXext = (mkDerivation "libXext" {
     name = "libXext-1.3.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -687,9 +692,9 @@ let
       sha256 = "0dbfn5bznnrhqzvkrcmw4c44yvvpwdcsrvzxf4rk27r36b9x865m";
     };
     buildInputs = [pkgconfig libX11 xextproto xproto ];
-  })) // {inherit libX11 xextproto xproto ;};
+  }) // {inherit libX11 xextproto xproto ;};
 
-  libXfixes = (stdenv.mkDerivation ((if overrides ? libXfixes then overrides.libXfixes else x: x) {
+  libXfixes = (mkDerivation "libXfixes" {
     name = "libXfixes-5.0.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -697,9 +702,9 @@ let
       sha256 = "0rs7qgzr6dpr62db7sd91c1b47hzhzfr010qwnpcm8sg122w1gk3";
     };
     buildInputs = [pkgconfig fixesproto libX11 xextproto xproto ];
-  })) // {inherit fixesproto libX11 xextproto xproto ;};
+  }) // {inherit fixesproto libX11 xextproto xproto ;};
 
-  libXfont = (stdenv.mkDerivation ((if overrides ? libXfont then overrides.libXfont else x: x) {
+  libXfont = (mkDerivation "libXfont" {
     name = "libXfont-1.4.8";
     builder = ./builder.sh;
     src = fetchurl {
@@ -707,9 +712,9 @@ let
       sha256 = "01fh2hnnaby8x6mv57x78nsqwhls70gwykldzd8b43vrpzzd8s2m";
     };
     buildInputs = [pkgconfig libfontenc fontsproto freetype xproto xtrans zlib ];
-  })) // {inherit 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) {
+  libXft = (mkDerivation "libXft" {
     name = "libXft-2.3.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -717,9 +722,9 @@ let
       sha256 = "0k6wzi5rzs0d0n338ms8n8lfyhq914hw4yl2j7553wqxfqjci8zm";
     };
     buildInputs = [pkgconfig fontconfig freetype libX11 xproto libXrender ];
-  })) // {inherit fontconfig freetype libX11 xproto libXrender ;};
+  }) // {inherit fontconfig freetype libX11 xproto libXrender ;};
 
-  libXi = (stdenv.mkDerivation ((if overrides ? libXi then overrides.libXi else x: x) {
+  libXi = (mkDerivation "libXi" {
     name = "libXi-1.7.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -727,9 +732,9 @@ let
       sha256 = "0i12lj973grlp9fa79v0vh9cahk3nf9csdjnf81iip0qcrlc5zrc";
     };
     buildInputs = [pkgconfig inputproto libX11 libXext xextproto libXfixes xproto ];
-  })) // {inherit inputproto libX11 libXext xextproto libXfixes xproto ;};
+  }) // {inherit inputproto libX11 libXext xextproto libXfixes xproto ;};
 
-  libXinerama = (stdenv.mkDerivation ((if overrides ? libXinerama then overrides.libXinerama else x: x) {
+  libXinerama = (mkDerivation "libXinerama" {
     name = "libXinerama-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -737,9 +742,9 @@ let
       sha256 = "1qlqfvzw45gdzk9xirgwlp2qgj0hbsyiqj8yh8zml2bk2ygnjibs";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xineramaproto ];
-  })) // {inherit libX11 libXext xextproto xineramaproto ;};
+  }) // {inherit libX11 libXext xextproto xineramaproto ;};
 
-  libXmu = (stdenv.mkDerivation ((if overrides ? libXmu then overrides.libXmu else x: x) {
+  libXmu = (mkDerivation "libXmu" {
     name = "libXmu-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -747,9 +752,9 @@ let
       sha256 = "02wx6jw7i0q5qwx87yf94fsn3h0xpz1k7dz1nkwfwm1j71ydqvkm";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ];
-  })) // {inherit libX11 libXext xextproto xproto libXt ;};
+  }) // {inherit libX11 libXext xextproto xproto libXt ;};
 
-  libXp = (stdenv.mkDerivation ((if overrides ? libXp then overrides.libXp else x: x) {
+  libXp = (mkDerivation "libXp" {
     name = "libXp-1.0.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -757,9 +762,9 @@ let
       sha256 = "1dfh5w8sjz5b5fl6dl4y63ckq99snslz7bir8zq2rg8ax6syabwm";
     };
     buildInputs = [pkgconfig printproto libX11 libXau libXext xextproto ];
-  })) // {inherit printproto libX11 libXau libXext xextproto ;};
+  }) // {inherit printproto libX11 libXau libXext xextproto ;};
 
-  libXpm = (stdenv.mkDerivation ((if overrides ? libXpm then overrides.libXpm else x: x) {
+  libXpm = (mkDerivation "libXpm" {
     name = "libXpm-3.5.11";
     builder = ./builder.sh;
     src = fetchurl {
@@ -767,9 +772,9 @@ let
       sha256 = "07041q4k8m4nirzl7lrqn8by2zylx0xvh6n0za301qqs3njszgf5";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ];
-  })) // {inherit libX11 libXext xextproto xproto libXt ;};
+  }) // {inherit libX11 libXext xextproto xproto libXt ;};
 
-  libXrandr = (stdenv.mkDerivation ((if overrides ? libXrandr then overrides.libXrandr else x: x) {
+  libXrandr = (mkDerivation "libXrandr" {
     name = "libXrandr-1.4.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -777,9 +782,9 @@ let
       sha256 = "1b95p3l84ppv6j7dbbmg0zrz6k8xdwvnag1l6ajm3gk9qwdb79ya";
     };
     buildInputs = [pkgconfig randrproto renderproto libX11 libXext xextproto xproto libXrender ];
-  })) // {inherit 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) {
+  libXrender = (mkDerivation "libXrender" {
     name = "libXrender-0.9.8";
     builder = ./builder.sh;
     src = fetchurl {
@@ -787,9 +792,9 @@ let
       sha256 = "0qpwyjhbpp734vnhca992pjh4w7ijslidkzx1pcwbbk000pv050x";
     };
     buildInputs = [pkgconfig renderproto libX11 xproto ];
-  })) // {inherit renderproto libX11 xproto ;};
+  }) // {inherit renderproto libX11 xproto ;};
 
-  libXres = (stdenv.mkDerivation ((if overrides ? libXres then overrides.libXres else x: x) {
+  libXres = (mkDerivation "libXres" {
     name = "libXres-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
@@ -797,9 +802,9 @@ let
       sha256 = "1rd0bzn67cpb2qkc946gch2183r4bdjfhs6cpqbipy47m9a91296";
     };
     buildInputs = [pkgconfig resourceproto libX11 libXext xextproto xproto ];
-  })) // {inherit resourceproto libX11 libXext xextproto xproto ;};
+  }) // {inherit resourceproto libX11 libXext xextproto xproto ;};
 
-  libXt = (stdenv.mkDerivation ((if overrides ? libXt then overrides.libXt else x: x) {
+  libXt = (mkDerivation "libXt" {
     name = "libXt-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -807,9 +812,9 @@ let
       sha256 = "0myxwbx9ylam5x3ia5b5f4x8azcqdm420h9ad1r4hrgmi2lrffl4";
     };
     buildInputs = [pkgconfig libICE kbproto libSM libX11 xproto ];
-  })) // {inherit libICE kbproto libSM libX11 xproto ;};
+  }) // {inherit libICE kbproto libSM libX11 xproto ;};
 
-  libXtst = (stdenv.mkDerivation ((if overrides ? libXtst then overrides.libXtst else x: x) {
+  libXtst = (mkDerivation "libXtst" {
     name = "libXtst-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -817,9 +822,9 @@ let
       sha256 = "1ngn161nq679ffmbwl81i2hn75jjg5b3ffv6n4jilpvyazypy2pg";
     };
     buildInputs = [pkgconfig inputproto recordproto libX11 libXext xextproto libXi ];
-  })) // {inherit 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) {
+  libXv = (mkDerivation "libXv" {
     name = "libXv-1.0.10";
     builder = ./builder.sh;
     src = fetchurl {
@@ -827,9 +832,9 @@ let
       sha256 = "09a5j6bisysiipd0nw6s352565bp0n6gbyhv5hp63s3cd3w95zjm";
     };
     buildInputs = [pkgconfig videoproto libX11 libXext xextproto xproto ];
-  })) // {inherit videoproto libX11 libXext xextproto xproto ;};
+  }) // {inherit videoproto libX11 libXext xextproto xproto ;};
 
-  libXvMC = (stdenv.mkDerivation ((if overrides ? libXvMC then overrides.libXvMC else x: x) {
+  libXvMC = (mkDerivation "libXvMC" {
     name = "libXvMC-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
@@ -837,9 +842,9 @@ let
       sha256 = "015jk3bxfmj6zaw99x282f9npi8qqaw34yg186frags3z8g406jy";
     };
     buildInputs = [pkgconfig videoproto libX11 libXext xextproto xproto libXv ];
-  })) // {inherit 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) {
+  libXxf86dga = (mkDerivation "libXxf86dga" {
     name = "libXxf86dga-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -847,9 +852,9 @@ let
       sha256 = "0zn7aqj8x0951d8zb2h2andldvwkzbsc4cs7q023g6nzq6vd9v4f";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xf86dgaproto xproto ];
-  })) // {inherit libX11 libXext xextproto xf86dgaproto xproto ;};
+  }) // {inherit libX11 libXext xextproto xf86dgaproto xproto ;};
 
-  libXxf86misc = (stdenv.mkDerivation ((if overrides ? libXxf86misc then overrides.libXxf86misc else x: x) {
+  libXxf86misc = (mkDerivation "libXxf86misc" {
     name = "libXxf86misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -857,9 +862,9 @@ let
       sha256 = "0nvbq9y6k6m9hxdvg3crycqsnnxf1859wrisqcs37z9fhq044gsn";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xf86miscproto xproto ];
-  })) // {inherit libX11 libXext xextproto xf86miscproto xproto ;};
+  }) // {inherit libX11 libXext xextproto xf86miscproto xproto ;};
 
-  libXxf86vm = (stdenv.mkDerivation ((if overrides ? libXxf86vm then overrides.libXxf86vm else x: x) {
+  libXxf86vm = (mkDerivation "libXxf86vm" {
     name = "libXxf86vm-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -867,9 +872,9 @@ let
       sha256 = "1f1pxj018nk7ybxv58jmn5y8gm2288p4q3l2dng9n1p25v1qcpns";
     };
     buildInputs = [pkgconfig libX11 libXext xextproto xf86vidmodeproto xproto ];
-  })) // {inherit libX11 libXext xextproto xf86vidmodeproto xproto ;};
+  }) // {inherit libX11 libXext xextproto xf86vidmodeproto xproto ;};
 
-  libdmx = (stdenv.mkDerivation ((if overrides ? libdmx then overrides.libdmx else x: x) {
+  libdmx = (mkDerivation "libdmx" {
     name = "libdmx-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -877,9 +882,9 @@ let
       sha256 = "00djlxas38kbsrglcmwmxfbmxjdchlbj95pqwjvdg8jn5rns6zf9";
     };
     buildInputs = [pkgconfig dmxproto libX11 libXext xextproto ];
-  })) // {inherit dmxproto libX11 libXext xextproto ;};
+  }) // {inherit dmxproto libX11 libXext xextproto ;};
 
-  libfontenc = (stdenv.mkDerivation ((if overrides ? libfontenc then overrides.libfontenc else x: x) {
+  libfontenc = (mkDerivation "libfontenc" {
     name = "libfontenc-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -887,9 +892,9 @@ let
       sha256 = "0qign0ivqk166l9yfd51gw9lbhgs718bcrmvc40yicjr6gnyz959";
     };
     buildInputs = [pkgconfig xproto zlib ];
-  })) // {inherit xproto zlib ;};
+  }) // {inherit xproto zlib ;};
 
-  libpciaccess = (stdenv.mkDerivation ((if overrides ? libpciaccess then overrides.libpciaccess else x: x) {
+  libpciaccess = (mkDerivation "libpciaccess" {
     name = "libpciaccess-0.13.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -897,9 +902,9 @@ let
       sha256 = "06fy43n3c450h7xqpn3094bnfn7ca1mrq3i856y8kyqa0lmqraxb";
     };
     buildInputs = [pkgconfig zlib ];
-  })) // {inherit zlib ;};
+  }) // {inherit zlib ;};
 
-  libpthreadstubs = (stdenv.mkDerivation ((if overrides ? libpthreadstubs then overrides.libpthreadstubs else x: x) {
+  libpthreadstubs = (mkDerivation "libpthreadstubs" {
     name = "libpthread-stubs-0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -907,9 +912,9 @@ let
       sha256 = "16bjv3in19l84hbri41iayvvg4ls9gv1ma0x0qlbmwy67i7dbdim";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  libxcb = (stdenv.mkDerivation ((if overrides ? libxcb then overrides.libxcb else x: x) {
+  libxcb = (mkDerivation "libxcb" {
     name = "libxcb-1.10";
     builder = ./builder.sh;
     src = fetchurl {
@@ -917,9 +922,9 @@ let
       sha256 = "1dfmyb1zjx6n0zhr4y40mc1crlmj3bfjjhmn0f30ip9nnq2spncq";
     };
     buildInputs = [pkgconfig libxslt libpthreadstubs python libXau xcbproto libXdmcp ];
-  })) // {inherit 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) {
+  libxkbfile = (mkDerivation "libxkbfile" {
     name = "libxkbfile-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
@@ -927,9 +932,9 @@ let
       sha256 = "0flg5arw6n3njagmsi4i4l0zl5bfx866a1h9ydc3bi1pqlclxaca";
     };
     buildInputs = [pkgconfig kbproto libX11 ];
-  })) // {inherit kbproto libX11 ;};
+  }) // {inherit kbproto libX11 ;};
 
-  libxshmfence = (stdenv.mkDerivation ((if overrides ? libxshmfence then overrides.libxshmfence else x: x) {
+  libxshmfence = (mkDerivation "libxshmfence" {
     name = "libxshmfence-1.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -937,9 +942,9 @@ let
       sha256 = "1gnfb1z8sbbdc3xpz1zmm94lv7yvfh4kvip9s5pj37ya4llxphnv";
     };
     buildInputs = [pkgconfig xproto ];
-  })) // {inherit xproto ;};
+  }) // {inherit xproto ;};
 
-  lndir = (stdenv.mkDerivation ((if overrides ? lndir then overrides.lndir else x: x) {
+  lndir = (mkDerivation "lndir" {
     name = "lndir-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -947,9 +952,9 @@ let
       sha256 = "0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29";
     };
     buildInputs = [pkgconfig xproto ];
-  })) // {inherit xproto ;};
+  }) // {inherit xproto ;};
 
-  luit = (stdenv.mkDerivation ((if overrides ? luit then overrides.luit else x: x) {
+  luit = (mkDerivation "luit" {
     name = "luit-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -957,9 +962,9 @@ let
       sha256 = "0dn694mk56x6hdk6y9ylx4f128h5jcin278gnw2gb807rf3ygc1h";
     };
     buildInputs = [pkgconfig libfontenc ];
-  })) // {inherit libfontenc ;};
+  }) // {inherit libfontenc ;};
 
-  makedepend = (stdenv.mkDerivation ((if overrides ? makedepend then overrides.makedepend else x: x) {
+  makedepend = (mkDerivation "makedepend" {
     name = "makedepend-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
@@ -967,9 +972,9 @@ let
       sha256 = "09alw99r6y2bbd1dc786n3jfgv4j520apblyn7cw6jkjydshba7p";
     };
     buildInputs = [pkgconfig xproto ];
-  })) // {inherit xproto ;};
+  }) // {inherit xproto ;};
 
-  mkfontdir = (stdenv.mkDerivation ((if overrides ? mkfontdir then overrides.mkfontdir else x: x) {
+  mkfontdir = (mkDerivation "mkfontdir" {
     name = "mkfontdir-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
@@ -977,9 +982,9 @@ let
       sha256 = "0c3563kw9fg15dpgx4dwvl12qz6sdqdns1pxa574hc7i5m42mman";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  mkfontscale = (stdenv.mkDerivation ((if overrides ? mkfontscale then overrides.mkfontscale else x: x) {
+  mkfontscale = (mkDerivation "mkfontscale" {
     name = "mkfontscale-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -987,9 +992,9 @@ let
       sha256 = "0cdpn1ii2iw1vg2ga4w62acrh78gzgf0vza4g8wx5kkp4jcifh14";
     };
     buildInputs = [pkgconfig libfontenc freetype xproto zlib ];
-  })) // {inherit libfontenc freetype xproto zlib ;};
+  }) // {inherit libfontenc freetype xproto zlib ;};
 
-  presentproto = (stdenv.mkDerivation ((if overrides ? presentproto then overrides.presentproto else x: x) {
+  presentproto = (mkDerivation "presentproto" {
     name = "presentproto-1.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -997,9 +1002,9 @@ let
       sha256 = "1kir51aqg9cwazs14ivcldcn3mzadqgykc9cg87rm40zf947sb41";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  printproto = (stdenv.mkDerivation ((if overrides ? printproto then overrides.printproto else x: x) {
+  printproto = (mkDerivation "printproto" {
     name = "printproto-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1007,9 +1012,9 @@ let
       sha256 = "06liap8n4s25sgp27d371cc7yg9a08dxcr3pmdjp761vyin3360j";
     };
     buildInputs = [pkgconfig libXau ];
-  })) // {inherit libXau ;};
+  }) // {inherit libXau ;};
 
-  randrproto = (stdenv.mkDerivation ((if overrides ? randrproto then overrides.randrproto else x: x) {
+  randrproto = (mkDerivation "randrproto" {
     name = "randrproto-1.4.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1017,9 +1022,9 @@ let
       sha256 = "1kq9h93qdnniiivry8jmhlgwn9fbx9xp5r9cmzfihlx5cs62xi45";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  recordproto = (stdenv.mkDerivation ((if overrides ? recordproto then overrides.recordproto else x: x) {
+  recordproto = (mkDerivation "recordproto" {
     name = "recordproto-1.14.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1027,9 +1032,9 @@ let
       sha256 = "0w3kgr1zabwf79bpc28dcnj0fpni6r53rpi82ngjbalj5s6m8xx7";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  renderproto = (stdenv.mkDerivation ((if overrides ? renderproto then overrides.renderproto else x: x) {
+  renderproto = (mkDerivation "renderproto" {
     name = "renderproto-0.11.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1037,9 +1042,9 @@ let
       sha256 = "0dr5xw6s0qmqg0q5pdkb4jkdhaja0vbfqla79qh5j1xjj9dmlwq6";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  resourceproto = (stdenv.mkDerivation ((if overrides ? resourceproto then overrides.resourceproto else x: x) {
+  resourceproto = (mkDerivation "resourceproto" {
     name = "resourceproto-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1047,9 +1052,9 @@ let
       sha256 = "0638iyfiiyjw1hg3139pai0j6m65gkskrvd9684zgc6ydcx00riw";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  scrnsaverproto = (stdenv.mkDerivation ((if overrides ? scrnsaverproto then overrides.scrnsaverproto else x: x) {
+  scrnsaverproto = (mkDerivation "scrnsaverproto" {
     name = "scrnsaverproto-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1057,9 +1062,9 @@ let
       sha256 = "0rfdbfwd35d761xkfifcscx56q0n56043ixlmv70r4v4l66hmdwb";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  sessreg = (stdenv.mkDerivation ((if overrides ? sessreg then overrides.sessreg else x: x) {
+  sessreg = (mkDerivation "sessreg" {
     name = "sessreg-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1067,9 +1072,9 @@ let
       sha256 = "1hy4wvgawajf4qw2k51fkcjzxw0drx60ydzpmqhj7k1g4z3cqahf";
     };
     buildInputs = [pkgconfig xproto ];
-  })) // {inherit xproto ;};
+  }) // {inherit xproto ;};
 
-  setxkbmap = (stdenv.mkDerivation ((if overrides ? setxkbmap then overrides.setxkbmap else x: x) {
+  setxkbmap = (mkDerivation "setxkbmap" {
     name = "setxkbmap-1.3.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1077,9 +1082,9 @@ let
       sha256 = "1inygpvlgc6vr5h9laxw9lnvafnccl3fy0g5n9ll28iq3yfmqc1x";
     };
     buildInputs = [pkgconfig libX11 libxkbfile ];
-  })) // {inherit libX11 libxkbfile ;};
+  }) // {inherit libX11 libxkbfile ;};
 
-  smproxy = (stdenv.mkDerivation ((if overrides ? smproxy then overrides.smproxy else x: x) {
+  smproxy = (mkDerivation "smproxy" {
     name = "smproxy-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1087,9 +1092,9 @@ let
       sha256 = "02fn5wa1gs2jap6sr9j9yk6zsvz82j8l61pf74iyqwa99q4wnb67";
     };
     buildInputs = [pkgconfig libICE libSM libXmu libXt ];
-  })) // {inherit libICE libSM libXmu libXt ;};
+  }) // {inherit libICE libSM libXmu libXt ;};
 
-  twm = (stdenv.mkDerivation ((if overrides ? twm then overrides.twm else x: x) {
+  twm = (mkDerivation "twm" {
     name = "twm-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1097,9 +1102,9 @@ let
       sha256 = "0i1ff8h2gh1ab311da5dlhl0nrma0qbrk403ymzi4cnnacikaq3n";
     };
     buildInputs = [pkgconfig libICE libSM libX11 libXext libXmu xproto libXt ];
-  })) // {inherit 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) {
+  utilmacros = (mkDerivation "utilmacros" {
     name = "util-macros-1.19.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1107,9 +1112,9 @@ let
       sha256 = "1fnhpryf55l0yqajxn0cxan3kvsjzi67nlanz8clwqzf54cb2d98";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  videoproto = (stdenv.mkDerivation ((if overrides ? videoproto then overrides.videoproto else x: x) {
+  videoproto = (mkDerivation "videoproto" {
     name = "videoproto-2.3.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1117,9 +1122,9 @@ let
       sha256 = "1dnlkd9nb0m135lgd6hd61vc29sdyarsyya8aqpx7z10p261dbld";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  windowswmproto = (stdenv.mkDerivation ((if overrides ? windowswmproto then overrides.windowswmproto else x: x) {
+  windowswmproto = (mkDerivation "windowswmproto" {
     name = "windowswmproto-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1127,9 +1132,9 @@ let
       sha256 = "0syjxgy4m8l94qrm03nvn5k6bkxc8knnlld1gbllym97nvnv0ny0";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  x11perf = (stdenv.mkDerivation ((if overrides ? x11perf then overrides.x11perf else x: x) {
+  x11perf = (mkDerivation "x11perf" {
     name = "x11perf-1.5.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1137,9 +1142,9 @@ let
       sha256 = "111iwpxhnxjiq44w96zf0kszg5zpgv1g3ayx18v4nhdzl9bqivi4";
     };
     buildInputs = [pkgconfig libX11 libXext libXft libXmu libXrender ];
-  })) // {inherit libX11 libXext libXft libXmu libXrender ;};
+  }) // {inherit libX11 libXext libXft libXmu libXrender ;};
 
-  xauth = (stdenv.mkDerivation ((if overrides ? xauth then overrides.xauth else x: x) {
+  xauth = (mkDerivation "xauth" {
     name = "xauth-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1147,9 +1152,9 @@ let
       sha256 = "13y2invb0894b1in03jbglximbz6v31y2kr4yjjgica8xciibkjn";
     };
     buildInputs = [pkgconfig libX11 libXau libXext libXmu xproto ];
-  })) // {inherit libX11 libXau libXext libXmu xproto ;};
+  }) // {inherit libX11 libXau libXext libXmu xproto ;};
 
-  xbacklight = (stdenv.mkDerivation ((if overrides ? xbacklight then overrides.xbacklight else x: x) {
+  xbacklight = (mkDerivation "xbacklight" {
     name = "xbacklight-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1157,9 +1162,9 @@ let
       sha256 = "0arnd1j8vzhzmw72mqhjjcb2qwcbs9qphsy3ps593ajyld8wzxhp";
     };
     buildInputs = [pkgconfig libxcb xcbutil ];
-  })) // {inherit libxcb xcbutil ;};
+  }) // {inherit libxcb xcbutil ;};
 
-  xbitmaps = (stdenv.mkDerivation ((if overrides ? xbitmaps then overrides.xbitmaps else x: x) {
+  xbitmaps = (mkDerivation "xbitmaps" {
     name = "xbitmaps-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1167,9 +1172,9 @@ let
       sha256 = "178ym90kwidia6nas4qr5n5yqh698vv8r02js0r4vg3b6lsb0w9n";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xcbproto = (stdenv.mkDerivation ((if overrides ? xcbproto then overrides.xcbproto else x: x) {
+  xcbproto = (mkDerivation "xcbproto" {
     name = "xcb-proto-1.10";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1177,9 +1182,9 @@ let
       sha256 = "01dgp802i4ic9wkmpa7g1wm50pp547d3b96jjz2hnxavhpfhvx3y";
     };
     buildInputs = [pkgconfig python ];
-  })) // {inherit python ;};
+  }) // {inherit python ;};
 
-  xcbutil = (stdenv.mkDerivation ((if overrides ? xcbutil then overrides.xcbutil else x: x) {
+  xcbutil = (mkDerivation "xcbutil" {
     name = "xcb-util-0.3.9";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1187,9 +1192,9 @@ let
       sha256 = "1i0qbhqkcdlbbsj7ifkyjsffl61whj24d3zlg5pxf3xj1af2a4f6";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xproto ];
-  })) // {inherit gperf m4 libxcb xproto ;};
+  }) // {inherit gperf m4 libxcb xproto ;};
 
-  xcbutilimage = (stdenv.mkDerivation ((if overrides ? xcbutilimage then overrides.xcbutilimage else x: x) {
+  xcbutilimage = (mkDerivation "xcbutilimage" {
     name = "xcb-util-image-0.3.9";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1197,9 +1202,9 @@ let
       sha256 = "1pr1l1nkg197gyl9d0fpwmn72jqpxjfgn9y13q4gawg1m873qnnk";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xcbutil xproto ];
-  })) // {inherit gperf m4 libxcb xcbutil xproto ;};
+  }) // {inherit gperf m4 libxcb xcbutil xproto ;};
 
-  xcbutilkeysyms = (stdenv.mkDerivation ((if overrides ? xcbutilkeysyms then overrides.xcbutilkeysyms else x: x) {
+  xcbutilkeysyms = (mkDerivation "xcbutilkeysyms" {
     name = "xcb-util-keysyms-0.3.9";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1207,9 +1212,9 @@ let
       sha256 = "0vjwk7vrcfnlhiadv445c6skfxmdrg5v4qf81y8s2s5xagqarqbv";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xproto ];
-  })) // {inherit gperf m4 libxcb xproto ;};
+  }) // {inherit gperf m4 libxcb xproto ;};
 
-  xcbutilrenderutil = (stdenv.mkDerivation ((if overrides ? xcbutilrenderutil then overrides.xcbutilrenderutil else x: x) {
+  xcbutilrenderutil = (mkDerivation "xcbutilrenderutil" {
     name = "xcb-util-renderutil-0.3.9";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1217,9 +1222,9 @@ let
       sha256 = "0nza1csdvvxbmk8vgv8vpmq7q8h05xrw3cfx9lwxd1hjzd47xsf6";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xproto ];
-  })) // {inherit gperf m4 libxcb xproto ;};
+  }) // {inherit gperf m4 libxcb xproto ;};
 
-  xcbutilwm = (stdenv.mkDerivation ((if overrides ? xcbutilwm then overrides.xcbutilwm else x: x) {
+  xcbutilwm = (mkDerivation "xcbutilwm" {
     name = "xcb-util-wm-0.4.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1227,9 +1232,9 @@ let
       sha256 = "0gra7hfyxajic4mjd63cpqvd20si53j1q3rbdlkqkahfciwq3gr8";
     };
     buildInputs = [pkgconfig gperf m4 libxcb xproto ];
-  })) // {inherit gperf m4 libxcb xproto ;};
+  }) // {inherit gperf m4 libxcb xproto ;};
 
-  xclock = (stdenv.mkDerivation ((if overrides ? xclock then overrides.xclock else x: x) {
+  xclock = (mkDerivation "xclock" {
     name = "xclock-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1237,9 +1242,9 @@ let
       sha256 = "1l3xv4bsca6bwxx73jyjz0blav86i7vwffkhdb1ac81y9slyrki3";
     };
     buildInputs = [pkgconfig libX11 libXaw libXft libxkbfile libXmu xproto libXrender libXt ];
-  })) // {inherit libX11 libXaw libXft libxkbfile libXmu xproto libXrender libXt ;};
+  }) // {inherit libX11 libXaw libXft libxkbfile libXmu xproto libXrender libXt ;};
 
-  xcmiscproto = (stdenv.mkDerivation ((if overrides ? xcmiscproto then overrides.xcmiscproto else x: x) {
+  xcmiscproto = (mkDerivation "xcmiscproto" {
     name = "xcmiscproto-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1247,9 +1252,9 @@ let
       sha256 = "1pyjv45wivnwap2wvsbrzdvjc5ql8bakkbkrvcv6q9bjjf33ccmi";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xcmsdb = (stdenv.mkDerivation ((if overrides ? xcmsdb then overrides.xcmsdb else x: x) {
+  xcmsdb = (mkDerivation "xcmsdb" {
     name = "xcmsdb-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1257,9 +1262,9 @@ let
       sha256 = "03ms731l3kvaldq7ycbd30j6134b61i3gbll4b2gl022wyzbjq74";
     };
     buildInputs = [pkgconfig libX11 ];
-  })) // {inherit libX11 ;};
+  }) // {inherit libX11 ;};
 
-  xcursorgen = (stdenv.mkDerivation ((if overrides ? xcursorgen then overrides.xcursorgen else x: x) {
+  xcursorgen = (mkDerivation "xcursorgen" {
     name = "xcursorgen-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1267,9 +1272,9 @@ let
       sha256 = "0v7nncj3kaa8c0524j7ricdf4rvld5i7c3m6fj55l5zbah7r3j1i";
     };
     buildInputs = [pkgconfig libpng libX11 libXcursor ];
-  })) // {inherit libpng libX11 libXcursor ;};
+  }) // {inherit libpng libX11 libXcursor ;};
 
-  xcursorthemes = (stdenv.mkDerivation ((if overrides ? xcursorthemes then overrides.xcursorthemes else x: x) {
+  xcursorthemes = (mkDerivation "xcursorthemes" {
     name = "xcursor-themes-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1277,9 +1282,9 @@ let
       sha256 = "11mv661nj1p22sqkv87ryj2lcx4m68a04b0rs6iqh3fzp42jrzg3";
     };
     buildInputs = [pkgconfig libXcursor ];
-  })) // {inherit libXcursor ;};
+  }) // {inherit libXcursor ;};
 
-  xdm = (stdenv.mkDerivation ((if overrides ? xdm then overrides.xdm else x: x) {
+  xdm = (mkDerivation "xdm" {
     name = "xdm-1.1.11";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1287,9 +1292,9 @@ let
       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 ;};
+  }) // {inherit libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ;};
 
-  xdpyinfo = (stdenv.mkDerivation ((if overrides ? xdpyinfo then overrides.xdpyinfo else x: x) {
+  xdpyinfo = (mkDerivation "xdpyinfo" {
     name = "xdpyinfo-1.3.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1297,9 +1302,9 @@ let
       sha256 = "154b29zlrq33lmni883jgwyrb2kx7z8h52jx1s3ys5x5d582iydf";
     };
     buildInputs = [pkgconfig libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ];
-  })) // {inherit libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;};
+  }) // {inherit libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;};
 
-  xdriinfo = (stdenv.mkDerivation ((if overrides ? xdriinfo then overrides.xdriinfo else x: x) {
+  xdriinfo = (mkDerivation "xdriinfo" {
     name = "xdriinfo-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1307,9 +1312,9 @@ let
       sha256 = "076bjix941znyjmh3j5jjsnhp2gv2iq53d0ks29mvvv87cyy9iim";
     };
     buildInputs = [pkgconfig glproto libX11 ];
-  })) // {inherit glproto libX11 ;};
+  }) // {inherit glproto libX11 ;};
 
-  xev = (stdenv.mkDerivation ((if overrides ? xev then overrides.xev else x: x) {
+  xev = (mkDerivation "xev" {
     name = "xev-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1317,9 +1322,9 @@ let
       sha256 = "0hv296mysglcgkx6lj1wxc23kshb2kix1a8yqppxj5vz16mpzw8i";
     };
     buildInputs = [pkgconfig libX11 xproto libXrandr ];
-  })) // {inherit libX11 xproto libXrandr ;};
+  }) // {inherit libX11 xproto libXrandr ;};
 
-  xextproto = (stdenv.mkDerivation ((if overrides ? xextproto then overrides.xextproto else x: x) {
+  xextproto = (mkDerivation "xextproto" {
     name = "xextproto-7.3.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1327,9 +1332,9 @@ let
       sha256 = "1c2vma9gqgc2v06rfxdiqgwhxmzk2cbmknwf1ng3m76vr0xb5x7k";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xeyes = (stdenv.mkDerivation ((if overrides ? xeyes then overrides.xeyes else x: x) {
+  xeyes = (mkDerivation "xeyes" {
     name = "xeyes-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1337,9 +1342,9 @@ let
       sha256 = "08d5x2kar5kg4yammw6hhk10iva6jmh8cqq176a1z7nm1il9hplp";
     };
     buildInputs = [pkgconfig libX11 libXext libXmu libXrender libXt ];
-  })) // {inherit libX11 libXext libXmu libXrender libXt ;};
+  }) // {inherit libX11 libXext libXmu libXrender libXt ;};
 
-  xf86bigfontproto = (stdenv.mkDerivation ((if overrides ? xf86bigfontproto then overrides.xf86bigfontproto else x: x) {
+  xf86bigfontproto = (mkDerivation "xf86bigfontproto" {
     name = "xf86bigfontproto-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1347,9 +1352,9 @@ let
       sha256 = "0j0n7sj5xfjpmmgx6n5x556rw21hdd18fwmavp95wps7qki214ms";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xf86dgaproto = (stdenv.mkDerivation ((if overrides ? xf86dgaproto then overrides.xf86dgaproto else x: x) {
+  xf86dgaproto = (mkDerivation "xf86dgaproto" {
     name = "xf86dgaproto-2.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1357,9 +1362,9 @@ let
       sha256 = "0l4hx48207mx0hp09026r6gy9nl3asbq0c75hri19wp1118zcpmc";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xf86driproto = (stdenv.mkDerivation ((if overrides ? xf86driproto then overrides.xf86driproto else x: x) {
+  xf86driproto = (mkDerivation "xf86driproto" {
     name = "xf86driproto-2.1.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1367,9 +1372,9 @@ let
       sha256 = "07v69m0g2dfzb653jni4x656jlr7l84c1k39j8qc8vfb45r8sjww";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xf86inputevdev = (stdenv.mkDerivation ((if overrides ? xf86inputevdev then overrides.xf86inputevdev else x: x) {
+  xf86inputevdev = (mkDerivation "xf86inputevdev" {
     name = "xf86-input-evdev-2.8.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1377,9 +1382,9 @@ let
       sha256 = "030haki1h0m85h91c91812gdnk6znfamw5kpr010zxwwbsgxxyl5";
     };
     buildInputs = [pkgconfig inputproto udev xorgserver xproto ];
-  })) // {inherit inputproto udev xorgserver xproto ;};
+  }) // {inherit inputproto udev xorgserver xproto ;};
 
-  xf86inputjoystick = (stdenv.mkDerivation ((if overrides ? xf86inputjoystick then overrides.xf86inputjoystick else x: x) {
+  xf86inputjoystick = (mkDerivation "xf86inputjoystick" {
     name = "xf86-input-joystick-1.6.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1387,9 +1392,9 @@ let
       sha256 = "038mfqairyyqvz02rk7v3i070sab1wr0k6fkxvyvxdgkfbnqcfzf";
     };
     buildInputs = [pkgconfig inputproto kbproto xorgserver xproto ];
-  })) // {inherit inputproto kbproto xorgserver xproto ;};
+  }) // {inherit inputproto kbproto xorgserver xproto ;};
 
-  xf86inputkeyboard = (stdenv.mkDerivation ((if overrides ? xf86inputkeyboard then overrides.xf86inputkeyboard else x: x) {
+  xf86inputkeyboard = (mkDerivation "xf86inputkeyboard" {
     name = "xf86-input-keyboard-1.8.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1397,9 +1402,9 @@ let
       sha256 = "0nyb61w30z32djrllgr2s1i13di3vsl6hg4pqjhxdal71971ria1";
     };
     buildInputs = [pkgconfig inputproto xorgserver xproto ];
-  })) // {inherit inputproto xorgserver xproto ;};
+  }) // {inherit inputproto xorgserver xproto ;};
 
-  xf86inputmouse = (stdenv.mkDerivation ((if overrides ? xf86inputmouse then overrides.xf86inputmouse else x: x) {
+  xf86inputmouse = (mkDerivation "xf86inputmouse" {
     name = "xf86-input-mouse-1.9.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1407,9 +1412,9 @@ let
       sha256 = "12344w0cxac1ld54qqwynxwazbmmpvqh1mzcskmfkmakmr5iwq2x";
     };
     buildInputs = [pkgconfig inputproto xorgserver xproto ];
-  })) // {inherit inputproto xorgserver xproto ;};
+  }) // {inherit inputproto xorgserver xproto ;};
 
-  xf86inputsynaptics = (stdenv.mkDerivation ((if overrides ? xf86inputsynaptics then overrides.xf86inputsynaptics else x: x) {
+  xf86inputsynaptics = (mkDerivation "xf86inputsynaptics" {
     name = "xf86-input-synaptics-1.7.6";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1417,9 +1422,9 @@ let
       sha256 = "0ls8f7gy92f54hdqsa19vypg0xm496jrgdhdn4qphycxwn3gwkbm";
     };
     buildInputs = [pkgconfig inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ];
-  })) // {inherit 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) {
+  xf86inputvmmouse = (mkDerivation "xf86inputvmmouse" {
     name = "xf86-input-vmmouse-13.0.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1427,9 +1432,9 @@ let
       sha256 = "0b31ap9wp7nwpnihz8m7bz3p0hhaipxxhl652nw4v380cq1vdkq4";
     };
     buildInputs = [pkgconfig inputproto randrproto xorgserver xproto ];
-  })) // {inherit inputproto randrproto xorgserver xproto ;};
+  }) // {inherit inputproto randrproto xorgserver xproto ;};
 
-  xf86inputvoid = (stdenv.mkDerivation ((if overrides ? xf86inputvoid then overrides.xf86inputvoid else x: x) {
+  xf86inputvoid = (mkDerivation "xf86inputvoid" {
     name = "xf86-input-void-1.4.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1437,9 +1442,9 @@ let
       sha256 = "01bmk324fq48wydvy1qrnxbw6qz0fjd0i80g0n4cqr1c4mjmif9a";
     };
     buildInputs = [pkgconfig xorgserver xproto ];
-  })) // {inherit xorgserver xproto ;};
+  }) // {inherit xorgserver xproto ;};
 
-  xf86miscproto = (stdenv.mkDerivation ((if overrides ? xf86miscproto then overrides.xf86miscproto else x: x) {
+  xf86miscproto = (mkDerivation "xf86miscproto" {
     name = "xf86miscproto-0.9.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1447,9 +1452,9 @@ let
       sha256 = "15dhcdpv61fyj6rhzrhnwri9hlw8rjfy05z1vik118lc99mfrf25";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xf86videoark = (stdenv.mkDerivation ((if overrides ? xf86videoark then overrides.xf86videoark else x: x) {
+  xf86videoark = (mkDerivation "xf86videoark" {
     name = "xf86-video-ark-0.7.5";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1457,9 +1462,9 @@ let
       sha256 = "07p5vdsj2ckxb6wh02s61akcv4qfg6s1d5ld3jn3lfaayd3f1466";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess xextproto xorgserver xproto ;};
+  }) // {inherit fontsproto libpciaccess xextproto xorgserver xproto ;};
 
-  xf86videoast = (stdenv.mkDerivation ((if overrides ? xf86videoast then overrides.xf86videoast else x: x) {
+  xf86videoast = (mkDerivation "xf86videoast" {
     name = "xf86-video-ast-0.98.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1467,9 +1472,9 @@ let
       sha256 = "188nv73w0p5xhfxz2dffli44yzyn1qhhq3qkwc8wva9dhg25n8lh";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit 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) {
+  xf86videoati = (mkDerivation "xf86videoati" {
     name = "xf86-video-ati-7.4.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1477,9 +1482,9 @@ let
       sha256 = "1nbnvxlyn75bcf23m39p7yw80kilgdxmjdvzgcs3walshnlhq8wn";
     };
     buildInputs = [pkgconfig fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
-  })) // {inherit fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) // {inherit fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
 
-  xf86videocirrus = (stdenv.mkDerivation ((if overrides ? xf86videocirrus then overrides.xf86videocirrus else x: x) {
+  xf86videocirrus = (mkDerivation "xf86videocirrus" {
     name = "xf86-video-cirrus-1.5.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1487,9 +1492,9 @@ let
       sha256 = "1mycqgjp18b6adqj2h90vp324xh8ysyi5migfmjc914vbnkf2q9k";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit 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) {
+  xf86videodummy = (mkDerivation "xf86videodummy" {
     name = "xf86-video-dummy-0.3.7";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1497,9 +1502,9 @@ let
       sha256 = "1046p64xap69vlsmsz5rjv0djc970yhvq44fmllmas0mqp5lzy2n";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ];
-  })) // {inherit 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) {
+  xf86videofbdev = (mkDerivation "xf86videofbdev" {
     name = "xf86-video-fbdev-0.4.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1507,9 +1512,9 @@ let
       sha256 = "06ym7yy017lanj730hfkpfk4znx3dsj8jq3qvyzsn8w294kb7m4x";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ];
-  })) // {inherit 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) {
+  xf86videogeode = (mkDerivation "xf86videogeode" {
     name = "xf86-video-geode-2.11.15";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1517,9 +1522,9 @@ let
       sha256 = "1w4ghr2a41kaw4g9na8ws5fjbmy8zkbxpxa21vmqc8mkjzb3pnq0";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit 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) {
+  xf86videoglide = (mkDerivation "xf86videoglide" {
     name = "xf86-video-glide-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1527,9 +1532,9 @@ let
       sha256 = "1vaav6kx4n00q4fawgqnjmbdkppl0dir2dkrj4ad372mxrvl9c4y";
     };
     buildInputs = [pkgconfig xextproto xorgserver xproto ];
-  })) // {inherit xextproto xorgserver xproto ;};
+  }) // {inherit xextproto xorgserver xproto ;};
 
-  xf86videoglint = (stdenv.mkDerivation ((if overrides ? xf86videoglint then overrides.xf86videoglint else x: x) {
+  xf86videoglint = (mkDerivation "xf86videoglint" {
     name = "xf86-video-glint-1.2.8";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1537,9 +1542,9 @@ let
       sha256 = "08a2aark2yn9irws9c78d9q44dichr03i9zbk61jgr54ncxqhzv5";
     };
     buildInputs = [pkgconfig libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ];
-  })) // {inherit 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) {
+  xf86videoi128 = (mkDerivation "xf86videoi128" {
     name = "xf86-video-i128-1.3.6";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1547,9 +1552,9 @@ let
       sha256 = "171b8lbxr56w3isph947dnw7x87hc46v6m3mcxdcz44gk167x0pq";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit 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) {
+  xf86videointel = (mkDerivation "xf86videointel" {
     name = "xf86-video-intel-2.21.15";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1557,9 +1562,9 @@ let
       sha256 = "1z6ncmpszmwqi9xr590c4kp4gjjf7mndcr56r35x2bx7h87i8nkx";
     };
     buildInputs = [pkgconfig dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ];
-  })) // {inherit dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ;};
+  }) // {inherit dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ;};
 
-  xf86videomach64 = (stdenv.mkDerivation ((if overrides ? xf86videomach64 then overrides.xf86videomach64 else x: x) {
+  xf86videomach64 = (mkDerivation "xf86videomach64" {
     name = "xf86-video-mach64-6.9.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1567,9 +1572,9 @@ let
       sha256 = "0pl582vnc6hdxqhf5c0qdyanjqxb4crnhqlmxxml5a60syw0iwcp";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
-  })) // {inherit 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) {
+  xf86videomga = (mkDerivation "xf86videomga" {
     name = "xf86-video-mga-1.6.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1577,9 +1582,9 @@ let
       sha256 = "1my7y67sadjjmab1dyxckylrggi7p01yk4wwg9w6k1q96pmb213p";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
-  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
 
-  xf86videomodesetting = (stdenv.mkDerivation ((if overrides ? xf86videomodesetting then overrides.xf86videomodesetting else x: x) {
+  xf86videomodesetting = (mkDerivation "xf86videomodesetting" {
     name = "xf86-video-modesetting-0.9.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1587,9 +1592,9 @@ let
       sha256 = "0p6pjn5bnd2wr3lmas4b12zcq12d9ilvssga93fzlg90fdahikwh";
     };
     buildInputs = [pkgconfig fontsproto libdrm udev libpciaccess randrproto libX11 xextproto xorgserver xproto ];
-  })) // {inherit fontsproto libdrm udev libpciaccess randrproto libX11 xextproto xorgserver xproto ;};
+  }) // {inherit fontsproto libdrm udev libpciaccess randrproto libX11 xextproto xorgserver xproto ;};
 
-  xf86videoneomagic = (stdenv.mkDerivation ((if overrides ? xf86videoneomagic then overrides.xf86videoneomagic else x: x) {
+  xf86videoneomagic = (mkDerivation "xf86videoneomagic" {
     name = "xf86-video-neomagic-1.2.8";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1597,9 +1602,9 @@ let
       sha256 = "0x48sxs1p3kmwk3pq1j7vl93y59gdmgkq1x5xbnh0yal0angdash";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess xorgserver xproto ;};
+  }) // {inherit fontsproto libpciaccess xorgserver xproto ;};
 
-  xf86videonewport = (stdenv.mkDerivation ((if overrides ? xf86videonewport then overrides.xf86videonewport else x: x) {
+  xf86videonewport = (mkDerivation "xf86videonewport" {
     name = "xf86-video-newport-0.2.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1607,9 +1612,9 @@ let
       sha256 = "1yafmp23jrfdmc094i6a4dsizapsc9v0pl65cpc8w1kvn7343k4i";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xorgserver xproto ];
-  })) // {inherit fontsproto randrproto renderproto videoproto xorgserver xproto ;};
+  }) // {inherit fontsproto randrproto renderproto videoproto xorgserver xproto ;};
 
-  xf86videonouveau = (stdenv.mkDerivation ((if overrides ? xf86videonouveau then overrides.xf86videonouveau else x: x) {
+  xf86videonouveau = (mkDerivation "xf86videonouveau" {
     name = "xf86-video-nouveau-1.0.10";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1617,9 +1622,9 @@ let
       sha256 = "17fvjplzfx86099sqys0bfl8lfbmjz8li84kzj2x95mf1cbb7fn1";
     };
     buildInputs = [pkgconfig dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) // {inherit dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
 
-  xf86videonv = (stdenv.mkDerivation ((if overrides ? xf86videonv then overrides.xf86videonv else x: x) {
+  xf86videonv = (mkDerivation "xf86videonv" {
     name = "xf86-video-nv-2.1.20";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1627,9 +1632,9 @@ let
       sha256 = "1gqh1khc4zalip5hh2nksgs7i3piqq18nncgmsx9qvzi05azd5c3";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
-  })) // {inherit 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) {
+  xf86videoopenchrome = (mkDerivation "xf86videoopenchrome" {
     name = "xf86-video-openchrome-0.3.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1637,9 +1642,9 @@ let
       sha256 = "1v8j4i1r268n4fc5gq54zg1x50j0rhw71f3lba7411mcblg2z7p4";
     };
     buildInputs = [pkgconfig fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ];
-  })) // {inherit fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ;};
+  }) // {inherit fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ;};
 
-  xf86videor128 = (stdenv.mkDerivation ((if overrides ? xf86videor128 then overrides.xf86videor128 else x: x) {
+  xf86videor128 = (mkDerivation "xf86videor128" {
     name = "xf86-video-r128-6.9.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1647,9 +1652,9 @@ let
       sha256 = "1q3fsc603k2yinphx5rrcl5356qkpywwz8axlw277l2231gjjbcb";
     };
     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 ;};
+  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ;};
 
-  xf86videosavage = (stdenv.mkDerivation ((if overrides ? xf86videosavage then overrides.xf86videosavage else x: x) {
+  xf86videosavage = (mkDerivation "xf86videosavage" {
     name = "xf86-video-savage-2.3.7";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1657,9 +1662,9 @@ let
       sha256 = "0i2aqp68rfkrz9c1p6d7ny9x7bjrlnby7q56zf01fb12r42l4784";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
-  })) // {inherit 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) {
+  xf86videosiliconmotion = (mkDerivation "xf86videosiliconmotion" {
     name = "xf86-video-siliconmotion-1.7.7";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1667,9 +1672,9 @@ let
       sha256 = "1an321kqvsxq0z35acwl99lc8hpdkayw0q180744ypcl8ffvbf47";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess videoproto xextproto xorgserver xproto ];
-  })) // {inherit 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) {
+  xf86videosis = (mkDerivation "xf86videosis" {
     name = "xf86-video-sis-0.10.7";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1677,9 +1682,9 @@ let
       sha256 = "1l0w84x39gq4y9j81dny9r6rma1xkqvxpsavpkd8h7h8panbcbmy";
     };
     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 ;};
+  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ;};
 
-  xf86videosuncg6 = (stdenv.mkDerivation ((if overrides ? xf86videosuncg6 then overrides.xf86videosuncg6 else x: x) {
+  xf86videosuncg6 = (mkDerivation "xf86videosuncg6" {
     name = "xf86-video-suncg6-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1687,9 +1692,9 @@ let
       sha256 = "04fgwgk02m4nimlv67rrg1wnyahgymrn6rb2cjj1l8bmzkii4glr";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ];
-  })) // {inherit fontsproto randrproto renderproto xorgserver xproto ;};
+  }) // {inherit fontsproto randrproto renderproto xorgserver xproto ;};
 
-  xf86videosunffb = (stdenv.mkDerivation ((if overrides ? xf86videosunffb then overrides.xf86videosunffb else x: x) {
+  xf86videosunffb = (mkDerivation "xf86videosunffb" {
     name = "xf86-video-sunffb-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1697,9 +1702,9 @@ let
       sha256 = "07z3ngifwg2d4jgq8pms47n5lr2yn0ai72g86xxjnb3k20n5ym7s";
     };
     buildInputs = [pkgconfig fontsproto randrproto renderproto xextproto xorgserver xproto ];
-  })) // {inherit fontsproto randrproto renderproto xextproto xorgserver xproto ;};
+  }) // {inherit fontsproto randrproto renderproto xextproto xorgserver xproto ;};
 
-  xf86videotdfx = (stdenv.mkDerivation ((if overrides ? xf86videotdfx then overrides.xf86videotdfx else x: x) {
+  xf86videotdfx = (mkDerivation "xf86videotdfx" {
     name = "xf86-video-tdfx-1.4.5";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1707,9 +1712,9 @@ let
       sha256 = "0nfqf1c8939s21ci1g7gacwzlr4g4nnilahgz7j2bz30zfnzpmbh";
     };
     buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
-  })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
 
-  xf86videotga = (stdenv.mkDerivation ((if overrides ? xf86videotga then overrides.xf86videotga else x: x) {
+  xf86videotga = (mkDerivation "xf86videotga" {
     name = "xf86-video-tga-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1717,9 +1722,9 @@ let
       sha256 = "0cb161lvdgi6qnf1sfz722qn38q7kgakcvj7b45ba3i0020828r0";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
-  })) // {inherit 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) {
+  xf86videotrident = (mkDerivation "xf86videotrident" {
     name = "xf86-video-trident-1.3.6";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1727,9 +1732,9 @@ let
       sha256 = "0141qbfsm32i0pxjyx5czpa8x8m4lvapsp4amw1qigaa0gry6n3a";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
-  })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
+  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
 
-  xf86videov4l = (stdenv.mkDerivation ((if overrides ? xf86videov4l then overrides.xf86videov4l else x: x) {
+  xf86videov4l = (mkDerivation "xf86videov4l" {
     name = "xf86-video-v4l-0.2.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1737,9 +1742,9 @@ let
       sha256 = "0pcjc75hgbih3qvhpsx8d4fljysfk025slxcqyyhr45dzch93zyb";
     };
     buildInputs = [pkgconfig randrproto videoproto xorgserver xproto ];
-  })) // {inherit randrproto videoproto xorgserver xproto ;};
+  }) // {inherit randrproto videoproto xorgserver xproto ;};
 
-  xf86videovesa = (stdenv.mkDerivation ((if overrides ? xf86videovesa then overrides.xf86videovesa else x: x) {
+  xf86videovesa = (mkDerivation "xf86videovesa" {
     name = "xf86-video-vesa-2.3.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1747,9 +1752,9 @@ let
       sha256 = "1y5fsg0c4bgmh1cfsbnaaf388fppyy02i7mcy9vax78flkjpb2yf";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ];
-  })) // {inherit 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) {
+  xf86videovmware = (mkDerivation "xf86videovmware" {
     name = "xf86-video-vmware-13.0.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1757,9 +1762,9 @@ let
       sha256 = "0m1wfsv34s4pyr5ry87yyjb2p6vmy6vyypdz5jx0sqnkx8n3vfn8";
     };
     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 ;};
+  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ;};
 
-  xf86videovoodoo = (stdenv.mkDerivation ((if overrides ? xf86videovoodoo then overrides.xf86videovoodoo else x: x) {
+  xf86videovoodoo = (mkDerivation "xf86videovoodoo" {
     name = "xf86-video-voodoo-1.2.5";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1767,9 +1772,9 @@ let
       sha256 = "1s6p7yxmi12q4y05va53rljwyzd6ry492r1pgi7wwq6cznivhgly";
     };
     buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ];
-  })) // {inherit 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) {
+  xf86videowsfb = (mkDerivation "xf86videowsfb" {
     name = "xf86-video-wsfb-0.4.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1777,9 +1782,9 @@ let
       sha256 = "0hr8397wpd0by1hc47fqqrnaw3qdqd8aqgwgzv38w5k3l3jy6p4p";
     };
     buildInputs = [pkgconfig xorgserver xproto ];
-  })) // {inherit xorgserver xproto ;};
+  }) // {inherit xorgserver xproto ;};
 
-  xf86vidmodeproto = (stdenv.mkDerivation ((if overrides ? xf86vidmodeproto then overrides.xf86vidmodeproto else x: x) {
+  xf86vidmodeproto = (mkDerivation "xf86vidmodeproto" {
     name = "xf86vidmodeproto-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1787,9 +1792,9 @@ let
       sha256 = "0w47d7gfa8zizh2bshdr2rffvbr4jqjv019mdgyh6cmplyd4kna5";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xfs = (stdenv.mkDerivation ((if overrides ? xfs then overrides.xfs else x: x) {
+  xfs = (mkDerivation "xfs" {
     name = "xfs-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1797,9 +1802,9 @@ let
       sha256 = "1dwnf5gncpnjsbh9bdrc665kfnclhzzcpwpfnprvrnq4mlr4mx3v";
     };
     buildInputs = [pkgconfig libXfont xproto xtrans ];
-  })) // {inherit libXfont xproto xtrans ;};
+  }) // {inherit libXfont xproto xtrans ;};
 
-  xgamma = (stdenv.mkDerivation ((if overrides ? xgamma then overrides.xgamma else x: x) {
+  xgamma = (mkDerivation "xgamma" {
     name = "xgamma-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1807,9 +1812,9 @@ let
       sha256 = "0463sawps86jnxn121ramsz4sicy3az5wa5wsq4rqm8dm3za48p3";
     };
     buildInputs = [pkgconfig libX11 libXxf86vm ];
-  })) // {inherit libX11 libXxf86vm ;};
+  }) // {inherit libX11 libXxf86vm ;};
 
-  xhost = (stdenv.mkDerivation ((if overrides ? xhost then overrides.xhost else x: x) {
+  xhost = (mkDerivation "xhost" {
     name = "xhost-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1817,9 +1822,9 @@ let
       sha256 = "1hlxm0is9nks1cx033s1733kkib9ivx2bxa3pb9yayqavwibkxd6";
     };
     buildInputs = [pkgconfig libX11 libXau libXmu xproto ];
-  })) // {inherit libX11 libXau libXmu xproto ;};
+  }) // {inherit libX11 libXau libXmu xproto ;};
 
-  xineramaproto = (stdenv.mkDerivation ((if overrides ? xineramaproto then overrides.xineramaproto else x: x) {
+  xineramaproto = (mkDerivation "xineramaproto" {
     name = "xineramaproto-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1827,9 +1832,9 @@ let
       sha256 = "0ns8abd27x7gbp4r44z3wc5k9zqxxj8zjnazqpcyr4n17nxp8xcp";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xinit = (stdenv.mkDerivation ((if overrides ? xinit then overrides.xinit else x: x) {
+  xinit = (mkDerivation "xinit" {
     name = "xinit-1.3.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1837,9 +1842,9 @@ let
       sha256 = "1bq0mqy7y305g2rds1g5443f3d2kgxzafqhmiyabbmg3ws6qgckl";
     };
     buildInputs = [pkgconfig libX11 xproto ];
-  })) // {inherit libX11 xproto ;};
+  }) // {inherit libX11 xproto ;};
 
-  xinput = (stdenv.mkDerivation ((if overrides ? xinput then overrides.xinput else x: x) {
+  xinput = (mkDerivation "xinput" {
     name = "xinput-1.6.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1847,9 +1852,9 @@ let
       sha256 = "07w7zlpdhpwzzshg8q0y152cy3wl2fj7x1897glnp2la487jsqxp";
     };
     buildInputs = [pkgconfig inputproto libX11 libXext libXi libXinerama libXrandr ];
-  })) // {inherit 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) {
+  xkbcomp = (mkDerivation "xkbcomp" {
     name = "xkbcomp-1.2.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1857,9 +1862,9 @@ let
       sha256 = "0bas1d2wjiy5zy9d0g92d2p9pwv4aapfbfidi7hxy8ax8jmwkl4i";
     };
     buildInputs = [pkgconfig libX11 libxkbfile xproto ];
-  })) // {inherit libX11 libxkbfile xproto ;};
+  }) // {inherit libX11 libxkbfile xproto ;};
 
-  xkbevd = (stdenv.mkDerivation ((if overrides ? xkbevd then overrides.xkbevd else x: x) {
+  xkbevd = (mkDerivation "xkbevd" {
     name = "xkbevd-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1867,9 +1872,9 @@ let
       sha256 = "05h1xcnbalndbrryyqs8wzy9h3wz655vc0ymhlk2q4aik17licjm";
     };
     buildInputs = [pkgconfig libX11 libxkbfile ];
-  })) // {inherit libX11 libxkbfile ;};
+  }) // {inherit libX11 libxkbfile ;};
 
-  xkbprint = (stdenv.mkDerivation ((if overrides ? xkbprint then overrides.xkbprint else x: x) {
+  xkbprint = (mkDerivation "xkbprint" {
     name = "xkbprint-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1877,9 +1882,9 @@ let
       sha256 = "1h4jb3gjrbjp79h5gcgkjvdxykcy2bmq03smpls820c8wnw6v17s";
     };
     buildInputs = [pkgconfig libX11 libxkbfile ];
-  })) // {inherit libX11 libxkbfile ;};
+  }) // {inherit libX11 libxkbfile ;};
 
-  xkbutils = (stdenv.mkDerivation ((if overrides ? xkbutils then overrides.xkbutils else x: x) {
+  xkbutils = (mkDerivation "xkbutils" {
     name = "xkbutils-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1887,9 +1892,9 @@ let
       sha256 = "0c412isxl65wplhl7nsk12vxlri29lk48g3p52hbrs3m0awqm8fj";
     };
     buildInputs = [pkgconfig inputproto libX11 libXaw xproto libXt ];
-  })) // {inherit inputproto libX11 libXaw xproto libXt ;};
+  }) // {inherit inputproto libX11 libXaw xproto libXt ;};
 
-  xkeyboardconfig = (stdenv.mkDerivation ((if overrides ? xkeyboardconfig then overrides.xkeyboardconfig else x: x) {
+  xkeyboardconfig = (mkDerivation "xkeyboardconfig" {
     name = "xkeyboard-config-2.11";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1897,9 +1902,9 @@ let
       sha256 = "0xkdyyi759hzls42hp4j3q2lc35n4j6b2g44ilx5qarci5h584p7";
     };
     buildInputs = [pkgconfig libX11 xproto ];
-  })) // {inherit libX11 xproto ;};
+  }) // {inherit libX11 xproto ;};
 
-  xkill = (stdenv.mkDerivation ((if overrides ? xkill then overrides.xkill else x: x) {
+  xkill = (mkDerivation "xkill" {
     name = "xkill-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1907,9 +1912,9 @@ let
       sha256 = "0bl1ky8ps9jg842j4mnmf4zbx8nkvk0h77w7bqjlpwij9wq2mvw8";
     };
     buildInputs = [pkgconfig libX11 libXmu xproto ];
-  })) // {inherit libX11 libXmu xproto ;};
+  }) // {inherit libX11 libXmu xproto ;};
 
-  xlsatoms = (stdenv.mkDerivation ((if overrides ? xlsatoms then overrides.xlsatoms else x: x) {
+  xlsatoms = (mkDerivation "xlsatoms" {
     name = "xlsatoms-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1917,9 +1922,9 @@ let
       sha256 = "1y9nfl8s7njxbnci8c20j986xixharasgg40vdw92y593j6dk2rv";
     };
     buildInputs = [pkgconfig libxcb ];
-  })) // {inherit libxcb ;};
+  }) // {inherit libxcb ;};
 
-  xlsclients = (stdenv.mkDerivation ((if overrides ? xlsclients then overrides.xlsclients else x: x) {
+  xlsclients = (mkDerivation "xlsclients" {
     name = "xlsclients-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1927,9 +1932,9 @@ let
       sha256 = "0g9x7rrggs741x9xwvv1k9qayma980d88nhdqw7j3pn3qvy6d5jx";
     };
     buildInputs = [pkgconfig libxcb ];
-  })) // {inherit libxcb ;};
+  }) // {inherit libxcb ;};
 
-  xmessage = (stdenv.mkDerivation ((if overrides ? xmessage then overrides.xmessage else x: x) {
+  xmessage = (mkDerivation "xmessage" {
     name = "xmessage-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1937,9 +1942,9 @@ let
       sha256 = "0s5bjlpxnmh8sxx6nfg9m0nr32r1sr3irr71wsnv76s33i34ppxw";
     };
     buildInputs = [pkgconfig libXaw libXt ];
-  })) // {inherit libXaw libXt ;};
+  }) // {inherit libXaw libXt ;};
 
-  xmodmap = (stdenv.mkDerivation ((if overrides ? xmodmap then overrides.xmodmap else x: x) {
+  xmodmap = (mkDerivation "xmodmap" {
     name = "xmodmap-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1947,9 +1952,9 @@ let
       sha256 = "1hwzm54m4ng09ls9i4bq0x84zbyhamgzasgrvhxxp8jqk34f7qpg";
     };
     buildInputs = [pkgconfig libX11 xproto ];
-  })) // {inherit libX11 xproto ;};
+  }) // {inherit libX11 xproto ;};
 
-  xorgcffiles = (stdenv.mkDerivation ((if overrides ? xorgcffiles then overrides.xorgcffiles else x: x) {
+  xorgcffiles = (mkDerivation "xorgcffiles" {
     name = "xorg-cf-files-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1957,9 +1962,9 @@ let
       sha256 = "1m3ypq0xcy46ghxc0svl1rbhpy3zvgmy0aa2mn7w7v7d8d8bh8zd";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xorgdocs = (stdenv.mkDerivation ((if overrides ? xorgdocs then overrides.xorgdocs else x: x) {
+  xorgdocs = (mkDerivation "xorgdocs" {
     name = "xorg-docs-1.7";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1967,9 +1972,9 @@ let
       sha256 = "0prphdba6kgr1bxk7r07wxxx6x6pqjw6prr5qclypsb5sf5r3cdr";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xorgserver = (stdenv.mkDerivation ((if overrides ? xorgserver then overrides.xorgserver else x: x) {
+  xorgserver = (mkDerivation "xorgserver" {
     name = "xorg-server-1.14.7";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1977,9 +1982,24 @@ let
       sha256 = "07s54g9q1bry1050dsa7x6hy55yjvq9sxs6ks89pc8l6mnk6zxpw";
     };
     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 ;};
-
-  xorgsgmldoctools = (stdenv.mkDerivation ((if overrides ? xorgsgmldoctools then overrides.xorgsgmldoctools else x: x) {
+  }) // {inherit renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ;};
+
+  # TODO:
+  # With the current state of ./generate-expr-from-tarballs.pl,
+  # this will get overwritten when next invoked.
+  # Could add a special case to ./generate-expr-from-tarballs.pl,
+  # or perhaps there's a cleaner solution.
+  #xquartz = (mkDerivation "xquartz" {
+  #  name = "xorg-server-1.14.6";
+  #  builder = ./builder.sh;
+  #  src = fetchurl {
+  #    url = mirror://xorg/individual/xserver/xorg-server-1.14.6.tar.bz2;
+  #    sha256 = "0c57vp1z0p38dj5gfipkmlw6bvbz1mrr0sb3sbghdxxdyq4kzcz8";
+  #  };
+  #  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 ;};
+
+  xorgsgmldoctools = (mkDerivation "xorgsgmldoctools" {
     name = "xorg-sgml-doctools-1.11";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1987,9 +2007,9 @@ let
       sha256 = "0k5pffyi5bx8dmfn033cyhgd3gf6viqj3x769fqixifwhbgy2777";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xpr = (stdenv.mkDerivation ((if overrides ? xpr then overrides.xpr else x: x) {
+  xpr = (mkDerivation "xpr" {
     name = "xpr-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1997,9 +2017,9 @@ let
       sha256 = "1dbcv26w2yand2qy7b3h5rbvw1mdmdd57jw88v53sgdr3vrqvngy";
     };
     buildInputs = [pkgconfig libX11 libXmu xproto ];
-  })) // {inherit libX11 libXmu xproto ;};
+  }) // {inherit libX11 libXmu xproto ;};
 
-  xprop = (stdenv.mkDerivation ((if overrides ? xprop then overrides.xprop else x: x) {
+  xprop = (mkDerivation "xprop" {
     name = "xprop-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -2007,9 +2027,9 @@ let
       sha256 = "1ilvhqfjcg6f1hqahjkp8qaay9rhvmv2blvj3w9asraq0aqqivlv";
     };
     buildInputs = [pkgconfig libX11 xproto ];
-  })) // {inherit libX11 xproto ;};
+  }) // {inherit libX11 xproto ;};
 
-  xproto = (stdenv.mkDerivation ((if overrides ? xproto then overrides.xproto else x: x) {
+  xproto = (mkDerivation "xproto" {
     name = "xproto-7.0.26";
     builder = ./builder.sh;
     src = fetchurl {
@@ -2017,9 +2037,9 @@ let
       sha256 = "0ksi8vhfd916bx2f3xlyhn6azf6cvvzrsdja26haa1cqfp0n4qb3";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xrandr = (stdenv.mkDerivation ((if overrides ? xrandr then overrides.xrandr else x: x) {
+  xrandr = (mkDerivation "xrandr" {
     name = "xrandr-1.4.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -2027,9 +2047,9 @@ let
       sha256 = "1g4hnj53wknsjwiqivyy3jl4qw7jwrpncz7d5p2z29zq5zlnxrxj";
     };
     buildInputs = [pkgconfig libX11 xproto libXrandr libXrender ];
-  })) // {inherit libX11 xproto libXrandr libXrender ;};
+  }) // {inherit libX11 xproto libXrandr libXrender ;};
 
-  xrdb = (stdenv.mkDerivation ((if overrides ? xrdb then overrides.xrdb else x: x) {
+  xrdb = (mkDerivation "xrdb" {
     name = "xrdb-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -2037,9 +2057,9 @@ let
       sha256 = "0nsnr90wazcdd50nc5dqswy0bmq6qcj14nnrhyi7rln9pxmpp0kk";
     };
     buildInputs = [pkgconfig libX11 libXmu xproto ];
-  })) // {inherit libX11 libXmu xproto ;};
+  }) // {inherit libX11 libXmu xproto ;};
 
-  xrefresh = (stdenv.mkDerivation ((if overrides ? xrefresh then overrides.xrefresh else x: x) {
+  xrefresh = (mkDerivation "xrefresh" {
     name = "xrefresh-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
@@ -2047,9 +2067,9 @@ let
       sha256 = "1mlinwgvql6s1rbf46yckbfr9j22d3c3z7jx3n6ix7ca18dnf4rj";
     };
     buildInputs = [pkgconfig libX11 xproto ];
-  })) // {inherit libX11 xproto ;};
+  }) // {inherit libX11 xproto ;};
 
-  xset = (stdenv.mkDerivation ((if overrides ? xset then overrides.xset else x: x) {
+  xset = (mkDerivation "xset" {
     name = "xset-1.2.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -2057,9 +2077,9 @@ let
       sha256 = "0qw0iic27bz3yz2wynf1gxs70hhkcf9c4jrv7zhlg1mq57xz90j3";
     };
     buildInputs = [pkgconfig libX11 libXext libXmu xproto libXxf86misc ];
-  })) // {inherit libX11 libXext libXmu xproto libXxf86misc ;};
+  }) // {inherit libX11 libXext libXmu xproto libXxf86misc ;};
 
-  xsetroot = (stdenv.mkDerivation ((if overrides ? xsetroot then overrides.xsetroot else x: x) {
+  xsetroot = (mkDerivation "xsetroot" {
     name = "xsetroot-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -2067,9 +2087,9 @@ let
       sha256 = "1bazzsf9sy0q2bj4lxvh1kvyrhmpggzb7jg575i15sksksa3xwc8";
     };
     buildInputs = [pkgconfig libX11 xbitmaps libXcursor libXmu ];
-  })) // {inherit libX11 xbitmaps libXcursor libXmu ;};
+  }) // {inherit libX11 xbitmaps libXcursor libXmu ;};
 
-  xtrans = (stdenv.mkDerivation ((if overrides ? xtrans then overrides.xtrans else x: x) {
+  xtrans = (mkDerivation "xtrans" {
     name = "xtrans-1.3.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -2077,9 +2097,9 @@ let
       sha256 = "0fjq9xa37k1czkidj3c5sads51gibrjvrxz9ag3hh9fmxzilwk85";
     };
     buildInputs = [pkgconfig ];
-  })) // {inherit ;};
+  }) // {inherit ;};
 
-  xvinfo = (stdenv.mkDerivation ((if overrides ? xvinfo then overrides.xvinfo else x: x) {
+  xvinfo = (mkDerivation "xvinfo" {
     name = "xvinfo-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
@@ -2087,9 +2107,9 @@ let
       sha256 = "1qsh7fszi727l3vwlaf9pb7bpikdv15smrx5qhlgg3kqzl7xklzf";
     };
     buildInputs = [pkgconfig libX11 xproto libXv ];
-  })) // {inherit libX11 xproto libXv ;};
+  }) // {inherit libX11 xproto libXv ;};
 
-  xwd = (stdenv.mkDerivation ((if overrides ? xwd then overrides.xwd else x: x) {
+  xwd = (mkDerivation "xwd" {
     name = "xwd-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
@@ -2097,9 +2117,9 @@ let
       sha256 = "0ybx48agdvjp9lgwvcw79r1x6jbqbyl3fliy3i5xwy4d4si9dcrv";
     };
     buildInputs = [pkgconfig libX11 xproto ];
-  })) // {inherit libX11 xproto ;};
+  }) // {inherit libX11 xproto ;};
 
-  xwininfo = (stdenv.mkDerivation ((if overrides ? xwininfo then overrides.xwininfo else x: x) {
+  xwininfo = (mkDerivation "xwininfo" {
     name = "xwininfo-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -2107,9 +2127,9 @@ let
       sha256 = "1y1zn8ijqslb5lfpbq4bb78kllhch8in98ps7n8fg3dxjpmb13i1";
     };
     buildInputs = [pkgconfig libX11 libxcb xproto ];
-  })) // {inherit libX11 libxcb xproto ;};
+  }) // {inherit libX11 libxcb xproto ;};
 
-  xwud = (stdenv.mkDerivation ((if overrides ? xwud then overrides.xwud else x: x) {
+  xwud = (mkDerivation "xwud" {
     name = "xwud-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
@@ -2117,6 +2137,6 @@ let
       sha256 = "1ggql6maivah58kwsh3z9x1hvzxm1a8888xx4s78cl77ryfa1cyn";
     };
     buildInputs = [pkgconfig libX11 xproto ];
-  })) // {inherit libX11 xproto ;};
+  }) // {inherit libX11 xproto ;};
 
 }; in xorg
diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
index 04ee5f109611e..9c6618d3b105d 100755
--- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -230,6 +230,11 @@ args: with args;
 
 let
 
+  mkDerivation = name: attrs:
+    let newAttrs = (overrides."\${name}" or (x: x)) attrs;
+        stdenv = newAttrs.stdenv or args.stdenv;
+    in stdenv.mkDerivation (removeAttrs newAttrs [ "stdenv" ]);
+
   overrides = import ./overrides.nix {inherit args xorg;};
 
   xorg = rec {
@@ -261,7 +266,7 @@ foreach my $pkg (sort (keys %pkgURLs)) {
     $extraAttrs = "" unless defined $extraAttrs;
 
     print OUT <<EOF
-  $pkg = (stdenv.mkDerivation ((if overrides ? $pkg then overrides.$pkg else x: x) {
+  $pkg = (mkDerivation "$pkg" {
     name = "$pkgNames{$pkg}";
     builder = ./builder.sh;
     src = fetchurl {
@@ -269,7 +274,7 @@ foreach my $pkg (sort (keys %pkgURLs)) {
       sha256 = "$pkgHashes{$pkg}";
     };
     buildInputs = [pkgconfig $inputs];$extraAttrs
-  })) // {inherit $inputs;};
+  }) // {inherit $inputs;};
 
 EOF
 }
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index e5aad4aea406b..a81b1a4ac2259 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -1,6 +1,10 @@
 { args, xorg }:
 
 let
+  inherit (args) stdenv;
+  inherit (stdenv) lib isDarwin;
+  inherit (lib) overrideDerivation;
+
   setMalloc0ReturnsNullCrossCompiling = ''
     if test -n "$crossConfig"; then
       configureFlags="$configureFlags --enable-malloc0returnsnull";
@@ -75,8 +79,13 @@ in
 
   libXfont = attrs: attrs // {
     propagatedBuildInputs = [ args.freetype ]; # propagate link reqs. like bzip2
+    # prevents "misaligned_stack_error_entering_dyld_stub_binder"
+    configureFlags = lib.optionals isDarwin [
+      "CFLAGS=-O0"
+    ];
   };
 
+
   libXxf86vm = attrs: attrs // {
     preConfigure = setMalloc0ReturnsNullCrossCompiling;
   };
@@ -219,20 +228,16 @@ in
     # 2: I think pkgconfig/ is supposed to be in /lib/
     postInstall = ''
       ln -s share "$out/etc"
-      mkdir "$out/lib" && ln -s ../share/pkgconfig "$out/lib/"
+      mkdir -p "$out/lib" && ln -s ../share/pkgconfig "$out/lib/"
     '';
   };
 
-  xorgserver = with xorg; attrs: attrs // {
-    configureFlags = [
-      "--enable-xcsecurity" # enable SECURITY extension
-      "--with-default-font-path= "  # there were only paths containing "${prefix}",
-                                    # and there are no fonts in this package anyway
-    ];
-    patches = [ ./xorgserver-xkbcomp-path.patch ];
-    buildInputs = attrs.buildInputs ++ [ xtrans ];
-    propagatedBuildInputs =
-      [ args.zlib args.udev args.mesa args.dbus.libs
+  xorgserver = with xorg; attrs: attrs //
+    (let
+      version = (builtins.parseDrvName attrs.name).version;
+      commonBuildInputs = attrs.buildInputs ++ [ xtrans ];
+      commonPropagatedBuildInputs = [
+        args.zlib args.mesa args.dbus.libs
         xf86bigfontproto glproto xf86driproto
         compositeproto scrnsaverproto resourceproto
         xf86dgaproto
@@ -242,14 +247,86 @@ in
         libpciaccess inputproto xextproto randrproto renderproto
         dri2proto kbproto xineramaproto resourceproto scrnsaverproto videoproto
       ];
-    postInstall =
-      ''
-        rm -fr $out/share/X11/xkb/compiled
-        ln -s /var/tmp $out/share/X11/xkb/compiled
-      '';
-    passthru.version = (builtins.parseDrvName attrs.name).version; # needed by virtualbox guest additions
-  };
-
+      commonPatches = [ ./xorgserver-xkbcomp-path.patch ];
+      # XQuartz requires two compilations: the first to get X / XQuartz,
+      # and the second to get Xvfb, Xnest, etc.
+      darwinOtherX = overrideDerivation xorgserver (oldAttrs: {
+        stdenv = args.stdenv;
+        configureFlags = oldAttrs.configureFlags ++ [
+          "--disable-xquartz"
+          "--enable-xorg"
+          "--enable-xvfb"
+          "--enable-xnest"
+          "--enable-kdrive"
+        ];
+        postInstall = ":"; # prevent infinite recursion
+      });
+    in
+      if (!isDarwin)
+      then {
+        buildInputs = commonBuildInputs;
+        propagatedBuildInputs = commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
+          args.udev
+        ];
+        patches = commonPatches;
+        configureFlags = [
+          "--enable-xcsecurity"         # enable SECURITY extension
+          "--with-default-font-path="   # there were only paths containing "${prefix}",
+                                        # and there are no fonts in this package anyway
+        ];
+        postInstall = ''
+          rm -fr $out/share/X11/xkb/compiled
+          ln -s /var/tmp $out/share/X11/xkb/compiled
+        '';
+        passthru.version = version; # needed by virtualbox guest additions
+      } else {
+        stdenv = args.clangStdenv;
+        name = "xorg-server-1.14.6";
+        src = args.fetchurl {
+          url = mirror://xorg/individual/xserver/xorg-server-1.14.6.tar.bz2;
+          sha256 = "0c57vp1z0p38dj5gfipkmlw6bvbz1mrr0sb3sbghdxxdyq4kzcz8";
+        };
+        buildInputs = commonBuildInputs;
+        propagatedBuildInputs = commonPropagatedBuildInputs ++ [
+          libAppleWM applewmproto
+        ];
+        patches = commonPatches ++ [
+          ./darwin/0001-XQuartz-Ensure-we-wait-for-the-server-thread-to-term.patch
+          ./darwin/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
+          ./darwin/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
+          ./darwin/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch
+          ./darwin/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch
+          ./darwin/5004-Use-old-miTrapezoids-and-miTriangles-routines.patch
+          ./darwin/private-extern.patch
+          ./darwin/bundle_main.patch
+          ./darwin/stub.patch
+          ./darwin/function-pointer-test.patch
+        ];
+        configureFlags = [
+          # note: --enable-xquartz is auto
+          "CPPFLAGS=-I${./darwin/dri}"
+          "--with-default-font-path="
+          "--with-apple-application-name=XQuartz"
+          "--with-apple-applications-dir=\${out}/Applications"
+          "--with-bundle-id-prefix=org.nixos.xquartz"
+          "--with-sha1=CommonCrypto"
+        ];
+        preConfigure = ''
+          ensureDir $out/Applications
+          export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error"
+        '';
+        postInstall = ''
+          rm -fr $out/share/X11/xkb/compiled
+          ln -s /var/tmp $out/share/X11/xkb/compiled
+
+          cp -rT ${darwinOtherX}/bin $out/bin
+          rm -f $out/bin/X
+          ln -s Xquartz $out/bin/X
+
+          cp ${darwinOtherX}/share/man -rT $out/share/man
+        '' ;
+        passthru.version = version;
+      });
 
   lndir = attrs: attrs // {
     preConfigure = ''
@@ -272,7 +349,14 @@ in
   };
 
   xinit = attrs: attrs // {
-    configureFlags = "--with-xserver=${xorg.xorgserver}/bin/X";
+    stdenv = if isDarwin then args.clangStdenv else stdenv;
+    configureFlags = [
+      "--with-xserver=${xorg.xorgserver}/bin/X"
+    ] ++ lib.optionals isDarwin [
+      "--with-bundle-id-prefix=org.nixos.xquartz"
+      "--with-launchdaemons-dir=\${out}/LaunchDaemons"
+      "--with-launchagents-dir=\${out}/LaunchAgents"
+    ];
     propagatedBuildInputs = [ xorg.xauth ];
     prePatch = ''
       sed -i 's|^defaultserverargs="|&-logfile \"$HOME/.xorg.log\"|p' startx.cpp
diff --git a/pkgs/servers/x11/xquartz/X11 b/pkgs/servers/x11/xquartz/X11
new file mode 100755
index 0000000000000..39bcce2c10b60
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/X11
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+set "$(dirname "$0")"/X11.bin "${@}"
+
+export XQUARTZ_DEFAULT_CLIENT="@DEFAULT_CLIENT@"
+export XQUARTZ_DEFAULT_SHELL="@DEFAULT_SHELL@"
+export XQUARTZ_DEFAULT_STARTX="@DEFAULT_STARTX@"
+export FONTCONFIG_FILE="@FONTCONFIG_FILE@"
+
+if [ -x ~/.x11run ]; then
+    exec ~/.x11run "${@}"
+fi
+
+case $(basename "${SHELL}") in
+    bash)          exec -l "${SHELL}" --login -c 'exec "${@}"' - "${@}" ;;
+    ksh|sh|zsh)    exec -l "${SHELL}" -c 'exec "${@}"' - "${@}" ;;
+    csh|tcsh)      exec -l "${SHELL}" -c 'exec $argv:q' "${@}" ;;
+    es|rc)         exec -l "${SHELL}" -l -c 'exec $*' "${@}" ;;
+    *)             exec    "${@}" ;;
+esac
diff --git a/pkgs/servers/x11/xquartz/default.nix b/pkgs/servers/x11/xquartz/default.nix
new file mode 100644
index 0000000000000..abcae211f4255
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/default.nix
@@ -0,0 +1,187 @@
+{ stdenv, lib, buildEnv, makeFontsConf, gnused, writeScript, xorg, bashInteractive, substituteAll, xterm, makeWrapper, ruby
+, openssl, quartz-wm, fontconfig, xkeyboard_config, xlsfonts, xfontsel
+, ttf_bitstream_vera, freefont_ttf, liberation_ttf
+, shell ? "${bashInteractive}/bin/bash"
+}:
+
+# ------------
+# Installation
+# ------------
+#
+# First, assuming you've previously installed XQuartz from macosforge.com,
+# unload and remove the existing launch agents:
+#
+#   $ sudo launchctl unload /Library/LaunchAgents/org.macosforge.xquartz.startx.plist
+#   $ sudo launchctl unload /Library/LaunchDaemons/org.macosforge.xquartz.privileged_startx.plist
+#   $ sudo rm /Library/LaunchAgents/org.macosforge.xquartz.startx.plist
+#   $ sudo rm /Library/LaunchDaemons/org.macosforge.xquartz.privileged_startx.plist
+#
+# (You will need to log out for the above changes to take effect.)
+#
+# Then install xquartz from nixpkgs:
+#
+#   $ nix-env -i xquartz
+#   $ xquartz-install
+#
+# You'll also want to add the following to your shell's profile (after you
+# source nix.sh, so $NIX_LINK points to your user profile):
+#
+#   if [ "$(uname)" = "Darwin" -a -n "$NIX_LINK" -a -f $NIX_LINK/etc/X11/fonts.conf ]; then
+#     export FONTCONFIG_FILE=$NIX_LINK/etc/X11/fonts.conf
+#   fi
+
+# A note about dependencies:
+# Xquartz wants to exec XQuartz.app, XQuartz.app wants to exec xstart, and
+# xstart wants to exec Xquartz, so we must bundle all three to prevent a cycle.
+# Coincidentally, this also makes it trivial to install launch agents/daemons
+# that point into the user's profile.
+
+let
+  shellEscape = x: "'${lib.replaceChars ["'"] [("'\\'" + "'")] x}'";
+  installer = writeScript "xquartz-install" ''
+    NIX_LINK=$HOME/.nix-profile
+
+    tmpdir=$(/usr/bin/mktemp -d $TMPDIR/xquartz-installer-XXXXXXXX)
+    agentName=org.nixos.xquartz.startx.plist
+    daemonName=org.nixos.xquartz.privileged_startx.plist
+    sed=${gnused}/bin/sed
+
+    cp ${./org.nixos.xquartz.startx.plist} $tmpdir/$agentName
+    $sed -i "s|@LAUNCHD_STARTX@|$NIX_LINK/etc/X11/xinit/launchd_startx|" $tmpdir/$agentName
+    $sed -i "s|@STARTX@|$NIX_LINK/bin/startx|" $tmpdir/$agentName
+    $sed -i "s|@XQUARTZ@|$NIX_LINK/bin/Xquartz|" $tmpdir/$agentName
+
+    cp ${./org.nixos.xquartz.privileged_startx.plist} $tmpdir/$daemonName
+    $sed -i "s|@PRIVILEGED_STARTX@|$NIX_LINK/lib/X11/xinit/privileged_startx|" $tmpdir/$daemonName
+    $sed -i "s|@PRIVILEGED_STARTX_D@|$NIX_LINK/lib/X11/xinit/privileged_startx.d|" $tmpdir/$daemonName
+
+    sudo cp $tmpdir/$agentName /Library/LaunchAgents/$agentName
+    sudo cp $tmpdir/$daemonName /Library/LaunchDaemons/$daemonName
+    sudo launchctl load -w /Library/LaunchAgents/$agentName
+    sudo launchctl load -w /Library/LaunchDaemons/$daemonName
+  '';
+  fontDirs = [
+    xorg.fontbhttf
+    xorg.fontbhlucidatypewriter100dpi
+    xorg.fontbhlucidatypewriter75dpi
+    ttf_bitstream_vera
+    freefont_ttf
+    liberation_ttf
+    xorg.fontbh100dpi
+    xorg.fontmiscmisc
+    xorg.fontcursormisc
+  ];
+  fontsConf = makeFontsConf {
+    fontDirectories = fontDirs ++ [
+      "/Library/Fonts"
+      "~/Library/Fonts"
+    ];
+  };
+  fonts = import ./system-fonts.nix {
+    inherit stdenv xorg fontDirs;
+  };
+  # any X related programs expected to be available via $PATH
+  env = buildEnv {
+    name = "xquartz-env";
+    pathsToLink = [ "/bin" ];
+    paths = with xorg; [
+      # non-xorg
+      quartz-wm xterm fontconfig
+      # xorg
+      xlsfonts xfontsel
+      bdftopcf fontutil iceauth libXpm lndir luit makedepend mkfontdir
+      mkfontscale sessreg setxkbmap smproxy twm x11perf xauth xbacklight xclock
+      xcmsdb xcursorgen xdm xdpyinfo xdriinfo xev xeyes xfs xgamma xhost
+      xinput xkbcomp xkbevd xkbutils xkill xlsatoms xlsclients xmessage xmodmap
+      xpr xprop xrandr xrdb xrefresh xset xsetroot xvinfo xwd xwininfo xwud
+    ];
+  };
+in stdenv.mkDerivation {
+  name = "xquartz";
+  buildInputs = [ ruby makeWrapper ];
+  unpackPhase = "sourceRoot=.";
+  buildPhase = ":";
+  installPhase = ''
+    cp -rT ${xorg.xinit} $out
+    chmod -R u+w $out
+    cp -rT ${xorg.xorgserver} $out
+    chmod -R u+w $out
+
+    cp ${installer} $out/bin/xquartz-install
+
+    rm -r $out/LaunchAgents
+
+    fontsConfPath=$out/etc/X11/fonts.conf
+    cp ${fontsConf} $fontsConfPath
+
+    cp ${./startx} $out/bin/startx
+    substituteInPlace $out/bin/startx \
+      --replace "@PATH@"              "$out/bin:${env}" \
+      --replace "@XAUTH@"             "${xorg.xauth}/bin/xauth" \
+      --replace "@FONT_CACHE@"        "$out/bin/font_cache" \
+      --replace "@PRIVILEGED_STARTX@" "$out/lib/X11/xinit/privileged_startx" \
+      --replace "@DEFAULT_SERVER@"    "$out/bin/Xquartz" \
+      --replace "@DEFAULT_CLIENT@"    "${xterm}/bin/xterm" \
+      --replace "@XINIT@"             "$out/bin/xinit" \
+      --replace "@XINITRC@"           "$out/etc/X11/xinit/xinitrc" \
+      --replace "@XKEYBOARD_CONFIG@"  "${xkeyboard_config}/etc/X11/xkb" \
+      --replace "@FONTCONFIG_FILE@"   "$fontsConfPath"
+
+    wrapProgram $out/bin/Xquartz \
+      --set XQUARTZ_X11 $out/Applications/XQuartz.app/Contents/MacOS/X11 \
+      --set XKB_BINDIR "${xorg.xkbcomp}/bin"
+
+    defaultStartX="$out/bin/startx -- $out/bin/Xquartz"
+
+    ruby ${./patch_plist.rb} \
+      ${shellEscape (builtins.toXML {
+        XQUARTZ_DEFAULT_CLIENT = "${xterm}/bin/xterm";
+        XQUARTZ_DEFAULT_SHELL  = "${shell}";
+        XQUARTZ_DEFAULT_STARTX = "@STARTX@";
+        FONTCONFIG_FILE        = "@FONTCONFIG_FILE@";
+        XKB_BINDIR             = "${xorg.xkbcomp}/bin";
+      })} \
+      $out/Applications/XQuartz.app/Contents/Info.plist
+    substituteInPlace $out/Applications/XQuartz.app/Contents/Info.plist \
+      --replace "@STARTX@"          "$defaultStartX" \
+      --replace "@FONTCONFIG_FILE@" "$fontsConfPath"
+
+    rm $out/lib/X11/xinit/privileged_startx.d/*
+    cp ${./privileged} $out/lib/X11/xinit/privileged_startx.d/privileged
+    substituteInPlace $out/lib/X11/xinit/privileged_startx.d/privileged \
+      --replace "@PATH@"            "$out/bin:${env}" \
+      --replace "@FONTCONFIG_FILE@" "$fontsConfPath" \
+      --replace "@FONT_CACHE@"      "$out/bin/font_cache"
+
+    cp ${./font_cache} $out/bin/font_cache
+    substituteInPlace $out/bin/font_cache \
+      --replace "@PATH@"            "$out/bin:${env}" \
+      --replace "@ENCODINGSDIR@"    "${xorg.encodings}/share/fonts/X11/encodings" \
+      --replace "@MKFONTDIR@"       "${xorg.mkfontdir}/bin/mkfontdir" \
+      --replace "@MKFONTSCALE@"     "${xorg.mkfontscale}/bin/mkfontscale" \
+      --replace "@FC_CACHE@"        "${fontconfig}/bin/fc-cache" \
+      --replace "@FONTCONFIG_FILE@" "$fontsConfPath"
+
+    cp ${./xinitrc} $out/etc/X11/xinit/xinitrc
+    substituteInPlace $out/etc/X11/xinit/xinitrc \
+      --replace "@PATH@"            "$out/bin:${env}" \
+      --replace "@XSET@"            "${xorg.xset}/bin/xset" \
+      --replace "@XMODMAP@"         "${xorg.xmodmap}/bin/xmodmap" \
+      --replace "@XRDB@"            "${xorg.xrdb}/bin/xrdb" \
+      --replace "@SYSTEM_FONTS@"    "${fonts}/share/X11-fonts/" \
+      --replace "@QUARTZ_WM@"       "${quartz-wm}/bin/quartz-wm" \
+      --replace "@FONTCONFIG_FILE@" "$fontsConfPath"
+
+    cp ${./X11} $out/Applications/XQuartz.app/Contents/MacOS/X11
+    substituteInPlace $out/Applications/XQuartz.app/Contents/MacOS/X11 \
+      --replace "@DEFAULT_SHELL@"   "${shell}" \
+      --replace "@DEFAULT_STARTX@"  "$defaultStartX" \
+      --replace "@DEFAULT_CLIENT@"  "${xterm}/bin/xterm" \
+      --replace "@FONTCONFIG_FILE@" "$fontsConfPath"
+  '';
+  meta = with lib; {
+    platforms   = platforms.darwin;
+    maintainers = with maintainers; [ cstrahan ];
+    license     = licenses.mit;
+  };
+}
diff --git a/pkgs/servers/x11/xquartz/font_cache b/pkgs/servers/x11/xquartz/font_cache
new file mode 100755
index 0000000000000..12858af8bc603
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/font_cache
@@ -0,0 +1,240 @@
+#!/bin/bash
+
+export PATH=@PATH@:$PATH
+
+export FONTCONFIG_FILE="@FONTCONFIG_FILE@"
+ENCODINGSDIR="@ENCODINGSDIR@"
+FC_LOCKFILE=""
+
+# Are we caching system fonts or user fonts?
+system=0
+
+# Are we including OSX font dirs ({/,~/,/System/}Library/Fonts)
+osxfonts=1
+
+# Do we want to force a recache?
+force=0
+
+# How noisy are we?
+verbose=0
+
+# Check if the data in the given directory is newer than its cache
+check_dirty() {
+    local dir=$1
+    local fontfiles=""
+    local retval=1
+
+    # If the dir does not exist, we just exit
+    if [[ ! -d "${dir}" ]]; then
+        return 1
+    fi
+
+    # Create a list of all files in the dir
+    # Filter out config / cache files.  Ugly... counting down the day until
+    # xfs finally goes away
+    fontfiles="$(find ${dir}/ -maxdepth 1 -type f | awk '$0 !~ /fonts\..*$|^.*\.dir$/ {print}')"
+
+    # Fonts were deleted (or never there).  Kill off the caches
+    if [[ -z "${fontfiles}" ]] ; then
+        local f
+        for f in "${dir}"/fonts.* "${dir}"/encodings.dir; do
+            if [[ -f ${f} ]] ; then
+                rm -f "${f}"
+            fi
+        done
+        return 1
+    fi
+
+    # Force a recache
+    if [[ ${force} == 1 ]] ; then
+        retval=0
+    fi
+
+    # If we don't have our caches, we are dirty
+    if [[ ! -f "${dir}/fonts.list" || ! -f "${dir}/fonts.dir" || ! -f "${dir}/encodings.dir" ]]; then
+        retval=0
+    fi
+
+    # Check that no files were added or removed....
+    if [[ "${retval}" -ne 0 && "$(cat ${dir}/fonts.list)" != "${fontfiles}" ]] ; then
+        retval=0
+    fi
+
+    # Check that no files were updated....
+    if [[ "${retval}" -ne 0 ]] ; then
+        local changed="$(find ${dir}/ -type f -cnewer ${dir}/fonts.dir | awk '$0 !~ /fonts\..*$|^.*\.dir$/ {print}')"
+
+        if [[ -n "${changed}" ]] ; then
+            retval=0
+        fi
+    fi
+
+    # Recreate fonts.list since something changed
+    if [[ "${retval}" == 0 ]] ; then
+        echo "${fontfiles}" > "${dir}"/fonts.list
+    fi
+
+    return ${retval}
+}
+
+get_fontdirs() {
+    local d
+    if [[ $system == 1 ]] ; then
+        if [[ $osxfonts == 1 ]] ; then
+            find {/System/,/}Library/Fonts -type d
+        fi
+    else 
+        if [[ $osxfonts == 1 && -d "${HOME}/Library/Fonts" ]] ; then
+            find "${HOME}/Library/Fonts" -type d
+        fi
+
+        if [[ -d "${HOME}/.fonts" ]] ; then
+            find "${HOME}/.fonts" -type d
+        fi
+    fi
+}
+
+setup_fontdirs() {
+    local x=""
+    local fontdirs=""
+    local changed="no"
+
+    umask 022
+
+    if [[ $system == 1 ]] ; then
+        echo "font_cache: Scanning system font directories to generate X11 font caches"
+    else
+        echo "font_cache: Scanning user font directories to generate X11 font caches"
+    fi
+
+    OIFS=$IFS
+    IFS='
+'
+    for x in $(get_fontdirs) ; do
+        if [[ -d "${x}" ]] && check_dirty "${x}" ; then
+            if [[ -z "${fontdirs}" ]] ; then
+                fontdirs="${x}"
+            else
+                fontdirs="${fontdirs}${IFS}${x}"
+            fi
+        fi
+    done
+
+    if [[ -n "${fontdirs}" ]] ; then
+        echo "font_cache: Making fonts.dir for updated directories."
+        for x in ${fontdirs} ; do
+            if [[ $verbose == 1 ]] ; then
+                echo "font_cache:    ${x}"
+            fi
+
+            # First, generate fonts.scale for scaleable fonts that might be there
+            @MKFONTSCALE@ \
+                -a $ENCODINGSDIR/encodings.dir \
+                -a $ENCODINGSDIR/large/encodings.dir \
+                -- ${x}
+
+            # Next, generate fonts.dir
+            if [[ $verbose == 1 ]] ; then
+                @MKFONTDIR@ \
+                    -e $ENCODINGSDIR \
+                    -e $ENCODINGSDIR/large \
+                    -- ${x}
+            else
+                @MKFONTDIR@ \
+                    -e $ENCODINGSDIR \
+                    -e $ENCODINGSDIR/large \
+                    -- ${x} > /dev/null
+            fi
+        done
+    fi
+    IFS=$OIFS
+
+    # Finally, update fontconfig's cache
+    echo "font_cache: Updating FC cache"
+    if [[ $system == 1 ]] ; then
+        @FC_CACHE@ -s \
+            $([[ $force == 1 ]] && echo "-f -r") \
+            $([[ $verbose == 1 ]] && echo "-v")
+    else
+        @FC_CACHE@ \
+            $([[ $force == 1 ]] && echo "-f -r") \
+            $([[ $verbose == 1 ]] && echo "-v")
+    fi
+    echo "font_cache: Done"
+}
+
+do_usage() {
+    echo "font_cache [options]"
+    echo "    -f, --force        : Force cache recreation"
+    echo "    -n, --no-osxfonts  : Just cache X11 font directories"
+    echo "                         (-n just pertains to XFont cache, not fontconfig)"
+    echo "    -s, --system       : Cache system font dirs instead of user dirs"
+    echo "    -v, --verbose      : Verbose Output"
+}
+
+cleanup() {
+    [[ -r "${FC_LOCKFILE}" ]] && rm -f "${FC_LOCKFILE}"
+    exit 1
+}
+
+while [[ $# -gt 0 ]] ; do
+    case $1 in
+        -s|--system) system=1 ;;
+        -f|--force) force=1 ;;
+        -v|--verbose) verbose=1 ;;
+        -n|--no-osxfonts) osxfonts=0 ;;
+        --help) do_usage ; exit 0 ;;
+        *) do_usage ; exit 1 ;;
+    esac
+    shift
+done
+
+if [[ $system == 1 ]] ; then
+    FC_LOCKFILE="/tmp/font_cache.$UID.lock"
+elif [[ -w "${TMPDIR}" ]] ; then
+    FC_LOCKFILE="${TMPDIR}/font_cache.lock"
+elif [[ -w "/tmp" ]] ; then
+    FC_LOCKFILE="/tmp/font_cache.$UID.lock"
+else
+    FC_LOCKFILE="${HOME}/.font_cache.lock"
+fi
+
+if [[ -x /usr/bin/lockfile ]] ; then
+    if /usr/bin/lockfile -r 0 -l 240 -s 4 -! "${FC_LOCKFILE}" ; then
+            echo "font_cache is already running." >&2
+            echo "If you believe this to be erroneous, please remove ${FC_LOCKFILE}." >&2
+            exit 1
+    fi
+else
+    if [[ -r "${FC_LOCKFILE}" ]] ; then
+        read OLD_PID < "${FC_LOCKFILE}"
+        if kill -0 ${OLD_PID} >& /dev/null ; then
+            echo "font_cache is already running with PID ${OLD_PID}." >&2
+            echo "If you believe this to be erroneous, please remove ${FC_LOCKFILE}." >&2
+            exit 1
+        fi
+
+        echo "Removing stale ${FC_LOCKFILE}" >&2
+        rm -f "${FC_LOCKFILE}"
+    fi
+
+    echo $$ > "${FC_LOCKFILE}"
+
+    if [[ ! -r "${FC_LOCKFILE}" ]] ; then
+        echo "Unable to write to ${FC_LOCKFILE}." >&2
+        exit 1
+    fi
+
+    # Now make sure we didn't collide mid-air
+    read OLD_PID < "${FC_LOCKFILE}"
+    if [[ $$ != ${OLD_PID} ]] ; then
+        echo "font_cache is already running with PID ${OLD_PID}." >&2
+        exit 1
+    fi
+fi
+
+trap cleanup SIGINT SIGQUIT SIGABRT SIGTERM
+
+setup_fontdirs
+
+rm -f "${FC_LOCKFILE}"
diff --git a/pkgs/servers/x11/xquartz/org.nixos.xquartz.privileged_startx.plist b/pkgs/servers/x11/xquartz/org.nixos.xquartz.privileged_startx.plist
new file mode 100644
index 0000000000000..190b383676d46
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/org.nixos.xquartz.privileged_startx.plist
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+  <dict>
+    <key>Label</key>
+    <string>org.nixos.xquartz.privileged_startx</string>
+    <key>ProgramArguments</key>
+    <array>
+      <string>@PRIVILEGED_STARTX@</string>
+      <string>-d</string>
+      <string>@PRIVILEGED_STARTX_D@</string>
+    </array>
+    <key>MachServices</key>
+    <dict>
+      <key>org.nixos.xquartz.privileged_startx</key>
+      <true/>
+    </dict>
+    <key>TimeOut</key>
+    <integer>120</integer>
+    <key>EnableTransactions</key>
+    <true/>
+  </dict>
+</plist>
diff --git a/pkgs/servers/x11/xquartz/org.nixos.xquartz.startx.plist b/pkgs/servers/x11/xquartz/org.nixos.xquartz.startx.plist
new file mode 100644
index 0000000000000..7a95916da165b
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/org.nixos.xquartz.startx.plist
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+  <dict>
+    <key>Label</key>
+    <string>org.nixos.xquartz.startx</string>
+    <key>ProgramArguments</key>
+    <array>
+      <string>@LAUNCHD_STARTX@</string>
+      <string>@STARTX@</string>
+      <string>--</string>
+      <string>@XQUARTZ@</string>
+    </array>
+    <key>Sockets</key>
+    <dict>
+      <key>org.nixos.xquartz:0</key>
+      <dict>
+        <key>SecureSocketWithKey</key>
+        <string>DISPLAY</string>
+      </dict>
+    </dict>
+    <key>ServiceIPC</key>
+    <true/>
+    <key>EnableTransactions</key>
+    <true/>
+  </dict>
+</plist>
diff --git a/pkgs/servers/x11/xquartz/patch_plist.rb b/pkgs/servers/x11/xquartz/patch_plist.rb
new file mode 100644
index 0000000000000..9b0f778426edb
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/patch_plist.rb
@@ -0,0 +1,47 @@
+require 'rexml/document'
+
+# This script is for setting environment variables in OSX applications.
+# 
+# This script takes two arguments:
+# 1) A Nix attrset serialized via `builtins.toXML'
+# 2) The path to an OSX app's Info.plist file.
+
+def main(serialized_attrs, plist_path)
+  env          = attrs_to_hash(serialized_attrs)
+  doc          = REXML::Document.new(File.open(plist_path, &:read))
+  topmost_dict = doc.root.elements.detect { |e| e.name == "dict" }
+  topmost_dict.add_element("key").tap do |key|
+    key.text = "LSEnvironment"
+  end
+  topmost_dict.add_element(env_to_dict(env))
+
+  formatter = REXML::Formatters::Pretty.new(2)
+  formatter.compact = true
+  formatter.write(doc, File.open(plist_path, "w"))
+end
+
+# Convert a `builtins.toXML' serialized attrs to a hash.
+# This assumes the values are strings.
+def attrs_to_hash(serialized_attrs)
+  hash = {}
+  env_vars = REXML::Document.new(serialized_attrs)
+  env_vars.root.elements[1].elements.each do |attr|
+    name = attr.attribute("name")
+    value = attr.elements.first.attribute("value")
+    hash[name] = value
+  end
+  hash
+end
+
+def env_to_dict(env)
+  dict = REXML::Element.new("dict")
+  env.each do |k, v|
+    key = dict.add_element("key")
+    key.text = k
+    string = dict.add_element("string")
+    string.text = v
+  end
+  dict
+end
+
+main(ARGV[0], ARGV[1])
diff --git a/pkgs/servers/x11/xquartz/privileged b/pkgs/servers/x11/xquartz/privileged
new file mode 100755
index 0000000000000..3eee9479411ce
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/privileged
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+export PATH=@PATH@:$PATH
+export FONTCONFIG_FILE="@FONTCONFIG_FILE@"
+
+# Our usage of mktemp fails with GNU, so prefer /usr/bin to hopefully
+# get BSD mktemp
+if [ -x /usr/bin/mktemp ] ; then
+    MKTEMP=/usr/bin/mktemp
+else
+    MKTEMP=mktemp
+fi
+
+STAT=/usr/bin/stat
+
+for dir in /tmp/.ICE-unix /tmp/.X11-unix /tmp/.font-unix ; do
+    success=0
+    for attempt in 1 2 3 4 5 ; do
+        check=`${STAT} -f '%#p %u %g' ${dir} 2> /dev/null`
+        if [ "${check}" = "041777 0 0" ] ; then
+            success=1
+            break
+        elif [ -n "${check}" ] ; then
+            saved=$(${MKTEMP} -d ${dir}-XXXXXXXX)
+            mv ${dir} ${saved}
+            echo "${dir} exists but is insecure.  It has been moved into ${saved}" >&2
+        fi
+
+        # if $dir exists and is a symlink (ie protect against a race)
+        if ${MKTEMP} -d ${dir} >& /dev/null ; then
+            chmod 1777 $dir
+            chown root:wheel $dir
+            success=1
+            break
+        fi
+    done
+
+    if [ "${success}" -eq 0 ] ; then
+        echo "Could not successfully create ${dir}" >&2
+    fi
+done
+
+@FONT_CACHE@ -s &
diff --git a/pkgs/servers/x11/xquartz/startx b/pkgs/servers/x11/xquartz/startx
new file mode 100755
index 0000000000000..131fbc43b8b64
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/startx
@@ -0,0 +1,232 @@
+#!/bin/sh
+
+# vim :set ts=4 sw=4 sts=4 et :
+
+#
+# This is just a sample implementation of a slightly less primitive
+# interface than xinit.  It looks for user .xinitrc and .xserverrc
+# files, then system xinitrc and xserverrc files, else lets xinit choose
+# its default.  The system xinitrc should probably do things like check
+# for .Xresources files and merge them in, start up a window manager,
+# and pop a clock and several xterms.
+#
+# Site administrators are STRONGLY urged to write nicer versions.
+#
+
+unset DBUS_SESSION_BUS_ADDRESS
+unset SESSION_MANAGER
+
+
+# Bourne shell does not automatically export modified environment variables
+# so export the new PATH just in case the user changes the shell
+export PATH=@PATH@:$PATH
+
+export FONTCONFIG_FILE="@FONTCONFIG_FILE@"
+
+userclientrc=$HOME/.xinitrc
+sysclientrc=@XINITRC@
+
+userserverrc=$HOME/.xserverrc
+sysserverrc=@XINITRC@
+defaultclient=@DEFAULT_CLIENT@ # xterm
+defaultserver=@DEFAULT_SERVER@
+defaultclientargs=""
+defaultserverargs=""
+defaultdisplay=":0"
+clientargs=""
+serverargs=""
+
+export X11_PREFS_DOMAIN=org.nixos.xquartz".X11"
+
+# Initialize defaults (this will cut down on "safe" error messages)
+if ! /usr/bin/defaults read $X11_PREFS_DOMAIN cache_fonts > /dev/null 2>&1 ; then
+    /usr/bin/defaults write $X11_PREFS_DOMAIN cache_fonts -bool true
+fi
+
+if ! /usr/bin/defaults read $X11_PREFS_DOMAIN no_auth > /dev/null 2>&1 ; then
+    /usr/bin/defaults write $X11_PREFS_DOMAIN no_auth -bool false
+fi
+
+if ! /usr/bin/defaults read $X11_PREFS_DOMAIN nolisten_tcp > /dev/null 2>&1 ; then
+    /usr/bin/defaults write $X11_PREFS_DOMAIN nolisten_tcp -bool true
+fi
+
+# First, start caching fonts
+if [ x`/usr/bin/defaults read $X11_PREFS_DOMAIN cache_fonts` = x1 ] ; then
+    @FONT_CACHE@ &
+fi
+
+# a race to create /tmp/.X11-unix
+@PRIVILEGED_STARTX@
+
+if [ x`/usr/bin/defaults read $X11_PREFS_DOMAIN no_auth` = x0 ] ; then
+    enable_xauth=1
+else
+    enable_xauth=0
+fi
+
+if [ x`defaults read $X11_PREFS_DOMAIN nolisten_tcp` = x1 ] ; then
+    defaultserverargs="$defaultserverargs -nolisten tcp"
+fi
+
+# The second check is the real one.  The first is to hopefully avoid
+# needless syslog spamming.
+if /usr/bin/defaults read $X11_PREFS_DOMAIN 2> /dev/null | grep -q 'dpi' && /usr/bin/defaults read $X11_PREFS_DOMAIN dpi > /dev/null 2>&1 ; then
+    defaultserverargs="$defaultserverargs -dpi `/usr/bin/defaults read $X11_PREFS_DOMAIN dpi`"
+fi
+
+# Automatically determine an unused $DISPLAY
+d=0
+while true ; do
+    [ -e /tmp/.X$d-lock ] || break
+    d=$(($d + 1))
+done
+defaultdisplay=":$d"
+unset d
+
+whoseargs="client"
+while [ x"$1" != x ]; do
+    case "$1" in
+    # '' required to prevent cpp from treating "/*" as a C comment.
+    /''*|\./''*)
+    if [ "$whoseargs" = "client" ]; then
+        if [ x"$client" = x ] && [ x"$clientargs" = x ]; then
+        client="$1"
+        else
+        clientargs="$clientargs $1"
+        fi
+    else
+        if [ x"$server" = x ] && [ x"$serverargs" = x ]; then
+        server="$1"
+        else
+        serverargs="$serverargs $1"
+        fi
+    fi
+    ;;
+    --)
+    whoseargs="server"
+    ;;
+    *)
+    if [ "$whoseargs" = "client" ]; then
+        clientargs="$clientargs $1"
+    else
+        # display must be the FIRST server argument
+        if [ x"$serverargs" = x ] && \
+         expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then
+        display="$1"
+        else
+        serverargs="$serverargs $1"
+        fi
+    fi
+    ;;
+    esac
+    shift
+done
+
+# process client arguments
+if [ x"$client" = x ]; then
+    client=$defaultclient
+
+    # For compatibility reasons, only use startxrc if there were no client command line arguments
+    if [ x"$clientargs" = x ]; then
+        if [ -f "$userclientrc" ]; then
+            client=$userclientrc
+        elif [ -f "$sysclientrc" ]; then
+            client=$sysclientrc
+        fi
+    fi
+fi
+
+# if no client arguments, use defaults
+if [ x"$clientargs" = x ]; then
+    clientargs=$defaultclientargs
+fi
+
+# process server arguments
+if [ x"$server" = x ]; then
+    server=$defaultserver
+
+    # For compatibility reasons, only use xserverrc if there were no server command line arguments
+    if [ x"$serverargs" = x -a x"$display" = x ]; then
+      if [ -f "$userserverrc" ]; then
+          server=$userserverrc
+      elif [ -f "$sysserverrc" ]; then
+          server=$sysserverrc
+      fi
+    fi
+fi
+
+# if no server arguments, use defaults
+if [ x"$serverargs" = x ]; then
+    serverargs=$defaultserverargs
+fi
+
+# if no display, use default
+if [ x"$display" = x ]; then
+    display=$defaultdisplay
+fi
+
+if [ x"$enable_xauth" = x1 ] ; then
+    if [ x"$XAUTHORITY" = x ]; then
+        XAUTHORITY=$HOME/.Xauthority
+        export XAUTHORITY
+    fi
+
+    removelist=
+
+    # set up default Xauth info for this machine
+    hostname=`/bin/hostname`
+
+    authdisplay=${display:-:0}
+
+    mcookie=`/usr/bin/openssl rand -hex 16`
+
+    if test x"$mcookie" = x; then
+        echo "Couldn't create cookie"
+        exit 1
+    fi
+    dummy=0
+
+    # create a file with auth information for the server. ':0' is a dummy.
+    xserverauthfile=$HOME/.serverauth.$$
+    trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP KILL BUS TERM
+    @XAUTH@ -q -f "$xserverauthfile" << EOF
+add :$dummy . $mcookie
+EOF
+
+    xserverauthfilequoted=$(echo ${xserverauthfile} | sed "s/'/'\\\\''/g")
+    serverargs=${serverargs}" -auth '"${xserverauthfilequoted}"'"
+
+    # now add the same credentials to the client authority file
+    # if '$displayname' already exists do not overwrite it as another
+    # server man need it. Add them to the '$xserverauthfile' instead.
+    for displayname in $authdisplay $hostname$authdisplay; do
+        authcookie=`@XAUTH@ list "$displayname" \
+        | sed -n "s/.*$displayname[[:space:]*].*[[:space:]*]//p"` 2>/dev/null;
+        if [ "z${authcookie}" = "z" ] ; then
+            @XAUTH@ -q << EOF
+add $displayname . $mcookie
+EOF
+        removelist="$displayname $removelist"
+        else
+            dummy=$(($dummy+1));
+            @XAUTH@ -q -f "$xserverauthfile" << EOF
+add :$dummy . $authcookie
+EOF
+        fi
+    done
+fi
+
+eval @XINIT@ \"$client\" $clientargs -- \"$server\" $display $serverargs "-xkbdir" "@XKEYBOARD_CONFIG@"
+retval=$?
+
+if [ x"$enable_xauth" = x1 ] ; then
+    if [ x"$removelist" != x ]; then
+        @XAUTH@ remove $removelist
+    fi
+    if [ x"$xserverauthfile" != x ]; then
+        rm -f "$xserverauthfile"
+    fi
+fi
+
+exit $retval
diff --git a/pkgs/servers/x11/xquartz/system-fonts.nix b/pkgs/servers/x11/xquartz/system-fonts.nix
new file mode 100644
index 0000000000000..cf24bb439b911
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/system-fonts.nix
@@ -0,0 +1,36 @@
+{ stdenv, xorg, fontDirs }:
+
+stdenv.mkDerivation {
+  name = "xquartz-system-fonts";
+  buildInputs = [
+    xorg.mkfontdir xorg.mkfontscale
+  ];
+  buildCommand = ''
+    source $stdenv/setup
+
+    for i in ${toString fontDirs} ; do
+      if [ -d $i/ ]; then
+        list="$list $i";
+      fi;
+    done
+    list=$(find $list -name fonts.dir -o -name '*.ttf' -o -name '*.otf');
+    fontDirs=''';
+    for i in $list ; do
+      fontDirs="$fontDirs $(dirname $i)";
+    done;
+    mkdir -p $out/share/X11-fonts/;
+    find $fontDirs -type f -o -type l | while read i; do
+      j="''${i##*/}"
+      if ! test -e "$out/share/X11-fonts/''${j}"; then
+        ln -s "$i" "$out/share/X11-fonts/''${j}";
+      fi;
+    done;
+    cd $out/share/X11-fonts/
+    rm fonts.dir
+    rm fonts.scale
+    rm fonts.alias
+    mkfontdir
+    mkfontscale
+    cat $( find ${xorg.fontalias}/ -name fonts.alias) >fonts.alias
+  '';
+}
diff --git a/pkgs/servers/x11/xquartz/xinitrc b/pkgs/servers/x11/xquartz/xinitrc
new file mode 100755
index 0000000000000..1a0c2ccf1c0ea
--- /dev/null
+++ b/pkgs/servers/x11/xquartz/xinitrc
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+export PATH=@PATH@:$PATH
+
+userresources=$HOME/.Xresources
+usermodmap=$HOME/.Xmodmap
+
+# Fix ridiculously slow key repeat.
+@XSET@ r rate
+
+# merge in defaults and keymaps
+
+if [ -f "$userresources" ]; then
+    if [ -x /usr/bin/cpp ] ; then
+        @XRDB@ -merge "$userresources"
+    else
+        @XRDB@ -nocpp -merge "$userresources"
+    fi
+fi
+
+if [ -f "$usermodmap" ]; then
+    @XMODMAP@ "$usermodmap"
+fi
+
+fontpath="@SYSTEM_FONTS@"
+[ -e "$HOME"/.fonts/fonts.dir ] && fontpath="$fontpath,$HOME/.fonts"
+[ -e "$HOME"/Library/Fonts/fonts.dir ] && fontpath="$fontpath,$HOME/Library/Fonts"
+[ -e /Library/Fonts/fonts.dir ] && fontpath="$fontpath,/Library/Fonts"
+[ -e /System/Library/Fonts/fonts.dir ] && fontpath="$fontpath,/System/Library/Fonts"
+@XSET@ fp= "$fontpath"
+unset fontpath
+
+if [ -d "${HOME}/.xinitrc.d" ] ; then
+    for f in "${HOME}"/.xinitrc.d/*.sh ; do
+        [ -x "$f" ] && . "$f"
+    done
+    unset f
+fi
+
+exec @QUARTZ_WM@
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 5b3cfdc2c44c3..1e21dd5b2774a 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -27,6 +27,16 @@ let
 
   allowBroken = config.allowBroken or false || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
 
+  forceEvalHelp = unfreeOrBroken:
+    assert (unfreeOrBroken == "Unfree" || unfreeOrBroken == "Broken");
+    ''
+      You can set
+        { nixpkgs.config.allow${unfreeOrBroken} = true; }
+      in configuration.nix to override this. If you use Nix standalone, you can add
+        { allow${unfreeOrBroken} = true; }
+      to ~/.nixpkgs/config.nix.
+    '';
+
   unsafeGetAttrPos = builtins.unsafeGetAttrPos or (n: as: null);
 
   extraBuildInputs' = extraBuildInputs ++
@@ -52,15 +62,16 @@ let
        && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l)
        && !allowUnfreePredicate attrs then
       throw ''
-        Package ‘${attrs.name}’ in ${pos'} has an unfree license, refusing to evaluate. You can set
-          { nixpkgs.config.allowUnfree = true; }
-        in configuration.nix to override this. If you use Nix standalone, you can add
-          { allowUnfree = true; }
-        to ~/.nixpkgs/config.nix.''
+            Package ‘${attrs.name}’ in ${pos'} has an unfree license, refusing to evaluate.
+            ${forceEvalHelp "Unfree"}''
     else if !allowBroken && attrs.meta.broken or false then
-      throw "you can't use package ‘${attrs.name}’ in ${pos'} because it has been marked as broken"
+          throw ''
+            Package ‘${attrs.name}’ in ${pos'} is marked as broken, refusing to evaluate.
+            ${forceEvalHelp "Broken"}''
     else if !allowBroken && attrs.meta.platforms or null != null && !lib.lists.elem result.system attrs.meta.platforms then
-      throw "the package ‘${attrs.name}’ in ${pos'} is not supported on ‘${result.system}’"
+          throw ''
+            Package ‘${attrs.name}’ in ${pos'} is not supported on ‘${result.system}’, refusing to evaluate.
+            ${forceEvalHelp "Broken"}''
     else
       lib.addPassthru (derivation (
         (removeAttrs attrs ["meta" "passthru" "crossAttrs"])
@@ -141,7 +152,8 @@ let
              || system == "x86_64-kfreebsd-gnu";
       isSunOS = system == "i686-solaris"
              || system == "x86_64-solaris";
-      isCygwin = system == "i686-cygwin";
+      isCygwin = system == "i686-cygwin"
+              || system == "x86_64-cygwin";
       isFreeBSD = system == "i686-freebsd"
               || system == "x86_64-freebsd";
       isOpenBSD = system == "i686-openbsd"
diff --git a/pkgs/tools/backup/obnam/default.nix b/pkgs/tools/backup/obnam/default.nix
index 854801a3edd2f..bf71f9397cb63 100644
--- a/pkgs/tools/backup/obnam/default.nix
+++ b/pkgs/tools/backup/obnam/default.nix
@@ -2,13 +2,13 @@
 
 pythonPackages.buildPythonPackage rec {
   name = "obnam-${version}";
-  version = "1.6.1";
+  version = "1.8";
 
   namePrefix = "";
 
   src = fetchurl rec {
     url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_${version}.orig.tar.gz";
-    sha256 = "0415njniqpy3xhvibpm82i9alrp2fw3lsnm15h7vqkkvgp8s5g39";
+    sha256 = "0190yz65hfdq69xws4h1izxz59by0b437d7z1l4cf5ixkv16j17p";
   };
 
   buildInputs = [ pythonPackages.sphinx attr ];
diff --git a/pkgs/tools/compression/kzipmix/default.nix b/pkgs/tools/compression/kzipmix/default.nix
new file mode 100644
index 0000000000000..bff8068db609f
--- /dev/null
+++ b/pkgs/tools/compression/kzipmix/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "kzipmix-20091108";
+
+  src = fetchurl {
+    url = http://static.jonof.id.au/dl/kenutils/kzipmix-20091108-linux.tar.gz;
+    sha256 = "19gyn8pblffdz1bf3xkbpzx8a8wn3xb0v411pqzmz5g5l6pm5gph";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp kzip zipmix $out/bin
+    
+    patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $out/bin/kzip
+    patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $out/bin/zipmix
+  '';
+
+  meta = {
+    description = "A tool that agressively optimizes the sizes of Zip archives";
+    license = stdenv.lib.licenses.unfree;
+    homepage = http://advsys.net/ken/utils.htm;
+    maintainers = [ stdenv.lib.maintainers.sander ];
+  };
+}
diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix
index b644f46dff860..e1d7c26fa430f 100644
--- a/pkgs/tools/compression/xz/default.nix
+++ b/pkgs/tools/compression/xz/default.nix
@@ -10,6 +10,9 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  # In stdenv-linux, prevent a dependency on bootstrap-tools.
+  preHook = "unset CONFIG_SHELL";
+
   meta = {
     homepage = http://tukaani.org/xz/;
     description = "XZ, general-purpose data compression software, successor of LZMA";
diff --git a/pkgs/tools/graphics/barcode/default.nix b/pkgs/tools/graphics/barcode/default.nix
index d43540a8b99d5..60dc5a285da37 100644
--- a/pkgs/tools/graphics/barcode/default.nix
+++ b/pkgs/tools/graphics/barcode/default.nix
@@ -34,8 +34,7 @@ rec {
     [
       raskin
     ];
-    platforms = with a.lib.platforms;
-      all;
+    platforms = with a.lib.platforms; allBut darwin;
   };
   passthru = {
     updateInfo = {
diff --git a/pkgs/tools/graphics/dcraw/default.nix b/pkgs/tools/graphics/dcraw/default.nix
index b8d8dd5f48ad6..72b50bd4e7735 100644
--- a/pkgs/tools/graphics/dcraw/default.nix
+++ b/pkgs/tools/graphics/dcraw/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.cybercom.net/~dcoffin/dcraw/;
     description = "Decoder for many camera raw picture formats";
     license = "free";
-    platforms = stdenv.lib.platforms.allBut "i686-cygwin";
+    platforms = with stdenv.lib.platforms; allBut cygwin;
     maintainers = [ stdenv.lib.maintainers.urkud ];
   };
 }
diff --git a/pkgs/tools/graphics/enblend-enfuse/default.nix b/pkgs/tools/graphics/enblend-enfuse/default.nix
index 2d1a6472205e9..6b65d3df0d3f5 100644
--- a/pkgs/tools/graphics/enblend-enfuse/default.nix
+++ b/pkgs/tools/graphics/enblend-enfuse/default.nix
@@ -1,33 +1,20 @@
-{stdenv, fetchurl, libtiff, libpng, lcms, libxmi, boost, mesa, freeglut
-, pkgconfig, perl, glew }:
+{ stdenv, fetchurl
+, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libxmi, mesa, vigra
+, pkgconfig, perl }:
 
 stdenv.mkDerivation rec {
-  name = "enblend-enfuse-4.0";
+  name = "enblend-enfuse-4.1.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/enblend/${name}.tar.gz";
-    sha256 = "1i2kq842zrncpadarhcikg447abmh5r7a5js3mzg553ql3148am1";
+    sha256 = "1b7r1nnwaind0344ckwggy0ghl0ipbk9jzylsxcjfl05rnasw00w";
   };
 
-  buildInputs = [ libtiff libpng lcms libxmi boost mesa freeglut glew ];
+  buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libxmi mesa vigra ];
 
   nativeBuildInputs = [ perl pkgconfig ];
 
-  patches =
-    let
-      prefix = "http://enblend.hg.sourceforge.net/hgweb/enblend/enblend/raw-diff";
-    in map fetchurl [
-      {
-        url = "${prefix}/9d9b5f3a97cd/src/vigra_impex/png.cxx";
-        name = "ftbfs-libpng15.patch";
-        sha256 = "1nqhbbgphwi087qpazngg04c1whc1p4fwq19fx36jrir96xywgzg";
-      }
-      {
-        url = "${prefix}/101796703d73/src/vigra_impex/png.cxx";
-        name = "ftbfs-libpng15.patch";
-        sha256 = "14frqg4hab9ab6pdypkrmji43fmxjj918j7565rdwmifbm9i3005";
-      }
-    ];
+  enableParallelBuilding = true;
 
   meta = {
     homepage = http://enblend.sourceforge.net/;
diff --git a/pkgs/tools/graphics/glmark2/default.nix b/pkgs/tools/graphics/glmark2/default.nix
new file mode 100644
index 0000000000000..97fcd1addd010
--- /dev/null
+++ b/pkgs/tools/graphics/glmark2/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, pkgconfig, libjpeg, libpng12, xlibs, libX11, mesa, libdrm, python27 }:
+stdenv.mkDerivation rec {
+  name = "glmark2-${version}";
+  version = "2014.03";
+
+  src = fetchurl {
+    url = "https://launchpad.net/glmark2/trunk/${version}/+download/${name}.tar.gz";
+    sha256 = "1dgn7ln115ivk13d1yagpj06lgllpv2jrr41kcnhdkhqz6m43vdx";
+  };
+
+  buildInputs = [
+    pkgconfig libjpeg libpng12 xlibs.libxcb libX11 mesa libdrm python27
+  ];
+
+  buildPhase = ''
+    python ./waf configure --prefix=$out --with-flavors x11-gl,x11-glesv2
+    python2 ./waf
+  '';
+
+  installPhase = ''
+    python2 ./waf install --destdir="$pkgdir/"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "OpenGL (ES) 2.0 benchmark";
+    homepage = https://launchpad.net/glmark2;
+    license = licenses.gpl3Plus;
+    longDescription = ''
+      glmark2 is a benchmark for OpenGL (ES) 2.0. It uses only the subset of
+      the OpenGL 2.0 API that is compatible with OpenGL ES 2.0.
+    '';
+    platforms = platforms.linux;
+    maintainers = [ maintainers.wmertens ];
+  };
+}
+
diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix
index 58e023a6aaa72..f92c82e3d744a 100644
--- a/pkgs/tools/graphics/gnuplot/default.nix
+++ b/pkgs/tools/graphics/gnuplot/default.nix
@@ -1,25 +1,24 @@
-{ stdenv, fetchurl, zlib, gd, texinfo, makeWrapper, readline
-, texLive ? null
-, lua ? null
+{ lib, stdenv, fetchurl, zlib, gd, texinfo4, makeWrapper, readline
+, withTeXLive ? false, texLive
+, withLua ? false, lua
 , emacs ? null
 , libX11 ? null
 , libXt ? null
 , libXpm ? null
 , libXaw ? null
 , aquaterm ? false
-, wxGTK ? null
+, withWxGTK ? false, wxGTK ? null
 , pango ? null
 , cairo ? null
 , pkgconfig ? null
 , fontconfig ? null
 , gnused ? null
 , coreutils ? null
-, qt ? null }:
+, withQt ? false, qt4 }:
 
 assert libX11 != null -> (fontconfig != null && gnused != null && coreutils != null);
 let
-  withX = libX11 != null && !aquaterm;
-  withQt = qt != null;
+  withX = libX11 != null && !aquaterm && !stdenv.isDarwin;
 in
 stdenv.mkDerivation rec {
   name = "gnuplot-4.6.5";
@@ -30,20 +29,20 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ zlib gd texinfo readline emacs lua texLive
-      pango cairo pkgconfig makeWrapper ]
-    ++ stdenv.lib.optionals withX              [ libX11 libXpm libXt libXaw ]
-    ++ stdenv.lib.optional withQt [ qt ]
+    [ zlib gd texinfo4 readline pango cairo pkgconfig makeWrapper ]
+    ++ lib.optional withTeXLive texLive
+    ++ lib.optional withLua lua
+    ++ lib.optionals withX [ libX11 libXpm libXt libXaw ]
+    ++ lib.optional withQt [ qt4 ]
     # compiling with wxGTK causes a malloc (double free) error on darwin
-    ++ stdenv.lib.optional (!stdenv.isDarwin) wxGTK;
+    ++ lib.optional (withWxGTK && !stdenv.isDarwin) wxGTK;
 
   configureFlags =
     (if withX then ["--with-x"] else ["--without-x"])
     ++ (if withQt then ["--enable-qt"] else ["--disable-qt"])
-    ++ (if aquaterm then ["--with-aquaterm"] else ["--without-aquaterm"])
-    ;
+    ++ (if aquaterm then ["--with-aquaterm"] else ["--without-aquaterm"]);
 
-  postInstall = stdenv.lib.optionalString withX ''
+  postInstall = lib.optionalString withX ''
     wrapProgram $out/bin/gnuplot \
        --prefix PATH : '${gnused}/bin' \
        --prefix PATH : '${coreutils}/bin' \
@@ -51,8 +50,8 @@ stdenv.mkDerivation rec {
        --run '. ${./set-gdfontpath-from-fontconfig.sh}'
   '';
 
-  meta = with stdenv.lib; {
-    homepage    = http://www.gnuplot.info;
+  meta = with lib; {
+    homepage = http://www.gnuplot.info/;
     description = "A portable command-line driven graphing utility for many platforms";
     hydraPlatforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ lovek323 ];
diff --git a/pkgs/tools/graphics/pngout/default.nix b/pkgs/tools/graphics/pngout/default.nix
new file mode 100644
index 0000000000000..ff2a18c9fedc6
--- /dev/null
+++ b/pkgs/tools/graphics/pngout/default.nix
@@ -0,0 +1,33 @@
+{stdenv, fetchurl}:
+
+let
+  folder = if stdenv.system == "i686-linux" then "i686"
+  else if stdenv.system == "x86_64-linux" then "x86_64"
+  else throw "Unsupported system: ${stdenv.system}";
+in
+stdenv.mkDerivation {
+  name = "pngout-20130221";
+
+  src = fetchurl {
+    url = http://static.jonof.id.au/dl/kenutils/pngout-20130221-linux.tar.gz;
+    sha256 = "1qdzmgx7si9zr7wjdj8fgf5dqmmqw4zg19ypg0pdz7521ns5xbvi";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ${folder}/pngout $out/bin
+    
+    ${if stdenv.system == "i686-linux" then ''
+        patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $out/bin/pngout
+      '' else if stdenv.system == "x86_64-linux" then ''
+        patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $out/bin/pngout
+      '' else ""}
+  '';
+
+  meta = {
+    description = "A tool that agressively optimizes the sizes of PNG images";
+    license = stdenv.lib.licenses.unfree;
+    homepage = http://advsys.net/ken/utils.htm;
+    maintainers = [ stdenv.lib.maintainers.sander ];
+  };
+}
diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix
index 8d6cbc1359bbe..015820916c74b 100644
--- a/pkgs/tools/misc/file/default.nix
+++ b/pkgs/tools/misc/file/default.nix
@@ -13,5 +13,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "http://darwinsys.com/file";
     description = "A program that shows the type of files";
+    platforms = with stdenv.lib.platforms; allBut darwin;
   };
 }
diff --git a/pkgs/tools/misc/plowshare/default.nix b/pkgs/tools/misc/plowshare/default.nix
index 199e709f16ae2..df5c8a77e829c 100644
--- a/pkgs/tools/misc/plowshare/default.nix
+++ b/pkgs/tools/misc/plowshare/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, makeWrapper, curl }:
+{ stdenv, fetchgit, makeWrapper, curl, spidermonkey }:
 
 stdenv.mkDerivation rec {
 
   name = "plowshare4-${version}";
 
-  version = "20121126.47e4480";
+  version = "20140714.0x5s0zn8";
 
-  src = fetchurl {
-    url = "http://plowshare.googlecode.com/files/plowshare4-snapshot-git${version}.tar.gz";
-    sha256 = "1p7bqqfbgcy41hiickgr8cilspyvrrql12rdmfasz0dmgf7nx1x6";
+  src = fetchgit {
+    url = "https://code.google.com/p/plowshare/";
+    rev = "0b67463ca8684c3e9c93bd8164c461a41538e99f";
+    sha256 = "0x5s0zn88w2h0740n4yms6fhwbb19kjwbhaj3k9wrnz4m3112s1m";
   };
 
   buildInputs = [ makeWrapper ];
@@ -19,7 +20,7 @@ stdenv.mkDerivation rec {
     make PREFIX="$out" install
 
     for fn in plow{del,down,list,up}; do
-      wrapProgram "$out/bin/$fn" --prefix PATH : "${curl}/bin"
+      wrapProgram "$out/bin/$fn" --prefix PATH : "${curl}/bin:${spidermonkey}/bin"
     done
   '';
 
diff --git a/pkgs/tools/misc/sl/default.nix b/pkgs/tools/misc/sl/default.nix
index a2dab4e0eb802..aa35461a7a9e1 100644
--- a/pkgs/tools/misc/sl/default.nix
+++ b/pkgs/tools/misc/sl/default.nix
@@ -21,7 +21,11 @@ stdenv.mkDerivation {
 
   meta = {
     homepage = http://www.tkl.iis.u-tokyo.ac.jp/~toyoda/index_e.html;
-    license = stdenv.lib.licenses.unfree; # I couldn't find its license, only a copyright.
+    license = rec {
+      shortName = "Toyoda Masashi's free software license";
+      fullName = shortName;
+      url = https://github.com/mtoyoda/sl/blob/master/LICENSE;
+    };
     description = "Steam Locomotive runs across your terminal when you type 'sl'";
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/tools/misc/sutils/default.nix b/pkgs/tools/misc/sutils/default.nix
new file mode 100644
index 0000000000000..6d2bee2381300
--- /dev/null
+++ b/pkgs/tools/misc/sutils/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+   name = "sutils-0.1";
+
+   src = fetchurl {
+     url = "https://github.com/baskerville/sutils/archive/0.1.tar.gz";
+     sha256 = "0xqk42vl82chy458d64fj68a4md4bxaip8n3xw9skxz0a1sgvks8";
+   };
+
+   prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
+
+   meta = {
+     description = "Small command-line utilities.";
+     homepage = "https://github.com/baskerville/sutils";
+     maintainers = stdenv.lib.maintainers.meisternu;
+     license = "Custom";
+     platforms = stdenv.lib.platforms.linux;
+   };
+}
diff --git a/pkgs/tools/misc/xdo/default.nix b/pkgs/tools/misc/xdo/default.nix
new file mode 100644
index 0000000000000..9a059c9dbb5a7
--- /dev/null
+++ b/pkgs/tools/misc/xdo/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, libxcb, xcbutilwm }:
+
+stdenv.mkDerivation rec {
+   name = "xdo-0.3";
+
+   src = fetchurl {
+     url = "https://github.com/baskerville/xdo/archive/0.3.tar.gz";
+     sha256 = "128flaydag9ixsai87p85r84arg2pn1j9h3zgdjwlmbcpb8d4ia8";
+   };
+
+   prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
+
+   buildInputs = [ libxcb xcbutilwm ];
+
+   meta = {
+     description = "Small X utility to perform elementary actions on windows";
+     homepage = "https://github.com/baskerville/xdo";
+     maintainers = stdenv.lib.maintainers.meisternu;
+     license = "Custom";
+     platforms = stdenv.lib.platforms.linux;
+   };
+}
diff --git a/pkgs/tools/misc/xtitle/default.nix b/pkgs/tools/misc/xtitle/default.nix
new file mode 100644
index 0000000000000..ca8be4c08eac9
--- /dev/null
+++ b/pkgs/tools/misc/xtitle/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, libxcb, xcbutil, xcbutilwm, git }:
+
+stdenv.mkDerivation rec {
+   name = "xtitle-0.2";
+
+   src = fetchurl {
+     url = "https://github.com/baskerville/xtitle/archive/0.2.tar.gz";
+     sha256 = "1wyhfwbwqnq4rn6i789gydxlg25ylc37xjrkq758bp55sdgb8fk2";
+   };
+
+
+   buildInputs = [ libxcb git xcbutil xcbutilwm ];
+
+   prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
+
+   meta = {
+     description = "Outputs X window titles";
+     homepage = "https://github.com/baskerville/xtitle";
+     maintainers = stdenv.lib.maintainers.meisternu;
+     license = "Custom";
+     platforms = stdenv.lib.platforms.linux;
+   };
+}
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 4a8f53b5c3b6f..e237e0b25eb93 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, python, zip }:
 
 let
-  version = "2014.08.05";
+  version = "2014.08.10";
 in
 stdenv.mkDerivation rec {
   name = "youtube-dl-${version}";
 
   src = fetchurl {
     url = "http://youtube-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "0gx1hrcajac26zd94qi1nsqpzv8jhjc2v1cw8msd1nya8is6v0bf";
+    sha256 = "1afa710vw0midpbv9pjw1b6h0x8kmdnj5dpipacnwsv3mbw1y4x1";
   };
 
   buildInputs = [ python ];
diff --git a/pkgs/tools/networking/atftp/default.nix b/pkgs/tools/networking/atftp/default.nix
index 2136762e6e0df..225c3c04f7a4c 100644
--- a/pkgs/tools/networking/atftp/default.nix
+++ b/pkgs/tools/networking/atftp/default.nix
@@ -1,5 +1,5 @@
 x@{builderDefsPackage
-  , readline, tcp_wrappers, pcre
+  , readline, tcp_wrappers, pcre, runCommand
   , ...}:
 builderDefsPackage
 (a :  
@@ -29,11 +29,15 @@ rec {
   /* doConfigure should be removed if not needed */
   phaseNames = ["doPatch" "doConfigure" "doMakeInstall"];
       
-  debianPatch = a.fetchurl {
-    url = http://patch-tracker.debian.org/patch/nondebian/dl/atftp/0.7.dfsg-10;
-    sha256 = "0vannjp0wxvk10xxlr3hirgf0g57n9dr4vhmsyfd8x4cwgxwfgsa";
+  debianPatchGz = a.fetchurl {
+    url = ftp://ftp.ru.debian.org/pub/debian/pool/main/a/atftp/atftp_0.7.dfsg-11.diff.gz;
+    sha256 = "07g4qbmp0lnscg2dkj6nsj657jaghibvfysdm1cdxcn215n3zwqd";
   };
 
+  debianPatch = a.runCommand "atftp-0.7.dfsg-11" {} ''
+    gunzip < "${debianPatchGz}" > "$out"
+  '';
+
   patches = [debianPatch];
 
   meta = {
diff --git a/pkgs/tools/networking/chrony/default.nix b/pkgs/tools/networking/chrony/default.nix
index d42d0712455d3..1e2b39869c54c 100644
--- a/pkgs/tools/networking/chrony/default.nix
+++ b/pkgs/tools/networking/chrony/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     homepage = http://chrony.tuxfamily.org/;
     repository.git = git://git.tuxfamily.org/gitroot/chrony/chrony.git;
     license = licenses.gpl2;
-    platforms = platforms.unix;
+    platforms = with platforms; linux ++ freebsd ++ openbsd;
     maintainers = [ maintainers.rickynils ];
 
     longDescription = ''
diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix
index 2dac54577b8bc..07925ca110df2 100644
--- a/pkgs/tools/networking/dhcp/default.nix
+++ b/pkgs/tools/networking/dhcp/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchurl, nettools, iputils, iproute, makeWrapper, coreutils, gnused }:
+{ stdenv, fetchurl, perl, file, nettools, iputils, iproute, makeWrapper, coreutils, gnused }:
 
 stdenv.mkDerivation rec {
-  name = "dhcp-4.1-ESV-R6";
+  name = "dhcp-${version}";
+  version = "4.3.0";
   
   src = fetchurl {
-    url = http://ftp.isc.org/isc/dhcp/4.1-ESV-R6/dhcp-4.1-ESV-R6.tar.gz;
-    sha256 = "17md1vml07szl9dx4875gfg4sgnb3z73glpbq1si7p82mfhnddny";
+    url = "http://ftp.isc.org/isc/dhcp/${version}/${name}.tar.gz";
+    sha256 = "12mydvj6x3zcl3gla06bywfkkrgg03g66fijs94mwb7kbiym3dm7";
   };
 
   patches =
@@ -23,13 +24,15 @@ stdenv.mkDerivation rec {
   # Fixes "socket.c:591: error: invalid application of 'sizeof' to
   # incomplete type 'struct in6_pktinfo'".  See
   # http://www.mail-archive.com/blfs-book@linuxfromscratch.org/msg13013.html
-  NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE";
+  #
+  # Also adds the ability to run dhcpd as a non-root user / group
+  NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE -DPARANOIA";
 
   # It would automatically add -Werror, which disables build in gcc 4.4
   # due to an uninitialized variable.
   CFLAGS = "-g -O2 -Wall";
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [ perl makeWrapper ];
 
   postInstall =
     ''
@@ -42,11 +45,12 @@ stdenv.mkDerivation rec {
 
   preConfigure =
     ''
+      substituteInPlace configure --replace "/usr/bin/file" "${file}/bin/file"
       sed -i "includes/dhcpd.h" \
 	-"es|^ *#define \+_PATH_DHCLIENT_SCRIPT.*$|#define _PATH_DHCLIENT_SCRIPT \"$out/sbin/dhclient-script\"|g"
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Dynamic Host Configuration Protocol (DHCP) tools";
 
     longDescription = ''
@@ -57,6 +61,8 @@ stdenv.mkDerivation rec {
    '';
 
     homepage = http://www.isc.org/products/DHCP/;
-    license = "http://www.isc.org/sw/dhcp/dhcp-copyright.php";
+    license = licenses.isc;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/tools/networking/isync/default.nix b/pkgs/tools/networking/isync/default.nix
index ed01ccacd7972..2d3ffb2cb0a8c 100644
--- a/pkgs/tools/networking/isync/default.nix
+++ b/pkgs/tools/networking/isync/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, openssl, pkgconfig, db }:
 
 stdenv.mkDerivation rec {
-  name = "isync-1.1.0";
+  name = "isync-1.1.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/isync/${name}.tar.gz";
-    sha256 = "51f5618c239013fb770f98ae269f24ee417214efaaf7e22821b4a27cf9a9213c";
+    sha256 = "14blgxhpl78bpr1291zb7n3y9g8jpgmnpdnbl0vp2qplw76zv9f3";
   };
 
   buildInputs = [ openssl pkgconfig db ];
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     description = "Free IMAP and MailDir mailbox synchronizer";
     license = [ "GPLv2+" ];
 
-    maintainers = [ stdenv.lib.maintainers.viric ];
+    maintainers = with stdenv.lib.maintainers; [ the-kenny viric ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/nzbget/default.nix b/pkgs/tools/networking/nzbget/default.nix
index a97406ac7ed82..ec14b8ee99a35 100644
--- a/pkgs/tools/networking/nzbget/default.nix
+++ b/pkgs/tools/networking/nzbget/default.nix
@@ -2,11 +2,11 @@
 , gnutls, libgcrypt }:
 
 stdenv.mkDerivation rec {
-  name = "nzbget-9.0";
+  name = "nzbget-13.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/nzbget/${name}.tar.gz";
-    sha256 = "1r4ys5nmcz1ilkdjdh3r8lawaf96i8spk6hl02h823q9rppvmya0";
+    sha256 = "13lgwwrdv6ds25kj6hj0b5laqaf739n7l3j530x3640zyd254vv6";
   };
 
   buildInputs = [ pkgconfig libxml2 ncurses libsigcxx libpar2 gnutls libgcrypt ];
diff --git a/pkgs/tools/networking/ucspi-tcp/default.nix b/pkgs/tools/networking/ucspi-tcp/default.nix
new file mode 100644
index 0000000000000..0bcd35b21ef95
--- /dev/null
+++ b/pkgs/tools/networking/ucspi-tcp/default.nix
@@ -0,0 +1,85 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "ucspi-tcp-0.88";
+
+  src = fetchurl {
+    url = "http://cr.yp.to/ucspi-tcp/${name}.tar.gz";
+    sha256 = "171yl9kfm8w7l17dfxild99mbf877a9k5zg8yysgb1j8nz51a1ja";
+  };
+
+  # Plain upstream tarball doesn't build, get patches from Debian
+  patches = [
+    (fetchurl {
+      url = "http://ftp.de.debian.org/debian/pool/main/u/ucspi-tcp/ucspi-tcp_0.88-3.diff.gz";
+      sha256 = "0mzmhz8hjkrs0khmkzs5i0s1kgmgaqz07h493bd5jj5fm5njxln6";
+    })
+  ];
+
+  # Apply Debian patches
+  postPatch = ''
+    for fname in debian/diff/*.diff; do
+        echo "Applying patch $fname"
+        patch < "$fname"
+    done
+  '';
+
+  # The build system is weird; 'make install' doesn't install anything, instead
+  # it builds an executable called ./install (from C code) which installs
+  # binaries to the directory given on line 1 in ./conf-home.
+  #
+  # Also, assume getgroups and setgroups work, instead of doing a build time
+  # test that breaks on NixOS (I think because nixbld users lack CAP_SETGID
+  # capability).
+  preBuild = ''
+    echo "$out" > conf-home
+
+    echo "main() { return 0; }" > chkshsgr.c
+  '';
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mkdir -p "$out/share/man/man1"
+
+    # run the newly built installer
+    ./install
+
+    # Install Debian man pages (upstream has none)
+    cp debian/ucspi-tcp-man/*.1 "$out/share/man/man1"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Command-line tools for building TCP client-server applications";
+    longDescription = ''
+      tcpserver waits for incoming connections and, for each connection, runs a
+      program of your choice. Your program receives environment variables
+      showing the local and remote host names, IP addresses, and port numbers.
+
+      tcpserver offers a concurrency limit to protect you from running out of
+      processes and memory. When you are handling 40 (by default) simultaneous
+      connections, tcpserver smoothly defers acceptance of new connections.
+
+      tcpserver also provides TCP access control features, similar to
+      tcp-wrappers/tcpd's hosts.allow but much faster. Its access control rules
+      are compiled into a hashed format with cdb, so it can easily deal with
+      thousands of different hosts.
+
+      This package includes a recordio tool that monitors all the input and
+      output of a server.
+
+      tcpclient makes a TCP connection and runs a program of your choice. It
+      sets up the same environment variables as tcpserver.
+
+      This package includes several sample clients built on top of tcpclient:
+      who@, date@, finger@, http@, tcpcat, and mconnect.
+
+      tcpserver and tcpclient conform to UCSPI, the UNIX Client-Server Program
+      Interface, using the TCP protocol. UCSPI tools are available for several
+      different networks.
+    '';
+    homepage = http://cr.yp.to/ucspi-tcp.html;
+    license = licenses.publicDomain;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/package-management/cabal-install/0.10.2.nix b/pkgs/tools/package-management/cabal-install/0.10.2.nix
index 5fb990554ec83..3d7b2d72d719c 100644
--- a/pkgs/tools/package-management/cabal-install/0.10.2.nix
+++ b/pkgs/tools/package-management/cabal-install/0.10.2.nix
@@ -15,9 +15,6 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/tools/package-management/cabal-install/0.6.2.nix b/pkgs/tools/package-management/cabal-install/0.6.2.nix
index 79c41cad3fcb8..3c79857f6e788 100644
--- a/pkgs/tools/package-management/cabal-install/0.6.2.nix
+++ b/pkgs/tools/package-management/cabal-install/0.6.2.nix
@@ -15,9 +15,6 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/tools/package-management/cabal-install/0.8.0.nix b/pkgs/tools/package-management/cabal-install/0.8.0.nix
index cdb96c342db60..d27fbbca7d47b 100644
--- a/pkgs/tools/package-management/cabal-install/0.8.0.nix
+++ b/pkgs/tools/package-management/cabal-install/0.8.0.nix
@@ -15,9 +15,6 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/tools/package-management/cabal-install/0.8.2.nix b/pkgs/tools/package-management/cabal-install/0.8.2.nix
index f378394e5596b..6f8881b504bd2 100644
--- a/pkgs/tools/package-management/cabal-install/0.8.2.nix
+++ b/pkgs/tools/package-management/cabal-install/0.8.2.nix
@@ -15,9 +15,6 @@ cabal.mkDerivation (self: {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [ simons ];
   };
 })
diff --git a/pkgs/tools/package-management/nox/default.nix b/pkgs/tools/package-management/nox/default.nix
index 3bdf5e101d1cb..93c671287d638 100644
--- a/pkgs/tools/package-management/nox/default.nix
+++ b/pkgs/tools/package-management/nox/default.nix
@@ -7,7 +7,7 @@ pythonPackages.buildPythonPackage rec {
   src = fetchgit {
     url = "git://github.com/madjar/nox.git";
     rev = "49e4bb7de473ac5e446a76c292bdaefa7e20a1c6";
-    sha256 = "0z97anjhvf8qlyq73h3008np7qh1jvv3kafyxhcbjmi1hpimndyy";
+    sha256 = "1w1b2g44lj6nbs7f2j5dz5pijhfah3fyldspfb34zcv17j2nlv0b";
     leaveDotGit = true; # required by pbr
   };
 
diff --git a/pkgs/tools/security/muscleframework/default.nix b/pkgs/tools/security/muscleframework/default.nix
index e2a87119dd9a0..97b0617d39697 100644
--- a/pkgs/tools/security/muscleframework/default.nix
+++ b/pkgs/tools/security/muscleframework/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation {
     homepage = http://muscleplugins.alioth.debian.org/;
     license = "BSD";
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    # XXX: don't build before libmusclecard is fixed
+    # platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/security/muscletool/default.nix b/pkgs/tools/security/muscletool/default.nix
index ac9ccc5920546..cc369835f25c2 100644
--- a/pkgs/tools/security/muscletool/default.nix
+++ b/pkgs/tools/security/muscletool/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation {
     homepage = http://muscleapps.alioth.debian.org/;
     license = "BSD"; # http://anonscm.debian.org/viewvc/muscleapps/trunk/muscleTool/COPYING?view=markup
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    # XXX: don't build before libmusclecard is fixed
+    # platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/security/tboot/default.nix b/pkgs/tools/security/tboot/default.nix
new file mode 100644
index 0000000000000..1c9967edc4778
--- /dev/null
+++ b/pkgs/tools/security/tboot/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, trousers, openssl, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "tboot-1.8.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/tboot/${name}.tar.gz";
+    sha256 = "1l9ccm7ik9fs7kzg1bjc5cjh0pcf4v0k1c84dmyr51r084i7p31m";
+  };
+
+  buildInputs = [ trousers openssl zlib ];
+
+  patches = [ ./tboot-add-well-known-secret-option-to-lcp_writepol.patch ];
+
+  configurePhase = ''
+    for a in lcptools utils tb_polgen; do
+      substituteInPlace $a/Makefile --replace /usr/sbin /sbin
+    done
+    substituteInPlace docs/Makefile --replace /usr/share /share
+  '';
+  installFlags = "DESTDIR=$(out)";
+
+  meta = with stdenv.lib; {
+    description = ''Trusted Boot (tboot) is an open source, pre-kernel/VMM module that uses
+                    Intel(R) Trusted Execution Technology (Intel(R) TXT) to perform a measured
+                    and verified launch of an OS kernel/VMM.'';
+    homepage    = http://sourceforge.net/projects/tboot/;
+    license     = licenses.bsd3;
+    maintainers = [ maintainers.ak ];
+    platforms   = platforms.linux;
+  };
+}
+
diff --git a/pkgs/tools/security/tboot/tboot-add-well-known-secret-option-to-lcp_writepol.patch b/pkgs/tools/security/tboot/tboot-add-well-known-secret-option-to-lcp_writepol.patch
new file mode 100644
index 0000000000000..a16ba9f4fbab2
--- /dev/null
+++ b/pkgs/tools/security/tboot/tboot-add-well-known-secret-option-to-lcp_writepol.patch
@@ -0,0 +1,50 @@
+diff -urp tboot-1.8.0.orig/lcptools/writepol.c tboot-1.8.0/lcptools/writepol.c
+--- tboot-1.8.0.orig/lcptools/writepol.c	2014-01-30 10:34:57.000000000 +0100
++++ tboot-1.8.0/lcptools/writepol.c	2014-02-12 01:48:51.523581057 +0100
+@@ -40,6 +40,7 @@
+ #include <getopt.h>
+ #include <trousers/tss.h>
+ #include <trousers/trousers.h>
++#include <tss/tss_defines.h>
+ 
+ #define PRINT   printf
+ #include "../include/uuid.h"
+@@ -51,14 +52,15 @@ static uint32_t index_value = 0;
+ static char *file_arg=NULL;
+ static uint32_t fLeng;
+ static unsigned char *policy_data = NULL;
+-static char *password = NULL;
++static const char *password = NULL;
+ static uint32_t passwd_length = 0;
++static const char well_known_secret[] = TSS_WELL_KNOWN_SECRET;
+ static int help_input = 0;
+ static unsigned char empty_pol_data[] = {0};
+ 
+-static const char *short_option = "ehi:f:p:";
++static const char *short_option = "ehi:f:p:Z";
+ static const char *usage_string = "lcp_writepol -i index_value "
+-                                  "[-f policy_file] [-e] [-p passwd] [-h]";
++                                  "[-f policy_file] [-e] [-p passwd|-Z] [-h]";
+ 
+ static const char *option_strings[] = {
+     "-i index value: uint32/string.\n"
+@@ -67,6 +69,7 @@ static const char *option_strings[] = {
+     "\tINDEX_AUX:0x50000002 or \"aux\"\n",
+     "-f file_name: string. File name of the policy data is stored. \n",
+     "-p password: string. \n",
++    "-Z use well known secret as password. \n",
+     "-e write 0 length data to the index.\n"
+     "\tIt will be used for some special index.\n"
+     "\tFor example, the index with permission WRITEDEFINE.\n",
+@@ -119,6 +122,11 @@ parse_cmdline(int argc, const char * arg
+                 fLeng = 0;
+                 break;
+ 
++            case 'Z':
++                password = well_known_secret;
++                passwd_length = sizeof(well_known_secret);
++                break;
++
+             case 'h':
+                 help_input = 1;
+                 break;
diff --git a/pkgs/tools/security/tpm-quote-tools/default.nix b/pkgs/tools/security/tpm-quote-tools/default.nix
new file mode 100644
index 0000000000000..c178d401154fa
--- /dev/null
+++ b/pkgs/tools/security/tpm-quote-tools/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, trousers, openssl }:
+
+stdenv.mkDerivation {
+  name = "tpm-quote-tools-1.0.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/tpmquotetools/1.0.2/tpm-quote-tools-1.0.2.tar.gz";
+    sha256 = "17bf9d1hiiaybx6rgl0sqcb0prjz6d2mv8fwp4bj1c0rsfw5dbk8";
+  };
+
+  buildInputs = [ trousers openssl ];
+
+  meta = with stdenv.lib; {
+    description = ''The TPM Quote Tools is a collection of programs that provide support
+                    for TPM based attestation using the TPM quote mechanism.  The manual
+                    page for tpm_quote_tools provides a usage overview.'';
+    homepage    = http://tpmquotetools.sourceforge.net/;
+    license     = licenses.bsd3;
+    maintainers = [ maintainers.ak ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/tpm-tools/default.nix b/pkgs/tools/security/tpm-tools/default.nix
new file mode 100644
index 0000000000000..95b3b6b51f777
--- /dev/null
+++ b/pkgs/tools/security/tpm-tools/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, trousers, openssl }:
+
+let
+  version = "1.3.8";
+in
+stdenv.mkDerivation rec {
+  name = "tpm-tools-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/trousers/tpm-tools/${version}/${name}.tar.gz";
+    sha256 = "10za1gi89vi9m2lmm7jfzs281h55x1sbbm2bdgdh692ljpq4zsv6";
+  };
+
+  buildInputs = [ trousers openssl ];
+
+  meta = with stdenv.lib; {
+    description = ''tpm-tools is an open-source package designed to enable user and application
+                    enablement of Trusted Computing using a Trusted Platform Module (TPM),
+                    similar to a smart card environment.'';
+    homepage    = http://sourceforge.net/projects/trousers/files/tpm-tools/;
+    license     = licenses.cpl10;
+    maintainers = [ maintainers.ak ];
+    platforms   = platforms.unix;
+  };
+}
+
diff --git a/pkgs/tools/security/trousers/allow-non-tss-config-file-owner.patch b/pkgs/tools/security/trousers/allow-non-tss-config-file-owner.patch
new file mode 100644
index 0000000000000..774a14f72babe
--- /dev/null
+++ b/pkgs/tools/security/trousers/allow-non-tss-config-file-owner.patch
@@ -0,0 +1,19 @@
+diff -ur trousers-0.3.11.2.orig/src/tcsd/tcsd_conf.c trousers-0.3.11.2/src/tcsd/tcsd_conf.c
+--- trousers-0.3.11.2.orig/src/tcsd/tcsd_conf.c	2013-07-12 18:27:37.000000000 +0200
++++ trousers-0.3.11.2/src/tcsd/tcsd_conf.c	2013-08-21 14:29:42.917231648 +0200
+@@ -763,6 +763,7 @@
+ 		return TCSERR(TSS_E_INTERNAL_ERROR);
+ 	}
+ 
++#ifndef ALLOW_NON_TSS_CONFIG_FILE
+ 	/* make sure user/group TSS owns the conf file */
+ 	if (pw->pw_uid != stat_buf.st_uid || grp->gr_gid != stat_buf.st_gid) {
+ 		LogError("TCSD config file (%s) must be user/group %s/%s", tcsd_config_file,
+@@ -775,6 +776,7 @@
+ 		LogError("TCSD config file (%s) must be mode 0600", tcsd_config_file);
+ 		return TCSERR(TSS_E_INTERNAL_ERROR);
+ 	}
++#endif
+ #endif /* SOLARIS */
+ 
+ 	if ((f = fopen(tcsd_config_file, "r")) == NULL) {
diff --git a/pkgs/tools/security/trousers/default.nix b/pkgs/tools/security/trousers/default.nix
new file mode 100644
index 0000000000000..4c2af359b9645
--- /dev/null
+++ b/pkgs/tools/security/trousers/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, openssl }:
+
+let
+  ver_maj = "0.3.11";
+  ver_min = "2";
+in
+stdenv.mkDerivation rec {
+  name = "trousers-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/trousers/trousers/${ver_maj}/${name}.tar.gz";
+    sha256 = "1m9qi4452jr5yy4y9zyfi5ndwam5krq7ny8z2q3f91v1hcjgk5la";
+  };
+
+  buildInputs = [ openssl ];
+
+  patches = [ # ./double-installed-man-page.patch
+              ./disable-install-rule.patch
+              ./allow-non-tss-config-file-owner.patch
+            ];
+
+  NIX_CFLAGS_COMPILE = "-DALLOW_NON_TSS_CONFIG_FILE";
+  NIX_LDFLAGS = "-lgcc_s";
+
+  meta = with stdenv.lib; {
+    description = "TrouSerS is an CPL (Common Public License) licensed Trusted Computing Software Stack.";
+    homepage    = http://trousers.sourceforge.net/;
+    license     = licenses.cpl10;
+    maintainers = [ maintainers.ak ];
+    platforms   = platforms.unix;
+  };
+}
+
diff --git a/pkgs/tools/security/trousers/disable-install-rule.patch b/pkgs/tools/security/trousers/disable-install-rule.patch
new file mode 100644
index 0000000000000..698beac9ffde8
--- /dev/null
+++ b/pkgs/tools/security/trousers/disable-install-rule.patch
@@ -0,0 +1,27 @@
+--- trousers-0.3.11/dist/Makefile.in	2013-08-14 06:49:37.597558787 +0200
++++ trousers-0.3.11/dist/Makefile.in	2013-08-14 06:50:07.134510774 +0200
+@@ -363,16 +363,16 @@
+ 	uninstall uninstall-am uninstall-hook
+ 
+ install: install-exec-hook
+-	if test ! -e ${DESTDIR}/@sysconfdir@/tcsd.conf; then mkdir -p ${DESTDIR}/@sysconfdir@ && cp tcsd.conf ${DESTDIR}/@sysconfdir@; fi
+-	/bin/chown tss:tss ${DESTDIR}/@sysconfdir@/tcsd.conf || true
+-	/bin/chmod 0600 ${DESTDIR}/@sysconfdir@/tcsd.conf
++#	echo if test ! -e ${DESTDIR}/@sysconfdir@/tcsd.conf; then mkdir -p ${DESTDIR}/@sysconfdir@ && cp tcsd.conf ${DESTDIR}/@sysconfdir@; fi
++	echo /bin/chown tss:tss ${DESTDIR}/@sysconfdir@/tcsd.conf || true
++	echo /bin/chmod 0600 ${DESTDIR}/@sysconfdir@/tcsd.conf
+ 
+ install-exec-hook:
+-	/usr/sbin/groupadd tss || true
+-	/usr/sbin/useradd -r tss -g tss || true
+-	/bin/sh -c 'if [ ! -e ${DESTDIR}/@localstatedir@/lib/tpm ];then mkdir -p ${DESTDIR}/@localstatedir@/lib/tpm; fi'
+-	/bin/chown tss:tss ${DESTDIR}/@localstatedir@/lib/tpm || true
+-	/bin/chmod 0700 ${DESTDIR}/@localstatedir@/lib/tpm
++	echo /usr/sbin/groupadd tss || true
++	echo /usr/sbin/useradd -r tss -g tss || true
++	echo /bin/sh -c 'if [ ! -e ${DESTDIR}/@localstatedir@/lib/tpm ];then mkdir -p ${DESTDIR}/@localstatedir@/lib/tpm; fi'
++	echo /bin/chown tss:tss ${DESTDIR}/@localstatedir@/lib/tpm || true
++	echo /bin/chmod 0700 ${DESTDIR}/@localstatedir@/lib/tpm
+ 
+ uninstall-hook:
+ 	/usr/sbin/userdel tss || true
diff --git a/pkgs/tools/security/trousers/double-installed-man-page.patch b/pkgs/tools/security/trousers/double-installed-man-page.patch
new file mode 100644
index 0000000000000..6b40716120ea4
--- /dev/null
+++ b/pkgs/tools/security/trousers/double-installed-man-page.patch
@@ -0,0 +1,32 @@
+--- trousers-0.3.11/man/man3/Makefile.am	2013-08-14 04:57:47.018494495 +0200
++++ trousers-0.3.11/man/man3/Makefile.am	2013-08-14 04:58:10.353453471 +0200
+@@ -75,7 +75,6 @@
+ 	    Tspi_TPM_TakeOwnership.3 \
+ 	    Tspi_TPM_GetAuditDigest.3 \
+ 	    Tspi_TPM_OwnerGetSRKPubKey.3 \
+-	    Tspi_TPM_Quote.3 \
+ 	    Tspi_TPM_CMKSetRestrictions.3
+ if TSS_BUILD_DAA
+ man3_MANS += Tspi_DAA_IssueCredential.3 \
+--- trousers-0.3.11/man/man3/Makefile.in	2013-08-14 05:06:25.029490899 +0200
++++ trousers-0.3.11/man/man3/Makefile.in	2013-08-14 05:06:43.153457942 +0200
+@@ -243,7 +243,7 @@
+ 	Tspi_TPM_PcrExtend.3 Tspi_TPM_Quote.3 Tspi_TPM_SelfTestFull.3 \
+ 	Tspi_TPM_SetStatus.3 Tspi_TPM_StirRandom.3 \
+ 	Tspi_TPM_TakeOwnership.3 Tspi_TPM_GetAuditDigest.3 \
+-	Tspi_TPM_OwnerGetSRKPubKey.3 Tspi_TPM_Quote.3 \
++	Tspi_TPM_OwnerGetSRKPubKey.3 \
+ 	Tspi_TPM_CMKSetRestrictions.3 $(am__append_1)
+ EXTRA_DIST = $(man3_MANS)
+ all: all-am
+--- trousers-0.3.11/man/man3/Makefile	2013-08-14 05:07:05.686414845 +0200
++++ trousers-0.3.11/man/man3/Makefile	2013-08-14 05:07:23.233381327 +0200
+@@ -243,7 +243,7 @@
+ 	Tspi_TPM_PcrExtend.3 Tspi_TPM_Quote.3 Tspi_TPM_SelfTestFull.3 \
+ 	Tspi_TPM_SetStatus.3 Tspi_TPM_StirRandom.3 \
+ 	Tspi_TPM_TakeOwnership.3 Tspi_TPM_GetAuditDigest.3 \
+-	Tspi_TPM_OwnerGetSRKPubKey.3 Tspi_TPM_Quote.3 \
++	Tspi_TPM_OwnerGetSRKPubKey.3 \
+ 	Tspi_TPM_CMKSetRestrictions.3 $(am__append_1)
+ EXTRA_DIST = $(man3_MANS)
+ all: all-am
diff --git a/pkgs/tools/system/acct/default.nix b/pkgs/tools/system/acct/default.nix
index 071504368b7f2..0bea6bec35470 100644
--- a/pkgs/tools/system/acct/default.nix
+++ b/pkgs/tools/system/acct/default.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/acct/;
 
     maintainers = [ ];
-    platforms = stdenv.lib.platforms.allBut "i686-cygwin";
+    platforms = with stdenv.lib.platforms; allBut cygwin;
   };
 }
diff --git a/pkgs/tools/system/ddrescue/default.nix b/pkgs/tools/system/ddrescue/default.nix
index 8117906585cc9..e247c84dcf908 100644
--- a/pkgs/tools/system/ddrescue/default.nix
+++ b/pkgs/tools/system/ddrescue/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl, lzip }:
 
 stdenv.mkDerivation rec {
-  name = "ddrescue-1.17";
+  name = "ddrescue-1.18.1";
 
   src = fetchurl {
     url = "mirror://gnu/ddrescue/${name}.tar.lz";
-    sha256 = "0bvmsbzli2j4czwkabzs978n1y6vx31axh02kpgcf7033cc6rydy";
+    sha256 = "1ad1ifby89wys8lxh4d24y5lih6hkz54jhv6sf6bs1i7sd7lnqaq";
   };
 
   buildInputs = [ lzip ];
 
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "GNU ddrescue, a data recovery tool";
 
     longDescription =
@@ -40,9 +40,9 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/ddrescue/ddrescue.html;
 
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
 
-    platforms = stdenv.lib.platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ iElectric ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ iElectric ];
   };
 }
diff --git a/pkgs/tools/system/plan9port/builder.sh b/pkgs/tools/system/plan9port/builder.sh
index 729da7015d9a1..f97706fa71909 100644
--- a/pkgs/tools/system/plan9port/builder.sh
+++ b/pkgs/tools/system/plan9port/builder.sh
@@ -2,14 +2,17 @@ source $stdenv/setup
 
 tar xvfz $src
 
-cd plan9
+cd plan9port
+
+cflags="echo \"CFLAGS='-I${libXt}/include'\" >> \$PLAN9/config"
+
+sed -i "43i\\${cflags}" INSTALL
 
 for p in $patches; do
   echo "applying patch $p"
   patch -p1 < $p
 done
 
-./INSTALL -b
 ./INSTALL -r $out/plan9
 
 export PLAN9=$out/plan9
diff --git a/pkgs/tools/system/plan9port/default.nix b/pkgs/tools/system/plan9port/default.nix
index f166f198b70db..39dba1c182dbb 100644
--- a/pkgs/tools/system/plan9port/default.nix
+++ b/pkgs/tools/system/plan9port/default.nix
@@ -1,26 +1,32 @@
-{stdenv, fetchurl, libX11
+{stdenv, fetchurl, libX11, libXt
 , xproto ? null
-, libXt ? null
 , xextproto ? null
 , libXext ? null }:
 
 stdenv.mkDerivation rec {
-  name = "plan9port-20140228";
+  name = "plan9port-20140306";
 
   patches = [ ./fontsrv.patch ];
 
   builder = ./builder.sh;
 
   src = fetchurl {
-    url = "http://swtch.com/plan9port/${name}.tgz";
-    sha256 = "1l7nsjfrrcq0l43kw0f1437jz3nyl9qw7i2vn0sbmcsv5vmsj0cr";
+    url = "https://plan9port.googlecode.com/files/${name}.tgz";
+    # Google code is much faster than swtch
+    # url = "http://swtch.com/plan9port/${name}.tgz";
+    sha256 = "1sza12j3db7i54r3pzli8wmby6aiyzmyfj8w0nidmawkwv6jdf6b";
   };
 
   buildInputs = stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 xproto libXt xextproto libXext ];
 
-  meta = {
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
     homepage = "http://swtch.com/plan9port/";
     description = "Plan 9 from User Space";
-    license="free";
+    license = licenses.lpl-102;
+    platforms = platforms.unix;
   };
+
+  inherit libXt;
 }
diff --git a/pkgs/tools/system/sizes/default.nix b/pkgs/tools/system/sizes/default.nix
index c8c983b417049..a20a40f701c24 100644
--- a/pkgs/tools/system/sizes/default.nix
+++ b/pkgs/tools/system/sizes/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "sizes";
-  version = "2.3.1.1";
-  sha256 = "1k7rvcj5sp30zwm16wnsw40y4rkqnfxlrl3ridqhp91q8286qjbs";
+  version = "2.3.2";
+  sha256 = "0xns0xl3khks1jvsmxh0nqf1saxs7qscvkbcg4270pp7n6lziqdg";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/tools/system/tree/default.nix b/pkgs/tools/system/tree/default.nix
index f14d4affae795..e108589aaefee 100644
--- a/pkgs/tools/system/tree/default.nix
+++ b/pkgs/tools/system/tree/default.nix
@@ -8,7 +8,7 @@ let
   # manually, so we have to duplicate the know how here.
   systemFlags =
     if stdenv.isDarwin then ''
-      CFLAGS="-O2 -Wall -fomit-frame-pointer -no-cpp-precomp"
+      CFLAGS="-O2 -Wall -fomit-frame-pointer"
       LDFLAGS=
       EXTRA_OBJS=strverscmp.o
     '' else if stdenv.isCygwin then ''
diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix
index eeac7b7f63fad..eb8db0a44a5f7 100644
--- a/pkgs/tools/text/kdiff3/default.nix
+++ b/pkgs/tools/text/kdiff3/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, cmake, kdelibs, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "kdiff3-0.9.97";
+  name = "kdiff3-0.9.98";
   src = fetchurl {
     url = "mirror://sourceforge/kdiff3/${name}.tar.gz";
-    sha256 = "0ajsnzfr0aqzdiv5wqssxsgfv87v4g5c2zl16264v0cw8jxiddz3";
+    sha256 = "0s6n1whkf5ck2r8782a9l8b736cj2p05and1vjjh7d02pax1lb40";
   };
 
   buildInputs = [ kdelibs ];
diff --git a/pkgs/tools/typesetting/pdfgrep/default.nix b/pkgs/tools/typesetting/pdfgrep/default.nix
new file mode 100644
index 0000000000000..e05e4d16a06ec
--- /dev/null
+++ b/pkgs/tools/typesetting/pdfgrep/default.nix
@@ -0,0 +1,32 @@
+{ fetchurl, stdenv, pkgconfig, poppler, poppler_data, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "pdfgrep-${version}";
+  version = "1.3.1";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/pdfgrep/${version}/${name}.tar.gz";
+    sha256 = "6e8bcaf8b219e1ad733c97257a97286a94124694958c27506b2ea7fc8e532437";
+  };
+
+  buildInputs = [ pkgconfig poppler poppler_data makeWrapper ];
+
+  patchPhase = ''
+    sed -i -e "s%cpp/poppler-document.h%poppler/cpp/poppler-document.h%" pdfgrep.cc
+    sed -i -e "s%cpp/poppler-page.h%poppler/cpp/poppler-page.h%" pdfgrep.cc
+  '';
+
+  # workarround since it can't be hardcoded in pdfgrep
+  preFixup = ''
+    wrapProgram "$out/bin/pdfgrep" \
+      --set POPPLER_DATADIR "${poppler_data}/share/poppler"
+  '';
+
+  meta = {
+    description = "a tool to search text in PDF files";
+    homepage = http://pdfgrep.sourceforge.net/;
+    license = "free";
+    maintainers = with stdenv.lib.maintainers; [qknight];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c3d5f802b52a9..4cb95ecc6bb0e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -164,7 +164,7 @@ let
 
   ### Symbolic names.
 
-  x11 = if stdenv.isDarwin then darwinX11AndOpenGL else xlibsWrapper;
+  x11 = xlibsWrapper;
 
   # `xlibs' is the set of X library components.  This used to be the
   # old modular X llibraries project (called `xlibs') but now it's just
@@ -231,6 +231,8 @@ let
       else
         defaultStdenv;
 
+  stdenvApple = stdenvAdapters.overrideGCC allStdenvs.stdenvNative gccApple;
+
   forceNativeDrv = drv : if crossSystem == null then drv else
     (drv // { crossDrv = drv.nativeDrv; });
 
@@ -593,24 +595,27 @@ let
 
   byobu = callPackage ../tools/misc/byobu { };
 
+  capstone = callPackage ../development/libraries/capstone { };
+
   catdoc = callPackage ../tools/text/catdoc { };
 
   ccnet = callPackage ../tools/networking/ccnet { };
 
-  capstone = callPackage ../development/libraries/capstone { };
+  consul = callPackage ../servers/consul { };
+  consul_ui = callPackage ../servers/consul/ui.nix { };
 
   coprthr = callPackage ../development/libraries/coprthr {
     flex = flex_2_5_35;
   };
 
-  cv = callPackage ../tools/misc/cv { };
-
   crawl = callPackage ../games/crawl { lua = lua5; };
 
-  ditaa = callPackage ../tools/graphics/ditaa { };
+  cv = callPackage ../tools/misc/cv { };
 
   direnv = callPackage ../tools/misc/direnv { };
 
+  ditaa = callPackage ../tools/graphics/ditaa { };
+
   dlx = callPackage ../misc/emulators/dlx { };
 
   eggdrop = callPackage ../tools/networking/eggdrop { };
@@ -962,9 +967,7 @@ let
 
   emv = callPackage ../tools/misc/emv { };
 
-  enblendenfuse = callPackage ../tools/graphics/enblend-enfuse {
-    boost = boost149;
-  };
+  enblendenfuse = callPackage ../tools/graphics/enblend-enfuse { };
 
   encfs = callPackage ../tools/filesystems/encfs { };
 
@@ -1117,6 +1120,8 @@ let
 
   glusterfs = callPackage ../tools/filesystems/glusterfs { };
 
+  glmark2 = callPackage ../tools/graphics/glmark2 { };
+
   glxinfo = callPackage ../tools/graphics/glxinfo { };
 
   gmvault = callPackage ../tools/networking/gmvault { };
@@ -1152,18 +1157,9 @@ let
     libassuan = libassuan2_1;
   });
 
-  gnuplot = callPackage ../tools/graphics/gnuplot {
-    texLive = null;
-    lua = null;
-    texinfo = texinfo4; # build errors with gnuplot-4.6.3
-
-    # use gccApple to compile on darwin, seems to resolve a malloc error
-    stdenv = if stdenv.isDarwin
-      then stdenvAdapters.overrideGCC stdenv gccApple
-      else stdenv;
-  };
+  gnuplot = callPackage ../tools/graphics/gnuplot { };
 
-  gnuplot_qt = gnuplot.override { qt = qt4; };
+  gnuplot_qt = gnuplot.override { withQt = true; };
 
   # must have AquaTerm installed separately
   gnuplot_aquaterm = gnuplot.override { aquaterm = true; };
@@ -1381,6 +1377,8 @@ let
   kippo = callPackage ../servers/kippo { };
 
   klavaro = callPackage ../games/klavaro {};
+  
+  kzipmix = callPackage_i686 ../tools/compression/kzipmix { };
 
   minidlna = callPackage ../tools/networking/minidlna {
     ffmpeg = ffmpeg_0_10;
@@ -1783,6 +1781,8 @@ let
   };
 
   p0f = callPackage ../tools/security/p0f { };
+  
+  pngout = callPackage ../tools/graphics/pngout { };
 
   hurdPartedCross =
     if crossSystem != null && crossSystem.config == "i586-pc-gnu"
@@ -2173,6 +2173,8 @@ let
 
   tcpcrypt = callPackage ../tools/security/tcpcrypt { };
 
+  tboot = callPackage ../tools/security/tboot { };
+
   tcpdump = callPackage ../tools/networking/tcpdump { };
 
   tcpflow = callPackage ../tools/networking/tcpflow { };
@@ -2212,8 +2214,14 @@ let
 
   torsocks = callPackage ../tools/security/tor/torsocks.nix { };
 
+  tpm-quote-tools = callPackage ../tools/security/tpm-quote-tools { };
+
+  tpm-tools = callPackage ../tools/security/tpm-tools { };
+
   trickle = callPackage ../tools/networking/trickle {};
 
+  trousers = callPackage ../tools/security/trousers { };
+
   ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { };
 
   ttysnoop = callPackage ../os-specific/linux/ttysnoop {};
@@ -2224,6 +2232,8 @@ let
 
   ucl = callPackage ../development/libraries/ucl { };
 
+  ucspi-tcp = callPackage ../tools/networking/ucspi-tcp { };
+
   udftools = callPackage ../tools/filesystems/udftools {};
 
   udptunnel = callPackage ../tools/networking/udptunnel { };
@@ -2457,6 +2467,8 @@ let
 
   xclip = callPackage ../tools/misc/xclip { };
 
+  xtitle = callPackage ../tools/misc/xtitle { };
+
   xdelta = callPackage ../tools/compression/xdelta { };
 
   xdummy = callPackage ../tools/misc/xdummy { };
@@ -2578,10 +2590,8 @@ let
   };
 
   clangUnwrapped = llvm: pkg: callPackage pkg {
-      stdenv = if stdenv.isDarwin
-         then stdenvAdapters.overrideGCC stdenv gccApple
-         else stdenv;
-      llvm = llvm;
+    stdenv = if stdenv.isDarwin then stdenvApple else stdenv;
+    inherit llvm;
   };
 
   clangSelf = clangWrapSelf llvmPackagesSelf.clang;
@@ -3095,9 +3105,7 @@ let
   llvm_33 = llvm_v ../development/compilers/llvm/3.3/llvm.nix;
 
   llvm_v = path: callPackage path {
-    stdenv = if stdenv.isDarwin
-      then stdenvAdapters.overrideGCC stdenv gccApple
-      else stdenv;
+    stdenv = if stdenv.isDarwin then stdenvApple else stdenv;
   };
 
   llvmPackages = if !stdenv.isDarwin then llvmPackages_34 else llvmPackages_34 // {
@@ -3298,7 +3306,7 @@ let
 
   ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { };
 
-  opa = let callPackage = newScope pkgs.ocamlPackages_3_12_1; in callPackage ../development/compilers/opa { };
+  opa = let callPackage = newScope pkgs.ocamlPackages_4_00_1; in callPackage ../development/compilers/opa { };
 
   ocamlnat = let callPackage = newScope pkgs.ocamlPackages_3_12_1; in callPackage ../development/ocaml-modules/ocamlnat { };
 
@@ -3673,6 +3681,8 @@ let
     inherit (pythonPackages) pysqlite;
   };
 
+  xulrunner_30 = firefox30Pkgs.xulrunner;
+
 
   ### DEVELOPMENT / MISC
 
@@ -4133,7 +4143,9 @@ let
 
   spin = callPackage ../development/tools/analysis/spin { };
 
-  splint = callPackage ../development/tools/analysis/splint { };
+  splint = callPackage ../development/tools/analysis/splint {
+    flex = flex_2_5_35;
+  };
 
   stm32flash = callPackage ../development/tools/misc/stm32flash { };
 
@@ -4547,8 +4559,7 @@ let
 
   freealut = callPackage ../development/libraries/freealut { };
 
-  freeglut = if stdenv.isDarwin then darwinX11AndOpenGL else
-    callPackage ../development/libraries/freeglut { };
+  freeglut = callPackage ../development/libraries/freeglut { };
 
   freetype = callPackage ../development/libraries/freetype { };
 
@@ -4731,7 +4742,7 @@ let
   gperftools = callPackage ../development/libraries/gperftools { };
 
   gst_all_1 = recurseIntoAttrs(callPackage ../development/libraries/gstreamer {
-    callPackage = pkgs.newScope (pkgs // { libav = pkgs.libav_9; });
+    callPackage = pkgs.newScope (pkgs // { libav = pkgs.libav_10; });
   });
 
   gst_all = {
@@ -5531,15 +5542,11 @@ let
 
   liburcu = callPackage ../development/libraries/liburcu { };
 
-  libusb = callPackage ../development/libraries/libusb {
-    stdenv = if stdenv.isDarwin
-      then overrideGCC stdenv gccApple
-      else stdenv;
-  };
+  libusb = callPackage ../development/libraries/libusb {};
 
   libusb1 = callPackage ../development/libraries/libusb1 {
-    stdenv = if stdenv.isDarwin # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50909
-      then overrideGCC stdenv gccApple
+    stdenv = if stdenv.isDarwin
+      then clangStdenv
       else stdenv;
   };
 
@@ -5669,25 +5676,25 @@ let
 
   mesaSupported = lib.elem system lib.platforms.mesaPlatforms;
 
-  mesa_original = callPackage ../development/libraries/mesa {
+  mesaDarwinOr = alternative: if stdenv.isDarwin
+    then callPackage ../development/libraries/mesa-darwin { }
+    else alternative;
+  mesa_noglu = mesaDarwinOr (callPackage ../development/libraries/mesa {
     # makes it slower, but during runtime we link against just mesa_drivers
     # through /run/opengl-driver*, which is overriden according to config.grsecurity
     grsecEnabled = true;
-  };
-
-  mesa_noglu = if stdenv.isDarwin
-    then darwinX11AndOpenGL // { driverLink = mesa_noglu; }
-    else mesa_original;
-  mesa_drivers = let
-      mo = mesa_original.override { grsecEnabled = config.grsecurity or false; };
-    in mo.drivers;
-  mesa_glu = callPackage ../development/libraries/mesa-glu { };
-  mesa = if stdenv.isDarwin then darwinX11AndOpenGL
-    else buildEnv {
-      name = "mesa-${mesa_noglu.version}";
-      paths = [ mesa_glu mesa_noglu ];
+  });
+  mesa_glu =  mesaDarwinOr (callPackage ../development/libraries/mesa-glu { });
+  mesa_drivers = mesaDarwinOr (
+    let mo = mesa_noglu.override {
+      grsecEnabled = config.grsecurity or false;
     };
-  darwinX11AndOpenGL = callPackage ../os-specific/darwin/native-x11-and-opengl { };
+    in mo.drivers
+  );
+  mesa = mesaDarwinOr (buildEnv {
+    name = "mesa-${mesa_noglu.version}";
+    paths = [ mesa_noglu mesa_glu ];
+  });
 
   metaEnvironment = recurseIntoAttrs (let callPackage = newScope pkgs.metaEnvironment; in rec {
     sdfLibrary    = callPackage ../development/libraries/sdf-library { aterm = aterm28; };
@@ -6228,6 +6235,8 @@ let
 
   suitesparse = callPackage ../development/libraries/suitesparse { };
 
+  sutils = callPackage ../tools/misc/sutils { };
+
   sword = callPackage ../development/libraries/sword { };
 
   szip = callPackage ../development/libraries/szip { };
@@ -6390,6 +6399,8 @@ let
   xbase = callPackage ../development/libraries/xbase { };
 
   xcb-util-cursor = callPackage ../development/libraries/xcb-util-cursor { };
+ 
+  xdo = callPackage ../tools/misc/xdo { };
 
   xineLib = callPackage ../development/libraries/xine-lib {
     ffmpeg = ffmpeg_1;
@@ -6413,6 +6424,8 @@ let
 
   xvidcore = callPackage ../development/libraries/xvidcore { };
 
+  xylib = callPackage ../development/libraries/xylib { };
+
   yajl = callPackage ../development/libraries/yajl { };
 
   zangband = builderDefsPackage (import ../games/zangband) {
@@ -6472,7 +6485,7 @@ let
     stdenv = overrideInStdenv stdenv [gnumake380];
   };
 
-  junit = callPackage ../development/libraries/java/junit { };
+  junit = callPackage ../development/libraries/java/junit { antBuild = releaseTools.antBuild; };
 
   junixsocket = callPackage ../development/libraries/java/junixsocket { };
 
@@ -6858,6 +6871,12 @@ let
     bluez = null;
     avahi = null;
   };
+  pulseaudioFull = pulseaudio.override {
+    bluez = bluez5;
+    avahi = avahi;
+    jackaudioSupport = true;
+    x11Support = true;
+  };
 
   tomcat_connectors = callPackage ../servers/http/apache-modules/tomcat-connectors { };
 
@@ -6934,12 +6953,7 @@ let
 
   radius = callPackage ../servers/radius { };
 
-  redis = callPackage ../servers/nosql/redis {
-    stdenv =
-      if stdenv.isDarwin
-      then overrideGCC stdenv gccApple
-      else stdenv;
-  };
+  redis = callPackage ../servers/nosql/redis { };
 
   redstore = callPackage ../servers/http/redstore { };
 
@@ -7010,12 +7024,17 @@ let
 
   xinetd = callPackage ../servers/xinetd { };
 
+  xquartz = callPackage ../servers/x11/xquartz { };
+  quartz-wm = callPackage ../servers/x11/quartz-wm { stdenv = clangStdenv; };
+
   xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix {
-    inherit fetchurl fetchgit fetchpatch stdenv pkgconfig intltool freetype fontconfig
-      libxslt expat libdrm libpng zlib perl mesa_drivers
+    inherit clangStdenv fetchurl fetchgit fetchpatch stdenv pkgconfig intltool freetype fontconfig
+      libxslt expat libpng zlib perl mesa_drivers
       dbus libuuid openssl gperf m4
-      autoconf automake libtool xmlto asciidoc udev flex bison python mtdev pixman;
+      autoconf automake libtool xmlto asciidoc flex bison python mtdev pixman;
     mesa = mesa_noglu;
+    udev = if stdenv.isLinux then udev else null;
+    libdrm = if stdenv.isLinux then libdrm else null;
   } // {
     xf86videointel-testing = callPackage ../servers/x11/xorg/xf86-video-intel-testing.nix { };
   });
@@ -8169,6 +8188,8 @@ let
 
   inherit (gnome3) baobab;
 
+  bar = callPackage ../applications/window-managers/bar { };
+
   baresip = callPackage ../applications/networking/instant-messengers/baresip {
     ffmpeg = ffmpeg_1;
   };
@@ -8201,6 +8222,8 @@ let
 
   bristol = callPackage ../applications/audio/bristol { };
 
+  bspwm = callPackage ../applications/window-managers/bspwm { };
+
   bvi = callPackage ../applications/editors/bvi { };
 
   calf = callPackage ../applications/audio/calf {
@@ -8397,11 +8420,6 @@ let
     librsvg = null;
     alsaLib = null;
     imagemagick = null;
-
-    # resolve unrecognized section __static_data in __DATA segment
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
   };
 
   emacs24-nox = lowPrio (appendToName "nox" (emacs24.override {
@@ -8409,10 +8427,7 @@ let
   }));
 
   emacs24Macport = lowPrio (callPackage ../applications/editors/emacs-24/macport.nix {
-    # resolve unrecognised flag '-fconstant-cfstrings' errors
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
+    stdenv = pkgs.clangStdenv;
   });
 
   emacsPackages = emacs: self: let callPackage = newScope self; in rec {
@@ -8664,6 +8679,12 @@ let
 
   firefox13Wrapper = wrapFirefox { browser = firefox13Pkgs.firefox; };
 
+  firefox30Pkgs = callPackage ../applications/networking/browsers/firefox/30.nix {
+    inherit (gnome) libIDL;
+    inherit (pythonPackages) pysqlite;
+    libpng = libpng_apng;
+  };
+
   firefox = callPackage ../applications/networking/browsers/firefox {
     inherit (gnome) libIDL;
     inherit (pythonPackages) pysqlite;
@@ -9110,6 +9131,8 @@ let
 
   lrzsz = callPackage ../tools/misc/lrzsz { };
 
+  luminanceHDR = callPackage ../applications/graphics/luminance-hdr { };
+
   lxdvdrip = callPackage ../applications/video/lxdvdrip { };
 
   handbrake = callPackage ../applications/video/handbrake { };
@@ -9315,6 +9338,8 @@ let
   };
 
   synfigstudio = callPackage ../applications/graphics/synfigstudio { };
+ 
+  sxhkd = callPackage ../applications/window-managers/sxhkd { };
 
   msmtp = callPackage ../applications/networking/msmtp { };
 
@@ -9411,6 +9436,7 @@ let
   };
 
   pdftk = callPackage ../tools/typesetting/pdftk { };
+  pdfgrep  = callPackage ../tools/typesetting/pdfgrep { };
 
   pianobar = callPackage ../applications/audio/pianobar { };
 
@@ -9477,6 +9503,8 @@ let
 
   qbittorrent = callPackage ../applications/networking/p2p/qbittorrent { };
 
+  eiskaltdcpp = callPackage ../applications/networking/p2p/eiskaltdcpp { };
+
   qemu = callPackage ../applications/virtualization/qemu { };
 
   qmmp = callPackage ../applications/audio/qmmp { };
@@ -9726,6 +9754,8 @@ let
 
   taskwarrior = callPackage ../applications/misc/taskwarrior { };
 
+  taskserver = callPackage ../servers/misc/taskserver { };
+
   telegram-cli = callPackage ../applications/networking/instant-messengers/telegram-cli/default.nix { };
 
   telepathy_gabble = callPackage ../applications/networking/instant-messengers/telepathy/gabble { };
@@ -9789,13 +9819,7 @@ let
 
   trayer = callPackage ../applications/window-managers/trayer { };
 
-  tree = callPackage ../tools/system/tree {
-    # use gccApple to compile on darwin as the configure script adds a
-    # -no-cpp-precomp flag, which is not compatible with the default gcc
-    stdenv = if stdenv.isDarwin
-      then stdenvAdapters.overrideGCC stdenv gccApple
-      else stdenv;
-  };
+  tree = callPackage ../tools/system/tree {};
 
   tribler = callPackage ../applications/networking/p2p/tribler { };
 
@@ -10137,7 +10161,9 @@ let
 
   zgrviewer = callPackage ../applications/graphics/zgrviewer {};
 
-  zotero = callPackage ../applications/office/zotero { };
+  zotero = callPackage ../applications/office/zotero {
+    xulrunner = xulrunner_30;
+  };
 
   zynaddsubfx = callPackage ../applications/audio/zynaddsubfx { };
 
@@ -11000,6 +11026,8 @@ let
     inherit (pkgs.gnome) gtkglext;
   };
 
+  fityk = callPackage ../applications/science/misc/fityk { };
+
   gravit = callPackage ../applications/science/astronomy/gravit { };
 
   golly = callPackage ../applications/science/misc/golly { };
diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix
index 45c3ab9cb953c..20f695a0d2369 100644
--- a/pkgs/top-level/haskell-defaults.nix
+++ b/pkgs/top-level/haskell-defaults.nix
@@ -27,11 +27,13 @@
   };
 
   ghc763Prefs = self : super : ghc783Prefs self super // {
+    aeson = self.aeson_0_7_0_4;
     ariadne = super.ariadne.override {
       haskellNames = self.haskellNames.override {
         haskellPackages = self.haskellPackages.override { Cabal = self.Cabal_1_18_1_3; };
       };
     };
+    attoparsec = self.attoparsec_0_11_3_1;
     binaryConduit = super.binaryConduit.override { binary = self.binary_0_7_2_1; };
     bson = super.bson.override { dataBinaryIeee754 = self.dataBinaryIeee754.override { binary = self.binary_0_7_2_1; }; };
     criterion = super.criterion.override {
@@ -48,6 +50,7 @@
     distributedStatic = super.distributedStatic.override { binary = self.binary_0_7_2_1; };
     networkTransport = super.networkTransport.override { binary = self.binary_0_7_2_1; };
     distributedProcess = super.distributedProcess.override { binary = self.binary_0_7_2_1; };
+    scientific = self.scientific_0_2_0_2;
     singletons = null;                  # requires base >= 4.7
     transformers = self.transformers_0_3_0_0; # core packagen in ghc > 7.6.x
     zipArchive = super.zipArchive_0_2_2_1;    # works without binary 0.7.x
@@ -55,12 +58,10 @@
 
   ghc742Prefs = self : super : ghc763Prefs self super // {
     aeson = self.aeson_0_7_0_4.override { blazeBuilder = self.blazeBuilder; };
-    attoparsec = self.attoparsec_0_11_3_1;
     extensibleExceptions = null;        # core package in ghc <= 7.4.x
     hackageDb = super.hackageDb.override { Cabal = self.Cabal_1_16_0_3; };
     haddock = self.haddock_2_11_0;
     haskeline = super.haskeline.override { cabal = self.cabal.override { Cabal = self.Cabal_1_16_0_3; }; };
-    scientific = self.scientific_0_2_0_2;
     shelly = self.shelly_0_15_4_1;
   };
 
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index a30cc39e4d8e1..38de9fb175858 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -142,9 +142,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   AES = callPackage ../development/libraries/haskell/AES {};
 
   aeson_0_7_0_4 = callPackage ../development/libraries/haskell/aeson/0.7.0.4.nix { blazeBuilder = null; };
-  aeson_0_7_0_6 = callPackage ../development/libraries/haskell/aeson/0.7.0.6.nix { blazeBuilder = null; };
   aeson_0_8_0_0 = callPackage ../development/libraries/haskell/aeson/0.8.0.0.nix { blazeBuilder = null; };
-  aeson = self.aeson_0_7_0_6;   # 0.8.0.0 breaks too many packages at the moment
+  aeson = self.aeson_0_8_0_0;
 
   aesonPretty = callPackage ../development/libraries/haskell/aeson-pretty {};
 
@@ -223,8 +222,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   base64Bytestring = callPackage ../development/libraries/haskell/base64-bytestring {};
 
-  base64Conduit = callPackage ../development/libraries/haskell/base64-conduit {};
-
   baseCompat = callPackage ../development/libraries/haskell/base-compat {};
 
   baseUnicodeSymbols = callPackage ../development/libraries/haskell/base-unicode-symbols {};
@@ -311,6 +308,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   boomerang = callPackage ../development/libraries/haskell/boomerang {};
 
+  bound = callPackage ../development/libraries/haskell/bound {};
+
   bv = callPackage ../development/libraries/haskell/bv {};
 
   byteable = callPackage ../development/libraries/haskell/byteable {};
@@ -773,7 +772,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   Extra = callPackage ../development/libraries/haskell/Extra {};
 
-  fay = callPackage ../development/libraries/haskell/fay {};
+  fay = callPackage ../development/libraries/haskell/fay { aeson = self.aeson_0_7_0_4; };
 
   fayBase = callPackage ../development/libraries/haskell/fay-base {};
 
@@ -781,7 +780,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   fdoNotify = callPackage ../development/libraries/haskell/fdo-notify {};
 
-  filepath_1_3_0_2 = callPackage ../development/libraries/haskell/filepath/1.3.0.2.nix {};
   filepath = null;              # core package since forever
 
   fileLocation = callPackage ../development/libraries/haskell/file-location {};
@@ -844,6 +842,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   forceLayout = callPackage ../development/libraries/haskell/force-layout {};
 
+  formatting = callPackage ../development/libraries/haskell/formatting {};
+
   free = callPackage ../development/libraries/haskell/free {};
 
   freeGame = callPackage ../development/libraries/haskell/free-game {};
@@ -994,6 +994,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   gtkTraymanager = callPackage ../development/libraries/haskell/gtk-traymanager {};
 
+  Graphalyze = callPackage ../development/libraries/haskell/Graphalyze {};
+
   graphviz = callPackage ../development/libraries/haskell/graphviz {};
 
   graphSCC = callPackage ../development/libraries/haskell/graphscc {};
@@ -1022,6 +1024,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   hashable_1_2_2_0 = callPackage ../development/libraries/haskell/hashable/1.2.2.0.nix {};
   hashable = self.hashable_1_2_2_0;
 
+  hashableExtras = callPackage ../development/libraries/haskell/hashable-extras {};
+
   hashedStorage = callPackage ../development/libraries/haskell/hashed-storage {};
 
   hashtables = callPackage ../development/libraries/haskell/hashtables {};
@@ -1042,6 +1046,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   haskellNames = callPackage ../development/libraries/haskell/haskell-names {};
 
+  HaskellNet = callPackage ../development/libraries/haskell/HaskellNet {};
+
   haskellPackages = callPackage ../development/libraries/haskell/haskell-packages {};
 
   haskellSrc_1_0_1_3 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.3.nix {};
@@ -1054,8 +1060,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   haskellSrcMeta = callPackage ../development/libraries/haskell/haskell-src-meta {};
 
-  haskellTokenUtils = callPackage ../development/libraries/haskell/haskell-token-utils {};
-
   haskintex = callPackage ../development/libraries/haskell/haskintex {};
 
   haskore = callPackage ../development/libraries/haskell/haskore {};
@@ -1064,6 +1068,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hasteCompiler = callPackage ../development/libraries/haskell/haste-compiler {};
 
+  hastePerch = callPackage ../development/libraries/haskell/haste-perch {};
+
   HaTeX = callPackage ../development/libraries/haskell/HaTeX {};
 
   hcltest = callPackage ../development/libraries/haskell/hcltest {};
@@ -1078,6 +1084,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hourglass = callPackage ../development/libraries/haskell/hourglass {};
 
+  hplayground = callPackage ../development/libraries/haskell/hplayground {};
+
   hseCpp = callPackage ../development/libraries/haskell/hse-cpp {};
 
   hsimport = callPackage ../development/libraries/haskell/hsimport {};
@@ -1168,7 +1176,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   HList = callPackage ../development/libraries/haskell/HList {};
 
-  hmatrix = callPackage ../development/libraries/haskell/hmatrix {};
+  hmatrix = callPackage ../development/libraries/haskell/hmatrix {
+    liblapack = pkgs.liblapack.override { shared = true; };
+  };
 
   hmatrixSpecial = callPackage ../development/libraries/haskell/hmatrix-special {};
 
@@ -1770,6 +1780,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   parsimony = callPackage ../development/libraries/haskell/parsimony {};
 
+  PastePipe = callPackage ../development/tools/haskell/PastePipe {};
+
   pathtype = callPackage ../development/libraries/haskell/pathtype {};
 
   patternArrows = callPackage ../development/libraries/haskell/pattern-arrows {};
@@ -1880,6 +1892,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   punycode = callPackage ../development/libraries/haskell/punycode {};
 
+  pureCdb = callPackage ../development/libraries/haskell/pure-cdb { testSimple = null; };
+
   primitive_0_5_0_1 = callPackage ../development/libraries/haskell/primitive/0.5.0.1.nix {};
   primitive_0_5_2_1 = callPackage ../development/libraries/haskell/primitive/0.5.2.1.nix {};
   primitive_0_5_3_0 = callPackage ../development/libraries/haskell/primitive/0.5.3.0.nix {};
@@ -1889,8 +1903,6 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   profunctors = callPackage ../development/libraries/haskell/profunctors {};
 
-  profunctorExtras = callPackage ../development/libraries/haskell/profunctor-extras {};
-
   projectTemplate = callPackage ../development/libraries/haskell/project-template {};
 
   processConduit = callPackage ../development/libraries/haskell/process-conduit {};
@@ -2602,7 +2614,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   vty_5_1_4 = callPackage ../development/libraries/haskell/vty/5.1.4.nix {};
   vty = self.vty_5_1_4;
 
-  vtyUi = callPackage ../development/libraries/haskell/vty-ui {};
+  vtyUi = callPackage ../development/libraries/haskell/vty-ui {
+    vty = self.vty_4_7_5;
+  };
 
   wai = callPackage ../development/libraries/haskell/wai {};
 
@@ -2703,6 +2717,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   xmlConduit = callPackage ../development/libraries/haskell/xml-conduit {};
 
+  xmlConduitWriter = callPackage ../development/libraries/haskell/xml-conduit-writer {};
+
   xmlgen = callPackage ../development/libraries/haskell/xmlgen {};
 
   xmlHamlet = callPackage ../development/libraries/haskell/xml-hamlet {};
@@ -2766,8 +2782,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   zeromq4Haskell = callPackage ../development/libraries/haskell/zeromq4-haskell { zeromq = pkgs.zeromq4; };
 
   zipArchive_0_2_2_1 = callPackage ../development/libraries/haskell/zip-archive/0.2.2.1.nix {};
-  zipArchive_0_2_3_2 = callPackage ../development/libraries/haskell/zip-archive/0.2.3.2.nix {};
-  zipArchive = self.zipArchive_0_2_3_2;
+  zipArchive_0_2_3_4 = callPackage ../development/libraries/haskell/zip-archive/0.2.3.4.nix {};
+  zipArchive = self.zipArchive_0_2_3_4;
 
   zipper = callPackage ../development/libraries/haskell/zipper {};
 
@@ -2842,7 +2858,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   happyMeta = callPackage ../development/tools/haskell/happy-meta {};
 
-  HaRe = callPackage ../development/tools/haskell/HaRe {};
+  haskellDocs = callPackage ../development/tools/haskell/haskell-docs {};
 
   haskdogs = callPackage ../development/tools/haskell/haskdogs {};
 
@@ -2865,10 +2881,18 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
     };
   };
 
+  hscope = callPackage ../development/tools/haskell/hscope { testSimple = null; };
+
   hslogger = callPackage ../development/tools/haskell/hslogger {};
 
+  pointfree = callPackage ../development/tools/haskell/pointfree {};
+
+  pointful = callPackage ../development/tools/haskell/pointful {};
+
   ShellCheck = callPackage ../development/tools/misc/ShellCheck { };
 
+  SourceGraph = callPackage ../development/tools/haskell/SourceGraph {};
+
   tar = callPackage ../development/libraries/haskell/tar {};
 
   threadscope = callPackage ../development/tools/haskell/threadscope {};
@@ -3006,6 +3030,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
     };
   };
 
+  Allure = callPackage ../games/Allure {};
+
 # End of the main part of the file.
 
 }
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 9a1fa9391dd87..00c9d0e415106 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -163,11 +163,24 @@ rec {
     pythonDBus = dbus;
   };
 
+  pyqt5 = import ../development/python-modules/pyqt/5.x.nix {
+    inherit (pkgs) stdenv fetchurl pkgconfig qt5 makeWrapper;
+    inherit (pkgs.xorg) lndir;
+    inherit python;
+    sip = sip_4_16;
+    pythonDBus = dbus;
+  };
+
   sip = import ../development/python-modules/sip {
     inherit (pkgs) stdenv fetchurl;
     inherit python;
   };
 
+  sip_4_16 = import ../development/python-modules/sip/4.16.nix {
+    inherit (pkgs) stdenv fetchurl;
+    inherit python;
+  };
+
   tables = import ../development/python-modules/tables {
     inherit (pkgs) stdenv fetchurl bzip2 lzo;
     inherit python buildPythonPackage cython numpy numexpr;
@@ -3739,6 +3752,24 @@ rec {
     };
   });
 
+  httpbin = buildPythonPackage rec {
+    name = "httpbin-0.2.0";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/h/httpbin/${name}.tar.gz";
+      md5 = "9b2bb2fab45f5fa839e9a776a64d6089";
+    };
+
+    propagatedBuildInputs = [ flask markupsafe decorator itsdangerous six ];
+
+    meta = {
+      homepage = https://github.com/kennethreitz/httpbin;
+      description = "HTTP Request & Response Service";
+      license = licenses.mit;
+    };
+
+  };
+
   httplib2 = buildPythonPackage rec {
     name = "httplib2-0.9";
 
@@ -7914,16 +7945,19 @@ rec {
   # cmd.run("tox", "-h")
   # also, buildPythonPackage needs to supply the tox.ini correctly for projects that use tox for their tests
   #
-  # tox = buildPythonPackage rec {
-  #   name = "tox-1.7.0";
-  #
-  #   propagatedBuildInputs = [ py virtualenv ];
-  #
-  #   src = fetchurl {
-  #     url = "https://pypi.python.org/packages/source/t/tox/${name}.tar.gz";
-  #     md5 = "5314ceca2b179ad4a9c79f4d817b8a99";
-  #   };
-  # };
+
+  tox = buildPythonPackage rec {
+    name = "tox-1.7.2";
+  
+    propagatedBuildInputs = [ py virtualenv ];
+
+    doCheck = false;
+  
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/t/tox/${name}.tar.gz";
+      md5 = "0d9b3acb1a9252659d753b0ae6b9b264";
+    };
+  };
 
   smmap = buildPythonPackage rec {
     name = "smmap-0.8.2";
@@ -8141,10 +8175,10 @@ rec {
   });
 
   virtualenv = buildPythonPackage rec {
-    name = "virtualenv-1.11.4";
+    name = "virtualenv-1.11.6";
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/v/virtualenv/${name}.tar.gz";
-      md5 = "9accc2d3f0ec1da479ce2c3d1fdff06e";
+      md5 = "f61cdd983d2c4e6aeabb70b1060d6f49";
     };
 
     inherit recursivePthLoader;
@@ -8206,6 +8240,27 @@ rec {
       substituteInPlace "virtualenvwrapper_lazy.sh" --replace "which" "${pkgs.which}/bin/which"
     '';
 
+    postInstall = ''
+      # This might look like a dirty hack but we can't use the makeWrapper function because
+      # the wrapped file were then called via "exec". The virtualenvwrapper shell scripts
+      # aren't normal executables. Instead, the user has to evaluate them.
+
+      for file in "virtualenvwrapper.sh" "virtualenvwrapper_lazy.sh"; do
+        local wrapper="$out/bin/$file"
+        local wrapped="$out/bin/.$file-wrapped"
+        mv "$wrapper" "$wrapped"
+
+        cat > "$wrapper" <<- EOF
+	export PATH=$PATH:\$PATH
+	export PYTHONPATH=$PYTHONPATH:$(toPythonPath $out):\$PYTHONPATH
+	source "$wrapped"
+	EOF
+
+        chmod -x "$wrapped"
+        chmod +x "$wrapper"
+      done
+    '';
+
     meta = {
       description = "Enhancements to virtualenv";
       homepage = "https://pypi.python.org/pypi/virtualenvwrapper";
@@ -9030,11 +9085,11 @@ rec {
 
   cliapp = buildPythonPackage rec {
     name = "cliapp-${version}";
-    version = "1.20130808";
+    version = "1.20140719";
 
     src = fetchurl rec {
       url = "http://code.liw.fi/debian/pool/main/p/python-cliapp/python-cliapp_${version}.orig.tar.gz";
-      sha256 = "0i9fqkahrc16mnxjw8fcr4hwrq3ibfrj2lzzbzzb7v5yk5dlr532";
+      sha256 = "0kxl2q85n4ggvbw2m8crl11x8n637mx6y3a3b5ydw8nhlsiqijgp";
     };
 
     buildInputs = [ sphinx ];
diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix
index 341f12cbe4746..c447587e36e8f 100644
--- a/pkgs/top-level/release-small.nix
+++ b/pkgs/top-level/release-small.nix
@@ -23,7 +23,7 @@ with import ./release-lib.nix { inherit supportedSystems; };
   aterm28 = all;
   autoconf = all;
   automake = all;
-  avahi = allBut "i686-cygwin";  # Cygwin builds fail
+  avahi = allBut cygwin;  # Cygwin builds fail
   bash = all;
   bashInteractive = all;
   bc = all;
@@ -59,7 +59,7 @@ with import ./release-lib.nix { inherit supportedSystems; };
   gnumake = all;
   gnupatch = all;
   gnupg = linux;
-  gnuplot = allBut "i686-cygwin";
+  gnuplot = allBut cygwin;
   gnused = all;
   gnutar = all;
   gnutls = linux;
@@ -142,7 +142,7 @@ with import ./release-lib.nix { inherit supportedSystems; };
   policykit = linux;
   portmap = linux;
   procps = linux;
-  python = allBut "i686-cygwin";
+  python = allBut cygwin;
   pythonFull = linux;
   readline = all;
   rlwrap = all;
@@ -152,9 +152,9 @@ with import ./release-lib.nix { inherit supportedSystems; };
   scrot = linux;
   sdparm = linux;
   sharutils = all;
-  sloccount = allBut "i686-cygwin";
+  sloccount = allBut cygwin;
   smartmontools = all;
-  sqlite = allBut "i686-cygwin";
+  sqlite = allBut cygwin;
   squid = linux;
   ssmtp = linux;
   stdenv = prio 175 all;
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 799b01c467c1c..ff66756aa8b45 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -53,7 +53,7 @@ let
       audacious = linux;
       autoconf = all;
       automake = all;
-      avahi = allBut "i686-cygwin";  # Cygwin builds fail
+      avahi = allBut cygwin;  # Cygwin builds fail
       bash = all;
       bashInteractive = all;
       bazaar = linux; # first let sqlite3 work on darwin
@@ -133,7 +133,7 @@ let
       gnumake = all;
       gnupatch = all;
       gnupg = linux;
-      gnuplot = allBut "i686-cygwin";
+      gnuplot = allBut cygwin;
       gnused = all;
       gnutar = all;
       gnutls = linux;
@@ -211,7 +211,7 @@ let
       mysql = linux;
       mysql51 = linux;
       mysql55 = linux;
-      nano = allBut "i686-cygwin";
+      nano = allBut cygwin;
       ncat = linux;
       netcat = all;
       nfsUtils = linux;
@@ -244,7 +244,7 @@ let
       pthreadmanpages = linux;
       pygtk = linux;
       pyqt4 = linux;
-      python = allBut "i686-cygwin";
+      python = allBut cygwin;
       pythonFull = linux;
       sbcl = linux;
       qt3 = linux;
@@ -255,7 +255,7 @@ let
       rogue = all;
       rpm = linux;
       rsync = linux;
-      rubber = allBut "i686-cygwin";
+      rubber = allBut cygwin;
       ruby = all;
       rxvt_unicode = linux;
       screen = linux ++ darwin;
@@ -265,10 +265,10 @@ let
       sgtpuzzles = linux;
       sharutils = all;
       slim = linux;
-      sloccount = allBut "i686-cygwin";
+      sloccount = allBut cygwin;
       smartmontools = linux;
       spidermonkey = linux;
-      sqlite = allBut "i686-cygwin";
+      sqlite = allBut cygwin;
       squid = linux;
       ssmtp = linux;
       stdenv = prio 175 all;
@@ -382,21 +382,21 @@ let
       };
 
       xorg = {
-        fontadobe100dpi = linux;
-        fontadobe75dpi = linux;
-        fontbh100dpi = linux;
-        fontbhlucidatypewriter100dpi = linux;
-        fontbhlucidatypewriter75dpi = linux;
-        fontbhttf = linux;
-        fontcursormisc = linux;
-        fontmiscmisc = linux;
-        iceauth = linux;
-        libX11 = linux;
-        lndir = all;
-        setxkbmap = linux;
-        xauth = linux;
-        xbitmaps = linux;
-        xev = linux;
+        fontadobe100dpi = linux ++ darwin;
+        fontadobe75dpi = linux ++ darwin;
+        fontbh100dpi = linux ++ darwin;
+        fontbhlucidatypewriter100dpi = linux ++ darwin;
+        fontbhlucidatypewriter75dpi = linux ++ darwin;
+        fontbhttf = linux ++ darwin;
+        fontcursormisc = linux ++ darwin;
+        fontmiscmisc = linux ++ darwin;
+        iceauth = linux ++ darwin;
+        libX11 = linux ++ darwin;
+        lndir = all ++ darwin;
+        setxkbmap = linux ++ darwin;
+        xauth = linux ++ darwin;
+        xbitmaps = linux ++ darwin;
+        xev = linux ++ darwin;
         xf86inputevdev = linux;
         xf86inputkeyboard = linux;
         xf86inputmouse = linux;
@@ -408,18 +408,18 @@ let
         xf86videovesa = linux;
         xf86videovmware = linux;
         xf86videomodesetting = linux;
-        xfs = linux;
-        xinput = linux;
-        xkbcomp = linux;
-        xlsclients = linux;
-        xmessage = linux;
-        xorgserver = linux;
-        xprop = linux;
-        xrandr = linux;
-        xrdb = linux;
-        xset = linux;
-        xsetroot = linux;
-        xwininfo = linux;
+        xfs = linux ++ darwin;
+        xinput = linux ++ darwin;
+        xkbcomp = linux ++ darwin;
+        xlsclients = linux ++ darwin;
+        xmessage = linux ++ darwin;
+        xorgserver = linux ++ darwin;
+        xprop = linux ++ darwin;
+        xrandr = linux ++ darwin;
+        xrdb = linux ++ darwin;
+        xset = linux ++ darwin;
+        xsetroot = linux ++ darwin;
+        xwininfo = linux ++ darwin;
       };
 
       xfce = {