about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/agda/stdlib.nix9
-rw-r--r--pkgs/development/compilers/aliceml/builder.sh71
-rw-r--r--pkgs/development/compilers/aliceml/default.nix70
-rw-r--r--pkgs/development/compilers/chicken/default.nix21
-rw-r--r--pkgs/development/compilers/compcert/default.nix8
-rw-r--r--pkgs/development/compilers/cryptol/1.8.x.nix5
-rw-r--r--pkgs/development/compilers/elm/elm-server.nix4
-rw-r--r--pkgs/development/compilers/elm/elm.nix24
-rw-r--r--pkgs/development/compilers/flapjax/default.nix30
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix7
-rw-r--r--pkgs/development/compilers/go/1.2.nix6
-rw-r--r--pkgs/development/compilers/idris/default.nix26
-rw-r--r--pkgs/development/compilers/jhc/default.nix33
-rw-r--r--pkgs/development/compilers/llvm/3.4/clang.nix16
-rw-r--r--pkgs/development/compilers/llvm/3.4/default.nix22
-rw-r--r--pkgs/development/compilers/llvm/3.4/lld.nix2
-rw-r--r--pkgs/development/compilers/llvm/3.4/llvm.nix9
-rw-r--r--pkgs/development/compilers/mercury/default.nix62
-rw-r--r--pkgs/development/compilers/mono/default.nix2
-rw-r--r--pkgs/development/compilers/nasm/default.nix2
-rw-r--r--pkgs/development/compilers/opendylan/bin.nix41
-rw-r--r--pkgs/development/compilers/opendylan/default.nix37
-rw-r--r--pkgs/development/compilers/qi/default.nix1
-rw-r--r--pkgs/development/compilers/rust/default.nix63
-rw-r--r--pkgs/development/compilers/rust/hardcode_paths.patch27
-rw-r--r--pkgs/development/compilers/rust/local_stage0.patch13
-rw-r--r--pkgs/development/compilers/sbcl/default.nix8
-rw-r--r--pkgs/development/compilers/swi-prolog/default.nix4
-rw-r--r--pkgs/development/compilers/urweb/default.nix4
-rw-r--r--pkgs/development/compilers/yasm/default.nix2
-rw-r--r--pkgs/development/interpreters/elixir/default.nix4
-rw-r--r--pkgs/development/interpreters/erlang/R14.nix (renamed from pkgs/development/interpreters/erlang/R14B04.nix)0
-rw-r--r--pkgs/development/interpreters/erlang/R15.nix (renamed from pkgs/development/interpreters/erlang/R15B03.nix)0
-rw-r--r--pkgs/development/interpreters/erlang/R16.nix (renamed from pkgs/development/interpreters/erlang/R16B02.nix)4
-rw-r--r--pkgs/development/interpreters/jruby/default.nix14
-rw-r--r--pkgs/development/interpreters/maude/default.nix6
-rw-r--r--pkgs/development/interpreters/pypy/2.2/default.nix6
-rw-r--r--pkgs/development/interpreters/python/2.7/CVE-2014-1912.patch57
-rw-r--r--pkgs/development/interpreters/python/2.7/default.nix8
-rw-r--r--pkgs/development/interpreters/python/3.4/default.nix4
-rw-r--r--pkgs/development/interpreters/racket/default.nix10
-rw-r--r--pkgs/development/interpreters/renpy/default.nix6
-rw-r--r--pkgs/development/interpreters/spidermonkey/24.2.nix40
-rw-r--r--pkgs/development/interpreters/tcl/default.nix8
-rw-r--r--pkgs/development/libraries/SDL2_mixer/default.nix2
-rw-r--r--pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch152
-rw-r--r--pkgs/development/libraries/a52dec/A01-thread-safe.patch462
-rw-r--r--pkgs/development/libraries/a52dec/A02-imdct-shutup.patch11
-rw-r--r--pkgs/development/libraries/a52dec/A03-automake.patch12
-rw-r--r--pkgs/development/libraries/a52dec/default.nix10
-rw-r--r--pkgs/development/libraries/clutter/1.18.nix52
-rw-r--r--pkgs/development/libraries/cogl/1.18.nix59
-rw-r--r--pkgs/development/libraries/cpp-netlib/default.nix28
-rw-r--r--pkgs/development/libraries/dclib/default.nix2
-rw-r--r--pkgs/development/libraries/eigen/default.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/2.x.nix13
-rw-r--r--pkgs/development/libraries/fmod/default.nix6
-rw-r--r--pkgs/development/libraries/geoclue/2.0.nix10
-rw-r--r--pkgs/development/libraries/glib-networking/default.nix6
-rw-r--r--pkgs/development/libraries/glib/default.nix4
-rw-r--r--pkgs/development/libraries/gmp/5.1.x.nix11
-rw-r--r--pkgs/development/libraries/gnutls/3.1.nix9
-rw-r--r--pkgs/development/libraries/gnutls/3.2.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix31
-rw-r--r--pkgs/development/libraries/gtk+/2.x.nix11
-rw-r--r--pkgs/development/libraries/gtk+/3.x.nix4
-rw-r--r--pkgs/development/libraries/haskell/AspectAG/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/BlogLiterately/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/Cabal/1.20.0.1.nix (renamed from pkgs/development/libraries/haskell/Cabal/1.20.0.0.nix)4
-rw-r--r--pkgs/development/libraries/haskell/ConfigFile/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/DSH/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/GLFW-b/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix (renamed from pkgs/development/libraries/haskell/GLURaw/1.4.0.0.nix)4
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix (renamed from pkgs/development/libraries/haskell/GLUT/2.5.1.0.nix)4
-rw-r--r--pkgs/development/libraries/haskell/GLUtil/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/Glob/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/GlomeVec/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/HSH/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/HTF/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.14.nix23
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.17.nix24
-rw-r--r--pkgs/development/libraries/haskell/Hipmunk/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/HsSyck/0.51.nix13
-rw-r--r--pkgs/development/libraries/haskell/HsSyck/0.52.nix (renamed from pkgs/development/libraries/haskell/HsSyck/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/JsContracts/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/JuicyPixels-util/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/ListLike/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/MFlow/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/NanoProlog/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix (renamed from pkgs/development/libraries/haskell/OpenGL/2.9.1.0.nix)4
-rw-r--r--pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix15
-rw-r--r--pkgs/development/libraries/haskell/Pathfinder/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.7.3.nix16
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.7.5.nix17
-rw-r--r--pkgs/development/libraries/haskell/RefSerialize/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/RepLib/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/SVGFonts/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Shellac/Shellac.nix6
-rw-r--r--pkgs/development/libraries/haskell/TCache/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/WebBits-Html/1.0.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/WebBits-Html/1.0.2.nix15
-rw-r--r--pkgs/development/libraries/haskell/WebBits/1.0.nix15
-rw-r--r--pkgs/development/libraries/haskell/WebBits/2.0.nix15
-rw-r--r--pkgs/development/libraries/haskell/WebBits/2.2.nix15
-rw-r--r--pkgs/development/libraries/haskell/Workflow/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/X11/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/acid-state/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/active/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/adjunctions/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/aes/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/aeson-qq/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/aeson/0.7.0.4.nix25
-rw-r--r--pkgs/development/libraries/haskell/aeson/0.7.0.6.nix (renamed from pkgs/development/libraries/haskell/aeson/default.nix)4
-rw-r--r--pkgs/development/libraries/haskell/alternative-io/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/amqp/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/arithmoi/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/attoparsec-enumerator/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/0.11.3.1.nix21
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix (renamed from pkgs/development/libraries/haskell/attoparsec/0.11.3.0.nix)4
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/0.12.0.0.nix21
-rw-r--r--pkgs/development/libraries/haskell/base64-bytestring/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/binary/0.6.1.0.nix (renamed from pkgs/development/libraries/haskell/binary/0.6.0.0.nix)4
-rw-r--r--pkgs/development/libraries/haskell/binary/0.7.2.1.nix (renamed from pkgs/development/libraries/haskell/binary/0.7.1.0.nix)4
-rw-r--r--pkgs/development/libraries/haskell/bindings-GLFW/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/blaze-svg/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/bmp/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/bool-extras/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix21
-rw-r--r--pkgs/development/libraries/haskell/boundingboxes/0.2.nix21
-rw-r--r--pkgs/development/libraries/haskell/bytes/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/cabal-cargs/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/cabal-lenses/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/cabal-macosx/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/cassava/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/categories/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/chell-quickcheck/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/chell/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/classy-prelude/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/colors/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/compdata/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/compressed/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/concurrent-extra/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/cond/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/conduit-combinators/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/conduit-extra/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/conduit/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/contravariant/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/control-bool/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/cryptohash/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/cuda/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/data-accessor/data-accessor.nix1
-rw-r--r--pkgs/development/libraries/haskell/data-checked/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/data-lens-light/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/data-lens/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/dbmigrations/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/dbus/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/diagrams/cairo.nix10
-rw-r--r--pkgs/development/libraries/haskell/diagrams/contrib.nix4
-rw-r--r--pkgs/development/libraries/haskell/diagrams/core.nix4
-rw-r--r--pkgs/development/libraries/haskell/diagrams/diagrams.nix4
-rw-r--r--pkgs/development/libraries/haskell/diagrams/lib.nix19
-rw-r--r--pkgs/development/libraries/haskell/diagrams/postscript.nix4
-rw-r--r--pkgs/development/libraries/haskell/diagrams/svg.nix15
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/directory-tree/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/dns/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/dual-tree/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/either/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/ekg-core/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/enclosed-exceptions/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/encoding/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/entropy/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/enummapset/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/errors/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/esqueleto/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/ex-pool/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/exception-mtl/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/exceptions/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/extensible-effects/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/failure/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/fay-text/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/fay/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/fb/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/fclabels/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/file-embed/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/filepath/1.3.0.2.nix (renamed from pkgs/development/libraries/haskell/filepath/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/fmlist/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/foldl/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/force-layout/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/free-game/1.0.5.nix23
-rw-r--r--pkgs/development/libraries/haskell/free-game/1.1.nix23
-rw-r--r--pkgs/development/libraries/haskell/free/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/freetype2/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/fuzzcheck/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/ghc-mod/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ghc-mtl/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ghc-vis/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/ghcjs-dom/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gitit/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/gloss/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/graphviz/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/hakyll/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-server.nix4
-rw-r--r--pkgs/development/libraries/haskell/hashable/1.2.2.0.nix (renamed from pkgs/development/libraries/haskell/hashable/1.2.1.0.nix)4
-rw-r--r--pkgs/development/libraries/haskell/haskeline/0.7.1.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/haskeline/default.nix (renamed from pkgs/development/libraries/haskell/haskeline/0.7.1.2.nix)1
-rw-r--r--pkgs/development/libraries/haskell/haskell-names/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/haskell-packages/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix9
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix13
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix9
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix10
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix10
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix11
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix11
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix11
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix11
-rw-r--r--pkgs/development/libraries/haskell/haskell-platform/default.nix310
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-meta/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/heist/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hgal/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/highlighting-kate/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/hint/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hledger-lib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hledger-web/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hledger/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hoauth2/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/holy-project/default.nix30
-rw-r--r--pkgs/development/libraries/haskell/hoogle/hoogle-local.diff28
-rw-r--r--pkgs/development/libraries/haskell/hoogle/local.nix117
-rw-r--r--pkgs/development/libraries/haskell/hourglass/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/hsini/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/http-client/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-kit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-reverse-proxy/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-types/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/httpd-shed/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/iCalendar/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/imm/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/imm/latest-feed-http-conduit-tls.patch73
-rw-r--r--pkgs/development/libraries/haskell/instant-generics/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/io-streams/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/irc/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/iteratee/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/kan-extensions/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/keys/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/language-c-inline/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/language-glsl/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/leksah/leksah-server.nix25
-rw-r--r--pkgs/development/libraries/haskell/leksah/process-leksah.nix14
-rw-r--r--pkgs/development/libraries/haskell/lens/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/libjenkins/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/libmpd/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/libsystemd-journal/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/lifted-base/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/linear/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ltk/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/machines/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/minioperational/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/monad-control/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/monad-unify/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/monadlib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/mono-traversable/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/monoid-extras/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/mtl/1.1.1.1.nix13
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.2.0.1.nix (renamed from pkgs/development/libraries/haskell/mtl/2.1.3.1.nix)4
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.2.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/multiplate/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/multiset/0.2.1.nix13
-rw-r--r--pkgs/development/libraries/haskell/multiset/default.nix (renamed from pkgs/development/libraries/haskell/multiset/0.2.2.nix)0
-rw-r--r--pkgs/development/libraries/haskell/nats/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/ncurses/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/network-metrics/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/network-simple/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.0.13.nix1
-rw-r--r--pkgs/development/libraries/haskell/oeis/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/openssl-streams/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/operational/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/opml/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/options/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/optparse-applicative/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/pandoc/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.3.nix1
-rw-r--r--pkgs/development/libraries/haskell/parsers/0.11.0.2.nix (renamed from pkgs/development/libraries/haskell/parsers/0.11.nix)4
-rw-r--r--pkgs/development/libraries/haskell/pattern-arrows/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/persistent-template/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/persistent/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/pgm/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/pipes-aeson/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pipes-attoparsec/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pipes-network/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pipes-parse/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pipes-safe/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pipes/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pointed/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/postgresql-libpq/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/postgresql-simple/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pretty-show/1.2.nix16
-rw-r--r--pkgs/development/libraries/haskell/pretty-show/default.nix (renamed from pkgs/development/libraries/haskell/pretty-show/1.6.7.nix)4
-rw-r--r--pkgs/development/libraries/haskell/primitive/0.5.3.0.nix14
-rw-r--r--pkgs/development/libraries/haskell/process-conduit/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/process/1.2.0.0.nix (renamed from pkgs/development/libraries/haskell/process/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/profunctors/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/purescript/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/reactive-banana/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/recursion-schemes/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/reducers/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/resource-pool/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/retry/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/safecopy/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/scientific/0.2.0.2.nix (renamed from pkgs/development/libraries/haskell/scientific/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/scientific/0.3.2.1.nix22
-rw-r--r--pkgs/development/libraries/haskell/scotty/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/semigroupoids/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/semigroups/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/setlocale/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/shake/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shelly/0.15.4.1.nix21
-rw-r--r--pkgs/development/libraries/haskell/shelly/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/singletons/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/singletons/test.patch12
-rw-r--r--pkgs/development/libraries/haskell/smtps-gmail/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/snap/core.nix4
-rw-r--r--pkgs/development/libraries/haskell/snap/loader-dynamic.nix4
-rw-r--r--pkgs/development/libraries/haskell/snap/server.nix4
-rw-r--r--pkgs/development/libraries/haskell/snap/snap.nix7
-rw-r--r--pkgs/development/libraries/haskell/snaplet-stripe/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/split/0.1.4.3.nix13
-rw-r--r--pkgs/development/libraries/haskell/split/0.2.2.nix1
-rw-r--r--pkgs/development/libraries/haskell/sqlite-simple/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/statestack/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/statistics/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/stm-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/storable-record/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/streaming-commons/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/system-fileio/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/system-filepath/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/tabular/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/tar/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/tasty-ant-xml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tasty-golden/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/tasty-hspec/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tasty-quickcheck/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tasty/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/temporary-rc/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/temporary/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/test-framework-smallcheck/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/texmath/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.1.13.nix22
-rw-r--r--pkgs/development/libraries/haskell/text/1.1.1.3.nix (renamed from pkgs/development/libraries/haskell/text/1.1.1.1.nix)4
-rw-r--r--pkgs/development/libraries/haskell/th-desugar/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/th-lift-instances/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/these/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/threads/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/threepenny-gui/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/thyme/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/timeparsers/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/timerep/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/tls/1.2.8.nix (renamed from pkgs/development/libraries/haskell/tls/1.2.6.nix)20
-rw-r--r--pkgs/development/libraries/haskell/transformers-base/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/transformers-compat/0.3.3.4.nix14
-rw-r--r--pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix (renamed from pkgs/development/libraries/haskell/transformers-compat/default.nix)4
-rw-r--r--pkgs/development/libraries/haskell/transformers/0.4.1.0.nix14
-rw-r--r--pkgs/development/libraries/haskell/twitter-types/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/unbound/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/units/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/usb/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/utf8-string/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/vacuum/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vcs-revision/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vector-th-unbox/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vector/0.10.11.0.nix15
-rw-r--r--pkgs/development/libraries/haskell/vector/0.10.9.3.nix (renamed from pkgs/development/libraries/haskell/vector/0.10.9.1.nix)4
-rw-r--r--pkgs/development/libraries/haskell/vinyl/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/vty-ui/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vty/4.7.5.nix (renamed from pkgs/development/libraries/haskell/vty/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/vty/5.1.0.nix33
-rw-r--r--pkgs/development/libraries/haskell/wai-extra/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-handler-launch/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-middleware-static/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-test/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-websockets/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/warp/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wcwidth/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/websockets/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wxcore.nix3
-rw-r--r--pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix1
-rw-r--r--pkgs/development/libraries/haskell/xdot/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/xml-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/xmlgen/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/yaml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yap/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/yesod-auth/default.nix32
-rw-r--r--pkgs/development/libraries/haskell/yesod-bin/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-core/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-form/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-test/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yst/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/zip-archive/0.2.2.1.nix (renamed from pkgs/development/libraries/haskell/zip-archive/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/zip-archive/0.2.3.2.nix19
-rw-r--r--pkgs/development/libraries/haskell/zlib-enum/default.nix4
-rw-r--r--pkgs/development/libraries/icu/default.nix4
-rw-r--r--pkgs/development/libraries/json-glib/default.nix12
-rw-r--r--pkgs/development/libraries/lensfun/default.nix3
-rw-r--r--pkgs/development/libraries/leveldb/default.nix4
-rw-r--r--pkgs/development/libraries/libav/default.nix5
-rw-r--r--pkgs/development/libraries/libbluray/A01-filter-dup.patch80
-rw-r--r--pkgs/development/libraries/libbluray/default.nix5
-rw-r--r--pkgs/development/libraries/libdrm/default.nix2
-rw-r--r--pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch137
-rw-r--r--pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch21
-rw-r--r--pkgs/development/libraries/libdvdnav/default.nix16
-rw-r--r--pkgs/development/libraries/libdvdread/default.nix16
-rw-r--r--pkgs/development/libraries/libftdi/1.x.nix42
-rw-r--r--pkgs/development/libraries/libgnurl/default.nix23
-rw-r--r--pkgs/development/libraries/libgphoto2/default.nix4
-rw-r--r--pkgs/development/libraries/libmicrohttpd/default.nix4
-rw-r--r--pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch12
-rw-r--r--pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch28
-rw-r--r--pkgs/development/libraries/libmkv/P00-mingw-large-file.patch24
-rw-r--r--pkgs/development/libraries/libmkv/default.nix29
-rw-r--r--pkgs/development/libraries/libmodplug/default.nix59
-rw-r--r--pkgs/development/libraries/libmpeg2/A00-tags.patch27
-rw-r--r--pkgs/development/libraries/libmpeg2/default.nix7
-rw-r--r--pkgs/development/libraries/libmx/default.nix60
-rw-r--r--pkgs/development/libraries/librevisa/default.nix29
-rw-r--r--pkgs/development/libraries/libsearpc/default.nix8
-rw-r--r--pkgs/development/libraries/libserialport/default.nix21
-rw-r--r--pkgs/development/libraries/libvpx/default.nix5
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/libraries/mp4v2/A00-nero-vobsub.patch142
-rw-r--r--pkgs/development/libraries/mp4v2/A01-divide-zero.patch22
-rw-r--r--pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch14
-rw-r--r--pkgs/development/libraries/mp4v2/P00-mingw-dllimport.patch11
-rw-r--r--pkgs/development/libraries/mp4v2/default.nix8
-rw-r--r--pkgs/development/libraries/nspr/default.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix6
-rw-r--r--pkgs/development/libraries/openjpeg/default.nix16
-rw-r--r--pkgs/development/libraries/openssl/default.nix4
-rw-r--r--pkgs/development/libraries/pango/default.nix7
-rw-r--r--pkgs/development/libraries/ppl/default.nix6
-rw-r--r--pkgs/development/libraries/qt-5/default.nix14
-rw-r--r--pkgs/development/libraries/silgraphite/graphite2.nix2
-rw-r--r--pkgs/development/libraries/silgraphite/macosx.patch13
-rw-r--r--pkgs/development/libraries/simgear/default.nix4
-rw-r--r--pkgs/development/libraries/sodium/default.nix8
-rw-r--r--pkgs/development/libraries/sword/default.nix11
-rw-r--r--pkgs/development/libraries/sword/dont_include_curl_types_h.patch24
-rw-r--r--pkgs/development/libraries/sword/gcc47.patch35
-rw-r--r--pkgs/development/libraries/tk/default.nix26
-rw-r--r--pkgs/development/libraries/tk/different-prefix-with-tcl.patch22
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix4
-rw-r--r--pkgs/development/lisp-modules/asdf/default.nix8
-rw-r--r--pkgs/development/misc/avr-gcc-with-avr-libc/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/lablgl/Makefile.config.patch52
-rw-r--r--pkgs/development/ocaml-modules/lablgl/default.nix9
-rw-r--r--pkgs/development/python-modules/pycairo/default.nix25
-rw-r--r--pkgs/development/python-modules/pycrypto/default.nix4
-rw-r--r--pkgs/development/python-modules/pygobject/3.nix8
-rw-r--r--pkgs/development/r-modules/cran-packages.nix18
-rw-r--r--pkgs/development/tools/analysis/cccc/cccc.patch24
-rw-r--r--pkgs/development/tools/analysis/cccc/default.nix32
-rw-r--r--pkgs/development/tools/apktool/default.nix36
-rw-r--r--pkgs/development/tools/build-managers/rebar/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/simple-build-tool/default.nix10
-rw-r--r--pkgs/development/tools/cdecl/cdecl-2.5-gentoo.patch29
-rw-r--r--pkgs/development/tools/cdecl/cdecl-2.5-implicit-pointer.patch12
-rw-r--r--pkgs/development/tools/cdecl/cdecl-2.5-lex.patch13
-rw-r--r--pkgs/development/tools/cdecl/cdecl-2.5.patch64
-rw-r--r--pkgs/development/tools/cdecl/default.nix21
-rw-r--r--pkgs/development/tools/haskell/BNFC/default.nix4
-rw-r--r--pkgs/development/tools/haskell/DrIFT/default.nix16
-rw-r--r--pkgs/development/tools/haskell/cabal-db/default.nix20
-rw-r--r--pkgs/development/tools/haskell/cabal-dev/default.nix21
-rw-r--r--pkgs/development/tools/haskell/cake3/default.nix4
-rw-r--r--pkgs/development/tools/haskell/codex/default.nix21
-rw-r--r--pkgs/development/tools/haskell/hasktags/default.nix6
-rw-r--r--pkgs/development/tools/haskell/hdevtools/default.nix3
-rw-r--r--pkgs/development/tools/haskell/hobbes/default.nix16
-rw-r--r--pkgs/development/tools/haskell/hscolour/default.nix (renamed from pkgs/development/libraries/haskell/hscolour/default.nix)0
-rw-r--r--pkgs/development/tools/haskell/splot/default.nix4
-rw-r--r--pkgs/development/tools/haskell/threadscope/default.nix4
-rw-r--r--pkgs/development/tools/haskell/timeplot/default.nix4
-rw-r--r--pkgs/development/tools/libsigrok/default.nix24
-rw-r--r--pkgs/development/tools/libsigrokdecode/default.nix20
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix49
-rw-r--r--pkgs/development/tools/misc/avrdude/default.nix46
-rw-r--r--pkgs/development/tools/misc/cl-launch/default.nix8
-rw-r--r--pkgs/development/tools/misc/grafana/default.nix29
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix8
-rw-r--r--pkgs/development/tools/misc/opengrok/default.nix29
-rw-r--r--pkgs/development/tools/misc/srecord/default.nix4
-rw-r--r--pkgs/development/tools/misc/swig/default.nix19
-rw-r--r--pkgs/development/tools/parsing/alex/3.0.5.nix4
-rw-r--r--pkgs/development/tools/sigrok-cli/default.nix20
-rw-r--r--pkgs/development/tools/slimerjs/default.nix8
-rw-r--r--pkgs/development/tools/yuicompressor/default.nix23
505 files changed, 5144 insertions, 1751 deletions
diff --git a/pkgs/development/compilers/agda/stdlib.nix b/pkgs/development/compilers/agda/stdlib.nix
index d71713674f72..c07b3e7c7dd2 100644
--- a/pkgs/development/compilers/agda/stdlib.nix
+++ b/pkgs/development/compilers/agda/stdlib.nix
@@ -1,4 +1,4 @@
-{ cabal, fetchurl }:
+{ cabal, fetchurl, filemanip, Agda }:
 
 cabal.mkDerivation (self: {
   pname = "Agda-stdlib";
@@ -9,11 +9,16 @@ cabal.mkDerivation (self: {
     sha256 = "1ynjgqk8hhnm6rbngy8fjsrd6i4phj2hlan9bk435bbywbl366k3";
   };
 
+  buildDepends = [ filemanip Agda ];
+
   preConfigure = "cd ffi";
 
   postInstall = ''
       mkdir -p $out/share
-      cp -pR ../src $out/share/agda
+      cd ..
+      runhaskell GenerateEverything
+      agda -i . -i src Everything.agda
+      cp -pR src $out/share/agda
   '';
 
   meta = {
diff --git a/pkgs/development/compilers/aliceml/builder.sh b/pkgs/development/compilers/aliceml/builder.sh
new file mode 100644
index 000000000000..e1f5d1b2bed7
--- /dev/null
+++ b/pkgs/development/compilers/aliceml/builder.sh
@@ -0,0 +1,71 @@
+source $stdenv/setup
+
+export CXXFLAGS="-m32"
+
+tar zxvf "$gecodeSrc"
+cd gecode-1.3.1
+./configure --prefix="$out" --disable-minimodel --disable-examples
+make
+make install
+cd ..
+
+PKG_CONFIG_PATH=$PKG_CONFIG_PATH:"$out"/lib/pkgconfig
+
+tar zxvf "$seamSrc"
+cd seam-1.4
+./configure --prefix="$out" --with-zlib=$zlib
+make
+make install
+cd ..
+
+PATH=$PATH:"$out"/bin
+
+tar zxvf "$aliceSrc"
+cd alice-1.4
+sed -i -e 's/bin\/bash/usr\/bin\/env bash/g' bin/alicerun.in
+sed -i -e 's/bin\/bash/usr\/bin\/env bash/g' bin/aliceremote
+./configure --prefix="$out" --with-gmp=$gmp
+make
+make install
+cd ..
+
+tar zxvf "$aliceGecodeSrc"
+cd alice-gecode-1.4
+make compiledll MUST_GENERATE=no
+make installdll MUST_GENERATE=no
+cd ..
+
+tar zxvf "$aliceRegexSrc"
+cd alice-regex-1.4
+make compiledll MUST_GENERATE=no
+make installdll MUST_GENERATE=no
+cd ..
+
+tar zxvf "$aliceSqliteSrc"
+cd alice-sqlite-1.4
+make compiledll MUST_GENERATE=no
+make installdll MUST_GENERATE=no
+cd ..
+
+tar zxvf "$aliceXmlSrc"
+cd alice-xml-1.4
+make compiledll MUST_GENERATE=no
+make installdll MUST_GENERATE=no
+cd ..
+
+tar zxvf "$aliceGtkSrc"
+cd alice-gtk-1.4
+sed -i -e 's/PRIVATE_GTK_LEAVE_PENDING/PRIVATE_GTK_HAS_POINTER/g' NativeGtk.cc
+sed -i -e 's/bin\/bash/usr\/bin\/env bash/g' myinstall
+make compiledll MUST_GENERATE=no
+make installdll MUST_GENERATE=no
+cd ..
+
+tar zxvf "$aliceRuntimeSrc"
+cd alice-runtime-1.4
+./configure --prefix="$out"
+make
+make install
+cd ..
+
+
diff --git a/pkgs/development/compilers/aliceml/default.nix b/pkgs/development/compilers/aliceml/default.nix
new file mode 100644
index 000000000000..5ea470bfc870
--- /dev/null
+++ b/pkgs/development/compilers/aliceml/default.nix
@@ -0,0 +1,70 @@
+{stdenv, fetchurl, pkgsi686Linux, libtool, gnumake381, autoconf, automake111x, file, which, zsh, m4, pkgconfig, perl}:
+
+stdenv.mkDerivation {
+  name = "aliceml-1.4";
+
+  aliceSrc = fetchurl {
+    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-1.4.tar.gz;
+    sha256 = "1ay8r26g7xm9zlrlpigp6y1zmrl93hzkndb5phx7651wx8j2183r";
+  };
+
+  aliceGecodeSrc = fetchurl {
+    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-gecode-1.4.tar.gz;
+    sha256 = "0yklpsqnm3wwzfz4vvv69dmm7q7pzpl3z7iw7wg33klng85cidl6";
+  };
+
+  aliceGtkSrc = fetchurl {
+    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-gtk-1.4.tar.gz;
+    sha256 = "0zx4ks0pk5wgbcsflcmn0kbpa9j7pjbsc19d1s3jgp4rwb24m1an";
+  };
+
+  aliceRegexSrc = fetchurl {
+    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-regex-1.4.tar.gz;
+    sha256 = "0myjzh3295awamghs4c88ypaa41m8sxh5jys876yq6flslw41s02";
+  };
+
+  aliceRuntimeSrc = fetchurl {
+    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-runtime-1.4.tar.gz;
+    sha256 = "1cbca71vh16l2h0zjvhgzzs0rzq99nc8nx9a97yzw595355nq57f";
+  };
+
+  aliceSqliteSrc = fetchurl {
+    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-sqlite-1.4.tar.gz;
+    sha256 = "0554xbx8zgqmpb7x06d7xvhlbk7bxmc237khgjs6yjcy53yf366b";
+  };
+
+  aliceXmlSrc = fetchurl {
+    url = http://www.ps.uni-saarland.de/alice/download/sources/alice-xml-1.4.tar.gz;
+    sha256 = "058a815a0vajjvjlsmd4ryx2bc71q6zwvyjg2c0v1gba2v3pddm0";
+  };
+
+  seamSrc = fetchurl {
+    url = http://www.ps.uni-saarland.de/alice/download/sources/seam-1.4.tar.gz;
+    sha256 = "1iz98jdv914whaw426d5406shlqgxqwpy3fbyb472x7d3lfra2dz";
+  };
+
+  gecodeSrc = fetchurl {
+    url = http://www.gecode.org/download/gecode-1.3.1.tar.gz;
+    sha256 = "0mgc6llbq166jmlq3alvagqsg3730670zvbwwkdgsqklw70v9355";
+  };
+
+  zlib = pkgsi686Linux.zlib;
+  gmp = pkgsi686Linux.gmp;
+
+
+  buildInputs = [
+    stdenv pkgsi686Linux.gcc34 pkgsi686Linux.glibc 
+    libtool gnumake381 autoconf automake111x pkgsi686Linux.zlib
+    file which zsh pkgsi686Linux.gmp m4 pkgsi686Linux.gnome.gtk
+    pkgsi686Linux.gnome.libgnomecanvas pkgsi686Linux.pango pkgsi686Linux.sqlite
+    pkgsi686Linux.libxml2 pkgsi686Linux.lightning pkgconfig perl
+  ];
+ 
+  builder = ./builder.sh;
+
+  meta = {
+    homepage = http://www.ps.uni-saarland.de/alice/;
+    description = "Alice ML is a functional programming language based on Standard ML, extended with rich support for concurrent, distributed, and constraint programming.";
+    license = "BSD";
+  };
+}
diff --git a/pkgs/development/compilers/chicken/default.nix b/pkgs/development/compilers/chicken/default.nix
index 6ad87982d522..1a4e33775017 100644
--- a/pkgs/development/compilers/chicken/default.nix
+++ b/pkgs/development/compilers/chicken/default.nix
@@ -1,17 +1,7 @@
-{ stdenv, fetchurl, devSnapshot ? false }:
+{ stdenv, fetchurl }:
 
 let
-  version = if devSnapshot
-    then "4.8.2"
-    else "4.8.0.5";
-  srcRelease = fetchurl {
-    url = "http://code.call-cc.org/releases/4.8.0/chicken-4.8.0.5.tar.gz";
-    sha256 = "1yrhqirqj3l535zr5mv8d1mz9gq876wwwg4nsjfw27663far54av";
-  };
-  srcDev = fetchurl {
-    url = "http://code.call-cc.org/dev-snapshots/2013/08/08/chicken-4.8.2.tar.gz";
-    sha256 = "01g7h0664342nl536mnri4c72kwj4z40vmv1250xfndlr218qdqg";
-  };
+  version = "4.9.0";
   platform = with stdenv;
     if isDarwin then "macosx"
     else if isCygwin then "cygwin"
@@ -22,9 +12,10 @@ in
 stdenv.mkDerivation {
   name = "chicken-${version}";
 
-  src = if devSnapshot
-    then srcDev
-    else srcRelease;
+  src = fetchurl {
+    url = "http://code.call-cc.org/releases/4.9.0/chicken-${version}.tar.gz";
+    sha256 = "08jaavr3lhs0z2q9k7b7w8l3fsxpms58zxg8nyk8674p54cbwaig";
+  };
 
   buildFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
   installFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
diff --git a/pkgs/development/compilers/compcert/default.nix b/pkgs/development/compilers/compcert/default.nix
index c4af878ba760..859c55662dc6 100644
--- a/pkgs/development/compilers/compcert/default.nix
+++ b/pkgs/development/compilers/compcert/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, coq, ocaml, gcc }:
+{ stdenv, fetchurl, coq, ocaml, ocamlPackages, gcc }:
 
 stdenv.mkDerivation rec {
   name    = "compcert-${version}";
-  version = "2.2";
+  version = "2.3pl2";
 
   src = fetchurl {
     url    = "http://compcert.inria.fr/release/${name}.tgz";
-    sha256 = "0zhqx9mixlsycckl6wq6yrd795byj1jz7m4njcgfv29cx33j1nrk";
+    sha256 = "1cq4my646ll1mszs5mbzwk4vp8l8qnsc96fpcv2pl35aw5i6jqm8";
   };
 
-  buildInputs = [ coq ocaml ];
+  buildInputs = [ coq ocaml ocamlPackages.menhir ];
 
   enableParallelBuilding = true;
   configurePhase = "./configure -prefix $out -toolprefix ${gcc}/bin/ ia32-linux";
diff --git a/pkgs/development/compilers/cryptol/1.8.x.nix b/pkgs/development/compilers/cryptol/1.8.x.nix
index db216d1dad41..42887b22ab07 100644
--- a/pkgs/development/compilers/cryptol/1.8.x.nix
+++ b/pkgs/development/compilers/cryptol/1.8.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, requireFile, gmp4, ncurses, zlib, makeWrapper }:
+{ stdenv, requireFile, gmp4, ncurses, zlib, clang_33, makeWrapper }:
 
 let
   name    = "cryptol-${version}-${rev}";
@@ -87,6 +87,9 @@ stdenv.mkDerivation rec {
     mv ${lss-ver}/bin/lss $out/bin
     mv ${lss-ver}/sym-api $out/include
 
+    # Create a convenient 'lss-clang' wrapper pointing to a valid Clang verison
+    ln -s ${clang_33}/bin/clang $out/bin/lss-clang
+
     # Hack around lack of libtinfo in NixOS
     ln -s ${ncurses}/lib/libncursesw.so.5.9 $out/lib/libtinfo.so.5
     ln -s ${stdenv.gcc.libc}/lib/libpthread-2.19.so $out/lib/libpthread.so.0
diff --git a/pkgs/development/compilers/elm/elm-server.nix b/pkgs/development/compilers/elm/elm-server.nix
index fce6f4a26995..5f389d48c8ed 100644
--- a/pkgs/development/compilers/elm/elm-server.nix
+++ b/pkgs/development/compilers/elm/elm-server.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "elm-server";
-  version = "0.11";
-  sha256 = "1977fa03n2m2apxhbzpcn6b5y5gf7ksnpigibi8djlpp76rliaz2";
+  version = "0.11.0.1";
+  sha256 = "0nnkhmmm4cl6a314xxh5qwxkjsc3k3vcwdfar62578ykarxb53g1";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/compilers/elm/elm.nix b/pkgs/development/compilers/elm/elm.nix
index 9fe18cdaf30e..622f182e8c56 100644
--- a/pkgs/development/compilers/elm/elm.nix
+++ b/pkgs/development/compilers/elm/elm.nix
@@ -1,29 +1,33 @@
 { cabal, aeson, aesonPretty, binary, blazeHtml, blazeMarkup
 , cmdargs, filemanip, filepath, HUnit, indents, languageEcmascript
-, mtl, pandoc, parsec, QuickCheck, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2, text, transformers
-, unionFind, unorderedContainers
+, languageGlsl, mtl, pandoc, parsec, QuickCheck, scientific
+, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, text
+, transformers, unionFind, unorderedContainers, yaml
 }:
 
 cabal.mkDerivation (self: {
   pname = "Elm";
-  version = "0.12.1.3";
-  sha256 = "1p4py4qyxsp25qa8141ywfh0qnvdid4v7xlbqkk8aafxccb7lsm9";
+  version = "0.12.3";
+  sha256 = "1v6h9qbbz27ikh19xwjbyfw0zi5ag9x1gp0khh9v4af1g0j86320";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     aeson aesonPretty binary blazeHtml blazeMarkup cmdargs filepath
-    indents languageEcmascript mtl pandoc parsec text transformers
-    unionFind unorderedContainers
+    indents languageEcmascript languageGlsl mtl pandoc parsec
+    scientific text transformers unionFind unorderedContainers yaml
   ];
   testDepends = [
     aeson aesonPretty binary blazeHtml blazeMarkup cmdargs filemanip
-    filepath HUnit indents languageEcmascript mtl pandoc parsec
-    QuickCheck testFramework testFrameworkHunit
+    filepath HUnit indents languageEcmascript languageGlsl mtl pandoc
+    parsec QuickCheck scientific testFramework testFrameworkHunit
     testFrameworkQuickcheck2 text transformers unionFind
-    unorderedContainers
+    unorderedContainers yaml
   ];
   doCheck = false;
+  preConfigure = ''
+    rm -f Setup.hs
+    echo -e "import Distribution.Simple\nmain=defaultMain\n" > Setup.hs
+  '';
   meta = {
     homepage = "http://elm-lang.org";
     description = "The Elm language module";
diff --git a/pkgs/development/compilers/flapjax/default.nix b/pkgs/development/compilers/flapjax/default.nix
deleted file mode 100644
index 5167bf7d795f..000000000000
--- a/pkgs/development/compilers/flapjax/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{cabal, fetchurl, unzip, xhtml, WebBits, WebBitsHtml, JsContracts}:
-
-cabal.mkDerivation ( self: {
-  pname = "flapjax";
-  version = "2.1";
-
-  src = fetchurl {
-    url = https://github.com/brownplt/flapjax/zipball/Flapjax-2.1;
-    name = "flapjax-2.1.zip";
-    sha256 = "1cp9g570528a813ljnvd1lb389iz0i6511xynf6kzryv8ckc1n7v";
-  };
-
-  # The Makefile copies some files to update the flapjax website into
-  # missing directories; the -p is to avoid these errors.
-  preConfigure = ''
-    cd fx
-    sed -i 's/mkdir/mkdir -p/' Makefile
-    make
-    cd ../compiler
-  '';
-
-  extraBuildInputs = [ unzip JsContracts ];
-  propagatedBuildInputs = [ xhtml WebBits WebBitsHtml ];
-
-  meta = { 
-      description = "programming language designed around the demands of modern, client-based Web applications";
-      homepage = http://www.flapjax-lang.org/;
-      license = "BSD";
-  };
-})
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index 4f9e734d41c0..902cba392f84 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -1,5 +1,7 @@
 { stdenv, fetchurl, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
+, langObjC ? stdenv.isDarwin
+, langObjCpp ? stdenv.isDarwin
 , langJava ? false
 , langAda ? false
 , langVhdl ? false
@@ -160,6 +162,7 @@ let version = "4.8.2";
           " --disable-libgomp " +
           " --disable-libquadmath" +
           " --disable-shared" +
+          " --disable-libatomic " +  # libatomic requires libc
           " --disable-decimal-float" # libdecnumber requires libc
           else
           (if crossDarwin then " --with-sysroot=${libcCross}/share/sysroot"
@@ -351,6 +354,8 @@ stdenv.mkDerivation ({
         ++ optional langAda      "ada"
         ++ optional langVhdl     "vhdl"
         ++ optional langGo       "go"
+        ++ optional langObjC     "objc"
+        ++ optional langObjCpp   "obj-c++"
         ++ optionals crossDarwin [ "objc" "obj-c++" ]
         )
       )
@@ -489,7 +494,7 @@ stdenv.mkDerivation ({
     else null;
 
   passthru =
-    { inherit langC langCC langAda langFortran langVhdl langGo enableMultilib version; };
+    { inherit langC langCC langObjC langObjCpp langAda langFortran langVhdl langGo enableMultilib version; };
 
   inherit enableParallelBuilding;
 
diff --git a/pkgs/development/compilers/go/1.2.nix b/pkgs/development/compilers/go/1.2.nix
index 7b7e16d837db..b519b96415bd 100644
--- a/pkgs/development/compilers/go/1.2.nix
+++ b/pkgs/development/compilers/go/1.2.nix
@@ -7,11 +7,11 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "go-1.2.1";
+  name = "go-1.2.2";
 
   src = fetchurl {
-    url = http://go.googlecode.com/files/go1.2.1.src.tar.gz;
-    sha1 = "6a4b9991eddd8039438438d6aa25126ab7e07f2f";
+    url = https://storage.googleapis.com/golang/go1.2.2.src.tar.gz;
+    sha1 = "3ce0ac4db434fc1546fec074841ff40dc48c1167";
   };
 
   buildInputs = [ bison glibc bash makeWrapper ];
diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix
index c32c14cf5848..0c3c1c0fba8c 100644
--- a/pkgs/development/compilers/idris/default.nix
+++ b/pkgs/development/compilers/idris/default.nix
@@ -1,23 +1,25 @@
 { cabal, annotatedWlPprint, ansiTerminal, ansiWlPprint, binary
-, boehmgc, Cabal, cheapskate, deepseq, filepath, gmp, happy
-, haskeline, languageJava, lens, libffi, llvmGeneral
-, llvmGeneralPure, mtl, network, parsers, split, text, time
-, transformers, trifecta, unorderedContainers, utf8String, vector
-, vectorBinaryInstances, xml, zlib
+, blazeHtml, blazeMarkup, boehmgc, Cabal, cheapskate, deepseq
+, filepath, gmp, happy, haskeline, languageJava, lens, libffi
+, llvmGeneral, llvmGeneralPure, mtl, network, optparseApplicative
+, parsers, split, text, time, transformers, trifecta
+, unorderedContainers, utf8String, vector, vectorBinaryInstances
+, xml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "idris";
-  version = "0.9.12";
-  sha256 = "151h9qkx7yw24q0b60r78hki1y8m6sxmfars7wywnbzk3kalqb6x";
+  version = "0.9.13";
+  sha256 = "0bpp8b19s1przycndvl542ar9dc285ccnwm7cic33ym1lcqil86n";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    annotatedWlPprint ansiTerminal ansiWlPprint binary Cabal cheapskate
-    deepseq filepath haskeline languageJava lens libffi llvmGeneral
-    llvmGeneralPure mtl network parsers split text time transformers
-    trifecta unorderedContainers utf8String vector
-    vectorBinaryInstances xml zlib
+    annotatedWlPprint ansiTerminal ansiWlPprint binary blazeHtml
+    blazeMarkup Cabal cheapskate deepseq filepath haskeline
+    languageJava lens libffi llvmGeneral llvmGeneralPure mtl network
+    optparseApplicative parsers split text time transformers trifecta
+    unorderedContainers utf8String vector vectorBinaryInstances xml
+    zlib
   ];
   buildTools = [ happy ];
   extraLibraries = [ boehmgc gmp ];
diff --git a/pkgs/development/compilers/jhc/default.nix b/pkgs/development/compilers/jhc/default.nix
index d36c8c2755a9..7b1054451f90 100644
--- a/pkgs/development/compilers/jhc/default.nix
+++ b/pkgs/development/compilers/jhc/default.nix
@@ -1,30 +1,31 @@
-{
-  stdenv, fetchurl, perl, ghc, binary, zlib, utf8String, readline, fgl,
-  regexCompat, HsSyck, random
-}:
+{ stdenv, fetchurl, perl, ghc, binary, zlib, utf8String, readline, fgl,
+  regexCompat, HsSyck, random }:
 
 stdenv.mkDerivation rec {
-
   name = "jhc-${version}";
-
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchurl {
     url = "http://repetae.net/dist/${name}.tar.gz";
-    sha256 = "0rbv0gpp7glhd9xqy7snbiaiizwnsfg9vzhvyywcvbmb35yivy2a";
+    sha256 = "11fya5ggk6q4vcm3kwjacfaaqvkammih25saqwlr1g40bcikbnf2";
   };
 
-  buildInputs = [
-    perl ghc binary zlib utf8String readline fgl regexCompat HsSyck random
-  ];
+  patchPhase = ''
+    substituteInPlace ./src/Util/Interact.hs \
+      --replace USE_NOLINE USE_READLINE
+  '';
+
+  buildInputs =
+    [ perl ghc binary zlib utf8String
+      readline fgl regexCompat HsSyck random
+    ];
 
   meta = {
+    description = "Whole-program, globally optimizing Haskell compiler";
     homepage = "http://repetae.net/computer/jhc/";
-    description = "A Haskell compiler which aims to produce the most efficient programs";
-    license = stdenv.lib.licenses.gpl2;
-
+    license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.aforemny stdenv.lib.maintainers.simons ];
+    maintainers = with stdenv.lib.maintainers;
+      [ aforemny simons thoughtpolice ];
   };
-
 }
diff --git a/pkgs/development/compilers/llvm/3.4/clang.nix b/pkgs/development/compilers/llvm/3.4/clang.nix
index 7032056f7e47..7fe94cbf8d88 100644
--- a/pkgs/development/compilers/llvm/3.4/clang.nix
+++ b/pkgs/development/compilers/llvm/3.4/clang.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetch, cmake, libxml2, libedit, llvm, version }:
+{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src }:
 
 stdenv.mkDerivation {
   name = "clang-${version}";
 
   unpackPhase = ''
-    unpackFile ${fetch "clang" "06rb4j1ifbznl3gfhl98s7ilj0ns01p7y7zap4p7ynmqnc6pia92"}
-    mv clang-${version} clang
+    unpackFile ${fetch "cfe" "1dvbkld0a1aqj6wcn0ia1wa8lwha30yfgq16j1r7akdka44z70xb"}
+    mv cfe-${version}.src clang
     sourceRoot=$PWD/clang
-    unpackFile ${fetch "clang-tools-extra" "1d1822mwxxl9agmyacqjw800kzz5x8xr0sdmi8fgx5xfa5sii1ds"}
-    mv clang-tools-extra-${version} $sourceRoot/tools/extra
+    unpackFile ${clang-tools-extra_src}
+    mv clang-tools-extra-* $sourceRoot/tools/extra
     # !!! Hopefully won't be needed for 3.5
     unpackFile ${llvm.src}
-    export cmakeFlags="$cmakeFlags -DCLANG_PATH_TO_LLVM_SOURCE=$PWD/llvm-${version}"
-    (cd llvm-${version} && patch -Np1 -i ${./llvm-separate-build.patch})
+    export cmakeFlags="$cmakeFlags -DCLANG_PATH_TO_LLVM_SOURCE="`ls -d $PWD/llvm-*`
+    (cd llvm-* && patch -Np1 -i ${./llvm-separate-build.patch})
   '';
 
   patches = [ ./clang-separate-build.patch ./clang-purity.patch ];
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
   # Clang expects to find sanitizer libraries in its own prefix
   postInstall = ''
     ln -sv ${llvm}/lib/LLVMgold.so $out/lib
-    ln -sv ${llvm}/lib/clang/3.4/lib $out/lib/clang/3.4/
+    ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
   '';
 
   passthru.gcc = stdenv.gcc.gcc;
diff --git a/pkgs/development/compilers/llvm/3.4/default.nix b/pkgs/development/compilers/llvm/3.4/default.nix
index 0a8a72f59a96..237c7f73d7f4 100644
--- a/pkgs/development/compilers/llvm/3.4/default.nix
+++ b/pkgs/development/compilers/llvm/3.4/default.nix
@@ -4,15 +4,27 @@ let
 
   version = "3.4";
 
-  fetch = name: sha256: fetchurl {
-    url = "http://llvm.org/releases/${version}/${name}-${version}.src.tar.gz";
+  fetch = fetch_v version;
+  fetch_v = ver: name: sha256: fetchurl {
+    url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.gz";
     inherit sha256;
   };
 
-  self = {
-    llvm = callPackage ./llvm.nix {};
+  compiler-rt_src = fetch "compiler-rt" "0p5b6varxdqn7q3n77xym63hhq4qqxd2981pfpa65r1w72qqjz7k";
+  clang-tools-extra_src = fetch "clang-tools-extra" "1d1822mwxxl9agmyacqjw800kzz5x8xr0sdmi8fgx5xfa5sii1ds";
 
-    clang = callPackage ./clang.nix {};
+  self = {
+    llvm = callPackage ./llvm.nix rec {
+      version = "3.4.1";
+      fetch = fetch_v version;
+      inherit compiler-rt_src;
+    };
+
+    clang = callPackage ./clang.nix rec {
+      version = "3.4.1";
+      fetch = fetch_v version;
+      inherit clang-tools-extra_src;
+    };
 
     lld = callPackage ./lld.nix {};
 
diff --git a/pkgs/development/compilers/llvm/3.4/lld.nix b/pkgs/development/compilers/llvm/3.4/lld.nix
index 22eb02a0e35b..c28c03fbdd1d 100644
--- a/pkgs/development/compilers/llvm/3.4/lld.nix
+++ b/pkgs/development/compilers/llvm/3.4/lld.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   preUnpack = ''
     # !!! Hopefully won't be needed for 3.5
     unpackFile ${llvm.src}
-    export cmakeFlags="$cmakeFlags -DLLD_PATH_TO_LLVM_SOURCE=$PWD/llvm-${version}"
+    export cmakeFlags="$cmakeFlags -DLLD_PATH_TO_LLVM_SOURCE="`ls -d $PWD/llvm-*`
   '';
 
   buildInputs = [ cmake ncurses zlib python ];
diff --git a/pkgs/development/compilers/llvm/3.4/llvm.nix b/pkgs/development/compilers/llvm/3.4/llvm.nix
index fad11b7a123e..3aea2a12a114 100644
--- a/pkgs/development/compilers/llvm/3.4/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.4/llvm.nix
@@ -11,19 +11,20 @@
 , ncurses
 , version
 , zlib
+, compiler-rt_src
 }:
 
 let
-  src = fetch "llvm" "0a169ba045r4apb9cv6ncrwl83l7yiajnzirkcdlhj1cd4nn3995";
+  src = fetch "llvm" "0fprxrilnlwk9qv7f0kplxc7kd8mp4x781asssv2nfi4r9pbna3x";
 in stdenv.mkDerivation rec {
   name = "llvm-${version}";
 
   unpackPhase = ''
     unpackFile ${src}
-    mv llvm-${version} llvm
+    mv llvm-${version}.src llvm
     sourceRoot=$PWD/llvm
-    unpackFile ${fetch "compiler-rt" "0p5b6varxdqn7q3n77xym63hhq4qqxd2981pfpa65r1w72qqjz7k"}
-    mv compiler-rt-${version} $sourceRoot/projects/compiler-rt
+    unpackFile ${compiler-rt_src}
+    mv compiler-rt-* $sourceRoot/projects/compiler-rt
   '';
 
   buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind;
diff --git a/pkgs/development/compilers/mercury/default.nix b/pkgs/development/compilers/mercury/default.nix
new file mode 100644
index 000000000000..5ea922a371a7
--- /dev/null
+++ b/pkgs/development/compilers/mercury/default.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchurl, gcc, flex, bison, texinfo, jdk, erlang, makeWrapper
+, readline }:
+
+stdenv.mkDerivation rec {
+  name    = "mercury-${version}";
+  version = "14.01";
+
+  src = fetchurl {
+    url    = "http://dl.mercurylang.org/release/mercury-srcdist-${version}.tar.gz";
+    sha256 = "1hgwmsaacxhgx2p2hikl5px8xf0wny9wx47gjl258dgxxasbfij4";
+  };
+
+  buildInputs = [ gcc flex bison texinfo jdk erlang makeWrapper
+                  readline ];
+
+  patchPhase = ''
+    # Fix calls to programs in /bin
+    for p in uname pwd ; do
+      for f in $(egrep -lr /bin/$p *) ; do
+        sed -i 's@/bin/'$p'@'$p'@g' $f ;
+      done
+    done
+  '';
+
+  preConfigure = ''
+    ensureDir $out/lib/mercury/cgi-bin ;
+    configureFlags="--enable-deep-profiler=$out/lib/mercury/cgi-bin";
+  '';
+
+  preBuild = ''
+    # Mercury buildsystem does not take -jN directly.
+    makeFlags="PARALLEL=-j$NIX_BUILD_CORES" ;
+  '';
+
+  postInstall = ''
+    # Wrap with compilers for the different targets.
+    for e in $(ls $out/bin) ; do
+      wrapProgram $out/bin/$e \
+        --prefix PATH ":" "${gcc}/bin" \
+        --prefix PATH ":" "${jdk}/bin" \
+        --prefix PATH ":" "${erlang}/bin"
+    done
+  '';
+
+  meta = {
+    description = "Mercury is a pure logic programming language.";
+    longDescription = ''
+      Mercury is a logic/functional programming language which combines the
+      clarity and expressiveness of declarative programming with advanced
+      static analysis and error detection features.  Its highly optimized
+      execution algorithm delivers efficiency far in excess of existing logic
+      programming systems, and close to conventional programming systems.
+      Mercury addresses the problems of large-scale program development,
+      allowing modularity, separate compilation, and numerous optimization/time
+      trade-offs.
+    '';
+    homepage    = "http://mercurylang.org";
+    license     = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/development/compilers/mono/default.nix b/pkgs/development/compilers/mono/default.nix
index 4ff2dacff188..1b9e9118d56f 100644
--- a/pkgs/development/compilers/mono/default.nix
+++ b/pkgs/development/compilers/mono/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     find . -name 'config' -type f | while read i; do
         sed -i "s@libMonoPosixHelper.so@$out/lib/libMonoPosixHelper.so@g" $i
         sed -i "s@libX11.so.6@${libX11}/lib/libX11.so.6@g" $i
-        sed -i '2 i\<dllmap dll="gdiplus.dll" target="${libgdiplus}/lib/libgdiplus.so" os="!windows"/>' $i
+        sed -i "s@/.*libgdiplus.so@${libgdiplus}/lib/libgdiplus.so@g" $i
     done
   '';
 
diff --git a/pkgs/development/compilers/nasm/default.nix b/pkgs/development/compilers/nasm/default.nix
index 76359de65753..8098b9d278f4 100644
--- a/pkgs/development/compilers/nasm/default.nix
+++ b/pkgs/development/compilers/nasm/default.nix
@@ -11,6 +11,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.nasm.us/;
     description = "An 80x86 and x86-64 assembler designed for portability and modularity";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/compilers/opendylan/bin.nix b/pkgs/development/compilers/opendylan/bin.nix
new file mode 100644
index 000000000000..bab8e66799b7
--- /dev/null
+++ b/pkgs/development/compilers/opendylan/bin.nix
@@ -0,0 +1,41 @@
+# Binaries provided by Open Dylan to be used to bootstrap from source.
+# The binaries can also be used as is.
+{stdenv, fetchurl, patchelf, boehmgc, gnused, gcc, makeWrapper}:
+
+stdenv.mkDerivation {
+  name = "opendylan-2013.2";
+
+  src = if stdenv.system == "x86_64-linux" then fetchurl {
+      url = http://opendylan.org/downloads/opendylan/2013.2/opendylan-2013.2-x86_64-linux.tar.bz2;
+      sha256 = "035brbw3hm7zrs593q4zc42yglj1gmmkw3b1r7zzlw3ks4i2lg7h";
+    }
+    else if stdenv.system == "i686-linux" then fetchurl {
+      url = http://opendylan.org/downloads/opendylan/2013.2/opendylan-2013.2-x86-linux.tar.bz2;
+      sha256 = "0c61ihvblcsjrw6ncr8x8ylhskcrqs8pajs4mg5di36cvqw12nq5";
+    }
+    else throw "platform ${stdenv.system} not supported.";
+
+  buildInputs = [ patchelf boehmgc gnused makeWrapper ];
+
+  buildCommand = ''
+    mkdir -p "$out"
+    tar --strip-components=1 -xjf "$src" -C "$out"
+
+    interpreter="$(cat "$NIX_GCC"/nix-support/dynamic-linker)"
+    for a in "$out"/bin/*; do 
+      patchelf --set-interpreter "$interpreter" "$a"
+      patchelf --set-rpath "$out/lib:${boehmgc}/lib" "$a"
+    done
+    for a in "$out"/lib/*.so; do 
+      patchelf --set-rpath "$out/lib:${boehmgc}/lib" "$a"
+    done
+    sed -i -e "s|\-lgc|\-L${boehmgc}\/lib -lgc|" $out/lib/config.jam
+    wrapProgram $out/bin/dylan-compiler --suffix PATH : ${gcc}/bin
+  '';
+
+  meta = {
+    homepage = http://opendylan.org;
+    description = "Dylan is a multi-paradigm functional and object-oriented programming language.";
+    license = "MIT";
+  };
+}
diff --git a/pkgs/development/compilers/opendylan/default.nix b/pkgs/development/compilers/opendylan/default.nix
new file mode 100644
index 000000000000..b1ee1d000c4c
--- /dev/null
+++ b/pkgs/development/compilers/opendylan/default.nix
@@ -0,0 +1,37 @@
+# Build Open Dylan from source using the binary builds to bootstrap.
+{stdenv, fetchgit, patchelf, boehmgc, mps, gnused, opendylan-bootstrap, autoconf, automake, perl, makeWrapper, gcc }:
+
+stdenv.mkDerivation {
+  name = "opendylan-2013.2";
+
+  src = fetchgit {
+    url = https://github.com/dylan-lang/opendylan;
+    rev = "ce9b14dab6cb9ffedc69fae8c6df524c0c79abd3";
+    sha256 = "cec80980b838ac2581dfb6282e25d208e720d475256b75e24b23dbd30b09d21f";
+    fetchSubmodules = true;
+  };
+
+  buildInputs = (if stdenv.system == "i686-linux" then [ mps ] else [ boehmgc ]) ++ [
+    opendylan-bootstrap boehmgc gnused autoconf automake perl makeWrapper
+  ] ;
+
+  preConfigure = if stdenv.system == "i686-linux" then ''
+    mkdir -p $TMPDIR/mps
+    tar --strip-components=1 -xf ${mps.src} -C $TMPDIR/mps
+    ./autogen.sh
+  ''
+  else ''
+    ./autogen.sh
+  '';
+
+  configureFlags = if stdenv.system == "i686-linux" then "--with-mps=$(TMPDIR)/mps" else "--with-gc=${boehmgc}";
+  buildPhase = "make 3-stage-bootstrap";
+
+  postInstall = "wrapProgram $out/bin/dylan-compiler --suffix PATH : ${gcc}/bin";
+
+  meta = {
+    homepage = http://opendylan.org;
+    description = "Dylan is a multi-paradigm functional and object-oriented programming language.";
+    license = "MIT";
+  };
+}
diff --git a/pkgs/development/compilers/qi/default.nix b/pkgs/development/compilers/qi/default.nix
index ae0172558549..ecb022d942a9 100644
--- a/pkgs/development/compilers/qi/default.nix
+++ b/pkgs/development/compilers/qi/default.nix
@@ -32,6 +32,5 @@ stdenv.mkDerivation rec {
 		(textClosure localDefs [allBuild doForceShare doPropagate]);
 	meta = {
 		description = "Qi - next generation on top of Common Lisp";
-		inherit src;
 	};
 }
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index ebdd49479e0d..08dea1f0f7f0 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -16,66 +16,65 @@
 
 with if stdenv.system == "i686-linux" then {
   platform = "linux-i386";
-  snapshot = "03e60be1f1b90dddd15f3597bc45ec8d9626b35d";
-  snapshot_sha = "1v1l082gj7d2d4p53xgsxz2k965jcgqhw4cyxmjxc6yh5fw0idx6";
+  snapshot = "3bef5684fd0582fbd4ddebd4514182d4f72924f7";
+  snapshot_sha = "1c72d65pcgm3z4sly7al09mjvpp8asxbbv7iyzzv5k8f66ny2agy";
   target = "i686-unknown-linux-gnu";
 } else if stdenv.system == "x86_64-linux" then {
   platform = "linux-x86_64";
-  snapshot = "aa8fbbacdb1d8a078f3a3fe3478dcbc506bd4090";
-  snapshot_sha = "17inc23jpznqp0vnskvznm74mm24c1nffhz2bkadhvp2ww0vpjjx";
+  snapshot = "a7b2af1076d48e4a687a71a21478293e834349bd";
+  snapshot_sha = "1c72d65pcgm3z4sly7al09mjvpp8asxbbv7iyzzv5k8f66ny2agy";
   target = "x86_64-unknown-linux-gnu";
 } else if stdenv.system == "x86_64-darwin" then {
   platform = "macos-x86_64";
-  snapshot = "ec746585cb20d1f9edffec74f6ff8be6e93a75f7";
-  snapshot_sha = "0r8f8x3x8jb1hm40pbgj4i9ll2y5dgjgvj24qg7mp4crbqcqhkd2";
+  snapshot = "22b884a3876cb3e40ad942ad68a496b5f239fca5";
+  snapshot_sha = "0qabkvyryiwlqhzy1kscff27rx788bv7lh7d8m1hnsv38wqhwqqb";
 } else {};
-let snapshotDate = "2014-01-05";
-    snapshotRev = "a6d3e57";
+let snapshotDate = "2014-03-28";
+    snapshotRev = "b8601a3";
     snapshotName = "rust-stage0-${snapshotDate}-${snapshotRev}-${platform}-${snapshot}.tar.bz2"; in
 stdenv.mkDerivation {
-  name = "rust-0.9";
+  name = "rust-0.10";
 
   src = fetchurl {
-    url = http://static.rust-lang.org/dist/rust-0.9.tar.gz;
-    sha256 = "1lfmgnn00wrc30nf5lgg52w58ir3xpsnpmzk2v5a35xp8lsir4f0";
+    url = http://static.rust-lang.org/dist/rust-0.10.tar.gz;
+    sha256 = "c72cfbbf03016804a81d7b68e8258ffaf018f8f5a25550ad64571ce6c2642cf9";
   };
 
-  # We need rust to build rust. If we don't provide it, configure will try to download it
-  snapshot = fetchurl {
-    url = "http://static.rust-lang.org/stage0-snapshots/${snapshotName}";
-    sha256 = snapshot_sha;
+  # We need rust to build rust. If we don't provide it, configure will try to download it.
+  snapshot = stdenv.mkDerivation {
+    name = "rust-stage0";
+    src = fetchurl {
+      url = "http://static.rust-lang.org/stage0-snapshots/${snapshotName}";
+      sha256 = snapshot_sha;
+    };
+    installPhase = ''
+      mkdir -p "$out"
+      cp -r bin "$out/bin"
+    '' + (if stdenv.isLinux then ''
+      patchelf --interpreter ${stdenv.glibc}/lib/${stdenv.gcc.dynamicLinker} \
+               --set-rpath ${stdenv.gcc.gcc}/lib/:${stdenv.gcc.gcc}/lib64/ \
+               $out/bin/rustc
+    '' else "");
   };
 
-  # Put the snapshot where it is expected
-  postUnpack = ''
-    mkdir $sourceRoot/dl
-    ln -s $snapshot $sourceRoot/dl/${snapshotName}
-  '';
+  configureFlags = [ "--enable-local-rust" "--local-rust-root=$snapshot" ];
 
   # The compiler requires cc, so we patch the source to tell it where to find it
-  patches = [ ./hardcode_paths.patch ];
+  patches = [ ./hardcode_paths.patch ./local_stage0.patch ];
   postPatch = ''
     substituteInPlace src/librustc/back/link.rs \
       --subst-var-by "gccPath" ${stdenv.gcc}/bin/cc \
       --subst-var-by "binutilsPath" ${stdenv.gcc.binutils}/bin/ar
   '';
 
-  # Modify the snapshot compiler so that is can be executed
-  preBuild = if stdenv.isLinux then ''
-    make ${target}/stage0/bin/rustc
-    patchelf --interpreter ${stdenv.glibc}/lib/${stdenv.gcc.dynamicLinker} \
-             --set-rpath ${stdenv.gcc.gcc}/lib/:${stdenv.gcc.gcc}/lib64/ \
-             ${target}/stage0/bin/rustc
-  '' else null;
-
   buildInputs = [ which file perl curl python27 makeWrapper ];
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.rust-lang.org/;
     description = "A safe, concurrent, practical language";
-    maintainers = [ stdenv.lib.maintainers.madjar ];
-    license = map (builtins.getAttr "shortName") [ stdenv.lib.licenses.mit stdenv.lib.licenses.asl20 ];
+    maintainers = with maintainers; [ madjar cstrahan ];
+    license = map (builtins.getAttr "shortName") [ licenses.mit licenses.asl20 ];
     # platforms as per http://static.rust-lang.org/doc/master/tutorial.html#getting-started
     platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
   };
diff --git a/pkgs/development/compilers/rust/hardcode_paths.patch b/pkgs/development/compilers/rust/hardcode_paths.patch
index 1500446cea93..b3e26281644d 100644
--- a/pkgs/development/compilers/rust/hardcode_paths.patch
+++ b/pkgs/development/compilers/rust/hardcode_paths.patch
@@ -1,8 +1,8 @@
 diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
-index 101b2e3..124267f 100644
+index f198a41..3a47e51 100644
 --- a/src/librustc/back/link.rs
 +++ b/src/librustc/back/link.rs
-@@ -728,7 +728,7 @@ pub fn get_cc_prog(sess: Session) -> ~str {
+@@ -730,7 +730,7 @@ pub fn get_cc_prog(sess: &Session) -> ~str {
          _ => {},
      }
  
@@ -10,18 +10,17 @@ index 101b2e3..124267f 100644
 +    ~"@gccPath@"
  }
  
- pub fn get_ar_prog(sess: Session) -> ~str {
-@@ -737,27 +737,9 @@ pub fn get_ar_prog(sess: Session) -> ~str {
+ pub fn get_ar_prog(sess: &Session) -> ~str {
+@@ -739,26 +739,7 @@ pub fn get_ar_prog(sess: &Session) -> ~str {
          None => {}
      }
  
 -    get_system_tool(sess, "ar")
-+    ~"@binutilsPath@"
- }
- 
--fn get_system_tool(sess: Session, tool: &str) -> ~str {
+-}
+-
+-fn get_system_tool(sess: &Session, tool: &str) -> ~str {
 -    match sess.targ_cfg.os {
--        abi::OsAndroid => match sess.opts.android_cross_path {
+-        abi::OsAndroid => match sess.opts.cg.android_cross_path {
 -            Some(ref path) => {
 -                let tool_str = match tool {
 -                    "cc" => "gcc",
@@ -31,14 +30,12 @@ index 101b2e3..124267f 100644
 -            }
 -            None => {
 -                sess.fatal(format!("need Android NDK path for the '{}' tool \
--                                    (--android-cross-path)", tool))
+-                                    (-C android-cross-path)", tool))
 -            }
 -        },
 -        _ => tool.to_owned(),
 -    }
--}
++    ~"@binutilsPath@"
+ }
  
- /// Perform the linkage portion of the compilation phase. This will generate all
- /// of the requested outputs for this compilation session.
-
-
+ fn remove(sess: &Session, path: &Path) {
diff --git a/pkgs/development/compilers/rust/local_stage0.patch b/pkgs/development/compilers/rust/local_stage0.patch
new file mode 100644
index 000000000000..1261b2d458da
--- /dev/null
+++ b/pkgs/development/compilers/rust/local_stage0.patch
@@ -0,0 +1,13 @@
+diff --git a/src/etc/local_stage0.sh b/src/etc/local_stage0.sh
+index e78f231..6b6773b 100755
+--- a/src/etc/local_stage0.sh
++++ b/src/etc/local_stage0.sh
+@@ -53,8 +53,3 @@ if [ -z $TARG_DIR ]; then
+ fi
+
+ cp ${PREFIX}/bin/rustc${BIN_SUF} ${TARG_DIR}/stage0/bin/
+-cp ${PREFIX}/${LIB_DIR}/${RUSTLIBDIR}/${TARG_DIR}/${LIB_DIR}/* ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}extra*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}rust*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}std*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
+-cp ${PREFIX}/${LIB_DIR}/${LIB_PREFIX}syntax*${LIB_SUF} ${TARG_DIR}/stage0/${LIB_DIR}/
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index 36ea8981786e..e1de4c53de50 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -4,11 +4,11 @@ let
   s= # Generated upstream information
   rec {
     baseName="sbcl";
-    version="1.1.16";
+    version="1.2.0";
     name="${baseName}-${version}";
-    hash="04631klj02crs82b1i21rpddcgh9x6nnarj5avavy9c7zgvr8cnw";
-    url="mirror://sourceforge/project/sbcl/sbcl/1.1.16/sbcl-1.1.16-source.tar.bz2";
-    sha256="04631klj02crs82b1i21rpddcgh9x6nnarj5avavy9c7zgvr8cnw";
+    hash="13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2";
+    url="mirror://sourceforge/project/sbcl/sbcl/1.2.0/sbcl-1.2.0-source.tar.bz2";
+    sha256="13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2";
   };
   buildInputs = with a; [
     clisp makeWrapper
diff --git a/pkgs/development/compilers/swi-prolog/default.nix b/pkgs/development/compilers/swi-prolog/default.nix
index 2070da0bee41..220d3f87fba8 100644
--- a/pkgs/development/compilers/swi-prolog/default.nix
+++ b/pkgs/development/compilers/swi-prolog/default.nix
@@ -4,14 +4,14 @@
 }:
 
 let
-  version = "6.6.3";
+  version = "6.6.5";
 in
 stdenv.mkDerivation {
   name = "swi-prolog-${version}";
 
   src = fetchurl {
     url = "http://www.swi-prolog.org/download/stable/src/pl-${version}.tar.gz";
-    sha256 = "01dr66d7rm2xvxwm6wy71bbjvfrmzxgvmaz3sl1fb63cn8d78nz3";
+    sha256 = "0lsa90sdnkd286xgm1amwkdhvnrpsz7imfzczrfdaw4arqk4bvkr";
   };
 
   buildInputs = [ gmp readline openssl libjpeg unixODBC libXinerama
diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix
index a2423bee9b9a..2073104c6fdf 100644
--- a/pkgs/development/compilers/urweb/default.nix
+++ b/pkgs/development/compilers/urweb/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "urweb";
-  version = "20130421";
+  version = "20140426";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.impredicative.com/ur/${name}.tgz";
-    sha256 = "1dglcial9bzximw778wbfqx99khy34qpf9gw4bbncn9f742ji872";
+    sha256 = "0d7mbmjc59y0dwk4k7r4wpxfsn4fzswrdxai9xh2nzjsxg2fa7d2";
   };
 
   buildInputs = [ stdenv.gcc file openssl mlton mysql postgresql sqlite ];
diff --git a/pkgs/development/compilers/yasm/default.nix b/pkgs/development/compilers/yasm/default.nix
index 9a803a6d5106..ec1fda10d8c3 100644
--- a/pkgs/development/compilers/yasm/default.nix
+++ b/pkgs/development/compilers/yasm/default.nix
@@ -12,6 +12,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.tortall.net/projects/yasm/;
     description = "Complete rewrite of the NASM assembler";
     license = "BSD";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix
index 7064d25532a2..00fe490d494a 100644
--- a/pkgs/development/interpreters/elixir/default.nix
+++ b/pkgs/development/interpreters/elixir/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils }:
 
 let
-  version = "0.13.0";
+  version = "0.13.3";
 in
 stdenv.mkDerivation {
   name = "elixir-${version}";
 
   src = fetchurl {
     url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz";
-    sha256 = "070jhv38d5f694gn4lgkzx3vcs495jnlgkrp6b3159zbri1mhz5b";
+    sha256 = "17nb8qfyjc67g62x10l2gq0z1501xa4wry906br0w2rm8bf4j8rf";
   };
 
   buildInputs = [ erlang rebar makeWrapper ];
diff --git a/pkgs/development/interpreters/erlang/R14B04.nix b/pkgs/development/interpreters/erlang/R14.nix
index 4dd32cd806c3..4dd32cd806c3 100644
--- a/pkgs/development/interpreters/erlang/R14B04.nix
+++ b/pkgs/development/interpreters/erlang/R14.nix
diff --git a/pkgs/development/interpreters/erlang/R15B03.nix b/pkgs/development/interpreters/erlang/R15.nix
index e0760db9f58b..e0760db9f58b 100644
--- a/pkgs/development/interpreters/erlang/R15B03.nix
+++ b/pkgs/development/interpreters/erlang/R15.nix
diff --git a/pkgs/development/interpreters/erlang/R16B02.nix b/pkgs/development/interpreters/erlang/R16.nix
index 7dc71ed65461..eaf991ff5637 100644
--- a/pkgs/development/interpreters/erlang/R16B02.nix
+++ b/pkgs/development/interpreters/erlang/R16.nix
@@ -8,11 +8,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "erlang-" + version;
-  version = "R16B02";
+  version = "R16B03-1";
 
   src = fetchurl {
     url = "http://www.erlang.org/download/otp_src_${version}.tar.gz";
-    sha256 = "119gnf3jfd98hpxxqs8vnzrc81myv07y302b99alalqqz0fsvf3a";
+    sha256 = "1rvyfh22g1fir1i4xn7v2md868wcmhajwhfsq97v7kn5kd2m7khp";
   };
 
   buildInputs =
diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix
index b171492d78cb..f70fb164623b 100644
--- a/pkgs/development/interpreters/jruby/default.nix
+++ b/pkgs/development/interpreters/jruby/default.nix
@@ -1,11 +1,13 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
-stdenv.mkDerivation {
-  name = "jruby-1.6.5.1";
+stdenv.mkDerivation rec {
+  name = "jruby-${version}";
+
+  version = "1.7.12";
 
   src = fetchurl {
-    url = http://jruby.org.s3.amazonaws.com/downloads/1.6.5.1/jruby-bin-1.6.5.1.tar.gz;
-    sha256 = "1j0iv1q950lyir9vqfgg2533f1q28jaz7vnxqswsaix1mjhm29qd";
+    url = "http://jruby.org.s3.amazonaws.com/downloads/${version}/jruby-bin-${version}.tar.gz";
+    sha1 = "056cee1138e49da40a77f179b771372692479002";
   };
 
   buildInputs = [ makeWrapper ];
@@ -14,7 +16,7 @@ stdenv.mkDerivation {
      mkdir -pv $out
      mv * $out
      rm $out/bin/*.{bat,dll,exe,sh}
-     mv $out/README $out/docs
+     mv $out/COPYING $out/LICENSE* $out/docs
 
      for i in $out/bin/*; do
        wrapProgram $i \
@@ -22,7 +24,7 @@ stdenv.mkDerivation {
      done
   '';
 
-  meta = { 
+  meta = {
     description = "Ruby interpreter written in Java";
     homepage = http://jruby.org/;
     license = "CPL-1.0 GPL-2 LGPL-2.1"; # one of those
diff --git a/pkgs/development/interpreters/maude/default.nix b/pkgs/development/interpreters/maude/default.nix
index 23e2bc98ba44..65badeae1dde 100644
--- a/pkgs/development/interpreters/maude/default.nix
+++ b/pkgs/development/interpreters/maude/default.nix
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
   };
 
   fullMaude = fetchurl {
-    url = "http://maude.cs.uiuc.edu/download/current/FM2.6/full-maude26.maude";
-    sha256 = "1382hjwwrsdgd5yjn3ph1b5i1bhrhzvqx0v369bmcjkly9k96v6q";
+    url = "https://full-maude.googlecode.com/git/full-maude261h.maude";
+    sha256 = "0xx8bfn6arsa75m5vhp5lmpazgfw230ssq33h9vifswlvzzc81ha";
   };
 
   buildInputs = [flex bison ncurses buddy tecla gmpxx libsigsegv makeWrapper];
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
     for n in "$out/bin/"*; do wrapProgram "$n" --suffix MAUDE_LIB ':' "$out/share/maude"; done
     mkdir -p $out/share/maude
-    cp ${fullMaude} $out/share/maude/full-maude.maude
+    cp ${fullMaude} -d $out/share/maude/full-maude.maude
   '';
 
   meta = {
diff --git a/pkgs/development/interpreters/pypy/2.2/default.nix b/pkgs/development/interpreters/pypy/2.2/default.nix
index 427e06eca13d..b2b4157dcf6e 100644
--- a/pkgs/development/interpreters/pypy/2.2/default.nix
+++ b/pkgs/development/interpreters/pypy/2.2/default.nix
@@ -5,7 +5,7 @@ assert zlibSupport -> zlib != null;
 
 let
 
-  majorVersion = "2.2";
+  majorVersion = "2.3";
   version = "${majorVersion}.1";
   pythonVersion = "2.7";
   libPrefix = "pypy${majorVersion}";
@@ -16,8 +16,8 @@ let
     inherit majorVersion version;
 
     src = fetchurl {
-      url = "https://bitbucket.org/pypy/pypy/downloads/pypy-${version}-src.tar.bz2";
-      sha256 = "0pq36n6bap96smpacx8gvgl8yvi9r7ddl4mlpsi5cdj4gqc4a815";
+      url = "https://bitbucket.org/pypy/pypy/get/release-${version}.tar.bz2";
+      sha256 = "0fg4l48c7n59n5j3b1dgcsr927xzylkfny4a6pnk6z0pq2bhvl9z";
     };
 
     buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite ]
diff --git a/pkgs/development/interpreters/python/2.7/CVE-2014-1912.patch b/pkgs/development/interpreters/python/2.7/CVE-2014-1912.patch
deleted file mode 100644
index 95399bf76073..000000000000
--- a/pkgs/development/interpreters/python/2.7/CVE-2014-1912.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-# Edited from Mercurial patch: deleted the NEWS hunk, since it didn't apply cleanly.
-# It added the following line to NEWS:
-# - Issue #20246: Fix buffer overflow in socket.recvfrom_into.
-
-# HG changeset patch
-# User Benjamin Peterson <benjamin@python.org>
-# Date 1389671978 18000
-# Node ID 87673659d8f7ba1623cd4914f09ad3d2ade034e9
-# Parent  2631d33ee7fbd5f0288931ef37872218d511d2e8
-complain when nbytes > buflen to fix possible buffer overflow (closes #20246)
-
-diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
---- a/Lib/test/test_socket.py
-+++ b/Lib/test/test_socket.py
-@@ -1620,6 +1620,16 @@ class BufferIOTest(SocketConnectedTest):
- 
-     _testRecvFromIntoMemoryview = _testRecvFromIntoArray
- 
-+    def testRecvFromIntoSmallBuffer(self):
-+        # See issue #20246.
-+        buf = bytearray(8)
-+        self.assertRaises(ValueError, self.cli_conn.recvfrom_into, buf, 1024)
-+
-+    def _testRecvFromIntoSmallBuffer(self):
-+        with test_support.check_py3k_warnings():
-+            buf = buffer(MSG*2048)
-+        self.serv_conn.send(buf)
-+
- 
- TIPC_STYPE = 2000
- TIPC_LOWER = 200
-diff --git a/Misc/ACKS b/Misc/ACKS
---- a/Misc/ACKS
-+++ b/Misc/ACKS
-@@ -979,6 +979,7 @@ Eric V. Smith
- Christopher Smith
- Gregory P. Smith
- Roy Smith
-+Ryan Smith-Roberts
- Rafal Smotrzyk
- Dirk Soede
- Paul Sokolovsky
-diff --git a/Misc/NEWS b/Misc/NEWS
---- a/Modules/socketmodule.c
-+++ b/Modules/socketmodule.c
-@@ -2742,6 +2742,10 @@ sock_recvfrom_into(PySocketSockObject *s
-     if (recvlen == 0) {
-         /* If nbytes was not specified, use the buffer's length */
-         recvlen = buflen;
-+    } else if (recvlen > buflen) {
-+        PyErr_SetString(PyExc_ValueError,
-+                        "nbytes is greater than the length of the buffer");
-+        goto error;
-     }
- 
-     readlen = sock_recvfrom_guts(s, buf.buf, recvlen, flags, &addr);
-
diff --git a/pkgs/development/interpreters/python/2.7/default.nix b/pkgs/development/interpreters/python/2.7/default.nix
index eeadc3c8cc7f..fc91e5a44937 100644
--- a/pkgs/development/interpreters/python/2.7/default.nix
+++ b/pkgs/development/interpreters/python/2.7/default.nix
@@ -8,11 +8,11 @@ with stdenv.lib;
 let
 
   majorVersion = "2.7";
-  version = "${majorVersion}.6";
+  version = "${majorVersion}.7";
 
   src = fetchurl {
     url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.xz";
-    sha256 = "18gnpyh071dxa0rv3silrz92jw9qpblswzwv4gzqcwxzz20qxmhz";
+    sha256 = "0y6s12rdi89k24p8zarhy9fqmyy459yg0d125c7cac4v136y70r9";
   };
 
   patches =
@@ -28,10 +28,6 @@ let
       # patch python to put zero timestamp into pyc
       # if DETERMINISTIC_BUILD env var is set
       ./deterministic-build.patch
-
-      # See http://bugs.python.org/issue20246
-      # This will be fixed in 2.7.7.
-      ./CVE-2014-1912.patch
     ];
 
   postPatch = stdenv.lib.optionalString (stdenv.gcc.libc != null) ''
diff --git a/pkgs/development/interpreters/python/3.4/default.nix b/pkgs/development/interpreters/python/3.4/default.nix
index 0b8774463245..d5402c5cb033 100644
--- a/pkgs/development/interpreters/python/3.4/default.nix
+++ b/pkgs/development/interpreters/python/3.4/default.nix
@@ -18,7 +18,7 @@ with stdenv.lib;
 
 let
   majorVersion = "3.4";
-  version = "${majorVersion}.0";
+  version = "${majorVersion}.1";
   fullVersion = "${version}";
 
   buildInputs = filter (p: p != null) [
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.python.org/ftp/python/${version}/Python-${fullVersion}.tar.xz";
-    sha256 = "1gjcn5c3zqg161vwzh43ciha15w0plf5v7cyfm372pnllb08cdpi";
+    sha256 = "1i7dgbzyvj24i6gfhb5q2zwr9nn1ni6w1ig1rcgh96a321is35f5";
   };
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 586c0a0acb9a..469ef118310a 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl, cairo, file, pango, glib, gtk
 , which, libtool, makeWrapper, libjpeg, libpng
-, fontconfig, liberation_ttf, sqlite } :
+, fontconfig, liberation_ttf, sqlite, openssl } :
 
 stdenv.mkDerivation rec {
   pname = "racket";
-  version = "5.3.6";
+  version = "6.0.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "http://download.racket-lang.org/installers/${version}/${pname}/${name}-src-unix.tgz";
-    sha256 = "12pvgidaym1rwyyi69bd2gfmfwi1y0lf8xgih7a8r20z4g0zzq3z";
+    url = "http://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
+    sha256 = "e2bc0d4d0fcdfc3327a58c931f203c07a06d4724703f9708ba2e4c8ea0f9694d";
   };
 
   # Various racket executables do run-time searches for these.
-  ffiSharedLibs = "${glib}/lib:${cairo}/lib:${pango}/lib:${gtk}/lib:${libjpeg}/lib:${libpng}/lib:${sqlite}/lib";
+  ffiSharedLibs = "${glib}/lib:${cairo}/lib:${pango}/lib:${gtk}/lib:${libjpeg}/lib:${libpng}/lib:${sqlite}/lib:${openssl}/lib";
 
   buildInputs = [ file libtool which makeWrapper fontconfig liberation_ttf sqlite ];
 
diff --git a/pkgs/development/interpreters/renpy/default.nix b/pkgs/development/interpreters/renpy/default.nix
index d3630888f64f..ccaa45c6c338 100644
--- a/pkgs/development/interpreters/renpy/default.nix
+++ b/pkgs/development/interpreters/renpy/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation {
-  name = "renpy-6.17.4";
+  name = "renpy-6.17.6";
 
   meta = {
     description = "Ren'Py Visual Novel Engine";
@@ -14,8 +14,8 @@ stdenv.mkDerivation {
   };
 
   src = fetchurl {
-    url = "http://www.renpy.org/dl/6.17.4/renpy-6.17.4-source.tar.bz2";
-    sha256 = "1n0ki944vawl1i3z9g5h65spdjvb8p0gj6rckv36fb2yq2adxclp";
+    url = "http://www.renpy.org/dl/6.17.6/renpy-6.17.6-source.tar.bz2";
+    sha256 = "0rkynw9cnr1zqdinz037d9zig6grhp2ca2pyxk80vhdpjb0xrkic";
   };
 
   buildInputs = [
diff --git a/pkgs/development/interpreters/spidermonkey/24.2.nix b/pkgs/development/interpreters/spidermonkey/24.2.nix
new file mode 100644
index 000000000000..44fe4f60d53e
--- /dev/null
+++ b/pkgs/development/interpreters/spidermonkey/24.2.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, pkgconfig, nspr, perl, python, zip }:
+
+stdenv.mkDerivation rec {
+  version = "24.2.0";
+  name = "spidermonkey-${version}";
+
+  src = fetchurl {
+    url = "http://ftp.mozilla.org/pub/mozilla.org/js/mozjs-${version}.tar.bz2";
+    sha256 = "1n1phk8r3l8icqrrap4czplnylawa0ddc2cc4cgdz46x3lrkybz6";
+  };
+
+  propagatedBuildInputs = [ nspr ];
+
+  buildInputs = [ pkgconfig perl python zip ];
+
+  postUnpack = "sourceRoot=\${sourceRoot}/js/src";
+
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr"
+    export LIBXUL_DIST=$out
+  '';
+
+  configureFlags = [ "--enable-threadsafe" "--with-system-nspr" ];
+
+  # hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393
+  preBuild = "touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}";
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+  preCheck = "rm jit-test/tests/sunspider/check-date-format-tofte.js"; # https://bugzil.la/600522
+
+  meta = with stdenv.lib; {
+    description = "Mozilla's JavaScript engine written in C/C++";
+    homepage = https://developer.mozilla.org/en/SpiderMonkey;
+    # TODO: MPL/GPL/LGPL tri-license.
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
+
diff --git a/pkgs/development/interpreters/tcl/default.nix b/pkgs/development/interpreters/tcl/default.nix
index 48755065b992..c9a0fd7546fa 100644
--- a/pkgs/development/interpreters/tcl/default.nix
+++ b/pkgs/development/interpreters/tcl/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "tcl-8.5.7";
+  name = "tcl-8.5.15";
 
   src = fetchurl {
-    url = mirror://sourceforge/tcl/tcl8.5.7-src.tar.gz;
-    sha256 = "1wk67qq12bdbaqsi6cxwj6ra8nc8ph1na9rh808kfk6hm18qvlk7";
+    url = mirror://sourceforge/tcl/tcl8.5.15-src.tar.gz;
+    sha256 = "0kl8lbfwy4v4q4461wjmva95h0pgiprykislpw4nnpkrc7jalkpj";
   };
 
   preConfigure = "cd unix";
diff --git a/pkgs/development/libraries/SDL2_mixer/default.nix b/pkgs/development/libraries/SDL2_mixer/default.nix
index 6d29ddf6eea0..06e174371c7d 100644
--- a/pkgs/development/libraries/SDL2_mixer/default.nix
+++ b/pkgs/development/libraries/SDL2_mixer/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0nvjdxjchrajrn0jag877hdx9zb788hsd315zzg1lyck2wb0xkm8";
   };
 
-  buildInputs = [SDL2 libogg libvorbis];
+  propagatedBuildInputs = [SDL2 libogg libvorbis];
 
   configureFlags = "--disable-music-ogg-shared" + stdenv.lib.optionalString enableNativeMidi "--enable-music-native-midi-gpl";
 
diff --git a/pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch b/pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch
new file mode 100644
index 000000000000..5e0af3577d6a
--- /dev/null
+++ b/pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch
@@ -0,0 +1,152 @@
+diff -Naur a52dec.old/include/a52.h a52dec.new/include/a52.h
+--- a52dec.old/include/a52.h	2002-01-28 06:37:54.000000000 +0100
++++ a52dec.new/include/a52.h	2012-07-16 14:13:35.000000000 +0200
+@@ -30,7 +30,71 @@
+ typedef double sample_t;
+ #endif
+ 
+-typedef struct a52_state_s a52_state_t;
++typedef struct {
++    uint8_t bai;              /* fine SNR offset, fast gain */
++    uint8_t deltbae;          /* delta bit allocation exists */
++    int8_t deltba[50];        /* per-band delta bit allocation */
++} ba_t;
++
++typedef struct {
++    uint8_t exp[256];         /* decoded channel exponents */
++    int8_t bap[256];          /* derived channel bit allocation */
++} expbap_t;
++
++typedef struct {
++    uint8_t fscod;            /* sample rate */
++    uint8_t halfrate;         /* halfrate factor */
++    uint8_t acmod;            /* coded channels */
++    uint8_t lfeon;            /* coded lfe channel */
++    sample_t clev;            /* centre channel mix level */
++    sample_t slev;            /* surround channels mix level */
++
++    int output;               /* type of output */
++    sample_t level;           /* output level */
++    sample_t bias;            /* output bias */
++
++    int dynrnge;              /* apply dynamic range */
++    sample_t dynrng;          /* dynamic range */
++    void * dynrngdata;        /* dynamic range callback funtion and data */
++    sample_t (* dynrngcall) (sample_t range, void * dynrngdata);
++
++    uint8_t chincpl;          /* channel coupled */
++    uint8_t phsflginu;        /* phase flags in use (stereo only) */
++    uint8_t cplstrtmant;      /* coupling channel start mantissa */
++    uint8_t cplendmant;       /* coupling channel end mantissa */
++    uint32_t cplbndstrc;      /* coupling band structure */
++    sample_t cplco[5][18];    /* coupling coordinates */
++
++    /* derived information */
++    uint8_t cplstrtbnd;       /* coupling start band (for bit allocation) */
++    uint8_t ncplbnd;          /* number of coupling bands */
++
++    uint8_t rematflg;         /* stereo rematrixing */
++
++    uint8_t endmant[5];       /* channel end mantissa */
++
++    uint16_t bai;             /* bit allocation information */
++
++    uint32_t * buffer_start;
++    uint16_t lfsr_state;      /* dither state */
++    uint32_t bits_left;
++    uint32_t current_word;
++
++    uint8_t csnroffst;        /* coarse SNR offset */
++    ba_t cplba;               /* coupling bit allocation parameters */
++    ba_t ba[5];               /* channel bit allocation parameters */
++    ba_t lfeba;               /* lfe bit allocation parameters */
++
++    uint8_t cplfleak;         /* coupling fast leak init */
++    uint8_t cplsleak;         /* coupling slow leak init */
++
++    expbap_t cpl_expbap;
++    expbap_t fbw_expbap[5];
++    expbap_t lfe_expbap;
++
++    sample_t * samples;
++    int downmixed;
++} a52_state_t;
+ 
+ #define A52_CHANNEL 0
+ #define A52_MONO 1
+diff -Naur a52dec.old/liba52/a52_internal.h a52dec.new/liba52/a52_internal.h
+--- a52dec.old/liba52/a52_internal.h	2002-07-28 03:52:06.000000000 +0200
++++ a52dec.new/liba52/a52_internal.h	2012-07-16 14:11:47.000000000 +0200
+@@ -21,72 +21,6 @@
+  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  */
+ 
+-typedef struct {
+-    uint8_t bai;		/* fine SNR offset, fast gain */
+-    uint8_t deltbae;		/* delta bit allocation exists */
+-    int8_t deltba[50];		/* per-band delta bit allocation */
+-} ba_t;
+-
+-typedef struct {
+-    uint8_t exp[256];		/* decoded channel exponents */
+-    int8_t bap[256];		/* derived channel bit allocation */
+-} expbap_t;
+-
+-struct a52_state_s {
+-    uint8_t fscod;		/* sample rate */
+-    uint8_t halfrate;		/* halfrate factor */
+-    uint8_t acmod;		/* coded channels */
+-    uint8_t lfeon;		/* coded lfe channel */
+-    sample_t clev;		/* centre channel mix level */
+-    sample_t slev;		/* surround channels mix level */
+-
+-    int output;			/* type of output */
+-    sample_t level;		/* output level */
+-    sample_t bias;		/* output bias */
+-
+-    int dynrnge;		/* apply dynamic range */
+-    sample_t dynrng;		/* dynamic range */
+-    void * dynrngdata;		/* dynamic range callback funtion and data */
+-    sample_t (* dynrngcall) (sample_t range, void * dynrngdata);
+-
+-    uint8_t chincpl;		/* channel coupled */
+-    uint8_t phsflginu;		/* phase flags in use (stereo only) */
+-    uint8_t cplstrtmant;	/* coupling channel start mantissa */
+-    uint8_t cplendmant;		/* coupling channel end mantissa */
+-    uint32_t cplbndstrc;	/* coupling band structure */
+-    sample_t cplco[5][18];	/* coupling coordinates */
+-
+-    /* derived information */
+-    uint8_t cplstrtbnd;		/* coupling start band (for bit allocation) */
+-    uint8_t ncplbnd;		/* number of coupling bands */
+-
+-    uint8_t rematflg;		/* stereo rematrixing */
+-
+-    uint8_t endmant[5];		/* channel end mantissa */
+-
+-    uint16_t bai;		/* bit allocation information */
+-
+-    uint32_t * buffer_start;
+-    uint16_t lfsr_state;	/* dither state */
+-    uint32_t bits_left;
+-    uint32_t current_word;
+-
+-    uint8_t csnroffst;		/* coarse SNR offset */
+-    ba_t cplba;			/* coupling bit allocation parameters */
+-    ba_t ba[5];			/* channel bit allocation parameters */
+-    ba_t lfeba;			/* lfe bit allocation parameters */
+-
+-    uint8_t cplfleak;		/* coupling fast leak init */
+-    uint8_t cplsleak;		/* coupling slow leak init */
+-
+-    expbap_t cpl_expbap;
+-    expbap_t fbw_expbap[5];
+-    expbap_t lfe_expbap;
+-
+-    sample_t * samples;
+-    int downmixed;
+-};
+-
+ #define LEVEL_PLUS6DB 2.0
+ #define LEVEL_PLUS3DB 1.4142135623730951
+ #define LEVEL_3DB 0.7071067811865476
diff --git a/pkgs/development/libraries/a52dec/A01-thread-safe.patch b/pkgs/development/libraries/a52dec/A01-thread-safe.patch
new file mode 100644
index 000000000000..4ca2d1a08734
--- /dev/null
+++ b/pkgs/development/libraries/a52dec/A01-thread-safe.patch
@@ -0,0 +1,462 @@
+diff -Naur a52dec.old/include/a52.h a52dec.new/include/a52.h
+--- a52dec.old/include/a52.h	2012-07-16 14:24:14.000000000 +0200
++++ a52dec.new/include/a52.h	2012-07-16 14:31:37.000000000 +0200
+@@ -42,6 +42,11 @@
+ } expbap_t;
+ 
+ typedef struct {
++    sample_t real;
++    sample_t imag;
++} complex_t;
++
++typedef struct {
+     uint8_t fscod;            /* sample rate */
+     uint8_t halfrate;         /* halfrate factor */
+     uint8_t acmod;            /* coded channels */
+@@ -94,6 +99,20 @@
+ 
+     sample_t * samples;
+     int downmixed;
++
++    /* Root values for IFFT */
++    sample_t * roots16;           // size 3
++    sample_t * roots32;           // size 7
++    sample_t * roots64;           // size 15
++    sample_t * roots128;          // size 31
++
++    /* Twiddle factors for IMDCT */
++    complex_t * pre1;             // size 128
++    complex_t * post1;            // size 64
++    complex_t * pre2;             // size 64
++    complex_t * post2;            // size 32
++
++    sample_t * a52_imdct_window;  // size 256
+ } a52_state_t;
+ 
+ #define A52_CHANNEL 0
+diff -Naur a52dec.old/liba52/a52_internal.h a52dec.new/liba52/a52_internal.h
+--- a52dec.old/liba52/a52_internal.h	2012-07-16 14:24:14.000000000 +0200
++++ a52dec.new/liba52/a52_internal.h	2012-07-16 14:28:33.000000000 +0200
+@@ -49,6 +49,6 @@
+ 		  sample_t clev, sample_t slev);
+ void a52_upmix (sample_t * samples, int acmod, int output);
+ 
+-void a52_imdct_init (uint32_t mm_accel);
+-void a52_imdct_256 (sample_t * data, sample_t * delay, sample_t bias);
+-void a52_imdct_512 (sample_t * data, sample_t * delay, sample_t bias);
++void a52_imdct_init (a52_state_t * state, uint32_t mm_accel);
++void a52_imdct_256 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias);
++void a52_imdct_512 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias);
+diff -Naur a52dec.old/liba52/imdct.c a52dec.new/liba52/imdct.c
+--- a52dec.old/liba52/imdct.c	2012-07-16 14:24:14.000000000 +0200
++++ a52dec.new/liba52/imdct.c	2012-07-16 14:33:00.000000000 +0200
+@@ -40,11 +40,6 @@
+ #include "a52_internal.h"
+ #include "mm_accel.h"
+ 
+-typedef struct complex_s {
+-    sample_t real;
+-    sample_t imag;
+-} complex_t;
+-
+ static uint8_t fftorder[] = {
+       0,128, 64,192, 32,160,224, 96, 16,144, 80,208,240,112, 48,176,
+       8,136, 72,200, 40,168,232,104,248,120, 56,184, 24,152,216, 88,
+@@ -56,22 +51,8 @@
+       6,134, 70,198, 38,166,230,102,246,118, 54,182, 22,150,214, 86
+ };
+ 
+-/* Root values for IFFT */
+-static sample_t roots16[3];
+-static sample_t roots32[7];
+-static sample_t roots64[15];
+-static sample_t roots128[31];
+-
+-/* Twiddle factors for IMDCT */
+-static complex_t pre1[128];
+-static complex_t post1[64];
+-static complex_t pre2[64];
+-static complex_t post2[32];
+-
+-static sample_t a52_imdct_window[256];
+-
+-static void (* ifft128) (complex_t * buf);
+-static void (* ifft64) (complex_t * buf);
++static void (* ifft128) (a52_state_t * state, complex_t * buf);
++static void (* ifft64) (a52_state_t * state, complex_t * buf);
+ 
+ static inline void ifft2 (complex_t * buf)
+ {
+@@ -167,7 +148,7 @@
+     a1.imag += tmp4;				\
+ } while (0)
+ 
+-static inline void ifft8 (complex_t * buf)
++static inline void ifft8 (a52_state_t * state, complex_t * buf)
+ {
+     double tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8;
+ 
+@@ -175,7 +156,7 @@
+     ifft2 (buf + 4);
+     ifft2 (buf + 6);
+     BUTTERFLY_ZERO (buf[0], buf[2], buf[4], buf[6]);
+-    BUTTERFLY_HALF (buf[1], buf[3], buf[5], buf[7], roots16[1]);
++    BUTTERFLY_HALF (buf[1], buf[3], buf[5], buf[7], state->roots16[1]);
+ }
+ 
+ static void ifft_pass (complex_t * buf, sample_t * weight, int n)
+@@ -205,66 +186,66 @@
+     } while (--i);
+ }
+ 
+-static void ifft16 (complex_t * buf)
++static void ifft16 (a52_state_t * state, complex_t * buf)
+ {
+-    ifft8 (buf);
++    ifft8 (state, buf);
+     ifft4 (buf + 8);
+     ifft4 (buf + 12);
+-    ifft_pass (buf, roots16 - 4, 4);
++    ifft_pass (buf, state->roots16 - 4, 4);
+ }
+ 
+-static void ifft32 (complex_t * buf)
++static void ifft32 (a52_state_t * state, complex_t * buf)
+ {
+-    ifft16 (buf);
+-    ifft8 (buf + 16);
+-    ifft8 (buf + 24);
+-    ifft_pass (buf, roots32 - 8, 8);
++    ifft16 (state, buf);
++    ifft8 (state, buf + 16);
++    ifft8 (state, buf + 24);
++    ifft_pass (buf, state->roots32 - 8, 8);
+ }
+ 
+-static void ifft64_c (complex_t * buf)
++static void ifft64_c (a52_state_t * state, complex_t * buf)
+ {
+-    ifft32 (buf);
+-    ifft16 (buf + 32);
+-    ifft16 (buf + 48);
+-    ifft_pass (buf, roots64 - 16, 16);
++    ifft32 (state, buf);
++    ifft16 (state, buf + 32);
++    ifft16 (state, buf + 48);
++    ifft_pass (buf, state->roots64 - 16, 16);
+ }
+ 
+-static void ifft128_c (complex_t * buf)
++static void ifft128_c (a52_state_t * state, complex_t * buf)
+ {
+-    ifft32 (buf);
+-    ifft16 (buf + 32);
+-    ifft16 (buf + 48);
+-    ifft_pass (buf, roots64 - 16, 16);
++    ifft32 (state, buf);
++    ifft16 (state, buf + 32);
++    ifft16 (state, buf + 48);
++    ifft_pass (buf, state->roots64 - 16, 16);
+ 
+-    ifft32 (buf + 64);
+-    ifft32 (buf + 96);
+-    ifft_pass (buf, roots128 - 32, 32);
++    ifft32 (state, buf + 64);
++    ifft32 (state, buf + 96);
++    ifft_pass (buf, state->roots128 - 32, 32);
+ }
+ 
+-void a52_imdct_512 (sample_t * data, sample_t * delay, sample_t bias)
++void a52_imdct_512 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias)
+ {
+     int i, k;
+     sample_t t_r, t_i, a_r, a_i, b_r, b_i, w_1, w_2;
+-    const sample_t * window = a52_imdct_window;
++    const sample_t * window = state->a52_imdct_window;
+     complex_t buf[128];
+ 	
+     for (i = 0; i < 128; i++) {
+ 	k = fftorder[i];
+-	t_r = pre1[i].real;
+-	t_i = pre1[i].imag;
++	t_r = state->pre1[i].real;
++	t_i = state->pre1[i].imag;
+ 
+ 	buf[i].real = t_i * data[255-k] + t_r * data[k];
+ 	buf[i].imag = t_r * data[255-k] - t_i * data[k];
+     }
+ 
+-    ifft128 (buf);
++    ifft128 (state, buf);
+ 
+     /* Post IFFT complex multiply plus IFFT complex conjugate*/
+     /* Window and convert to real valued signal */
+     for (i = 0; i < 64; i++) {
+ 	/* y[n] = z[n] * (xcos1[n] + j * xsin1[n]) ; */
+-	t_r = post1[i].real;
+-	t_i = post1[i].imag;
++	t_r = state->post1[i].real;
++	t_i = state->post1[i].imag;
+ 
+ 	a_r = t_r * buf[i].real     + t_i * buf[i].imag;
+ 	a_i = t_i * buf[i].real     - t_r * buf[i].imag;
+@@ -285,18 +266,18 @@
+     }
+ }
+ 
+-void a52_imdct_256(sample_t * data, sample_t * delay, sample_t bias)
++void a52_imdct_256(a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias)
+ {
+     int i, k;
+     sample_t t_r, t_i, a_r, a_i, b_r, b_i, c_r, c_i, d_r, d_i, w_1, w_2;
+-    const sample_t * window = a52_imdct_window;
++    const sample_t * window = state->a52_imdct_window;
+     complex_t buf1[64], buf2[64];
+ 
+     /* Pre IFFT complex multiply plus IFFT cmplx conjugate */
+     for (i = 0; i < 64; i++) {
+ 	k = fftorder[i];
+-	t_r = pre2[i].real;
+-	t_i = pre2[i].imag;
++	t_r = state->pre2[i].real;
++	t_i = state->pre2[i].imag;
+ 
+ 	buf1[i].real = t_i * data[254-k] + t_r * data[k];
+ 	buf1[i].imag = t_r * data[254-k] - t_i * data[k];
+@@ -305,15 +286,15 @@
+ 	buf2[i].imag = t_r * data[255-k] - t_i * data[k+1];
+     }
+ 
+-    ifft64 (buf1);
+-    ifft64 (buf2);
++    ifft64 (state, buf1);
++    ifft64 (state, buf2);
+ 
+     /* Post IFFT complex multiply */
+     /* Window and convert to real valued signal */
+     for (i = 0; i < 32; i++) {
+ 	/* y1[n] = z1[n] * (xcos2[n] + j * xs in2[n]) ; */ 
+-	t_r = post2[i].real;
+-	t_i = post2[i].imag;
++	t_r = state->post2[i].real;
++	t_i = state->post2[i].imag;
+ 
+ 	a_r = t_r * buf1[i].real    + t_i * buf1[i].imag;
+ 	a_i = t_i * buf1[i].real    - t_r * buf1[i].imag;
+@@ -362,7 +343,7 @@
+     return bessel;
+ }
+ 
+-void a52_imdct_init (uint32_t mm_accel)
++void a52_imdct_init (a52_state_t * state, uint32_t mm_accel)
+ {
+     int i, k;
+     double sum;
+@@ -371,50 +352,50 @@
+     sum = 0;
+     for (i = 0; i < 256; i++) {
+ 	sum += besselI0 (i * (256 - i) * (5 * M_PI / 256) * (5 * M_PI / 256));
+-	a52_imdct_window[i] = sum;
++	state->a52_imdct_window[i] = sum;
+     }
+     sum++;
+     for (i = 0; i < 256; i++)
+-	a52_imdct_window[i] = sqrt (a52_imdct_window[i] / sum);
++	state->a52_imdct_window[i] = sqrt (state->a52_imdct_window[i] / sum);
+ 
+     for (i = 0; i < 3; i++)
+-	roots16[i] = cos ((M_PI / 8) * (i + 1));
++	state->roots16[i] = cos ((M_PI / 8) * (i + 1));
+ 
+     for (i = 0; i < 7; i++)
+-	roots32[i] = cos ((M_PI / 16) * (i + 1));
++	state->roots32[i] = cos ((M_PI / 16) * (i + 1));
+ 
+     for (i = 0; i < 15; i++)
+-	roots64[i] = cos ((M_PI / 32) * (i + 1));
++	state->roots64[i] = cos ((M_PI / 32) * (i + 1));
+ 
+     for (i = 0; i < 31; i++)
+-	roots128[i] = cos ((M_PI / 64) * (i + 1));
++	state->roots128[i] = cos ((M_PI / 64) * (i + 1));
+ 
+     for (i = 0; i < 64; i++) {
+ 	k = fftorder[i] / 2 + 64;
+-	pre1[i].real = cos ((M_PI / 256) * (k - 0.25));
+-	pre1[i].imag = sin ((M_PI / 256) * (k - 0.25));
++	state->pre1[i].real = cos ((M_PI / 256) * (k - 0.25));
++	state->pre1[i].imag = sin ((M_PI / 256) * (k - 0.25));
+     }
+ 
+     for (i = 64; i < 128; i++) {
+ 	k = fftorder[i] / 2 + 64;
+-	pre1[i].real = -cos ((M_PI / 256) * (k - 0.25));
+-	pre1[i].imag = -sin ((M_PI / 256) * (k - 0.25));
++	state->pre1[i].real = -cos ((M_PI / 256) * (k - 0.25));
++	state->pre1[i].imag = -sin ((M_PI / 256) * (k - 0.25));
+     }
+ 
+     for (i = 0; i < 64; i++) {
+-	post1[i].real = cos ((M_PI / 256) * (i + 0.5));
+-	post1[i].imag = sin ((M_PI / 256) * (i + 0.5));
++	state->post1[i].real = cos ((M_PI / 256) * (i + 0.5));
++	state->post1[i].imag = sin ((M_PI / 256) * (i + 0.5));
+     }
+ 
+     for (i = 0; i < 64; i++) {
+ 	k = fftorder[i] / 4;
+-	pre2[i].real = cos ((M_PI / 128) * (k - 0.25));
+-	pre2[i].imag = sin ((M_PI / 128) * (k - 0.25));
++	state->pre2[i].real = cos ((M_PI / 128) * (k - 0.25));
++	state->pre2[i].imag = sin ((M_PI / 128) * (k - 0.25));
+     }
+ 
+     for (i = 0; i < 32; i++) {
+-	post2[i].real = cos ((M_PI / 128) * (i + 0.5));
+-	post2[i].imag = sin ((M_PI / 128) * (i + 0.5));
++	state->post2[i].real = cos ((M_PI / 128) * (i + 0.5));
++	state->post2[i].imag = sin ((M_PI / 128) * (i + 0.5));
+     }
+ 
+ #ifdef LIBA52_DJBFFT
+diff -Naur a52dec.old/liba52/parse.c a52dec.new/liba52/parse.c
+--- a52dec.old/liba52/parse.c	2012-07-16 14:24:14.000000000 +0200
++++ a52dec.new/liba52/parse.c	2012-07-16 14:33:00.000000000 +0200
+@@ -56,16 +56,53 @@
+     a52_state_t * state;
+     int i;
+ 
+-    state = malloc (sizeof (a52_state_t));
++    state = calloc (1, sizeof (a52_state_t));
+     if (state == NULL)
+ 	return NULL;
+ 
+     state->samples = memalign (16, 256 * 12 * sizeof (sample_t));
+     if (state->samples == NULL) {
+-	free (state);
+-	return NULL;
++        goto fail;
+     }
+ 
++    /* Root values for IFFT */
++    state->roots16 = memalign (16, 3 * sizeof (sample_t));
++    if (state->roots16 == NULL)
++        goto fail;
++
++    state->roots32 = memalign (16, 7 * sizeof (sample_t));
++    if (state->roots32 == NULL)
++        goto fail;
++
++    state->roots64 = memalign (16, 15 * sizeof (sample_t));
++    if (state->roots64 == NULL)
++        goto fail;
++
++    state->roots128 = memalign (16, 31 * sizeof (sample_t));
++    if (state->roots128 == NULL)
++        goto fail;
++
++    /* Twiddle factors for IMDCT */
++    state->pre1 = memalign (16, 128 * sizeof (complex_t));
++    if (state->pre1 == NULL)
++        goto fail;
++
++    state->post1 = memalign (16, 64 * sizeof (complex_t));
++    if (state->post1 == NULL)
++        goto fail;
++
++    state->pre2 = memalign (16, 64 * sizeof (complex_t));
++    if (state->pre2 == NULL)
++        goto fail;
++
++    state->post2 = memalign (16, 32 * sizeof (complex_t));
++    if (state->post2 == NULL)
++        goto fail;
++
++    state->a52_imdct_window = memalign (16, 256 * sizeof (sample_t));
++    if (state->a52_imdct_window == NULL)
++        goto fail;
++
+     for (i = 0; i < 256 * 12; i++)
+ 	state->samples[i] = 0;
+ 
+@@ -73,9 +110,27 @@
+ 
+     state->lfsr_state = 1;
+ 
+-    a52_imdct_init (mm_accel);
++    a52_imdct_init (state, mm_accel);
+ 
+     return state;
++
++fail:
++    if ( state )
++    {
++        free (state->a52_imdct_window);
++        free (state->post2);
++        free (state->pre2);
++        free (state->post1);
++        free (state->pre1);
++        free (state->roots128);
++        free (state->roots64);
++        free (state->roots32);
++        free (state->roots16);
++        free (state->samples);
++        free (state);
++    }
++    return NULL;
++
+ }
+ 
+ sample_t * a52_samples (a52_state_t * state)
+@@ -825,7 +880,7 @@
+ 		       state->dynrng, 0, 7);
+ 	    for (i = 7; i < 256; i++)
+ 		(samples-256)[i] = 0;
+-	    a52_imdct_512 (samples - 256, samples + 1536 - 256, state->bias);
++	    a52_imdct_512 (state, samples - 256, samples + 1536 - 256, state->bias);
+ 	} else {
+ 	    /* just skip the LFE coefficients */
+ 	    coeff_get (state, samples + 1280, &state->lfe_expbap, &quantizer,
+@@ -854,10 +909,10 @@
+ 
+ 	    if (coeff[i]) {
+ 		if (blksw[i])
+-		    a52_imdct_256 (samples + 256 * i, samples + 1536 + 256 * i,
++		    a52_imdct_256 (state, samples + 256 * i, samples + 1536 + 256 * i,
+ 				   bias);
+ 		else 
+-		    a52_imdct_512 (samples + 256 * i, samples + 1536 + 256 * i,
++		    a52_imdct_512 (state, samples + 256 * i, samples + 1536 + 256 * i,
+ 				   bias);
+ 	    } else {
+ 		int j;
+@@ -883,11 +938,11 @@
+ 
+ 	if (blksw[0])
+ 	    for (i = 0; i < nfchans; i++)
+-		a52_imdct_256 (samples + 256 * i, samples + 1536 + 256 * i,
++		a52_imdct_256 (state, samples + 256 * i, samples + 1536 + 256 * i,
+ 			       state->bias);
+ 	else 
+ 	    for (i = 0; i < nfchans; i++)
+-		a52_imdct_512 (samples + 256 * i, samples + 1536 + 256 * i,
++		a52_imdct_512 (state, samples + 256 * i, samples + 1536 + 256 * i,
+ 			       state->bias);
+     }
+ 
+@@ -896,6 +951,15 @@
+ 
+ void a52_free (a52_state_t * state)
+ {
++    free (state->a52_imdct_window);
++    free (state->post2);
++    free (state->pre2);
++    free (state->post1);
++    free (state->pre1);
++    free (state->roots128);
++    free (state->roots64);
++    free (state->roots32);
++    free (state->roots16);
+     free (state->samples);
+     free (state);
+ }
diff --git a/pkgs/development/libraries/a52dec/A02-imdct-shutup.patch b/pkgs/development/libraries/a52dec/A02-imdct-shutup.patch
new file mode 100644
index 000000000000..a22e5979e665
--- /dev/null
+++ b/pkgs/development/libraries/a52dec/A02-imdct-shutup.patch
@@ -0,0 +1,11 @@
+diff -Naur a52dec_original/liba52/imdct.c a52dec_patched/liba52/imdct.c
+--- a52dec.old/liba52/imdct.c	2002-07-28 03:52:07.000000000 +0200
++++ a52dec.new/liba52/imdct.c	2011-07-15 20:29:09.000000000 +0200
+@@ -425,7 +425,6 @@
+     } else
+ #endif
+     {
+-	fprintf (stderr, "No accelerated IMDCT transform found\n");
+ 	ifft128 = ifft128_c;
+ 	ifft64 = ifft64_c;
+     }
diff --git a/pkgs/development/libraries/a52dec/A03-automake.patch b/pkgs/development/libraries/a52dec/A03-automake.patch
new file mode 100644
index 000000000000..142091dc6957
--- /dev/null
+++ b/pkgs/development/libraries/a52dec/A03-automake.patch
@@ -0,0 +1,12 @@
+diff -Naur a52dec.orig/configure.in a52dec/configure.in
+--- a52dec.orig/configure.in	2002-07-27 23:50:20.000000000 -0400
++++ a52dec/configure.in	2013-01-28 21:06:27.000000000 -0500
+@@ -6,7 +6,7 @@
+ AC_CONFIG_FILES([Makefile autotools/Makefile include/Makefile test/Makefile
+     doc/Makefile src/Makefile liba52/Makefile libao/Makefile vc++/Makefile])
+ AM_INIT_AUTOMAKE([a52dec],[0.7.4])
+-AM_CONFIG_HEADER(include/config.h)
++AC_CONFIG_HEADER(include/config.h)
+ AM_MAINTAINER_MODE
+ AC_CANONICAL_HOST
+ 
diff --git a/pkgs/development/libraries/a52dec/default.nix b/pkgs/development/libraries/a52dec/default.nix
index 84a87df03e40..7d5c5fab3934 100644
--- a/pkgs/development/libraries/a52dec/default.nix
+++ b/pkgs/development/libraries/a52dec/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "a52dec-0.7.4";
+  name = "a52dec-0.7.4p4";
   
   src = fetchurl {
     url = "${meta.homepage}/files/a52dec-0.7.4.tar.gz";
@@ -10,6 +10,14 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-fpic";
 
+  # From Handbrake
+  patches = [
+    ./A00-a52-state-t-public.patch
+    ./A01-thread-safe.patch
+    ./A02-imdct-shutup.patch
+    ./A03-automake.patch
+  ];
+
   meta = {
     description = "ATSC A/52 stream decoder";
     homepage = http://liba52.sourceforge.net/;
diff --git a/pkgs/development/libraries/clutter/1.18.nix b/pkgs/development/libraries/clutter/1.18.nix
new file mode 100644
index 000000000000..898c931f354a
--- /dev/null
+++ b/pkgs/development/libraries/clutter/1.18.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchurl, glib, pkgconfig, mesa, libX11, libXext, libXfixes
+, libXdamage, libXcomposite, libXi, cogl, pango, atk, json_glib, 
+gobjectIntrospection 
+}:
+
+let
+  ver_maj = "1.18";
+  ver_min = "2";
+in
+stdenv.mkDerivation rec {
+  name = "clutter-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/clutter/${ver_maj}/${name}.tar.xz";
+    sha256 = "f9fe12e6148426063c90e67dfaeb56013bf1aea224ef502223d13eab6c1add63";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  propagatedBuildInputs =
+    [ libX11 mesa libXext libXfixes libXdamage libXcomposite libXi cogl pango
+      atk json_glib gobjectIntrospection
+    ];
+
+  configureFlags = [ "--enable-introspection" ]; # needed by muffin AFAIK
+
+  #doCheck = true; # no tests possible without a display
+
+  meta = {
+    description = "Clutter, a library for creating fast, dynamic graphical user interfaces";
+
+    longDescription =
+      '' Clutter is free software library for creating fast, compelling,
+         portable, and dynamic graphical user interfaces.  It is a core part
+         of MeeGo, and is supported by the open source community.  Its
+         development is sponsored by Intel.
+
+         Clutter uses OpenGL for rendering (and optionally OpenGL|ES for use
+         on mobile and embedded platforms), but wraps an easy to use,
+         efficient, flexible API around GL's complexity.
+
+         Clutter enforces no particular user interface style, but provides a
+         rich, generic foundation for higher-level toolkits tailored to
+         specific needs.
+      '';
+
+    license = "LGPLv2+";
+    homepage = http://www.clutter-project.org/;
+
+    maintainers = with stdenv.lib.maintainers; [ urkud ];
+    platforms = stdenv.lib.platforms.mesaPlatforms;
+  };
+}
diff --git a/pkgs/development/libraries/cogl/1.18.nix b/pkgs/development/libraries/cogl/1.18.nix
new file mode 100644
index 000000000000..7aad8ba1b436
--- /dev/null
+++ b/pkgs/development/libraries/cogl/1.18.nix
@@ -0,0 +1,59 @@
+{ stdenv, fetchurl, pkgconfig, mesa_noglu, glib, gdk_pixbuf, xorg, libintlOrEmpty
+, pangoSupport ? true, pango, cairo, gobjectIntrospection, wayland
+, gstreamerSupport ? true, gst_all_1 }:
+
+let
+  ver_maj = "1.18";
+  ver_min = "0";
+in
+stdenv.mkDerivation rec {
+  name = "cogl-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/cogl/${ver_maj}/${name}.tar.xz";
+    sha256 = "0phg76jpkn0j948axavzr15gyrqipzmzzr66nlp3dfksgszixnd4";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  configureFlags = [
+    "--enable-introspection"
+    "--enable-gles1"
+    "--enable-gles2"
+    "--enable-kms-egl-platform"
+    "--enable-wayland-egl-platform"
+    "--enable-wayland-egl-server"
+  ] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst";
+
+  propagatedBuildInputs = with xorg; [
+      glib gdk_pixbuf gobjectIntrospection
+      mesa_noglu libXrandr libXfixes libXcomposite libXdamage wayland
+    ]
+    ++ libintlOrEmpty
+    ++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer
+                                               gst_all_1.gst-plugins-base ];
+
+  buildInputs = stdenv.lib.optionals pangoSupport [ pango cairo ];
+
+  COGL_PANGO_DEP_CFLAGS
+    = stdenv.lib.optionalString (stdenv.isDarwin && pangoSupport)
+      "-I${pango}/include/pango-1.0 -I${cairo}/include/cairo";
+
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+
+  #doCheck = true; # all tests fail (no idea why)
+
+  meta = with stdenv.lib; {
+    description = "A small open source library for using 3D graphics hardware for rendering";
+    maintainers = with maintainers; [ lovek323 ];
+
+    longDescription = ''
+      Cogl is a small open source library for using 3D graphics hardware for
+      rendering. The API departs from the flat state machine style of OpenGL
+      and is designed to make it easy to write orthogonal components that can
+      render without stepping on each other's toes.
+    '';
+
+    platforms = stdenv.lib.platforms.mesaPlatforms;
+  };
+}
diff --git a/pkgs/development/libraries/cpp-netlib/default.nix b/pkgs/development/libraries/cpp-netlib/default.nix
new file mode 100644
index 000000000000..43849bf8ed8a
--- /dev/null
+++ b/pkgs/development/libraries/cpp-netlib/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, cmake, boost, openssl }:
+
+let
+  version = "0.11.0";
+in
+
+stdenv.mkDerivation rec {
+  name = "cpp-netlib-${version}";
+
+  src = fetchurl {
+    url = "http://commondatastorage.googleapis.com/cpp-netlib-downloads/${version}/${name}.tar.bz2";
+    md5 = "0765cf203f451394df98e6ddf7bf2541";
+  };
+
+  buildInputs = [ cmake boost openssl ];
+
+  cmakeFlags = [ "-DCPP-NETLIB_BUILD_SHARED_LIBS=ON" "-DCMAKE_BUILD_TYPE=RELEASE" ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A collection of open-source libraries for high level network programming";
+    homepage    = http://cpp-netlib.org;
+    license     = stdenv.lib.licenses.boost;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/dclib/default.nix b/pkgs/development/libraries/dclib/default.nix
index f5077b63adb3..a00fbff50b9e 100644
--- a/pkgs/development/libraries/dclib/default.nix
+++ b/pkgs/development/libraries/dclib/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "dclib-0.3.7";
 
   src = fetchurl {
-    url = http://download.berlios.de/dcgui/dclib-0.3.7.tar.bz2;
+    url = ftp://ftp.debian.nl/pub/freebsd/ports/distfiles/dclib-0.3.7.tar.bz2;
     md5 = "d35833414534bcac8ce2c8a62ce903a4";
   };
 
diff --git a/pkgs/development/libraries/eigen/default.nix b/pkgs/development/libraries/eigen/default.nix
index 8a1cca4bdd45..72a140ed3711 100644
--- a/pkgs/development/libraries/eigen/default.nix
+++ b/pkgs/development/libraries/eigen/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, cmake}:
 
 let
-  v = "3.2.0";
+  v = "3.2.1";
 in
 stdenv.mkDerivation {
   name = "eigen-${v}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   src = fetchurl {
     url = "http://bitbucket.org/eigen/eigen/get/${v}.tar.bz2";
     name = "eigen-${v}.tar.bz2";
-    sha256 = "1dpshkcqjz3ckad56mkk1agbnlq0rk2d0wv14zwjg4lk1nb7h7q1";
+    sha256 = "12ljdirih9n3cf8hy00in285c2ccah7mgalmmr8gc3ldwznz5rk6";
   };
   
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/ffmpeg/2.x.nix b/pkgs/development/libraries/ffmpeg/2.x.nix
index 0e94b78c0372..847d561fbe4b 100644
--- a/pkgs/development/libraries/ffmpeg/2.x.nix
+++ b/pkgs/development/libraries/ffmpeg/2.x.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     "--enable-avresample"
     "--enable-runtime-cpudetect"
   ]
-    ++ stdenv.lib.optional subtitleSupport "--enable-libass"
+    ++ stdenv.lib.optional (!stdenv.isDarwin && subtitleSupport) "--enable-libass"
     ++ stdenv.lib.optional mp3Support "--enable-libmp3lame"
     ++ stdenv.lib.optional speexSupport "--enable-libspeex"
     ++ stdenv.lib.optional theoraSupport "--enable-libtheora"
@@ -55,13 +55,12 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree"
     ++ stdenv.lib.optional dc1394Support "--enable-libdc1394"
     ++ stdenv.lib.optional x11grabSupport "--enable-x11grab"
-    ++ stdenv.lib.optional playSupport "--enable-ffplay"
+    ++ stdenv.lib.optional (!stdenv.isDarwin && playSupport) "--enable-ffplay"
     ++ stdenv.lib.optional freetypeSupport "--enable-libfreetype --enable-fontconfig"
     ++ stdenv.lib.optional fdkAACSupport "--enable-libfdk_aac --enable-nonfree"
     ++ stdenv.lib.optional gnutlsSupport "--enable-gnutls";
 
-  buildInputs = [ pkgconfig lame yasm zlib bzip2 alsaLib texinfo perl ]
-    ++ stdenv.lib.optional subtitleSupport libass
+  buildInputs = [ pkgconfig lame yasm zlib bzip2 texinfo perl ]
     ++ stdenv.lib.optional mp3Support lame
     ++ stdenv.lib.optional speexSupport speex
     ++ stdenv.lib.optional theoraSupport libtheora
@@ -75,10 +74,12 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional faacSupport faac
     ++ stdenv.lib.optional dc1394Support libdc1394
     ++ stdenv.lib.optionals x11grabSupport [ libXext libXfixes ]
-    ++ stdenv.lib.optional playSupport SDL
+    ++ stdenv.lib.optional (!stdenv.isDarwin && playSupport) SDL
     ++ stdenv.lib.optionals freetypeSupport [ freetype fontconfig ]
     ++ stdenv.lib.optional fdkAACSupport fdk_aac
-    ++ stdenv.lib.optional gnutlsSupport gnutls;
+    ++ stdenv.lib.optional gnutlsSupport gnutls
+    ++ stdenv.lib.optional (!stdenv.isDarwin && subtitleSupport) libass
+    ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/fmod/default.nix b/pkgs/development/libraries/fmod/default.nix
index 12480bc33ae7..1fb71fc4c574 100644
--- a/pkgs/development/libraries/fmod/default.nix
+++ b/pkgs/development/libraries/fmod/default.nix
@@ -10,11 +10,11 @@ let
 in
 stdenv.mkDerivation rec {
   name    = "fmod-${version}";
-  version = "4.44.33";
+  version = "4.44.34";
 
   src = fetchurl {
-    url = "http://www.fmod.org/download/fmodex/api/Linux/fmodapi44433linux.tar.gz";
-    sha256 = "0s17jb7hbavglw0kiwak74ilppsalx53flc23sh4402ci7jg7qhk";
+    url = "http://www.fmod.org/download/fmodex/api/Linux/fmodapi44434linux.tar.gz";
+    sha256 = "057dvawckw3laavfkzvakyrw5lnvvfabs8myibjc95ap1awacb8x";
   };
 
   dontStrip = true;
diff --git a/pkgs/development/libraries/geoclue/2.0.nix b/pkgs/development/libraries/geoclue/2.0.nix
index d799dfb60271..3932fa945c8c 100644
--- a/pkgs/development/libraries/geoclue/2.0.nix
+++ b/pkgs/development/libraries/geoclue/2.0.nix
@@ -1,18 +1,18 @@
 { fetchurl, stdenv, intltool, pkgconfig, glib, json_glib, libsoup, geoip
-, dbus, dbus_glib
+, dbus, dbus_glib, networkmanager, modemmanager
 }:
 
 stdenv.mkDerivation rec {
-  name = "geoclue-2.0.0";
+  name = "geoclue-2.1.8";
 
   src = fetchurl {
-    url = "http://www.freedesktop.org/software/geoclue/releases/2.0/${name}.tar.xz";
-    sha256 = "18b7ikdcw2rm04gzw82216shp5m9pghvnsddw233s5jswn2g30ja";
+    url = "http://www.freedesktop.org/software/geoclue/releases/2.1/${name}.tar.xz";
+    sha256 = "05h102110gsxxvmvllssfz7ldjpwrrb5sqg5rbpibys6iy4w1k6m";
   };
 
   buildInputs =
    [ intltool pkgconfig glib json_glib libsoup geoip
-     dbus dbus_glib
+     dbus dbus_glib networkmanager modemmanager
    ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix
index 618b37bae4c5..6b715028e8ac 100644
--- a/pkgs/development/libraries/glib-networking/default.nix
+++ b/pkgs/development/libraries/glib-networking/default.nix
@@ -2,15 +2,15 @@
 , gsettings_desktop_schemas }:
 
 let
-  ver_maj = "2.38";
-  ver_min = "2";
+  ver_maj = "2.40";
+  ver_min = "1";
 in
 stdenv.mkDerivation rec {
   name = "glib-networking-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib-networking/${ver_maj}/${name}.tar.xz";
-    sha256 = "1iwzjkx6q9gqr7fipc98zi2bi0gccrwq1v7skff1cdijkn8zxqp8";
+    sha256 = "9fb3e54d049a480afdb814ff7452e7ab67e5d5f607ade230d7713f19922b5a28";
   };
 
   configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt";
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 033a1def3ce7..b1dd66584f4a 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -55,7 +55,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig gettext perl python ];
 
-  propagatedBuildInputs = [ pcre zlib libffi ] ++ libiconvOrEmpty ++ libintlOrEmpty;
+  propagatedBuildInputs = [ pcre zlib libffi ]
+    ++ optional (!stdenv.isDarwin) libiconvOrEmpty
+    ++ libintlOrEmpty;
 
   configureFlags =
     optional stdenv.isDarwin "--disable-compile-warnings"
diff --git a/pkgs/development/libraries/gmp/5.1.x.nix b/pkgs/development/libraries/gmp/5.1.x.nix
index a25eabbee86e..cba8d394c2ba 100644
--- a/pkgs/development/libraries/gmp/5.1.x.nix
+++ b/pkgs/development/libraries/gmp/5.1.x.nix
@@ -1,5 +1,7 @@
 { stdenv, fetchurl, m4, cxx ? true }:
 
+with { inherit (stdenv.lib) optional; };
+
 stdenv.mkDerivation rec {
   name = "gmp-5.1.3";
 
@@ -14,9 +16,12 @@ stdenv.mkDerivation rec {
     # Build a "fat binary", with routines for several sub-architectures
     # (x86), except on Solaris where some tests crash with "Memory fault".
     # See <http://hydra.nixos.org/build/2760931>, for instance.
-    (stdenv.lib.optional (!stdenv.isSunOS) "--enable-fat")
-    ++ (if cxx then [ "--enable-cxx" ] else [ "--disable-cxx" ])
-    ++ (if stdenv.is64bit then [ "--with-pic" ] else []);
+    optional (!stdenv.isSunOS) "--enable-fat"
+    ++ (if cxx then [ "--enable-cxx"  ]
+               else [ "--disable-cxx" ])
+    ++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions"
+    ++ optional stdenv.is64bit "--with-pic"
+    ;
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/gnutls/3.1.nix b/pkgs/development/libraries/gnutls/3.1.nix
index 1046310946a4..89306540694b 100644
--- a/pkgs/development/libraries/gnutls/3.1.nix
+++ b/pkgs/development/libraries/gnutls/3.1.nix
@@ -4,11 +4,11 @@
 assert guileBindings -> guile != null;
 
 stdenv.mkDerivation rec {
-  name = "gnutls-3.1.22";
+  name = "gnutls-3.1.25";
 
   src = fetchurl {
     url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.1/${name}.tar.lz";
-    sha256 = "177kmq4jn67s7mmb249722nwxmbjwjpphmib7bhzfk43z02j3pvh";
+    sha256 = "1i1v8pbaw72k0ps09i3lvc1zr9gn34jpliiijbs8k7axrv2w9n5g";
   };
 
   # FreeBSD doesn't have <alloca.h>, and Gnulib's `alloca' module isn't used.
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
 
   # XXX: Gnulib's `test-select' fails on FreeBSD:
   # http://hydra.nixos.org/build/2962084/nixlog/1/raw .
-  doCheck = (!stdenv.isFreeBSD && !stdenv.isDarwin);
+  doCheck = false;#(!stdenv.isFreeBSD && !stdenv.isDarwin);
 
   meta = {
     description = "The GNU Transport Layer Security Library";
@@ -64,4 +64,5 @@ stdenv.mkDerivation rec {
     license = "LGPLv2.1+";
     maintainers = [ stdenv.lib.maintainers.eelco ];
   };
-}
\ No newline at end of file
+}
+
diff --git a/pkgs/development/libraries/gnutls/3.2.nix b/pkgs/development/libraries/gnutls/3.2.nix
index 45d0270de5a8..ca9c003dfe74 100644
--- a/pkgs/development/libraries/gnutls/3.2.nix
+++ b/pkgs/development/libraries/gnutls/3.2.nix
@@ -4,11 +4,11 @@
 assert guileBindings -> guile != null;
 
 stdenv.mkDerivation rec {
-  name = "gnutls-3.2.12.1";
+  name = "gnutls-3.2.15";
 
   src = fetchurl {
     url = "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/${name}.tar.lz";
-    sha256 = "1787n4iard3ad0p44xbl4aj3r3f5ir3sz0b2s27qpaaia2w4774g";
+    sha256 = "16c5c4k41mxib8i06npks940p9xllgn1wrackfp8712wdvl5zc4q";
   };
 
   patches =
diff --git a/pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix b/pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix
new file mode 100644
index 000000000000..1427ec866a9c
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/legacy/gstreamermm/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, glibmm, gstreamer, gst_plugins_base, libsigcxx, libxmlxx, pkgconfig }:
+
+let
+  ver_maj = "0.10";
+  ver_min = "11";
+in
+stdenv.mkDerivation rec {
+  name = "gstreamermm-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url    = "mirror://gnome/sources/gstreamermm/${ver_maj}/gstreamermm-${ver_maj}.${ver_min}.tar.xz";
+    sha256 = "12b5f377363594a69cb79f2f5cd0a8b1813ca6553680c3216e6354cfd682ebc6";
+  };
+ 
+  doCheck = false; # Tests require pulseaudio in /homeless-shelter
+
+  propagatedBuildInputs = [
+    glibmm gstreamer gst_plugins_base libsigcxx libxmlxx
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "C++ bindings for the GStreamer streaming multimedia library";
+    homepage = http://www.gtkmm.org/;
+    license = "LGPLv2+";
+    maintainers = "Philip Lykke Carlsen <plcplc@gmail.com>";
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+}
diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix
index 92c6debaa661..c57179364a7c 100644
--- a/pkgs/development/libraries/gtk+/2.x.nix
+++ b/pkgs/development/libraries/gtk+/2.x.nix
@@ -23,14 +23,17 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = with xlibs; with stdenv.lib;
     [ glib cairo pango gdk_pixbuf atk ]
-    ++ optionals stdenv.isLinux
-      [ libXrandr libXrender libXcomposite libXi libXcursor ]
-    ++ optional stdenv.isDarwin x11
+    ++ optionals (stdenv.isLinux || stdenv.isDarwin) [
+         libXrandr libXrender libXcomposite libXi libXcursor
+       ]
+    ++ optionals stdenv.isDarwin [ x11 libXdamage ]
     ++ libintlOrEmpty
     ++ optional xineramaSupport libXinerama
     ++ optionals cupsSupport [ cups ];
 
-  configureFlags = "--with-xinput=yes";
+  configureFlags = if stdenv.isDarwin
+    then "--disable-glibtest --disable-introspection --disable-visibility"
+    else "--with-xinput=yes";
 
   postInstall = "rm -rf $out/share/gtk-doc";
 
diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index 82e2e41aff87..ef8f3e398832 100644
--- a/pkgs/development/libraries/gtk+/3.x.nix
+++ b/pkgs/development/libraries/gtk+/3.x.nix
@@ -10,7 +10,7 @@ assert cupsSupport -> cups != null;
 
 let
   ver_maj = "3.12";
-  ver_min = "1";
+  ver_min = "2";
   version = "${ver_maj}.${ver_min}";
 in
 stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz";
-    sha256 = "1kbp0bmyzh7lbxv9y349vrj3d0n0hn68r5kyvg5683snvdgsx6ki";
+    sha256 = "1l45nd7ln2pnrf99vdki3l7an5wrzkbak11hnnj1w6r3fkm4xmv1";
   };
 
   nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection perl ];
diff --git a/pkgs/development/libraries/haskell/AspectAG/default.nix b/pkgs/development/libraries/haskell/AspectAG/default.nix
deleted file mode 100644
index 6cbd760b4aca..000000000000
--- a/pkgs/development/libraries/haskell/AspectAG/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, HList, mtl }:
-
-cabal.mkDerivation (self: {
-  pname = "AspectAG";
-  version = "0.3.6.1";
-  sha256 = "01pglvf38v5ii2w03kdlgngxbb3ih0j5bsilv5qwc9vrh2iwirhf";
-  buildDepends = [ HList mtl ];
-  meta = {
-    homepage = "http://www.cs.uu.nl/wiki/bin/view/Center/AspectAG";
-    description = "Attribute Grammars in the form of an EDSL";
-    license = "LGPL";
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/BlogLiterately/default.nix b/pkgs/development/libraries/haskell/BlogLiterately/default.nix
new file mode 100644
index 000000000000..7d5c01f64bf6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/BlogLiterately/default.nix
@@ -0,0 +1,24 @@
+{ cabal, blazeHtml, boolExtras, cmdargs, dataDefault, filepath
+, HaXml, haxr, highlightingKate, hscolour, lens, mtl, pandoc
+, pandocCiteproc, pandocTypes, parsec, split, strict, temporary
+, transformers, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "BlogLiterately";
+  version = "0.7.1.7";
+  sha256 = "05i0v5mrmnxbmrqrm473z6hs9j4c2jv1l81i4kdmm2wia6p93s90";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    blazeHtml boolExtras cmdargs dataDefault filepath HaXml haxr
+    highlightingKate hscolour lens mtl pandoc pandocCiteproc
+    pandocTypes parsec split strict temporary transformers utf8String
+  ];
+  meta = {
+    homepage = "http://byorgey.wordpress.com/blogliterately/";
+    description = "A tool for posting Haskelly articles to blogs";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Cabal/1.20.0.0.nix b/pkgs/development/libraries/haskell/Cabal/1.20.0.1.nix
index 0dbd2acdd92c..ee7f363318eb 100644
--- a/pkgs/development/libraries/haskell/Cabal/1.20.0.0.nix
+++ b/pkgs/development/libraries/haskell/Cabal/1.20.0.1.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Cabal";
-  version = "1.20.0.0";
-  sha256 = "1m2lp6v1959mdm9zfg6fg1xw2iv749r4rzj576lqvn66slwsjpw1";
+  version = "1.20.0.1";
+  sha256 = "0vcpw4rskqlg2swsxk93p77svb007qvpwlpj2ia55avpi4c3xf8m";
   buildDepends = [ deepseq filepath time ];
   testDepends = [
     extensibleExceptions filepath HUnit QuickCheck regexPosix
diff --git a/pkgs/development/libraries/haskell/ConfigFile/default.nix b/pkgs/development/libraries/haskell/ConfigFile/default.nix
index 29d417562ccb..b0c77eb11165 100644
--- a/pkgs/development/libraries/haskell/ConfigFile/default.nix
+++ b/pkgs/development/libraries/haskell/ConfigFile/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ConfigFile";
-  version = "1.1.1";
-  sha256 = "0w2yhbnqldhmj3d98j720l4lj4d08abqcff751p2slszdm5pw1jm";
+  version = "1.1.2";
+  sha256 = "0xidr8dk5sc9g1v9gw7fmmrsyqiawx2rxg4c36pm4jbcj8jdzxiq";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ MissingH mtl parsec ];
diff --git a/pkgs/development/libraries/haskell/DSH/default.nix b/pkgs/development/libraries/haskell/DSH/default.nix
deleted file mode 100644
index 409afcd45b07..000000000000
--- a/pkgs/development/libraries/haskell/DSH/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ cabal, csv, FerryCore, HaXml, HDBC, mtl, Pathfinder, text }:
-
-cabal.mkDerivation (self: {
-  pname = "DSH";
-  version = "0.8.2.3";
-  sha256 = "0d5jh1vxjx3874rgwvxjm00lj3vvp8ggz2c54x6ymhmgav3pd8vy";
-  buildDepends = [ csv FerryCore HaXml HDBC mtl Pathfinder text ];
-  meta = {
-    description = "Database Supported 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/GLFW-b/default.nix b/pkgs/development/libraries/haskell/GLFW-b/default.nix
new file mode 100644
index 000000000000..5dea14a106df
--- /dev/null
+++ b/pkgs/development/libraries/haskell/GLFW-b/default.nix
@@ -0,0 +1,17 @@
+{ cabal, bindingsGLFW, HUnit, testFramework, testFrameworkHunit }:
+
+cabal.mkDerivation (self: {
+  pname = "GLFW-b";
+  version = "1.4.6";
+  sha256 = "1d9vacb9nsf5cqqwxhn49wsfbhmw1263kgimk5qxpqpg1jiy35hy";
+  buildDepends = [ bindingsGLFW ];
+  testDepends = [
+    bindingsGLFW HUnit testFramework testFrameworkHunit
+  ];
+  doCheck = false;
+  meta = {
+    description = "Bindings to GLFW OpenGL library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/GLURaw/1.4.0.0.nix b/pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix
index a6f0e61d2730..1da2b743687a 100644
--- a/pkgs/development/libraries/haskell/GLURaw/1.4.0.0.nix
+++ b/pkgs/development/libraries/haskell/GLURaw/1.4.0.1.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "GLURaw";
-  version = "1.4.0.0";
-  sha256 = "0q86rpd5cx0vrb9d3y1fljc3mg0p8wy6xdn37ngv2s0f4kslq63g";
+  version = "1.4.0.1";
+  sha256 = "1k0f1vbbrsfc7jb4qbif4w4q87lsis5gvq7jd2n8zzslxd5n8mcn";
   buildDepends = [ OpenGLRaw ];
   extraLibraries = [ freeglut mesa ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/GLUT/2.5.1.0.nix b/pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix
index 1cfd9a37eb0d..79112138b4ac 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.5.1.0.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.5.1.1.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "GLUT";
-  version = "2.5.1.0";
-  sha256 = "0zxj5i8rw402gpns5ivb1g5fkk502jwzrkviqhwhrxn7yxrybi1s";
+  version = "2.5.1.1";
+  sha256 = "0n9dkdjmpnbcjg0ll0ny7mw21xwwix0gxy0hq6yagmgaakhpg0aa";
   buildDepends = [ OpenGL OpenGLRaw ];
   extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/GLUtil/default.nix b/pkgs/development/libraries/haskell/GLUtil/default.nix
new file mode 100644
index 000000000000..507beef06632
--- /dev/null
+++ b/pkgs/development/libraries/haskell/GLUtil/default.nix
@@ -0,0 +1,16 @@
+{ cabal, cpphs, JuicyPixels, linear, OpenGL, OpenGLRaw, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "GLUtil";
+  version = "0.7.4";
+  sha256 = "0l1w0k3q5g22y90w5frljqh1v4jb7gjzb3scg79zp42pc9v3h4l5";
+  buildDepends = [
+    cpphs JuicyPixels linear OpenGL OpenGLRaw vector
+  ];
+  buildTools = [ cpphs ];
+  meta = {
+    description = "Miscellaneous OpenGL utilities";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Glob/default.nix b/pkgs/development/libraries/haskell/Glob/default.nix
index d6f07e9168dc..85fe7f2e88e4 100644
--- a/pkgs/development/libraries/haskell/Glob/default.nix
+++ b/pkgs/development/libraries/haskell/Glob/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Glob";
-  version = "0.7.4";
-  sha256 = "00f6xznqh27vbr8rggsrdphqsq1cvv931pa06b1grs7w01dcmw8s";
+  version = "0.7.5";
+  sha256 = "0hdyi49zp2yr4h4wgngl8ajrss1p309c3pn0alj543yrh33bnqq0";
   buildDepends = [ dlist filepath transformers ];
   meta = {
     homepage = "http://iki.fi/matti.niemenmaa/glob/";
diff --git a/pkgs/development/libraries/haskell/GlomeVec/default.nix b/pkgs/development/libraries/haskell/GlomeVec/default.nix
index 710605c52e33..93d4bb8a6dab 100644
--- a/pkgs/development/libraries/haskell/GlomeVec/default.nix
+++ b/pkgs/development/libraries/haskell/GlomeVec/default.nix
@@ -1,9 +1,10 @@
-{ cabal }:
+{ cabal, llvm }:
 
 cabal.mkDerivation (self: {
   pname = "GlomeVec";
   version = "0.2";
   sha256 = "08hyiadkbkmcsd1g51xvxqzp6l94hnqqbz4r6yk0zk29iawq8610";
+  buildTools = [ llvm ];
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Glome";
     description = "Simple 3D vector library";
diff --git a/pkgs/development/libraries/haskell/HSH/default.nix b/pkgs/development/libraries/haskell/HSH/default.nix
index 107e3df979b2..bcc297812104 100644
--- a/pkgs/development/libraries/haskell/HSH/default.nix
+++ b/pkgs/development/libraries/haskell/HSH/default.nix
@@ -1,5 +1,5 @@
 { cabal, filepath, hslogger, MissingH, mtl, regexBase, regexCompat
-, regexPosix, fetchurl
+, regexPosix, fetchpatch
 }:
 
 cabal.mkDerivation (self: {
@@ -11,7 +11,7 @@ cabal.mkDerivation (self: {
   buildDepends = [
     filepath hslogger MissingH mtl regexBase regexCompat regexPosix
   ];
-  patches = [ (fetchurl { url = "https://github.com/jgoerzen/hsh/pull/10.patch"; sha256 = "0fw2ihl4hlncggwf3v4d7aydm3rzgzpcxplfbwq7janysix4q950"; }) ];
+  patches = [ (fetchpatch { url = "https://github.com/jgoerzen/hsh/pull/10.patch"; sha256 = "0ddb3vf8ipf37zg4hkqh0frff1a7sv9ils3lw6qd3irpbwna1hdz"; }) ];
   meta = {
     homepage = "http://software.complete.org/hsh";
     description = "Library to mix shell scripting with Haskell programs";
diff --git a/pkgs/development/libraries/haskell/HTF/default.nix b/pkgs/development/libraries/haskell/HTF/default.nix
index aeb80822f619..4ef4c4d75196 100644
--- a/pkgs/development/libraries/haskell/HTF/default.nix
+++ b/pkgs/development/libraries/haskell/HTF/default.nix
@@ -17,6 +17,7 @@ cabal.mkDerivation (self: {
     aeson filepath mtl random regexCompat temporary text
     unorderedContainers
   ];
+  doCheck = false;
   meta = {
     homepage = "https://github.com/skogsbaer/HTF/";
     description = "The Haskell Test Framework";
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.14.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.14.nix
deleted file mode 100644
index d9e7af97adce..000000000000
--- a/pkgs/development/libraries/haskell/HTTP/4000.2.14.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ cabal, caseInsensitive, conduit, deepseq, httpdShed, httpTypes
-, HUnit, mtl, network, parsec, pureMD5, split, testFramework
-, testFrameworkHunit, wai, warp
-}:
-
-cabal.mkDerivation (self: {
-  pname = "HTTP";
-  version = "4000.2.14";
-  sha256 = "1js5r3rpy5wx0h29qsd3sfazqj0svfdcv13nsvwqi9jnwik8041c";
-  buildDepends = [ mtl network parsec ];
-  testDepends = [
-    caseInsensitive conduit deepseq httpdShed httpTypes HUnit mtl
-    network pureMD5 split testFramework testFrameworkHunit wai warp
-  ];
-  jailbreak = true;
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/haskell/HTTP";
-    description = "A library for client-side HTTP";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.17.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.17.nix
new file mode 100644
index 000000000000..583517260acf
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.17.nix
@@ -0,0 +1,24 @@
+{ cabal, caseInsensitive, conduit, conduitExtra, deepseq, httpdShed
+, httpTypes, HUnit, mtl, network, parsec, pureMD5, split
+, testFramework, testFrameworkHunit, wai, warp
+}:
+
+cabal.mkDerivation (self: {
+  pname = "HTTP";
+  version = "4000.2.17";
+  sha256 = "1701mgf1gw00nxd70kkr86yl80qxy63rpqky2g9m2nfr6y4y5b59";
+  buildDepends = [ mtl network parsec ];
+  testDepends = [
+    caseInsensitive conduit conduitExtra deepseq httpdShed httpTypes
+    HUnit mtl network pureMD5 split testFramework testFrameworkHunit
+    wai warp
+  ];
+  doCheck = false;
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11";
+  meta = {
+    homepage = "https://github.com/haskell/HTTP";
+    description = "A library for client-side HTTP";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/Hipmunk/default.nix b/pkgs/development/libraries/haskell/Hipmunk/default.nix
deleted file mode 100644
index 9ffb5640e9d2..000000000000
--- a/pkgs/development/libraries/haskell/Hipmunk/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, StateVar, transformers }:
-
-cabal.mkDerivation (self: {
-  pname = "Hipmunk";
-  version = "5.2.0.14";
-  sha256 = "1jzsalib2y6r4aw7d10v3pgapmnj1knvq3fyad3w5d11qmvx9zwc";
-  buildDepends = [ StateVar transformers ];
-  meta = {
-    homepage = "https://github.com/meteficha/Hipmunk";
-    description = "A Haskell binding for Chipmunk";
-    license = "unknown";
-    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
new file mode 100644
index 000000000000..3033eb7b19d3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HsSyck/0.51.nix
@@ -0,0 +1,13 @@
+{ cabal, hashtables, syb, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "HsSyck";
+  version = "0.51";
+  sha256 = "13y5vbzrix33dzwhdrvng2ds2dnipkxn1h22jvbf47rwnkyh2g49";
+  buildDepends = [ hashtables syb utf8String ];
+  meta = {
+    description = "Fast, lightweight YAML loader and dumper";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/HsSyck/default.nix b/pkgs/development/libraries/haskell/HsSyck/0.52.nix
index 2340c339ea7c..2340c339ea7c 100644
--- a/pkgs/development/libraries/haskell/HsSyck/default.nix
+++ b/pkgs/development/libraries/haskell/HsSyck/0.52.nix
diff --git a/pkgs/development/libraries/haskell/JsContracts/default.nix b/pkgs/development/libraries/haskell/JsContracts/default.nix
deleted file mode 100644
index 713e67fbf608..000000000000
--- a/pkgs/development/libraries/haskell/JsContracts/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ cabal, filepath, mtl, parsec, syb, WebBits, WebBitsHtml }:
-
-cabal.mkDerivation (self: {
-  pname = "JsContracts";
-  version = "0.5.3";
-  sha256 = "17l6kdpdc7lrpd9j4d2b6vklkpclshcjy6hzpi442b7pj96sn589";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ filepath mtl parsec syb WebBits WebBitsHtml ];
-  meta = {
-    homepage = "http://www.cs.brown.edu/research/plt/";
-    description = "Design-by-contract 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/JuicyPixels-util/default.nix b/pkgs/development/libraries/haskell/JuicyPixels-util/default.nix
new file mode 100644
index 000000000000..844d512c62f3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/JuicyPixels-util/default.nix
@@ -0,0 +1,14 @@
+{ cabal, JuicyPixels, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "JuicyPixels-util";
+  version = "0.1";
+  sha256 = "181wryax2k43qlblink9vcg2hk8f2qxn02ifmgxa2fl95z5ar0dc";
+  buildDepends = [ JuicyPixels vector ];
+  meta = {
+    homepage = "https://github.com/fumieval/JuicyPixels-util";
+    description = "Convert JuicyPixel images into RGBA format, flip, trim and so on";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ListLike/default.nix b/pkgs/development/libraries/haskell/ListLike/default.nix
index a9723721e1e9..03c8853cfd71 100644
--- a/pkgs/development/libraries/haskell/ListLike/default.nix
+++ b/pkgs/development/libraries/haskell/ListLike/default.nix
@@ -1,11 +1,11 @@
-{ cabal, HUnit, QuickCheck, random, text, vector }:
+{ cabal, dlist, fmlist, HUnit, QuickCheck, random, text, vector }:
 
 cabal.mkDerivation (self: {
   pname = "ListLike";
-  version = "4.0.2";
-  sha256 = "1ggh8yndnsmccgsl11fia4v2cad0vq3clibgh0311r3c43mwvnah";
-  buildDepends = [ text vector ];
-  testDepends = [ HUnit QuickCheck random text vector ];
+  version = "4.1.0";
+  sha256 = "0j78mm9vsl3scwgqp4h2bhq54hf22bxj9cg9pl26d12zw7038kwj";
+  buildDepends = [ dlist fmlist text vector ];
+  testDepends = [ dlist fmlist HUnit QuickCheck random text vector ];
   jailbreak = true;
   meta = {
     homepage = "http://software.complete.org/listlike";
diff --git a/pkgs/development/libraries/haskell/MFlow/default.nix b/pkgs/development/libraries/haskell/MFlow/default.nix
new file mode 100644
index 000000000000..def50e8e7dbd
--- /dev/null
+++ b/pkgs/development/libraries/haskell/MFlow/default.nix
@@ -0,0 +1,23 @@
+{ cabal, blazeHtml, blazeMarkup, caseInsensitive, clientsession
+, conduit, conduitExtra, cpphs, extensibleExceptions, httpTypes, monadloc
+, mtl, parsec, random, RefSerialize, stm, TCache, text, time
+, transformers, utf8String, vector, wai, warp, warpTls, Workflow
+}:
+
+cabal.mkDerivation (self: {
+  pname = "MFlow";
+  version = "0.4.5.4";
+  sha256 = "1ih9ni14xmqvcfvayjkggmpmw3s9yzp17gf4xzygldmjcs35j4n3";
+  buildDepends = [
+    blazeHtml blazeMarkup caseInsensitive clientsession conduit
+    conduitExtra cpphs extensibleExceptions httpTypes monadloc mtl parsec
+    random RefSerialize stm TCache text time transformers utf8String
+    vector wai warp warpTls Workflow
+  ];
+  meta = {
+    description = "stateful, RESTful web framework";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.tomberek ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix b/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
index 838c92fff3f8..b6402f63abb5 100644
--- a/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
+++ b/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "0.3.1.0";
   sha256 = "1r5syyalk8a81byhk39yp0j7vdrvlrpppbg52dql1fx6kfhysaxn";
   buildDepends = [ extensibleExceptions monadsTf transformers ];
+  jailbreak = true;
   meta = {
     description = "Monad-transformer compatible version of the Control.Exception module";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/NanoProlog/default.nix b/pkgs/development/libraries/haskell/NanoProlog/default.nix
deleted file mode 100644
index 490aeb4167b5..000000000000
--- a/pkgs/development/libraries/haskell/NanoProlog/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ cabal, ListLike, uuParsinglib }:
-
-cabal.mkDerivation (self: {
-  pname = "NanoProlog";
-  version = "0.3";
-  sha256 = "0wjjwzzc78sj7nsaq1hgxiwv0pc069mxns425lhmrlxcm0vf8fmn";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ ListLike uuParsinglib ];
-  meta = {
-    description = "Very small interpreter for a Prolog-like language";
-    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.9.1.0.nix b/pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix
index 6f79b5c7a068..c012c65d5228 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.9.1.0.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.9.2.0.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "OpenGL";
-  version = "2.9.1.0";
-  sha256 = "09xzjaa9qyh7bfsnq226v9zi6lhnalhmlqlca3808hgax8ijwhp3";
+  version = "2.9.2.0";
+  sha256 = "1sa5jmhj0az6sik6swv2vgzhv9gj34dbq2px23ag1a4yrk5gcn0p";
   buildDepends = [ GLURaw OpenGLRaw text ];
   extraLibraries = [ libX11 mesa ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix b/pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix
new file mode 100644
index 000000000000..f0e6c7ac7adb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/OpenGLRaw/1.5.0.0.nix
@@ -0,0 +1,15 @@
+{ cabal, mesa }:
+
+cabal.mkDerivation (self: {
+  pname = "OpenGLRaw";
+  version = "1.5.0.0";
+  sha256 = "04lsidv82fl7yb2fnqpx7q0vgiwxbswh8g7dv9q9s9i2jwiaaal5";
+  extraLibraries = [ mesa ];
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Opengl";
+    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/Pathfinder/default.nix b/pkgs/development/libraries/haskell/Pathfinder/default.nix
deleted file mode 100644
index 19d7d8abaa54..000000000000
--- a/pkgs/development/libraries/haskell/Pathfinder/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, libxml2, text }:
-
-cabal.mkDerivation (self: {
-  pname = "Pathfinder";
-  version = "0.5.10";
-  sha256 = "1k38p73jnkfcmmz94iqpzg2g6apsxflidvy8p9lwqyzfmg70brqf";
-  buildDepends = [ text ];
-  extraLibraries = [ libxml2 ];
-  meta = {
-    description = "Relational optimiser and code 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/QuickCheck/2.7.3.nix b/pkgs/development/libraries/haskell/QuickCheck/2.7.3.nix
deleted file mode 100644
index b3acd535d8f5..000000000000
--- a/pkgs/development/libraries/haskell/QuickCheck/2.7.3.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ cabal, random, testFramework, tfRandom }:
-
-cabal.mkDerivation (self: {
-  pname = "QuickCheck";
-  version = "2.7.3";
-  sha256 = "196pz0b32m84ydwm4wk7m8512bmsxw7nsqpxbyfxsyi3ykq220yh";
-  buildDepends = [ random tfRandom ];
-  testDepends = [ testFramework ];
-  meta = {
-    homepage = "http://code.haskell.org/QuickCheck";
-    description = "Automatic testing of Haskell programs";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.7.5.nix b/pkgs/development/libraries/haskell/QuickCheck/2.7.5.nix
new file mode 100644
index 000000000000..8dff2162c2d8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.7.5.nix
@@ -0,0 +1,17 @@
+{ cabal, random, testFramework, tfRandom, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "QuickCheck";
+  version = "2.7.5";
+  sha256 = "1bak50yxf8qfwfw1f5bd2p1ynx1ndjv24yp6gd2a2a1fag34x0rb";
+  buildDepends = [ random tfRandom transformers ];
+  testDepends = [ testFramework ];
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11";
+  meta = {
+    homepage = "https://github.com/nick8325/quickcheck";
+    description = "Automatic testing of Haskell programs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/RefSerialize/default.nix b/pkgs/development/libraries/haskell/RefSerialize/default.nix
new file mode 100644
index 000000000000..a16ce1332ed2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/RefSerialize/default.nix
@@ -0,0 +1,14 @@
+{ cabal, binary, hashtables, stringsearch }:
+
+cabal.mkDerivation (self: {
+  pname = "RefSerialize";
+  version = "0.3.1.3";
+  sha256 = "0qrca0jismpvjy7i4xx19ljrj72gqcmwqg47a51ykncsvci0fjrm";
+  buildDepends = [ binary hashtables stringsearch ];
+  meta = {
+    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 ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/RepLib/default.nix b/pkgs/development/libraries/haskell/RepLib/default.nix
index ca593bb2ab8f..769a1d534ba4 100644
--- a/pkgs/development/libraries/haskell/RepLib/default.nix
+++ b/pkgs/development/libraries/haskell/RepLib/default.nix
@@ -2,9 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "RepLib";
-  version = "0.5.3.2";
-  sha256 = "0adqq49kbdh0755694hrldsd9rm76bpj5ylmmli4fjxs203m5f5y";
+  version = "0.5.3.3";
+  sha256 = "1772r6rfajcn622dxwy9z1bvv53l5xj6acbcv8n9p7h01fs52mpr";
   buildDepends = [ mtl typeEquality ];
+  noHaddock = true;
   meta = {
     homepage = "http://code.google.com/p/replib/";
     description = "Generic programming library with representation types";
diff --git a/pkgs/development/libraries/haskell/SVGFonts/default.nix b/pkgs/development/libraries/haskell/SVGFonts/default.nix
index 509efd61968b..e617190b7619 100644
--- a/pkgs/development/libraries/haskell/SVGFonts/default.nix
+++ b/pkgs/development/libraries/haskell/SVGFonts/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "SVGFonts";
-  version = "1.4.0.2";
-  sha256 = "1a1f0jdz36zpj1196zv5qwg35rm4ra0b4z5spr1m3696292nj8ph";
+  version = "1.4.0.3";
+  sha256 = "0jkjcf27xqjzv9lny7j181kcma26wngrq3vzw2sp2hwkdcjryyin";
   buildDepends = [
     attoparsec blazeMarkup blazeSvg dataDefaultClass diagramsLib parsec
     split text tuple vector vectorSpace xml
diff --git a/pkgs/development/libraries/haskell/Shellac/Shellac.nix b/pkgs/development/libraries/haskell/Shellac/Shellac.nix
index d896eab923d9..e6f3caac45b9 100644
--- a/pkgs/development/libraries/haskell/Shellac/Shellac.nix
+++ b/pkgs/development/libraries/haskell/Shellac/Shellac.nix
@@ -2,11 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "Shellac";
-  version = "0.9.5.1";
-  sha256 = "19fpbh5ijy9xc3rhl9qwyan8jfnz9nsqvnsjxb7kkb7l2bpz4qfp";
+  version = "0.9.5.2";
+  sha256 = "1js9la0hziqsmb56q9kzfycda2sw3xm4kv2y5q2h3zlw5gzc5xli";
   buildDepends = [ mtl ];
   meta = {
-    homepage = "http://www.cs.princeton.edu/~rdockins/shellac/home/";
+    homepage = "http://rwd.rdockins.name/shellac/home/";
     description = "A framework for creating shell envinronments";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/TCache/default.nix b/pkgs/development/libraries/haskell/TCache/default.nix
new file mode 100644
index 000000000000..cec80a16d300
--- /dev/null
+++ b/pkgs/development/libraries/haskell/TCache/default.nix
@@ -0,0 +1,14 @@
+{ cabal, hashtables, mtl, RefSerialize, stm, text }:
+
+cabal.mkDerivation (self: {
+  pname = "TCache";
+  version = "0.12.0";
+  sha256 = "0marslz5jg66r3i2d0yjjrj11bpywpadcxs5k4j6782iczxybd7s";
+  buildDepends = [ hashtables mtl RefSerialize stm text ];
+  meta = {
+    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 ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/WebBits-Html/1.0.1.nix b/pkgs/development/libraries/haskell/WebBits-Html/1.0.1.nix
deleted file mode 100644
index d69ac78b83d1..000000000000
--- a/pkgs/development/libraries/haskell/WebBits-Html/1.0.1.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, mtl, parsec, syb, WebBits }:
-
-cabal.mkDerivation (self: {
-  pname = "WebBits-Html";
-  version = "1.0.1";
-  sha256 = "134rmm5ccfsjdr0pdwn2mf81l81rgxapa3wjjfjkxrkxq6hav35n";
-  buildDepends = [ mtl parsec syb WebBits ];
-  meta = {
-    homepage = "http://www.cs.brown.edu/research/plt/";
-    description = "JavaScript analysis tools";
-    license = "LGPL";
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/WebBits-Html/1.0.2.nix b/pkgs/development/libraries/haskell/WebBits-Html/1.0.2.nix
deleted file mode 100644
index 26f14a087748..000000000000
--- a/pkgs/development/libraries/haskell/WebBits-Html/1.0.2.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, mtl, parsec, syb, WebBits }:
-
-cabal.mkDerivation (self: {
-  pname = "WebBits-Html";
-  version = "1.0.2";
-  sha256 = "18dd52970cd27kra4l89vvrx2mrdbqd4w4f76xrq3142daxsagal";
-  buildDepends = [ mtl parsec syb WebBits ];
-  meta = {
-    homepage = "http://www.cs.brown.edu/research/plt/";
-    description = "JavaScript analysis tools";
-    license = "LGPL";
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/WebBits/1.0.nix b/pkgs/development/libraries/haskell/WebBits/1.0.nix
deleted file mode 100644
index 49bcd8ed112a..000000000000
--- a/pkgs/development/libraries/haskell/WebBits/1.0.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, mtl, parsec, syb }:
-
-cabal.mkDerivation (self: {
-  pname = "WebBits";
-  version = "1.0";
-  sha256 = "1xqk4ajywlaq9nb9a02i7c25na5p2qbpc2k9zw93gbapppjiapsc";
-  buildDepends = [ mtl parsec syb ];
-  meta = {
-    homepage = "http://www.cs.brown.edu/research/plt/";
-    description = "JavaScript analysis tools";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/WebBits/2.0.nix b/pkgs/development/libraries/haskell/WebBits/2.0.nix
deleted file mode 100644
index 0638ce06ef91..000000000000
--- a/pkgs/development/libraries/haskell/WebBits/2.0.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, mtl, parsec, syb }:
-
-cabal.mkDerivation (self: {
-  pname = "WebBits";
-  version = "2.0";
-  sha256 = "14a1rqlq925f6rdbi8yx44xszj5pvskcmw1gi1bj8hbilgmlwi7f";
-  buildDepends = [ mtl parsec syb ];
-  meta = {
-    homepage = "http://www.cs.brown.edu/research/plt/";
-    description = "JavaScript analysis tools";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/WebBits/2.2.nix b/pkgs/development/libraries/haskell/WebBits/2.2.nix
deleted file mode 100644
index 4240d7b9ce94..000000000000
--- a/pkgs/development/libraries/haskell/WebBits/2.2.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ cabal, mtl, parsec, syb }:
-
-cabal.mkDerivation (self: {
-  pname = "WebBits";
-  version = "2.2";
-  sha256 = "1frmnjbpgm76dzs1p4766fb6isqc3pxv4dnj8sdhnfliv5j0xv2z";
-  buildDepends = [ mtl parsec syb ];
-  meta = {
-    homepage = "http://github.com/brownplt/webbits";
-    description = "JavaScript analysis tools";
-    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
new file mode 100644
index 000000000000..20a304386814
--- /dev/null
+++ b/pkgs/development/libraries/haskell/Workflow/default.nix
@@ -0,0 +1,19 @@
+{ cabal, binary, exceptions, extensibleExceptions, mtl
+, RefSerialize, stm, TCache, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "Workflow";
+  version = "0.8.1";
+  sha256 = "0z23g68gcbbn43i78cql4is9js3m4z16rm2x8s57f73n0hx7f00l";
+  buildDepends = [
+    binary exceptions extensibleExceptions mtl RefSerialize stm TCache
+    vector
+  ];
+  meta = {
+    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 ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/X11/default.nix b/pkgs/development/libraries/haskell/X11/default.nix
index c304a58b9a51..64c6d50c6091 100644
--- a/pkgs/development/libraries/haskell/X11/default.nix
+++ b/pkgs/development/libraries/haskell/X11/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "X11";
-  version = "1.6.1.1";
-  sha256 = "1bkfnxcmf8qia0l3x5n3j4f1zakjwnlq0mhdnbpp6v3q2g37brbw";
+  version = "1.6.1.2";
+  sha256 = "1kzjcynm3rr83ihqx2y2d852jc49da4p18gv6jzm7g87z22x85jj";
   buildDepends = [ dataDefault ];
   extraLibraries = [
     libX11 libXext libXinerama libXrandr libXrender
diff --git a/pkgs/development/libraries/haskell/acid-state/default.nix b/pkgs/development/libraries/haskell/acid-state/default.nix
index 8b9bce21d739..066532d117a9 100644
--- a/pkgs/development/libraries/haskell/acid-state/default.nix
+++ b/pkgs/development/libraries/haskell/acid-state/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "acid-state";
-  version = "0.12.1";
-  sha256 = "0smqhj4layckdsm8xjz1rwgpcqwm5xj2vr8g4i463vgq776fl0q6";
+  version = "0.12.2";
+  sha256 = "0hwi2254bj84djxmah23vy3xw8binh75fsn8ac6y89rwc8i35w1f";
   buildDepends = [
     cereal extensibleExceptions filepath mtl network safecopy stm
   ];
diff --git a/pkgs/development/libraries/haskell/active/default.nix b/pkgs/development/libraries/haskell/active/default.nix
index 4de6f2551965..01441a39ce79 100644
--- a/pkgs/development/libraries/haskell/active/default.nix
+++ b/pkgs/development/libraries/haskell/active/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "active";
-  version = "0.1.0.13";
-  sha256 = "12ljr12xj1kpj5llxfyigwf6340m17bx56a6qmrn580fshic670z";
+  version = "0.1.0.16";
+  sha256 = "0x4z9n0avk9pr9v64vfmbbpxx2n6cl32d8sw8y2w61345s2z628k";
   buildDepends = [ newtype semigroupoids semigroups vectorSpace ];
   testDepends = [
     newtype QuickCheck semigroupoids semigroups vectorSpace
diff --git a/pkgs/development/libraries/haskell/adjunctions/default.nix b/pkgs/development/libraries/haskell/adjunctions/default.nix
index d0804959ccb6..74e564af62a6 100644
--- a/pkgs/development/libraries/haskell/adjunctions/default.nix
+++ b/pkgs/development/libraries/haskell/adjunctions/default.nix
@@ -1,14 +1,15 @@
 { cabal, comonad, contravariant, distributive, free, mtl
-, semigroupoids, semigroups, tagged, transformers, void
+, profunctors, semigroupoids, semigroups, tagged, transformers
+, void
 }:
 
 cabal.mkDerivation (self: {
   pname = "adjunctions";
-  version = "4.0.3";
-  sha256 = "0rh3vffbq407k9g95dingw6zqq3fk87pknyrqj1mrbmgrnllr8k0";
+  version = "4.1.0.1";
+  sha256 = "18p2pabid7dx96qcpd2ywv5mhjp55srhm5g013pn697jcxyq2xiv";
   buildDepends = [
-    comonad contravariant distributive free mtl semigroupoids
-    semigroups tagged transformers void
+    comonad contravariant distributive free mtl profunctors
+    semigroupoids semigroups tagged transformers void
   ];
   meta = {
     homepage = "http://github.com/ekmett/adjunctions/";
diff --git a/pkgs/development/libraries/haskell/aes/default.nix b/pkgs/development/libraries/haskell/aes/default.nix
index 6b239bd4e776..6ffa795929f9 100644
--- a/pkgs/development/libraries/haskell/aes/default.nix
+++ b/pkgs/development/libraries/haskell/aes/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "AES";
-  version = "0.2.8";
-  sha256 = "1yf0mhmj294gf1b1m11gixa1xxlbvv0yl60b59fnv5lf0s170jn3";
+  version = "0.2.9";
+  sha256 = "12n484dpjr08910ni1vvw030g9p37lz68l5lw0212rvklkva6wzc";
   buildDepends = [ cereal monadsTf random transformers ];
   meta = {
     description = "Fast AES encryption/decryption for bytestrings";
diff --git a/pkgs/development/libraries/haskell/aeson-qq/default.nix b/pkgs/development/libraries/haskell/aeson-qq/default.nix
new file mode 100644
index 000000000000..1da43428f127
--- /dev/null
+++ b/pkgs/development/libraries/haskell/aeson-qq/default.nix
@@ -0,0 +1,15 @@
+{ cabal, aeson, haskellSrcMeta, hspec, parsec, text, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "aeson-qq";
+  version = "0.7.0";
+  sha256 = "1sq34pnwiyf5lngqph4m463ijr185akzbrdi3i40zmqlrymssv3c";
+  buildDepends = [ aeson haskellSrcMeta parsec text vector ];
+  testDepends = [ aeson hspec ];
+  meta = {
+    homepage = "http://github.com/zalora/aeson-qq";
+    description = "JSON quasiquoter for Haskell";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/aeson/0.7.0.4.nix b/pkgs/development/libraries/haskell/aeson/0.7.0.4.nix
new file mode 100644
index 000000000000..b5c959bb6176
--- /dev/null
+++ b/pkgs/development/libraries/haskell/aeson/0.7.0.4.nix
@@ -0,0 +1,25 @@
+{ 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.4";
+  sha256 = "009grccll41mkf7rarpcrn06l8vc0q0y8l4j9nbdfcl89153rj2k";
+  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;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/aeson/default.nix b/pkgs/development/libraries/haskell/aeson/0.7.0.6.nix
index e7e351621113..96a93b40195f 100644
--- a/pkgs/development/libraries/haskell/aeson/default.nix
+++ b/pkgs/development/libraries/haskell/aeson/0.7.0.6.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "aeson";
-  version = "0.7.0.3";
-  sha256 = "0d2mgy35q7jkg18wh0ms7i26v74nj5mffa6z80bdblihizif6100";
+  version = "0.7.0.6";
+  sha256 = "0vsf9msz9iv7xvsnys5c0kbkldb0pvhiai02vz50b0d1kdsk2mb4";
   buildDepends = [
     attoparsec blazeBuilder deepseq dlist hashable mtl scientific syb
     text time unorderedContainers vector
diff --git a/pkgs/development/libraries/haskell/alternative-io/default.nix b/pkgs/development/libraries/haskell/alternative-io/default.nix
deleted file mode 100644
index 9daf9406742c..000000000000
--- a/pkgs/development/libraries/haskell/alternative-io/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ cabal, liftedBase, monadControl, transformers, transformersBase
-}:
-
-cabal.mkDerivation (self: {
-  pname = "alternative-io";
-  version = "0.0.1";
-  sha256 = "01hypbci3hw2czkmx78ls51ycx518ich4k753jgv0z8ilrq8isch";
-  buildDepends = [
-    liftedBase monadControl transformers transformersBase
-  ];
-  meta = {
-    description = "IO as Alternative instance (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/amqp/default.nix b/pkgs/development/libraries/haskell/amqp/default.nix
index 15079a5ba392..8256ff54e191 100644
--- a/pkgs/development/libraries/haskell/amqp/default.nix
+++ b/pkgs/development/libraries/haskell/amqp/default.nix
@@ -1,21 +1,23 @@
 { cabal, binary, clock, connection, dataBinaryIeee754, hspec
-, hspecExpectations, monadControl, network, split, text, xml
+, hspecExpectations, monadControl, network, split, text, vector
+, xml
 }:
 
 cabal.mkDerivation (self: {
   pname = "amqp";
-  version = "0.8.2";
-  sha256 = "0hl9x6kbxdv32014k1w34d84wl4ivpiyg1ikpjr0nr9bsg3wr0gf";
+  version = "0.8.3";
+  sha256 = "0gl5vdhbic8llhbqmhnwj0wvykhbrci6zz53v5cayqfcwi1v1dw2";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     binary clock connection dataBinaryIeee754 monadControl network
-    split text xml
+    split text vector xml
   ];
   testDepends = [
     binary clock connection dataBinaryIeee754 hspec hspecExpectations
-    network split text
+    network split text vector
   ];
+  doCheck = false;
   meta = {
     homepage = "https://github.com/hreinhardt/amqp";
     description = "Client library for AMQP servers (currently only RabbitMQ)";
diff --git a/pkgs/development/libraries/haskell/arithmoi/default.nix b/pkgs/development/libraries/haskell/arithmoi/default.nix
index e4d1f522bc11..c027a92c38d4 100644
--- a/pkgs/development/libraries/haskell/arithmoi/default.nix
+++ b/pkgs/development/libraries/haskell/arithmoi/default.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "0.4.1.0";
   sha256 = "1xmwxmvl9l1fa2sgr4ff7al8b5d5136h4fq9r05abj3nfnx1a0iq";
   buildDepends = [ mtl random ];
+  jailbreak = true;
   meta = {
     homepage = "https://bitbucket.org/dafis/arithmoi";
     description = "Efficient basic number-theoretic functions. Primes, powers, integer logarithms.";
diff --git a/pkgs/development/libraries/haskell/attoparsec-enumerator/default.nix b/pkgs/development/libraries/haskell/attoparsec-enumerator/default.nix
index cf40601d0447..98f8f426ba38 100644
--- a/pkgs/development/libraries/haskell/attoparsec-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/attoparsec-enumerator/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "attoparsec-enumerator";
-  version = "0.3.2";
-  sha256 = "1jrrdhzqjfb78bhnjpy0j0qywqd2j67an41pcn8y6331nzmzsrl8";
+  version = "0.3.3";
+  sha256 = "0z57bbw97v92dkjp57zj9nfzsdas2n1qfw472k1aa84iqb6hbw9w";
   buildDepends = [ attoparsec enumerator text ];
   meta = {
     homepage = "https://john-millikin.com/software/attoparsec-enumerator/";
diff --git a/pkgs/development/libraries/haskell/attoparsec/0.11.3.1.nix b/pkgs/development/libraries/haskell/attoparsec/0.11.3.1.nix
new file mode 100644
index 000000000000..84e7f6147a73
--- /dev/null
+++ b/pkgs/development/libraries/haskell/attoparsec/0.11.3.1.nix
@@ -0,0 +1,21 @@
+{ cabal, deepseq, QuickCheck, scientific, testFramework
+, testFrameworkQuickcheck2, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "attoparsec";
+  version = "0.11.3.1";
+  sha256 = "0mmyab3a9mgmfxj1kc7xgxkmmcdj90ph9nzniv7bf2vyf8vhvirl";
+  buildDepends = [ deepseq scientific text ];
+  testDepends = [
+    QuickCheck testFramework testFrameworkQuickcheck2 text
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/bos/attoparsec";
+    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/attoparsec/0.11.3.0.nix b/pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix
index 2a46c5a6b8dc..4af501e7dca6 100644
--- a/pkgs/development/libraries/haskell/attoparsec/0.11.3.0.nix
+++ b/pkgs/development/libraries/haskell/attoparsec/0.11.3.4.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "attoparsec";
-  version = "0.11.3.0";
-  sha256 = "1vnkm5pf0a381is4i0zyi41p4jv184lqpv1z9aadsnavpg0841qs";
+  version = "0.11.3.4";
+  sha256 = "1zahmkb0n7jz0di35x3r8s0xnfg1awqybh2x2zicxbwazl4f53hi";
   buildDepends = [ deepseq scientific text ];
   testDepends = [
     QuickCheck testFramework testFrameworkQuickcheck2 text
diff --git a/pkgs/development/libraries/haskell/attoparsec/0.12.0.0.nix b/pkgs/development/libraries/haskell/attoparsec/0.12.0.0.nix
new file mode 100644
index 000000000000..6fd32736c4d8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/attoparsec/0.12.0.0.nix
@@ -0,0 +1,21 @@
+{ cabal, deepseq, QuickCheck, scientific, testFramework
+, testFrameworkQuickcheck2, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "attoparsec";
+  version = "0.12.0.0";
+  sha256 = "04wdb2i2yqybkfnjs3f25nf7xz1nq5sn8z23klbm4xnqaiajmkmr";
+  buildDepends = [ deepseq scientific text ];
+  testDepends = [
+    deepseq QuickCheck scientific testFramework
+    testFrameworkQuickcheck2 text
+  ];
+  meta = {
+    homepage = "https://github.com/bos/attoparsec";
+    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/base64-bytestring/default.nix b/pkgs/development/libraries/haskell/base64-bytestring/default.nix
index 67450dc88874..6b753f7b9800 100644
--- a/pkgs/development/libraries/haskell/base64-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/base64-bytestring/default.nix
@@ -10,6 +10,7 @@ cabal.mkDerivation (self: {
     HUnit QuickCheck testFramework testFrameworkHunit
     testFrameworkQuickcheck2
   ];
+  doCheck = false;
   meta = {
     homepage = "https://github.com/bos/base64-bytestring";
     description = "Fast base64 encoding and decoding for ByteStrings";
diff --git a/pkgs/development/libraries/haskell/binary/0.6.0.0.nix b/pkgs/development/libraries/haskell/binary/0.6.1.0.nix
index 01e909212e88..f378b8d7c414 100644
--- a/pkgs/development/libraries/haskell/binary/0.6.0.0.nix
+++ b/pkgs/development/libraries/haskell/binary/0.6.1.0.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "binary";
-  version = "0.6.0.0";
-  sha256 = "0p72w7f9nn19g2wggsh8x4z7y9s174f3drz9a5ln4x7h554swcxv";
+  version = "0.6.1.0";
+  sha256 = "0d423k37973f5v9mz9401zmsfdgspnf9h6s9xgr3zh19giz7c3js";
   meta = {
     homepage = "https://github.com/kolmodin/binary";
     description = "Binary serialisation for Haskell values using lazy ByteStrings";
diff --git a/pkgs/development/libraries/haskell/binary/0.7.1.0.nix b/pkgs/development/libraries/haskell/binary/0.7.2.1.nix
index 245c80ef1ccc..bf91922835d6 100644
--- a/pkgs/development/libraries/haskell/binary/0.7.1.0.nix
+++ b/pkgs/development/libraries/haskell/binary/0.7.2.1.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "binary";
-  version = "0.7.1.0";
-  sha256 = "16cb94z57ijw0q3h5p8jbvrv1vmnchsfjhrzvh3gdm3wf75fy8ln";
+  version = "0.7.2.1";
+  sha256 = "0s0idmcmribgajxxnxdvppnz62qyxwrj9iy34pi7nvm41gj6q5nz";
   testDepends = [
     Cabal filepath HUnit QuickCheck random testFramework
     testFrameworkQuickcheck2
diff --git a/pkgs/development/libraries/haskell/bindings-GLFW/default.nix b/pkgs/development/libraries/haskell/bindings-GLFW/default.nix
new file mode 100644
index 000000000000..a5fef2474a72
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bindings-GLFW/default.nix
@@ -0,0 +1,20 @@
+{ cabal, bindingsDSL, HUnit, libX11, libXext, libXfixes, libXi
+, libXrandr, libXxf86vm, mesa, testFramework, testFrameworkHunit
+}:
+
+cabal.mkDerivation (self: {
+  pname = "bindings-GLFW";
+  version = "3.0.3.2";
+  sha256 = "1w4y2ha5x678fiyan79jd59mjrkf4q25v8049sj20fbmabgdqla9";
+  buildDepends = [ bindingsDSL ];
+  testDepends = [ HUnit testFramework testFrameworkHunit ];
+  extraLibraries = [
+    libX11 libXext libXfixes libXi libXrandr libXxf86vm mesa
+  ];
+  doCheck = false;
+  meta = {
+    description = "Low-level bindings to GLFW OpenGL library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix b/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix
index 00176d215bae..f751126f142a 100644
--- a/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "0.2.0.5";
   sha256 = "0bbbv9wwzw9ss3d02mszdzxzhg6pcrnpwir9bvby7xkmfqpyffaa";
   buildDepends = [ blazeBuilder enumerator transformers ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/meiersi/blaze-builder-enumerator";
     description = "Enumeratees for the incremental conversion of builders to bytestrings";
diff --git a/pkgs/development/libraries/haskell/blaze-svg/default.nix b/pkgs/development/libraries/haskell/blaze-svg/default.nix
index 0502f1eabc28..92a25e5e3b4a 100644
--- a/pkgs/development/libraries/haskell/blaze-svg/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-svg/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "blaze-svg";
-  version = "0.3.3.1";
-  sha256 = "00i0apyklvmkr4w30d4r86gcg86h35sc3ncvqax70827126cdmsj";
+  version = "0.3.4";
+  sha256 = "061011qrpqiyag9549hn0hfikvkrin5wb3cf0zfm9n80cgvzmqd3";
   buildDepends = [ blazeMarkup mtl ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/bmp/default.nix b/pkgs/development/libraries/haskell/bmp/default.nix
index 6c85c9349c99..63a86d82bb6b 100644
--- a/pkgs/development/libraries/haskell/bmp/default.nix
+++ b/pkgs/development/libraries/haskell/bmp/default.nix
@@ -5,7 +5,6 @@ cabal.mkDerivation (self: {
   version = "1.2.5.2";
   sha256 = "0f88f2ynm1fpzbjijy5fa8blfrdv42h5h28hfjlpd4fp0h96in5x";
   buildDepends = [ binary ];
-  jailbreak = true;
   meta = {
     homepage = "http://code.ouroborus.net/bmp";
     description = "Read and write uncompressed BMP image files";
diff --git a/pkgs/development/libraries/haskell/bool-extras/default.nix b/pkgs/development/libraries/haskell/bool-extras/default.nix
new file mode 100644
index 000000000000..20185638b592
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bool-extras/default.nix
@@ -0,0 +1,13 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "bool-extras";
+  version = "0.4.0";
+  sha256 = "008m43f04ncx2c24c241gzwjyyglw8rwpq2gsakqkw0nwz3czs61";
+  meta = {
+    homepage = "http://tom.lokhorst.eu/bool-extras";
+    description = "A fold function for Bool";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix b/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix
new file mode 100644
index 000000000000..3dfd986ee62b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/boundingboxes/0.1.1.nix
@@ -0,0 +1,21 @@
+{ cabal, lens, linear, QuickCheck, random, testFramework
+, testFrameworkQuickcheck2, testFrameworkTh
+}:
+
+cabal.mkDerivation (self: {
+  pname = "boundingboxes";
+  version = "0.1.1";
+  sha256 = "1nl0lqgfwd98jzhhw7i4vvd88lpnn8770x2pcbyfzqcyr27079f0";
+  buildDepends = [ lens linear ];
+  testDepends = [
+    lens linear QuickCheck random testFramework
+    testFrameworkQuickcheck2 testFrameworkTh
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/fumieval/boundingboxes";
+    description = "The type for 2D bounding box";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/boundingboxes/0.2.nix b/pkgs/development/libraries/haskell/boundingboxes/0.2.nix
new file mode 100644
index 000000000000..44c8b3fee6f4
--- /dev/null
+++ b/pkgs/development/libraries/haskell/boundingboxes/0.2.nix
@@ -0,0 +1,21 @@
+{ cabal, lens, linear, QuickCheck, random, testFramework
+, testFrameworkQuickcheck2, testFrameworkTh
+}:
+
+cabal.mkDerivation (self: {
+  pname = "boundingboxes";
+  version = "0.2";
+  sha256 = "0xvh1h4papfrf6dg553rx6q8fqi06ff1ivgn4rdx3haqg1zf40hp";
+  buildDepends = [ lens ];
+  testDepends = [
+    lens linear QuickCheck random testFramework
+    testFrameworkQuickcheck2 testFrameworkTh
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/fumieval/boundingboxes";
+    description = "The type for 2D bounding box";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/bytes/default.nix b/pkgs/development/libraries/haskell/bytes/default.nix
new file mode 100644
index 000000000000..cb647f2cb162
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bytes/default.nix
@@ -0,0 +1,19 @@
+{ cabal, binary, cereal, doctest, filepath, mtl, text, time
+, transformers, transformersCompat, void
+}:
+
+cabal.mkDerivation (self: {
+  pname = "bytes";
+  version = "0.14.0.2";
+  sha256 = "1bdradf5lq1kgiri64zd8cvcw2fxwbwv0apznl8vxyqlx406v3rn";
+  buildDepends = [
+    binary cereal mtl text time transformers transformersCompat void
+  ];
+  testDepends = [ doctest filepath ];
+  meta = {
+    homepage = "http://github.com/analytics/bytes";
+    description = "Sharing code for serialization between binary and cereal";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cabal-cargs/default.nix b/pkgs/development/libraries/haskell/cabal-cargs/default.nix
new file mode 100644
index 000000000000..34759c9b8926
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cabal-cargs/default.nix
@@ -0,0 +1,24 @@
+{ cabal, Cabal, cabalLenses, cmdargs, either, filepath, lens
+, strict, systemFileio, systemFilepath, tasty, tastyGolden, text
+, transformers, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cabal-cargs";
+  version = "0.6.1";
+  sha256 = "1bf903kgs16f054crwq0yyp6ijch80qn3d5ksy4j0fnyxxrdqvsa";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    Cabal cabalLenses cmdargs either lens strict systemFileio
+    systemFilepath text transformers unorderedContainers
+  ];
+  testDepends = [ filepath tasty tastyGolden ];
+  jailbreak = true;
+  meta = {
+    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 ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cabal-lenses/default.nix b/pkgs/development/libraries/haskell/cabal-lenses/default.nix
index 06777aadc4d3..39c0eeb1dd16 100644
--- a/pkgs/development/libraries/haskell/cabal-lenses/default.nix
+++ b/pkgs/development/libraries/haskell/cabal-lenses/default.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "0.1";
   sha256 = "0jss4h7crh7mndl5ghbpziy37cg9i29cc64fgxvxb63hpk0q2m17";
   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 351979627cb5..be59a3897c23 100644
--- a/pkgs/development/libraries/haskell/cabal-macosx/default.nix
+++ b/pkgs/development/libraries/haskell/cabal-macosx/default.nix
@@ -7,6 +7,7 @@ cabal.mkDerivation (self: {
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ Cabal fgl filepath parsec text ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/gimbo/cabal-macosx";
     description = "Cabal support for creating Mac OSX application bundles";
diff --git a/pkgs/development/libraries/haskell/cassava/default.nix b/pkgs/development/libraries/haskell/cassava/default.nix
index 604cd9b3ed61..745969058f0b 100644
--- a/pkgs/development/libraries/haskell/cassava/default.nix
+++ b/pkgs/development/libraries/haskell/cassava/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cassava";
-  version = "0.4.0.0";
-  sha256 = "0w3npv3403n9rl9nmn8ngp04js28bvsb5c4js17sy1gqgsakqdrl";
+  version = "0.4.1.0";
+  sha256 = "0whky3mavmprr8cgnzlg2ich99w09bdlks8rg6z9m1x86q66ivw2";
   buildDepends = [
     attoparsec blazeBuilder deepseq text unorderedContainers vector
   ];
diff --git a/pkgs/development/libraries/haskell/categories/default.nix b/pkgs/development/libraries/haskell/categories/default.nix
new file mode 100644
index 000000000000..54483f177011
--- /dev/null
+++ b/pkgs/development/libraries/haskell/categories/default.nix
@@ -0,0 +1,14 @@
+{ cabal, void }:
+
+cabal.mkDerivation (self: {
+  pname = "categories";
+  version = "1.0.6";
+  sha256 = "0i5mrxbhqj5g46lvwbw2m07prjvfwja6q8648qm6bq54z6zrl5cy";
+  buildDepends = [ void ];
+  meta = {
+    homepage = "http://github.com/ekmett/categories";
+    description = "Categories";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/chell-quickcheck/default.nix b/pkgs/development/libraries/haskell/chell-quickcheck/default.nix
index 5025fcc403b9..bc5b0b4ffba5 100644
--- a/pkgs/development/libraries/haskell/chell-quickcheck/default.nix
+++ b/pkgs/development/libraries/haskell/chell-quickcheck/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "chell-quickcheck";
-  version = "0.2.3";
-  sha256 = "15j1wzhfyr9v8hy9d5lnr6jkrfr1zfb7dwgiy3ni90mvpf8x54yc";
+  version = "0.2.4";
+  sha256 = "0ys6aks97y5h0n8n8dmwx8jrai4bjlnr7n69s259664y694054wd";
   buildDepends = [ chell QuickCheck random ];
   meta = {
     homepage = "https://john-millikin.com/software/chell/";
diff --git a/pkgs/development/libraries/haskell/chell/default.nix b/pkgs/development/libraries/haskell/chell/default.nix
index c69994e6868b..cab43842f73c 100644
--- a/pkgs/development/libraries/haskell/chell/default.nix
+++ b/pkgs/development/libraries/haskell/chell/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "chell";
-  version = "0.3.3";
-  sha256 = "1k5vxipf47753d41dgr1gr4zy7y72gz2x8lcn0fgfmxi2v810nsm";
+  version = "0.4";
+  sha256 = "1hynr7n7wxgc3z6zrc3xrfpiqlh4zfb3kagwwfhqmcamv9d4x0ng";
   buildDepends = [
     ansiTerminal options patience random text transformers
   ];
diff --git a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix
index e63f2e8ac789..a5bc5316b7fc 100644
--- a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "classy-prelude-conduit";
-  version = "0.9.1";
-  sha256 = "1y3jxhly9y1yhr2qz3b1jf6sg4s0mwq9xq1mp765wa20hmwjayvg";
+  version = "0.9.2";
+  sha256 = "07qdhha58yl1dq4mpbyrpjwzk2yhn8dbkg2qg2yaq1j780a6dwcv";
   buildDepends = [
     classyPrelude conduit conduitCombinators monadControl resourcet
     systemFileio transformers void
diff --git a/pkgs/development/libraries/haskell/classy-prelude/default.nix b/pkgs/development/libraries/haskell/classy-prelude/default.nix
index f64235c86023..8b740ded6e75 100644
--- a/pkgs/development/libraries/haskell/classy-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/classy-prelude/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "classy-prelude";
-  version = "0.9.1";
-  sha256 = "08rcfgr2mjgjvacmyih693pvq9jwfj9nshkazw8x6wlzlwr56ag8";
+  version = "0.9.2";
+  sha256 = "0n006ld2kifh2bmwgbzx282s7xxpcml9g433x132prcblw4axkgr";
   buildDepends = [
     basicPrelude chunkedData enclosedExceptions exceptions hashable
     liftedBase monoTraversable semigroups stm systemFilepath text time
diff --git a/pkgs/development/libraries/haskell/colors/default.nix b/pkgs/development/libraries/haskell/colors/default.nix
new file mode 100644
index 000000000000..245ea3ef30e0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/colors/default.nix
@@ -0,0 +1,14 @@
+{ cabal, profunctors }:
+
+cabal.mkDerivation (self: {
+  pname = "colors";
+  version = "0.1.1";
+  sha256 = "1i1n05prbp0l3xgx0w2lxzc5r81pcmbzclsamdr7fmjvhvh8blqm";
+  buildDepends = [ profunctors ];
+  meta = {
+    homepage = "https://github.com/fumieval/colors";
+    description = "A type for colors";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/compdata/default.nix b/pkgs/development/libraries/haskell/compdata/default.nix
new file mode 100644
index 000000000000..13e6fd8a2b21
--- /dev/null
+++ b/pkgs/development/libraries/haskell/compdata/default.nix
@@ -0,0 +1,23 @@
+{ cabal, deepseq, derive, HUnit, mtl, QuickCheck, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, thExpandSyns
+, transformers, treeView
+}:
+
+cabal.mkDerivation (self: {
+  pname = "compdata";
+  version = "0.8.1.0";
+  sha256 = "06bsdhf40b8111k0fmfc53i5kib9n431f07qyj83pq8isgkk33xc";
+  buildDepends = [
+    deepseq derive mtl QuickCheck thExpandSyns transformers treeView
+  ];
+  testDepends = [
+    deepseq derive HUnit mtl QuickCheck testFramework
+    testFrameworkHunit testFrameworkQuickcheck2 thExpandSyns
+    transformers
+  ];
+  meta = {
+    description = "Compositional Data Types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/compressed/default.nix b/pkgs/development/libraries/haskell/compressed/default.nix
new file mode 100644
index 000000000000..40e82f62f695
--- /dev/null
+++ b/pkgs/development/libraries/haskell/compressed/default.nix
@@ -0,0 +1,19 @@
+{ cabal, comonad, fingertree, hashable, keys, pointed, reducers
+, semigroupoids, semigroups, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "compressed";
+  version = "3.10";
+  sha256 = "1y290n421knfh8k8zbcabhw24hb13xj9pkxx4h4v15yji97p5mcw";
+  buildDepends = [
+    comonad fingertree hashable keys pointed reducers semigroupoids
+    semigroups unorderedContainers
+  ];
+  meta = {
+    homepage = "http://github.com/ekmett/compressed/";
+    description = "Compressed containers and reducers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/concurrent-extra/default.nix b/pkgs/development/libraries/haskell/concurrent-extra/default.nix
index 5fe73a339648..29520fddd0ca 100644
--- a/pkgs/development/libraries/haskell/concurrent-extra/default.nix
+++ b/pkgs/development/libraries/haskell/concurrent-extra/default.nix
@@ -1,15 +1,15 @@
-{ cabal, baseUnicodeSymbols, HUnit, stm, testFramework
-, testFrameworkHunit, unboundedDelays
+{ cabal, async, baseUnicodeSymbols, HUnit, random, stm
+, testFramework, testFrameworkHunit, unboundedDelays
 }:
 
 cabal.mkDerivation (self: {
   pname = "concurrent-extra";
-  version = "0.7.0.7";
-  sha256 = "1736y8am24x29qq1016f2dvb6adavl1h46bsjfwnkw40a9djd5cr";
+  version = "0.7.0.8";
+  sha256 = "0q6n7wlakvnvfrjr3zmxbn9i0dxq96071j565vffp0r5abxkn83q";
   buildDepends = [ baseUnicodeSymbols stm unboundedDelays ];
   testDepends = [
-    baseUnicodeSymbols HUnit stm testFramework testFrameworkHunit
-    unboundedDelays
+    async baseUnicodeSymbols HUnit random stm testFramework
+    testFrameworkHunit unboundedDelays
   ];
   meta = {
     homepage = "https://github.com/basvandijk/concurrent-extra";
diff --git a/pkgs/development/libraries/haskell/cond/default.nix b/pkgs/development/libraries/haskell/cond/default.nix
index c0c3d6ca7842..58efe5dd29de 100644
--- a/pkgs/development/libraries/haskell/cond/default.nix
+++ b/pkgs/development/libraries/haskell/cond/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cond";
-  version = "0.4.0.2";
-  sha256 = "13m7bcsx4nch767kf9wza0vqql711b8vjd3m5cahrvb7xbh3g593";
+  version = "0.4.1";
+  sha256 = "16xk8clsxv5qi5f745xvs44y8p8dnmlmjkjzwqz9jl8fbmkmki3b";
   meta = {
     homepage = "https://github.com/kallisti-dev/cond";
     description = "Basic conditional and boolean operators with monadic variants";
diff --git a/pkgs/development/libraries/haskell/conduit-combinators/default.nix b/pkgs/development/libraries/haskell/conduit-combinators/default.nix
index dc0e872a032f..99ac99ebc820 100644
--- a/pkgs/development/libraries/haskell/conduit-combinators/default.nix
+++ b/pkgs/development/libraries/haskell/conduit-combinators/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "conduit-combinators";
-  version = "0.2.5.1";
-  sha256 = "1xz8vh9pvh3897lnv1vs69g079q6qvbh334gpfnkc5lb7hvdw7qv";
+  version = "0.2.5.2";
+  sha256 = "00zvai14cgh2g9wa436kfdgyfzm3pksnhzy365y1yn96dwbbh1ih";
   buildDepends = [
     base16Bytestring base64Bytestring chunkedData conduit conduitExtra
     monadControl monoTraversable mwcRandom primitive resourcet
diff --git a/pkgs/development/libraries/haskell/conduit-extra/default.nix b/pkgs/development/libraries/haskell/conduit-extra/default.nix
index eb07ffc480f5..084f9f38ca28 100644
--- a/pkgs/development/libraries/haskell/conduit-extra/default.nix
+++ b/pkgs/development/libraries/haskell/conduit-extra/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "conduit-extra";
-  version = "1.1.0.3";
-  sha256 = "117lirx05pgpmys6dlknkcni3znrvqyhmj6djqxnqbjcn3ynhqdk";
+  version = "1.1.0.4";
+  sha256 = "0l1cv65p8nvvb9qgcj87a682wh9xim0rbk2xzhdkd0r123csb118";
   buildDepends = [
     attoparsec blazeBuilder conduit filepath monadControl network
     primitive resourcet streamingCommons text transformers
diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix
index 99308d432724..630e9610bbb1 100644
--- a/pkgs/development/libraries/haskell/conduit/default.nix
+++ b/pkgs/development/libraries/haskell/conduit/default.nix
@@ -4,13 +4,15 @@
 
 cabal.mkDerivation (self: {
   pname = "conduit";
-  version = "1.1.2.1";
-  sha256 = "1jzc3vnc0dr4nm79yx2kk5rsm06jfbf3h89y28bgv05r1pw6r7ai";
+  version = "1.1.6";
+  sha256 = "1nhjj5zz934fd6fdbmkl8xvnvlaprxccgpwxffmdgqwxhvxgprq3";
   buildDepends = [
     exceptions liftedBase mmorph monadControl mtl resourcet
     transformers transformersBase void
   ];
-  testDepends = [ hspec mtl QuickCheck resourcet transformers void ];
+  testDepends = [
+    exceptions hspec mtl QuickCheck resourcet transformers void
+  ];
   doCheck = false;
   meta = {
     homepage = "http://github.com/snoyberg/conduit";
diff --git a/pkgs/development/libraries/haskell/contravariant/default.nix b/pkgs/development/libraries/haskell/contravariant/default.nix
index 75ad1f188ae2..f1372d7630b0 100644
--- a/pkgs/development/libraries/haskell/contravariant/default.nix
+++ b/pkgs/development/libraries/haskell/contravariant/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "contravariant";
-  version = "0.5.2";
-  sha256 = "05lnipshhjh8ld0c24h675rgljr54203vv9a4fsivw4asaj24q7y";
+  version = "0.6";
+  sha256 = "031kwn2hpw25p2q0bhfgby0ihxjbcyv6w0v0nsj2zygif9jkfrrh";
   buildDepends = [ tagged transformers transformersCompat ];
   meta = {
     homepage = "http://github.com/ekmett/contravariant/";
diff --git a/pkgs/development/libraries/haskell/control-bool/default.nix b/pkgs/development/libraries/haskell/control-bool/default.nix
new file mode 100644
index 000000000000..4fe9a975f41d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/control-bool/default.nix
@@ -0,0 +1,13 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "control-bool";
+  version = "0.2.1";
+  sha256 = "10amxm1ff7xhd8g66n65wkbb8d17n77v1nmwxkbzhrask398asp4";
+  meta = {
+    homepage = "https://github.com/fumieval/control-bool";
+    description = "Useful combinators for boolean expressions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cryptohash/default.nix b/pkgs/development/libraries/haskell/cryptohash/default.nix
index cefa8fbbdf8e..894d317336d2 100644
--- a/pkgs/development/libraries/haskell/cryptohash/default.nix
+++ b/pkgs/development/libraries/haskell/cryptohash/default.nix
@@ -1,15 +1,14 @@
-{ cabal, byteable, HUnit, QuickCheck, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2
+{ cabal, byteable, HUnit, QuickCheck, tasty, tastyHunit
+, tastyQuickcheck
 }:
 
 cabal.mkDerivation (self: {
   pname = "cryptohash";
-  version = "0.11.4";
-  sha256 = "1laakkc1xzp2bmai0sfi86784wharqbyanlp1d1f1q6nj318by3y";
+  version = "0.11.5";
+  sha256 = "0vxnwnjch2r9d54q5f5bfz60npjc7s7x6a5233md7fa756822b9d";
   buildDepends = [ byteable ];
   testDepends = [
-    byteable HUnit QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2
+    byteable HUnit QuickCheck tasty tastyHunit tastyQuickcheck
   ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-cryptohash";
diff --git a/pkgs/development/libraries/haskell/cuda/default.nix b/pkgs/development/libraries/haskell/cuda/default.nix
index 0f5233d96605..71825f5fbd6e 100644
--- a/pkgs/development/libraries/haskell/cuda/default.nix
+++ b/pkgs/development/libraries/haskell/cuda/default.nix
@@ -35,6 +35,7 @@ cabal.mkDerivation (self: {
     description = "FFI binding to the CUDA interface for programming NVIDIA GPUs";
     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/data-accessor/data-accessor.nix b/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix
index 8fdde66f5fd6..5f6dff99dd26 100644
--- a/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix
+++ b/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "0.2.2.5";
   sha256 = "0z63fv41cnpk3h404gprk2f5jl7rrpyv97xmsgac9zgdm5zkkhm6";
   buildDepends = [ transformers ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Record_access";
     description = "Utilities for accessing and manipulating fields of records";
diff --git a/pkgs/development/libraries/haskell/data-checked/default.nix b/pkgs/development/libraries/haskell/data-checked/default.nix
new file mode 100644
index 000000000000..429f9da92bf3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/data-checked/default.nix
@@ -0,0 +1,14 @@
+{ cabal, deepseq }:
+
+cabal.mkDerivation (self: {
+  pname = "data-checked";
+  version = "0.3";
+  sha256 = "0xjn7iqlsgi51h8gz4x40kc2qb5lwf6nw5kjwgkck1w5gjfd11yw";
+  buildDepends = [ deepseq ];
+  meta = {
+    homepage = "https://github.com/mvv/data-checked";
+    description = "Type-indexed runtime-checked properties";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/data-lens-light/default.nix b/pkgs/development/libraries/haskell/data-lens-light/default.nix
new file mode 100644
index 000000000000..14614b8ab008
--- /dev/null
+++ b/pkgs/development/libraries/haskell/data-lens-light/default.nix
@@ -0,0 +1,14 @@
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "data-lens-light";
+  version = "0.1.1";
+  sha256 = "03nsfwpcl7wmw2bgcb8z3w04krlbrbks7bjpnzfdz6cgdr5mnjrs";
+  buildDepends = [ mtl ];
+  meta = {
+    homepage = "https://github.com/feuerbach/data-lens-light";
+    description = "Simple lenses, minimum dependencies";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/data-lens/default.nix b/pkgs/development/libraries/haskell/data-lens/default.nix
index 5276c1c97070..24755738fdbb 100644
--- a/pkgs/development/libraries/haskell/data-lens/default.nix
+++ b/pkgs/development/libraries/haskell/data-lens/default.nix
@@ -2,12 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "data-lens";
-  version = "2.10.4";
-  sha256 = "1pzswlpphpipsqja825pyqjixp4akc5nmw9y61jwv6r4vsgdpg5i";
+  version = "2.10.5";
+  sha256 = "11na4wx0f0ihk87d00njwrfc430nb25dkkadv1n47yvcyfc60i90";
   buildDepends = [ comonad semigroupoids transformers ];
   meta = {
     homepage = "http://github.com/roconnor/data-lens/";
-    description = "Haskell 98 Lenses";
+    description = "Used to be Haskell 98 Lenses";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/dbmigrations/default.nix b/pkgs/development/libraries/haskell/dbmigrations/default.nix
index 008cb04f2fa3..f8efb9537991 100644
--- a/pkgs/development/libraries/haskell/dbmigrations/default.nix
+++ b/pkgs/development/libraries/haskell/dbmigrations/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dbmigrations";
-  version = "0.7";
-  sha256 = "1mpmka6jszip8sm8k9mrk0fg1q7wp36n0szyiqy7fnbzijfw0xlz";
+  version = "0.8";
+  sha256 = "0m1zvc61y0n7p66iwsb8wzwgivxnc08cm1h3xvf1jnwrv294dwch";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/dbus/default.nix b/pkgs/development/libraries/haskell/dbus/default.nix
index 7f0285dfc7aa..d2700195b108 100644
--- a/pkgs/development/libraries/haskell/dbus/default.nix
+++ b/pkgs/development/libraries/haskell/dbus/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dbus";
-  version = "0.10.7";
-  sha256 = "0xszynw6p07r7z9nlq8alx5lxfjm57gljya835ccj63hqhkr5yxh";
+  version = "0.10.8";
+  sha256 = "1pqcb6fk6l2xzwyy3n9sa2q2k3qykym1f98n2zf75545ix46b1r6";
   buildDepends = [
     cereal libxmlSax network parsec random text transformers vector
     xmlTypes
diff --git a/pkgs/development/libraries/haskell/diagrams/cairo.nix b/pkgs/development/libraries/haskell/diagrams/cairo.nix
index bd09b67196b6..33e27cd9ff85 100644
--- a/pkgs/development/libraries/haskell/diagrams/cairo.nix
+++ b/pkgs/development/libraries/haskell/diagrams/cairo.nix
@@ -1,16 +1,16 @@
 { cabal, cairo, colour, dataDefaultClass, diagramsCore, diagramsLib
 , filepath, hashable, JuicyPixels, lens, mtl, optparseApplicative
-, split, statestack, time, vector
+, pango, split, statestack, time, transformers, vector
 }:
 
 cabal.mkDerivation (self: {
   pname = "diagrams-cairo";
-  version = "1.1.0.2";
-  sha256 = "0y36cx89rlbmj470a6g11wlzkwzznjkjmkcpm7dzbxvfxw4pp70z";
+  version = "1.2";
+  sha256 = "0vzjp1i5hk971r7f55gpdl0jibrjg9j4ny7p408kb8zl2ynlxv6l";
   buildDepends = [
     cairo colour dataDefaultClass diagramsCore diagramsLib filepath
-    hashable JuicyPixels lens mtl optparseApplicative split statestack
-    time vector
+    hashable JuicyPixels lens mtl optparseApplicative pango split
+    statestack time transformers vector
   ];
   meta = {
     homepage = "http://projects.haskell.org/diagrams";
diff --git a/pkgs/development/libraries/haskell/diagrams/contrib.nix b/pkgs/development/libraries/haskell/diagrams/contrib.nix
index aca28a024908..a433284ef7a6 100644
--- a/pkgs/development/libraries/haskell/diagrams/contrib.nix
+++ b/pkgs/development/libraries/haskell/diagrams/contrib.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams-contrib";
-  version = "1.1.1.4";
-  sha256 = "0n2r6k65kxvk5mwm193yhzwnj3bhignq4xdslfpv2m1afdvws2y1";
+  version = "1.1.2";
+  sha256 = "1gljmzlhc6vck5lcsq9lhf2k4dik5pp62k85y2kkxgq0mxnmqf0g";
   buildDepends = [
     arithmoi circlePacking colour dataDefault dataDefaultClass
     diagramsCore diagramsLib forceLayout lens MonadRandom mtl parsec
diff --git a/pkgs/development/libraries/haskell/diagrams/core.nix b/pkgs/development/libraries/haskell/diagrams/core.nix
index eb9207a936fe..153f109d14bf 100644
--- a/pkgs/development/libraries/haskell/diagrams/core.nix
+++ b/pkgs/development/libraries/haskell/diagrams/core.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams-core";
-  version = "1.1.0.2";
-  sha256 = "1py1dk6w6f00kd48kxbdbxmd3rakxdmwgpb09g346vmkbxkj56mq";
+  version = "1.2.0.1";
+  sha256 = "01rzd2zdg0pv7b299z6s6i6l6xggiszb2qs00vh5dbss295n1sps";
   buildDepends = [
     dualTree lens MemoTrie monoidExtras newtype semigroups vectorSpace
     vectorSpacePoints
diff --git a/pkgs/development/libraries/haskell/diagrams/diagrams.nix b/pkgs/development/libraries/haskell/diagrams/diagrams.nix
index 6159270379e2..5f94e2922a12 100644
--- a/pkgs/development/libraries/haskell/diagrams/diagrams.nix
+++ b/pkgs/development/libraries/haskell/diagrams/diagrams.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams";
-  version = "1.1.0.1";
-  sha256 = "0cxmrikcxgnrki9z8i33z7fbjpkx0vw849zj1cbq1zh8ry8xhhvg";
+  version = "1.2";
+  sha256 = "17j7hyd86h9msc8ni19agb0yhixga76q9kh4i109iyiyqizdnfhg";
   buildDepends = [
     diagramsContrib diagramsCore diagramsLib diagramsSvg
   ];
diff --git a/pkgs/development/libraries/haskell/diagrams/lib.nix b/pkgs/development/libraries/haskell/diagrams/lib.nix
index fd839e428576..03d6ad9f396f 100644
--- a/pkgs/development/libraries/haskell/diagrams/lib.nix
+++ b/pkgs/development/libraries/haskell/diagrams/lib.nix
@@ -1,17 +1,18 @@
-{ cabal, active, colour, dataDefaultClass, diagramsCore, filepath
-, fingertree, hashable, intervals, lens, MemoTrie, monoidExtras
-, optparseApplicative, safe, semigroups, tagged, vectorSpace
-, vectorSpacePoints
+{ cabal, active, colour, dataDefaultClass, diagramsCore, dualTree
+, filepath, fingertree, hashable, intervals, JuicyPixels, lens
+, MemoTrie, monoidExtras, optparseApplicative, safe, semigroups
+, tagged, vectorSpace, vectorSpacePoints
 }:
 
 cabal.mkDerivation (self: {
   pname = "diagrams-lib";
-  version = "1.1.0.6";
-  sha256 = "125krfaf73k2m73scnjdl0d76acwc6n9vhvvaqxxy1ln57caqh5x";
+  version = "1.2.0.1";
+  sha256 = "0p7rq97hnal90dciq1nln1s16kdb1xk9rrwaxhkxqr6kjjr2njf4";
   buildDepends = [
-    active colour dataDefaultClass diagramsCore filepath fingertree
-    hashable intervals lens MemoTrie monoidExtras optparseApplicative
-    safe semigroups tagged vectorSpace vectorSpacePoints
+    active colour dataDefaultClass diagramsCore dualTree filepath
+    fingertree hashable intervals JuicyPixels lens MemoTrie
+    monoidExtras optparseApplicative safe semigroups tagged vectorSpace
+    vectorSpacePoints
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/diagrams/postscript.nix b/pkgs/development/libraries/haskell/diagrams/postscript.nix
index 55e2c975b0eb..29dbafb890fd 100644
--- a/pkgs/development/libraries/haskell/diagrams/postscript.nix
+++ b/pkgs/development/libraries/haskell/diagrams/postscript.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "diagrams-postscript";
-  version = "1.0.2.4";
-  sha256 = "0vjzvjyrbmnjgl8ln58a44nhh4abq5q2c6fvlpxpfhxh2ligsmas";
+  version = "1.1";
+  sha256 = "0l077libp6h8ka9ygkmajvzdymndlhx60nb5f6jaqvp7yx80hz3m";
   buildDepends = [
     dataDefaultClass diagramsCore diagramsLib dlist filepath hashable
     lens monoidExtras mtl semigroups split vectorSpace
diff --git a/pkgs/development/libraries/haskell/diagrams/svg.nix b/pkgs/development/libraries/haskell/diagrams/svg.nix
index 663a6287c623..dbc148abaeea 100644
--- a/pkgs/development/libraries/haskell/diagrams/svg.nix
+++ b/pkgs/development/libraries/haskell/diagrams/svg.nix
@@ -1,15 +1,16 @@
-{ cabal, blazeMarkup, blazeSvg, colour, diagramsCore, diagramsLib
-, filepath, hashable, lens, monoidExtras, mtl, split, time
-, vectorSpace
+{ cabal, base64Bytestring, blazeMarkup, blazeSvg, colour
+, diagramsCore, diagramsLib, filepath, hashable, JuicyPixels, lens
+, monoidExtras, mtl, split, time, vectorSpace
 }:
 
 cabal.mkDerivation (self: {
   pname = "diagrams-svg";
-  version = "1.0.2.1";
-  sha256 = "1qm4vk67knl4bpp84kwm95blshf7slarpl620m8irslsq3yag507";
+  version = "1.1";
+  sha256 = "0b34rh35pay4x8dg0i06xvr3d865hbxzj2x77jly9l1j7sa1qaj1";
   buildDepends = [
-    blazeMarkup blazeSvg colour diagramsCore diagramsLib filepath
-    hashable lens monoidExtras mtl split time vectorSpace
+    base64Bytestring blazeMarkup blazeSvg colour diagramsCore
+    diagramsLib filepath hashable JuicyPixels lens monoidExtras mtl
+    split time vectorSpace
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix b/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix
index ba0866b72d79..b6a5ae78f825 100644
--- a/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors-aeson/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "digestive-functors-aeson";
-  version = "1.1.7";
-  sha256 = "07dnwmbcyb64yp51ijwsc84r6gf4rxxc4bi3wkzwxq1ijm1qhpni";
+  version = "1.1.8";
+  sha256 = "0qvzr9s0vzgzh7mix6ncjn731krln9w47zrqb5jkj92rv7mf5sgz";
   buildDepends = [ aeson digestiveFunctors lens safe text vector ];
   testDepends = [
     aeson digestiveFunctors HUnit mtl scientific tasty tastyHunit text
diff --git a/pkgs/development/libraries/haskell/digestive-functors/default.nix b/pkgs/development/libraries/haskell/digestive-functors/default.nix
index d0bd50e584b8..8764f3e2b6c9 100644
--- a/pkgs/development/libraries/haskell/digestive-functors/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "digestive-functors";
-  version = "0.7.1.0";
-  sha256 = "0ry0ircxs6ml4wdz6hrn3jnyhniwdnn1dn21imq3kv68jlhfn3by";
+  version = "0.7.1.1";
+  sha256 = "161461y8gil2922gx6kdc59g50ywk9nk74gkxl0yrwvz80a118c9";
   buildDepends = [ mtl text time ];
   testDepends = [
     HUnit mtl QuickCheck testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/directory-tree/default.nix b/pkgs/development/libraries/haskell/directory-tree/default.nix
index 5c8b357593e4..343aeb014ad1 100644
--- a/pkgs/development/libraries/haskell/directory-tree/default.nix
+++ b/pkgs/development/libraries/haskell/directory-tree/default.nix
@@ -2,9 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "directory-tree";
-  version = "0.11.0";
-  sha256 = "07vqwnzbwfjvlwcl50x5jl9yzvqfln0m4k4lam9r5n49wv7p01c9";
+  version = "0.12.0";
+  sha256 = "1idknm7fwci91fkwvzl35g0qd0jk1vb00ds2x82zjf2hdbkcc2gz";
   buildDepends = [ filepath ];
+  testDepends = [ filepath ];
   meta = {
     homepage = "http://brandon.si/code/directory-tree-module-released/";
     description = "A simple directory-like tree datatype, with useful IO functions";
diff --git a/pkgs/development/libraries/haskell/dns/default.nix b/pkgs/development/libraries/haskell/dns/default.nix
index 6bef995580c2..d563348c371a 100644
--- a/pkgs/development/libraries/haskell/dns/default.nix
+++ b/pkgs/development/libraries/haskell/dns/default.nix
@@ -1,19 +1,18 @@
-{ cabal, attoparsec, attoparsecConduit, binary, blazeBuilder
-, conduit, conduitExtra, doctest, hspec, iproute, mtl, network
-, random, resourcet
+{ cabal, attoparsec, binary, blazeBuilder, conduit, conduitExtra
+, doctest, hspec, iproute, mtl, network, random, resourcet
 }:
 
 cabal.mkDerivation (self: {
   pname = "dns";
-  version = "1.2.2";
-  sha256 = "0xba8bwxn5n3bh1qfbrmnrfsnf20iwa10acx1z4017jbnx0s025v";
+  version = "1.3.0";
+  sha256 = "1zd639d69ha3g1yz7ssvwarwiwyi975ps4i5y8vrarcq2jnnsb6n";
   buildDepends = [
-    attoparsec attoparsecConduit binary blazeBuilder conduit
-    conduitExtra iproute mtl network random resourcet
+    attoparsec binary blazeBuilder conduit conduitExtra iproute mtl
+    network random resourcet
   ];
   testDepends = [
-    attoparsec attoparsecConduit binary blazeBuilder conduit
-    conduitExtra doctest hspec iproute mtl network random resourcet
+    attoparsec binary blazeBuilder conduit conduitExtra doctest hspec
+    iproute mtl network random resourcet
   ];
   testTarget = "spec";
   meta = {
diff --git a/pkgs/development/libraries/haskell/dual-tree/default.nix b/pkgs/development/libraries/haskell/dual-tree/default.nix
index 7b2023c0812d..2f47a96b8534 100644
--- a/pkgs/development/libraries/haskell/dual-tree/default.nix
+++ b/pkgs/development/libraries/haskell/dual-tree/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dual-tree";
-  version = "0.2.0.2";
-  sha256 = "0w0kfzij22209slddyzr2g77khcgpv4ridhvkgl8z3d5sp7ggby1";
+  version = "0.2.0.4";
+  sha256 = "0visavx0zqgmcjcq07vfhk6dn867269w2gxa8nvc79gya56c6wdp";
   buildDepends = [ monoidExtras newtype semigroups ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/either/default.nix b/pkgs/development/libraries/haskell/either/default.nix
index 46348d7e4bb4..e7bbb47a47f0 100644
--- a/pkgs/development/libraries/haskell/either/default.nix
+++ b/pkgs/development/libraries/haskell/either/default.nix
@@ -1,14 +1,14 @@
-{ cabal, monadControl, MonadRandom, mtl, semigroupoids, semigroups
-, transformers, transformersBase
+{ cabal, exceptions, free, monadControl, MonadRandom, mtl
+, semigroupoids, semigroups, transformers, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "either";
-  version = "4.1.1";
-  sha256 = "0wipgwrca7bm4rm843gc0p69f2hvm2z067mjrv8qvnivyxhy8i6k";
+  version = "4.3.0.1";
+  sha256 = "1ib6288gxzqfm2y198dzhhq588mlwqxm07pcrj4h66g1mcy54q1f";
   buildDepends = [
-    monadControl MonadRandom mtl semigroupoids semigroups transformers
-    transformersBase
+    exceptions free monadControl MonadRandom mtl semigroupoids
+    semigroups transformers transformersBase
   ];
   noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.6";
   meta = {
diff --git a/pkgs/development/libraries/haskell/ekg-core/default.nix b/pkgs/development/libraries/haskell/ekg-core/default.nix
index 6c332f832cd3..759a60407462 100644
--- a/pkgs/development/libraries/haskell/ekg-core/default.nix
+++ b/pkgs/development/libraries/haskell/ekg-core/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ekg-core";
-  version = "0.1.0.0";
-  sha256 = "19ghqj9zbb198d45bw7k9mlf2z57yq74wgbkp62b9li2ndbcpdzh";
+  version = "0.1.0.1";
+  sha256 = "1zha9r43nalxdw22s79mf89fwfzi8lq0q9ldhw7f6c63dnwxyjja";
   buildDepends = [ text unorderedContainers ];
   meta = {
     homepage = "https://github.com/tibbe/ekg-core";
diff --git a/pkgs/development/libraries/haskell/enclosed-exceptions/default.nix b/pkgs/development/libraries/haskell/enclosed-exceptions/default.nix
index 113c454d6db1..5def0b895f04 100644
--- a/pkgs/development/libraries/haskell/enclosed-exceptions/default.nix
+++ b/pkgs/development/libraries/haskell/enclosed-exceptions/default.nix
@@ -1,16 +1,17 @@
 { cabal, async, deepseq, hspec, liftedBase, monadControl
-, QuickCheck, transformers
+, QuickCheck, transformers, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "enclosed-exceptions";
-  version = "1.0.0.1";
-  sha256 = "0imq5kp45yfkhkz51ld869pf9hnlkbh92nk0aig1z8cc6akjnjw0";
+  version = "1.0.0.2";
+  sha256 = "1jbgqqavkhz2x5br17bdhv17rcmyi7a5mxplakhgyyg73wkjq04h";
   buildDepends = [
-    async deepseq liftedBase monadControl transformers
+    async deepseq liftedBase monadControl transformers transformersBase
   ];
   testDepends = [
     async deepseq hspec liftedBase monadControl QuickCheck transformers
+    transformersBase
   ];
   meta = {
     homepage = "https://github.com/jcristovao/enclosed-exceptions";
diff --git a/pkgs/development/libraries/haskell/encoding/default.nix b/pkgs/development/libraries/haskell/encoding/default.nix
index 030e2da8364a..d9f8710f7c51 100644
--- a/pkgs/development/libraries/haskell/encoding/default.nix
+++ b/pkgs/development/libraries/haskell/encoding/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "encoding";
-  version = "0.7";
-  sha256 = "1h6yki4d3912sr8nsk1cff2pdvzw8ys6xnzi97b5ay1f8i28bmi5";
+  version = "0.7.0.1";
+  sha256 = "18s6cfcjwjx5dja14rf35rx71cbpr8ylg4x29ffx2blsk8ib9zxh";
   buildDepends = [
     binary extensibleExceptions HaXml mtl regexCompat
   ];
diff --git a/pkgs/development/libraries/haskell/entropy/default.nix b/pkgs/development/libraries/haskell/entropy/default.nix
index f2154ddddf7b..c92fc584aaf6 100644
--- a/pkgs/development/libraries/haskell/entropy/default.nix
+++ b/pkgs/development/libraries/haskell/entropy/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "entropy";
-  version = "0.2.2.4";
-  sha256 = "1cjmpb0rh1ib4j9mwmf1irn401vmjawxkshxdmmb4643rmcgx1gm";
+  version = "0.3";
+  sha256 = "0b1yx7409xw8jz2rj8695xscjnw4p7y80niq9cbkqrmnqbqnwj2q";
   meta = {
     homepage = "https://github.com/TomMD/entropy";
     description = "A platform independent entropy source";
diff --git a/pkgs/development/libraries/haskell/enummapset/default.nix b/pkgs/development/libraries/haskell/enummapset/default.nix
index c43c246557b5..2bd953e65e87 100644
--- a/pkgs/development/libraries/haskell/enummapset/default.nix
+++ b/pkgs/development/libraries/haskell/enummapset/default.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "0.5.2.0";
   sha256 = "065gxljrjw59rdf7abq0v0c29wg1ymg984ckixnjrcs1yks0c2js";
   buildDepends = [ deepseq ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/michalt/enummapset";
     description = "IntMap and IntSet with Enum keys/elements";
diff --git a/pkgs/development/libraries/haskell/errors/default.nix b/pkgs/development/libraries/haskell/errors/default.nix
index 7207bfbb1858..21ed85bb91f4 100644
--- a/pkgs/development/libraries/haskell/errors/default.nix
+++ b/pkgs/development/libraries/haskell/errors/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "errors";
-  version = "1.4.6";
-  sha256 = "1h8va76rhvs76ljdccxbmb659qk1slzkal118m85bw6lpy5wv6fi";
+  version = "1.4.7";
+  sha256 = "09g53dylwsw1phxq5zhkbq8pnpwqzipvqclmcrdypzkpwkmfncl7";
   buildDepends = [ either safe transformers ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/esqueleto/default.nix b/pkgs/development/libraries/haskell/esqueleto/default.nix
index 3ff5dd6d3f37..0538e2f1899c 100644
--- a/pkgs/development/libraries/haskell/esqueleto/default.nix
+++ b/pkgs/development/libraries/haskell/esqueleto/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "esqueleto";
-  version = "1.4";
-  sha256 = "1v9fjcslp4jwzgan758327q60h8x3xf8bwca57fy0n1z1pqdn8s9";
+  version = "1.4.1.2";
+  sha256 = "1qny5c0xy2vdsl4qmgqr83jxqw1r68r81xhmx236rhxcffs9yvw2";
   buildDepends = [
     conduit monadLogger persistent resourcet tagged text transformers
     unorderedContainers
@@ -18,7 +18,7 @@ cabal.mkDerivation (self: {
   ];
   meta = {
     homepage = "https://github.com/meteficha/esqueleto";
-    description = "Bare bones, type-safe EDSL for SQL queries on persistent backends";
+    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 ];
diff --git a/pkgs/development/libraries/haskell/ex-pool/default.nix b/pkgs/development/libraries/haskell/ex-pool/default.nix
index 9bf966e749af..b8e4e024afc3 100644
--- a/pkgs/development/libraries/haskell/ex-pool/default.nix
+++ b/pkgs/development/libraries/haskell/ex-pool/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ex-pool";
-  version = "0.1.0.2";
-  sha256 = "11q63yfr59r6cfzi635xj75nhcc2yi83snc75k638wyamxgvxng4";
+  version = "0.2";
+  sha256 = "0da5grl2fdca24zhlngq2n16smdb4f5vvxqzc29ipsc3j7wkbmva";
   buildDepends = [
     exceptions hashable stm time transformers vector
   ];
diff --git a/pkgs/development/libraries/haskell/exception-mtl/default.nix b/pkgs/development/libraries/haskell/exception-mtl/default.nix
index 2c64598d1d01..5799a94334e3 100644
--- a/pkgs/development/libraries/haskell/exception-mtl/default.nix
+++ b/pkgs/development/libraries/haskell/exception-mtl/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "exception-mtl";
-  version = "0.3.0.3";
-  sha256 = "1mmkp16c5ixknhm69a2zjrs9q0dd5ragmljnjjd6lxpakdlw64ww";
+  version = "0.3.0.4";
+  sha256 = "16airfs3z1qmx42qww22m21fryr8210m7ji5rgkl2amjvj4lllvc";
   buildDepends = [ exceptionTransformers mtl transformers ];
   meta = {
     homepage = "http://www.eecs.harvard.edu/~mainland/";
diff --git a/pkgs/development/libraries/haskell/exceptions/default.nix b/pkgs/development/libraries/haskell/exceptions/default.nix
index 5d58654e51d4..1cde47f48e19 100644
--- a/pkgs/development/libraries/haskell/exceptions/default.nix
+++ b/pkgs/development/libraries/haskell/exceptions/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "exceptions";
-  version = "0.5";
-  sha256 = "0l9gpifp23j6hvyq8p48rxsnv9adqbf7z096dzvd8v5xqqybgyxi";
+  version = "0.6.1";
+  sha256 = "09jv5jskv48fd5la1pdvafwc9j2jxj1ncf6yxzkwcjddynbkyszm";
   buildDepends = [ mtl transformers ];
   testDepends = [
     mtl QuickCheck testFramework testFrameworkQuickcheck2 transformers
diff --git a/pkgs/development/libraries/haskell/extensible-effects/default.nix b/pkgs/development/libraries/haskell/extensible-effects/default.nix
index ba511f0b6a25..eb52756ce3b4 100644
--- a/pkgs/development/libraries/haskell/extensible-effects/default.nix
+++ b/pkgs/development/libraries/haskell/extensible-effects/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "extensible-effects";
-  version = "1.6.0";
-  sha256 = "08g2py6iywwpsr09v6hfhq6ihjp1yq3aibz8jlqhsmagjjjxgfsq";
+  version = "1.7.1";
+  sha256 = "1i7bmyga63svnky03f5xvz63795pjsqp3x7rn9amj55yj11fmp05";
   buildDepends = [ transformers transformersBase ];
   testDepends = [
     HUnit QuickCheck testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/failure/default.nix b/pkgs/development/libraries/haskell/failure/default.nix
index 9c0edece3029..4181883f7b01 100644
--- a/pkgs/development/libraries/haskell/failure/default.nix
+++ b/pkgs/development/libraries/haskell/failure/default.nix
@@ -2,9 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "failure";
-  version = "0.2.0.2";
-  sha256 = "0hvcsn7qx00613f23vvb3vjpjlcy0nfavsai9f6s3yvmyssk5kfv";
+  version = "0.2.0.3";
+  sha256 = "0jimc2x46zq7wnmzfbnqi67jl8yhbvr0fa65ljlc9p3fns9mca3p";
   buildDepends = [ transformers ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Failure";
     description = "A simple type class for success/failure computations. (deprecated)";
diff --git a/pkgs/development/libraries/haskell/fay-text/default.nix b/pkgs/development/libraries/haskell/fay-text/default.nix
new file mode 100644
index 000000000000..c8d9188d421f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/fay-text/default.nix
@@ -0,0 +1,14 @@
+{ cabal, fay, fayBase, text }:
+
+cabal.mkDerivation (self: {
+  pname = "fay-text";
+  version = "0.3.0.2";
+  sha256 = "12hgamqbrflmnr3ri0ajvzf6al5nn4adcdmv6ag6h5mrsik2sklf";
+  buildDepends = [ fay fayBase text ];
+  meta = {
+    homepage = "https://github.com/faylang/fay-text";
+    description = "Fay Text type represented as JavaScript strings";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/fay/default.nix b/pkgs/development/libraries/haskell/fay/default.nix
index 4a9bfe93e684..d32a57597802 100644
--- a/pkgs/development/libraries/haskell/fay/default.nix
+++ b/pkgs/development/libraries/haskell/fay/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "fay";
-  version = "0.20.0.0";
-  sha256 = "04rjmn280f87xlzv4h9as3cxnwaapfvpvq7zaig2rrw0l342pxy0";
+  version = "0.20.0.4";
+  sha256 = "0cxcd4nxnq8nl03xgxa1nb0932hq4dz1lxpp3gqqs5k5wvs62303";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/fb/default.nix b/pkgs/development/libraries/haskell/fb/default.nix
index 89f8a2121f83..02f9f03588a8 100644
--- a/pkgs/development/libraries/haskell/fb/default.nix
+++ b/pkgs/development/libraries/haskell/fb/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "fb";
-  version = "1.0";
-  sha256 = "1pkjpzhdysq5vn302wipz62w6v9fibpvd4smaylv8wgn09si91ji";
+  version = "1.0.1";
+  sha256 = "0xhwv8fmhb1an15fnfjxzq0ijnhxxmfjwzd99dq1lsm0f7gd4hfi";
   buildDepends = [
     aeson attoparsec base16Bytestring base64Bytestring cereal conduit
     conduitExtra cryptoApi cryptohash cryptohashCryptoapi dataDefault
diff --git a/pkgs/development/libraries/haskell/fclabels/default.nix b/pkgs/development/libraries/haskell/fclabels/default.nix
index f9c7663e3214..26029ed2c21c 100644
--- a/pkgs/development/libraries/haskell/fclabels/default.nix
+++ b/pkgs/development/libraries/haskell/fclabels/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "fclabels";
-  version = "2.0.1";
-  sha256 = "0gx0vqdxx797zh69xy2s62kyfsp9m48dfpbjykllg4fsk0x60wav";
+  version = "2.0.1.1";
+  sha256 = "1r798fbdk4xzw649la9disnk1kngy3cmzbi3k8afiy8q6v1fbpwh";
   buildDepends = [ mtl transformers ];
   meta = {
     homepage = "https://github.com/sebastiaanvisser/fclabels";
diff --git a/pkgs/development/libraries/haskell/file-embed/default.nix b/pkgs/development/libraries/haskell/file-embed/default.nix
index 7aa1b78a03eb..a42e963d5582 100644
--- a/pkgs/development/libraries/haskell/file-embed/default.nix
+++ b/pkgs/development/libraries/haskell/file-embed/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "file-embed";
-  version = "0.0.6";
-  sha256 = "0ag3g8mv8cw8km785kskz8kv38zs8gimrc3lr9dvkc1qnp2fdmgz";
+  version = "0.0.7";
+  sha256 = "0mj8f70f9k78wjzcx59w68szajafmm119rcrsspmxsygglh8ji2g";
   buildDepends = [ filepath ];
   testDepends = [ filepath HUnit ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/filepath/default.nix b/pkgs/development/libraries/haskell/filepath/1.3.0.2.nix
index 7a2b9e75e7f9..7a2b9e75e7f9 100644
--- a/pkgs/development/libraries/haskell/filepath/default.nix
+++ b/pkgs/development/libraries/haskell/filepath/1.3.0.2.nix
diff --git a/pkgs/development/libraries/haskell/fmlist/default.nix b/pkgs/development/libraries/haskell/fmlist/default.nix
new file mode 100644
index 000000000000..8dcbb7fff181
--- /dev/null
+++ b/pkgs/development/libraries/haskell/fmlist/default.nix
@@ -0,0 +1,12 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "fmlist";
+  version = "0.8";
+  sha256 = "1knr9yh58fwjpkm37hvrqghlchf5qibwf9q52app6zh3ys999rrs";
+  meta = {
+    description = "FoldMap lists";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/foldl/default.nix b/pkgs/development/libraries/haskell/foldl/default.nix
index 926c2a812a0b..5224bf11f291 100644
--- a/pkgs/development/libraries/haskell/foldl/default.nix
+++ b/pkgs/development/libraries/haskell/foldl/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "foldl";
-  version = "1.0.3";
-  sha256 = "0jl50bh7k8wp0nz0s0sb2zwh92yrgsm2l6szib41g7zq34mwamn9";
+  version = "1.0.4";
+  sha256 = "0l5gyaw2rb0wfdm5q13vsxfr0z2y9ad5nsjh605p1jp8i0rgwgkv";
   buildDepends = [ primitive text transformers vector ];
   meta = {
     description = "Composable, streaming, and efficient left folds";
diff --git a/pkgs/development/libraries/haskell/force-layout/default.nix b/pkgs/development/libraries/haskell/force-layout/default.nix
index a336c2a7e2bb..40a610f2b11d 100644
--- a/pkgs/development/libraries/haskell/force-layout/default.nix
+++ b/pkgs/development/libraries/haskell/force-layout/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "force-layout";
-  version = "0.3.0.3";
-  sha256 = "0xix9syfiya5wx0iwzs7sp3ksqyp15vjlpir71x8md8v0hkrnh5a";
+  version = "0.3.0.4";
+  sha256 = "1zgqcz9b86qax1hyl32a1giapvn2wpnb4gcfn8czkcr0m7c2iwdg";
   buildDepends = [
     dataDefaultClass lens vectorSpace vectorSpacePoints
   ];
diff --git a/pkgs/development/libraries/haskell/free-game/1.0.5.nix b/pkgs/development/libraries/haskell/free-game/1.0.5.nix
new file mode 100644
index 000000000000..efe269db26c5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/free-game/1.0.5.nix
@@ -0,0 +1,23 @@
+{ cabal, boundingboxes, colors, controlBool, filepath, free
+, freetype2, GLFWB, hashable, JuicyPixels, JuicyPixelsUtil, lens
+, linear, mtl, OpenGL, OpenGLRaw, random, reflection, transformers
+, vector, void
+}:
+
+cabal.mkDerivation (self: {
+  pname = "free-game";
+  version = "1.0.5";
+  sha256 = "048hmb4zbn67ycdwy7alhfakdyv405ck79bzrxv2ra6w1v5b3yvf";
+  buildDepends = [
+    boundingboxes colors controlBool filepath free freetype2 GLFWB
+    hashable JuicyPixels JuicyPixelsUtil lens linear mtl OpenGL
+    OpenGLRaw random reflection transformers vector void
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/fumieval/free-game";
+    description = "Create games for free";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/free-game/1.1.nix b/pkgs/development/libraries/haskell/free-game/1.1.nix
new file mode 100644
index 000000000000..b19e32027412
--- /dev/null
+++ b/pkgs/development/libraries/haskell/free-game/1.1.nix
@@ -0,0 +1,23 @@
+{ cabal, boundingboxes, colors, controlBool, filepath, free
+, freetype2, GLFWB, hashable, JuicyPixels, JuicyPixelsUtil, lens
+, linear, mtl, OpenGL, OpenGLRaw, random, reflection, transformers
+, vector, void
+}:
+
+cabal.mkDerivation (self: {
+  pname = "free-game";
+  version = "1.1";
+  sha256 = "0id3vn2j44gd8krl5icacwxgx00h6r89yncjg10nyyb90rymvxzz";
+  buildDepends = [
+    boundingboxes colors controlBool filepath free freetype2 GLFWB
+    hashable JuicyPixels JuicyPixelsUtil lens linear mtl OpenGL
+    OpenGLRaw random reflection transformers vector void
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/fumieval/free-game";
+    description = "Create games for free";
+    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 ba2c09ff019f..b445bf494488 100644
--- a/pkgs/development/libraries/haskell/free/default.nix
+++ b/pkgs/development/libraries/haskell/free/default.nix
@@ -4,12 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "free";
-  version = "4.7.1";
-  sha256 = "14qvc153g7n8fkl2giyyya8l7fs4limgnm18hdw5dpj841kwxgzm";
+  version = "4.9";
+  sha256 = "01pa9ax9i4pkh9a5achndx5s7sxvhnk6rm57g8rzav79hzsr4cnx";
   buildDepends = [
     bifunctors comonad distributive mtl preludeExtras profunctors
     semigroupoids semigroups transformers
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/ekmett/free/";
     description = "Monads for free";
diff --git a/pkgs/development/libraries/haskell/freetype2/default.nix b/pkgs/development/libraries/haskell/freetype2/default.nix
new file mode 100644
index 000000000000..145ae4a2d792
--- /dev/null
+++ b/pkgs/development/libraries/haskell/freetype2/default.nix
@@ -0,0 +1,14 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "freetype2";
+  version = "0.1.1";
+  sha256 = "16ayyqvbl278z68ssfbv2nvbyxs7585zmnk2w53vlxvj0k9zj66s";
+  isLibrary = true;
+  isExecutable = true;
+  meta = {
+    description = "Haskell binding for FreeType 2 library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/fuzzcheck/default.nix b/pkgs/development/libraries/haskell/fuzzcheck/default.nix
new file mode 100644
index 000000000000..a1da7f8ebbf0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/fuzzcheck/default.nix
@@ -0,0 +1,19 @@
+{ cabal, hspec, hspecExpectations, HUnit, liftedBase, monadControl
+, QuickCheck, random, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "fuzzcheck";
+  version = "0.1.1";
+  sha256 = "0qfr4f0b50l368b45yzwhqd4g2y1kvfrfj4hr84cdxcwdrwn9mpc";
+  buildDepends = [
+    liftedBase monadControl QuickCheck random transformers
+  ];
+  testDepends = [ hspec hspecExpectations HUnit QuickCheck ];
+  meta = {
+    homepage = "https://github.com/fpco/fuzzcheck";
+    description = "A simple checker for stress testing monadic code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ghc-mod/default.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix
index feaf0c9be6e7..b83d9de45522 100644
--- a/pkgs/development/libraries/haskell/ghc-mod/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-mod/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-mod";
-  version = "4.1.0";
-  sha256 = "18vzcpafdxai9k8lxaiw9g9mf964ipjwil6kvw50gj1lfgvjlfqm";
+  version = "4.1.1";
+  sha256 = "0jsm881khbpa316rvka2ixzmm4kim7w9gbriz94m08b3yj3f00q9";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/ghc-mtl/default.nix b/pkgs/development/libraries/haskell/ghc-mtl/default.nix
index 592961aa5549..29e00d8a2d33 100644
--- a/pkgs/development/libraries/haskell/ghc-mtl/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-mtl/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-mtl";
-  version = "1.2.0.0";
-  sha256 = "0fk3adc56nhi46nf2w5ybp3cd9l13qqbpd5nbhfhbqj3g73j8p5a";
+  version = "1.2.1.0";
+  sha256 = "0h6r6gip9nsjlsq88wj105hhqliy7ac2dmmndsfzbjz07b03cklk";
   buildDepends = [ exceptions extensibleExceptions mtl ];
   meta = {
     homepage = "http://hub.darcs.net/jcpetruzza/ghc-mtl";
diff --git a/pkgs/development/libraries/haskell/ghc-vis/default.nix b/pkgs/development/libraries/haskell/ghc-vis/default.nix
index a768a101145b..40700b52f61d 100644
--- a/pkgs/development/libraries/haskell/ghc-vis/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-vis/default.nix
@@ -4,12 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-vis";
-  version = "0.7.2.1";
-  sha256 = "160b45bgiz2ckva70dnmkf6i9bvffaavm5wzia2lk8c65pnvc9ih";
+  version = "0.7.2.2";
+  sha256 = "0abk76cy9qiblyways1r7jfsj996sj4laawzaz1j9p546plfkbnj";
   buildDepends = [
     cairo deepseq fgl ghcHeapView graphviz gtk mtl svgcairo text
     transformers xdot
   ];
+  jailbreak = true;
   postInstall = ''
     ensureDir "$out/share/ghci"
     ln -s "$out/share/$pname-$version/ghci" "$out/share/ghci/$pname"
diff --git a/pkgs/development/libraries/haskell/ghcjs-dom/default.nix b/pkgs/development/libraries/haskell/ghcjs-dom/default.nix
index 20fc85b95f18..2c9770b20e30 100644
--- a/pkgs/development/libraries/haskell/ghcjs-dom/default.nix
+++ b/pkgs/development/libraries/haskell/ghcjs-dom/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ghcjs-dom";
-  version = "0.0.7";
-  sha256 = "1yg2c0slndg3y9bk95xkbgl8zp4lmcgw9wk3jkk1sdizn3y3yggq";
+  version = "0.0.9";
+  sha256 = "0vphhm9wr80p4brcjzhmp2kh0a5rlwzif26w2q054fshxa97kv2a";
   buildDepends = [ ghcjsBase mtl ];
   meta = {
     description = "DOM library that supports both GHCJS and WebKitGTK";
diff --git a/pkgs/development/libraries/haskell/gitit/default.nix b/pkgs/development/libraries/haskell/gitit/default.nix
index 905d02b70113..6c30ca18b883 100644
--- a/pkgs/development/libraries/haskell/gitit/default.nix
+++ b/pkgs/development/libraries/haskell/gitit/default.nix
@@ -2,7 +2,7 @@
 , filepath, filestore, ghcPaths, happstackServer, highlightingKate
 , hslogger, HStringTemplate, HTTP, json, mtl, network, pandoc
 , pandocTypes, parsec, random, recaptcha, safe, SHA, syb, tagsoup
-, text, time, url, utf8String, xhtml, xml, xssSanitize, zlib, fetchurl
+, text, time, url, utf8String, xhtml, xml, xssSanitize, zlib, fetchpatch
 }:
 
 cabal.mkDerivation (self: {
@@ -19,10 +19,14 @@ cabal.mkDerivation (self: {
     zlib
   ];
   jailbreak = true;
-  patches = [ (fetchurl { url = "https://github.com/jgm/gitit/commit/48155008397bdaed4f97c5678d83c70d4bc3f0ff.patch";
-                          sha256 = "0xdg9frr8lany8ry6vj4vpskmhkpww8jswnb05pzl8a4xfqxh9gd";
-                        })
-            ];
+  patches = [ (fetchpatch {
+      url = "https://github.com/jgm/gitit/commit/48155008397bdaed4f97c5678d83c70d4bc3f0ff.patch";
+      sha256 = "16n372wrikwb3g4pb3zljxnp19in0828wp40diqgkplhlnwww6nw";
+    })
+  ];
+  preConfigure = ''
+    sed -i -e 's|network .*< 2.5|network|' gitit.cabal
+  '';
   meta = {
     homepage = "http://gitit.net";
     description = "Wiki using happstack, git or darcs, and pandoc";
diff --git a/pkgs/development/libraries/haskell/gloss/default.nix b/pkgs/development/libraries/haskell/gloss/default.nix
index 223a72ec3818..5fff36e66ea5 100644
--- a/pkgs/development/libraries/haskell/gloss/default.nix
+++ b/pkgs/development/libraries/haskell/gloss/default.nix
@@ -2,10 +2,9 @@
 
 cabal.mkDerivation (self: {
   pname = "gloss";
-  version = "1.8.1.2";
-  sha256 = "1ky1gckvyww855dy3fzllf1ixbmc3jpdvz85hx719pcygy7qh71m";
+  version = "1.8.2.1";
+  sha256 = "0wnrss7j7zf4lbmr5rryx7m5qb4pqh7vvz11ksbsfn3d3hf285y2";
   buildDepends = [ bmp GLUT OpenGL ];
-  jailbreak = true;
   meta = {
     homepage = "http://gloss.ouroborus.net";
     description = "Painless 2D vector graphics, animations and simulations";
diff --git a/pkgs/development/libraries/haskell/graphviz/default.nix b/pkgs/development/libraries/haskell/graphviz/default.nix
index 7bdcfd71101f..18ef54746a95 100644
--- a/pkgs/development/libraries/haskell/graphviz/default.nix
+++ b/pkgs/development/libraries/haskell/graphviz/default.nix
@@ -4,19 +4,15 @@
 
 cabal.mkDerivation (self: {
   pname = "graphviz";
-  version = "2999.16.0.0";
-  sha256 = "1g4q4wyj5amz9xvgnqn143p5nq6m4a0lggxz7jn9l2hwp41bx1g8";
+  version = "2999.17.0.1";
+  sha256 = "0s6l1mlqvllrlx7vc06lgcs68ajhfk98awm63ab1dkqmcnj23ixv";
+  isLibrary = true;
+  isExecutable = true;
   buildDepends = [
     colour dlist fgl filepath polyparse temporary text transformers
     wlPprintText
   ];
-  testDepends = [
-    colour dlist fgl filepath polyparse QuickCheck temporary text
-    transformers wlPprintText
-  ];
-  patchPhase = ''
-    sed -i -e 's|fgl ==.*,|fgl,|' -e 's|polyparse.*,|polyparse,|' -e 's|dlist ==.*|dlist|' -e 's|temporary.*,|temporary,|' graphviz.cabal
-  '';
+  testDepends = [ fgl filepath QuickCheck text ];
   doCheck = false;
   meta = {
     homepage = "http://projects.haskell.org/graphviz/";
diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index 5e40bb851f08..06e835b9ab56 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hakyll";
-  version = "4.5.1.0";
-  sha256 = "0p78wscz9gwg1as49wjl49ydzbv972w6wmbmvhw1rfb9d5xana1i";
+  version = "4.5.3.0";
+  sha256 = "11ibpjff1zkihpxydlzvvzbgd1vxswi4c7g3lr0hhaaw89bikypy";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
index 723fdb0fdb9a..e59bccaf6b5a 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-server.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "happstack-server";
-  version = "7.3.5";
-  sha256 = "1n0pdishsngrri83flipfzmk0gn01n256rg7vrbn7kjl1aff9r1g";
+  version = "7.3.6";
+  sha256 = "0js1rzg1zpqg9mbi0kdzb5i8ggsrq4l8p0c05k85ppw6h5lwkayd";
   buildDepends = [
     base64Bytestring blazeHtml extensibleExceptions filepath hslogger
     html monadControl mtl network parsec sendfile syb systemFilepath
diff --git a/pkgs/development/libraries/haskell/hashable/1.2.1.0.nix b/pkgs/development/libraries/haskell/hashable/1.2.2.0.nix
index 092a3f691563..2ae7f3539920 100644
--- a/pkgs/development/libraries/haskell/hashable/1.2.1.0.nix
+++ b/pkgs/development/libraries/haskell/hashable/1.2.2.0.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hashable";
-  version = "1.2.1.0";
-  sha256 = "09m1glpcxm3f6s9cwz8xzljy6j0n271cym4d9dllw5rpzrwp9h2f";
+  version = "1.2.2.0";
+  sha256 = "08cfm1rzhf3d8dzn0iqadfs35151ff6szhnh4bwrpxcs6sq90fh3";
   buildDepends = [ text ];
   testDepends = [
     HUnit QuickCheck random testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/haskeline/0.7.1.1.nix b/pkgs/development/libraries/haskell/haskeline/0.7.1.1.nix
deleted file mode 100644
index 2799b732292f..000000000000
--- a/pkgs/development/libraries/haskell/haskeline/0.7.1.1.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ cabal, filepath, terminfo, transformers, utf8String }:
-
-cabal.mkDerivation (self: {
-  pname = "haskeline";
-  version = "0.7.1.1";
-  sha256 = "1xwbjrak0jicbckk609sqwdlizpkn5zab0kqzrcw9swg1fxpwx5m";
-  buildDepends = [ filepath terminfo transformers utf8String ];
-  configureFlags = "-fterminfo";
-  meta = {
-    homepage = "http://trac.haskell.org/haskeline";
-    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/haskeline/0.7.1.2.nix b/pkgs/development/libraries/haskell/haskeline/default.nix
index 83e49e746c63..f813ddc25131 100644
--- a/pkgs/development/libraries/haskell/haskeline/0.7.1.2.nix
+++ b/pkgs/development/libraries/haskell/haskeline/default.nix
@@ -6,6 +6,7 @@ cabal.mkDerivation (self: {
   sha256 = "178hzal5gqw3rmgijv9ph9xa6d4sld279z4a8cjyx3hv4azciwr4";
   buildDepends = [ filepath terminfo transformers utf8String ];
   configureFlags = "-fterminfo";
+  jailbreak = true;
   meta = {
     homepage = "http://trac.haskell.org/haskeline";
     description = "A command-line interface for user input, written in Haskell";
diff --git a/pkgs/development/libraries/haskell/haskell-names/default.nix b/pkgs/development/libraries/haskell/haskell-names/default.nix
index c10ba3c904d0..187208184594 100644
--- a/pkgs/development/libraries/haskell/haskell-names/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-names/default.nix
@@ -1,17 +1,16 @@
-{ cabal, aeson, Cabal, dataLens, dataLensTemplate, filemanip
-, filepath, haskellPackages, haskellSrcExts, hseCpp, mtl
-, prettyShow, tagged, tasty, tastyGolden, transformers
-, traverseWithClass, typeEq, uniplate, utf8String
+{ cabal, aeson, Cabal, dataLensLight, filemanip, filepath
+, haskellPackages, haskellSrcExts, hseCpp, mtl, prettyShow, tagged
+, tasty, tastyGolden, transformers, traverseWithClass, typeEq
+, uniplate, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "haskell-names";
-  version = "0.3.3.2";
-  sha256 = "0dg31b9bm3p4fxajqk4wp29vlcbhcwm9f4hwc4f9pyhxv2s8i77p";
+  version = "0.4";
+  sha256 = "02cbs3bwakm9bwh4yy242msh5hibxfr9dsc6a0nbpihj1fhbv6b4";
   buildDepends = [
-    aeson Cabal dataLens dataLensTemplate filepath haskellPackages
-    haskellSrcExts hseCpp mtl tagged transformers traverseWithClass
-    typeEq uniplate
+    aeson Cabal dataLensLight filepath haskellPackages haskellSrcExts
+    hseCpp mtl tagged transformers traverseWithClass typeEq uniplate
   ];
   testDepends = [
     aeson Cabal filemanip filepath haskellPackages haskellSrcExts
diff --git a/pkgs/development/libraries/haskell/haskell-packages/default.nix b/pkgs/development/libraries/haskell/haskell-packages/default.nix
index 4081e246a34c..168c6babb3d9 100644
--- a/pkgs/development/libraries/haskell/haskell-packages/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-packages/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haskell-packages";
-  version = "0.2.3.4";
-  sha256 = "0qj5n1yc481n5c8gi5dgk22pxj58gf7z30621spr7gwlv001sk1y";
+  version = "0.2.4";
+  sha256 = "1ygpa2k0hyx2xwny33kr0h847zvvsp4z1pwqrd92sf7vzpyz5nch";
   buildDepends = [
     aeson Cabal deepseq either filepath haskellSrcExts hseCpp mtl
     optparseApplicative tagged
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix b/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix
index e87d59582f26..369d7fbb8c8f 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2009.2.0.2.nix
@@ -1,7 +1,7 @@
 {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl, editline,
  haskellSrc, html, parallel, regexBase, regexCompat, regexPosix,
  stm, time, xhtml, zlib, parsec, network,
- cabalInstall, alex, happy, haddock, ghc}:
+ cabalInstall, alex, happy, ghc}:
 
 cabal.mkDerivation (self : {
   pname = "haskell-platform";
@@ -10,6 +10,7 @@ cabal.mkDerivation (self : {
     url = "http://hackage.haskell.org/platform/${self.version}/cabal/${self.pname}-${self.version}.tar.gz";
     sha256 = "e0469fac9b1d091d8299ae16a4e2e7fcd504285bba066b17153a0f0104a049bd";
   };
+  isLibrary = false;
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck cgi fgl editline
     haskellSrc html parallel regexBase regexCompat regexPosix
@@ -18,7 +19,9 @@ cabal.mkDerivation (self : {
   ];
   meta = {
     description = "Haskell Platform meta package";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
+    broken = true;              # cgi and cabal-install won't compile
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix
index fc7de20f6c1a..65395662a89e 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix
@@ -1,24 +1,27 @@
 {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
  haskellSrc, html, network, parallel, regexBase, regexCompat, regexPosix,
  stm, xhtml, zlib, parsec,
- cabalInstall, alex, happy, haddock, ghc}:
+ cabalInstall, alex, happy, ghc}:
 
 cabal.mkDerivation (self : {
   pname = "haskell-platform";
   version = "2010.1.0.0";
   src = fetchurl {
     url = "http://hackage.haskell.org/platform/${self.version}/cabal/${self.pname}-${self.version}.tar.gz";
-    sha256 = "64c9fec5cdc4b6f515b7f296d59984d2dee05927b7e24ea67324ad5f4ac3e994";
+    sha256 = "0cadj0ql2i5d5njwcbhmjkf4qrkfmxirg5vjv1wlx3ayzbynbrp4";
   };
+  isLibrary = false;
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
     haskellSrc html network parallel regexBase regexCompat regexPosix
     stm xhtml zlib parsec
-    cabalInstall alex happy ghc haddock
+    cabalInstall alex happy ghc
   ];
   meta = {
     description = "Haskell Platform meta package";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
+    broken = true;              # cgi libary doesn't compile
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix
index 8f00f5fb48b1..b9a3a841af52 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2010.2.0.0.nix
@@ -1,7 +1,7 @@
 {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
  haskellSrc, html, network, parallel, regexBase, regexCompat, regexPosix,
  stm, xhtml, zlib, mtl, parsec, deepseq,
- cabalInstall, alex, happy, haddock, ghc}:
+ cabalInstall, alex, happy, ghc}:
 
 cabal.mkDerivation (self : {
   pname = "haskell-platform";
@@ -10,14 +10,17 @@ cabal.mkDerivation (self : {
     url = "http://pkgs.fedoraproject.org/repo/pkgs/haskell-platform/haskell-platform-2010.2.0.0.tar.gz/9c9c6422ebfe1a5e78e69ae017f4d54b/haskell-platform-2010.2.0.0.tar.gz";
     sha256 = "c0b0b45151e74cff759ae25083c2ff7a7af4d2f74c19294b78730c879864f3c0";
   };
+  isLibrary = false;
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
     haskellSrc html network parallel regexBase regexCompat regexPosix
     stm xhtml zlib mtl parsec deepseq
-    cabalInstall alex happy ghc haddock
+    cabalInstall alex happy ghc
   ];
   meta = {
     description = "Haskell Platform meta package";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix
index 8eb1b457aa3b..4a9752a06119 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.0.nix
@@ -1,7 +1,7 @@
 {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
  haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix,
  stm, syb, deepseq, text, transformers, mtl, xhtml, zlib,
- cabalInstall, alex, happy, haddock, ghc}:
+ cabalInstall, alex, happy, ghc}:
 
 cabal.mkDerivation (self : {
   pname = "haskell-platform";
@@ -11,16 +11,18 @@ cabal.mkDerivation (self : {
     url = "http://lambda.haskell.org/hp-tmp/${self.version}/cabal/${self.pname}-${self.version}.tar.gz";
     sha256 = "01ppv8jdyvbngml9vgvrvnani6fj1nbk8mqmrkd8c508l7q9g6vb";
   };
+  isLibrary = false;
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
     haskellSrc html network parallel parsec regexBase regexCompat regexPosix
     stm syb deepseq text transformers mtl xhtml zlib
-    cabalInstall alex happy ghc haddock
+    cabalInstall alex happy ghc
   ];
   noHaddock = true;
   meta = {
     description = "Haskell Platform meta package";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix
index da70d32861d0..cae4cc6796c2 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2011.2.0.1.nix
@@ -1,7 +1,7 @@
 {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
  haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix,
  stm, syb, deepseq, text, transformers, mtl, xhtml, zlib,
- cabalInstall, alex, happy, haddock, ghc}:
+ cabalInstall, alex, happy, ghc}:
 
 # This is just a meta-package. Because upstream fails to provide proper versioned
 # release tarballs that can be used for the purpose of verifying this package, we
@@ -14,11 +14,12 @@ cabal.mkDerivation (self : {
   cabalFile = ./haskell-platform-2011.2.0.1.cabal;
   setupFile = ./Setup.hs;
   src = null;
+  isLibrary = false;
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
     haskellSrc html network parallel parsec regexBase regexCompat regexPosix
     stm syb deepseq text transformers mtl xhtml zlib
-    cabalInstall alex happy ghc haddock
+    cabalInstall alex happy ghc
   ];
   unpackPhase = ''
     sourceRoot=haskell-platform
@@ -30,7 +31,8 @@ cabal.mkDerivation (self : {
   noHaddock = true;
   meta = {
     description = "Haskell Platform meta package";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix
index 8dd833a7bf0b..61aa32aff457 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2011.4.0.0.nix
@@ -1,7 +1,7 @@
 {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
  haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix,
  stm, syb, deepseq, text, transformers, mtl, xhtml, zlib,
- cabalInstall, alex, happy, haddock, ghc}:
+ cabalInstall, alex, happy, ghc}:
 
 # This is just a meta-package. Because upstream fails to provide proper versioned
 # release tarballs that can be used for the purpose of verifying this package, we
@@ -14,11 +14,12 @@ cabal.mkDerivation (self : {
   cabalFile = ./haskell-platform-2011.4.0.0.cabal;
   setupFile = ./Setup.hs;
   src = null;
+  isLibrary = false;
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
     haskellSrc html network parallel parsec regexBase regexCompat regexPosix
     stm syb deepseq text transformers mtl xhtml zlib
-    cabalInstall alex happy ghc haddock
+    cabalInstall alex happy ghc
   ];
   unpackPhase = ''
     sourceRoot=haskell-platform
@@ -33,10 +34,6 @@ cabal.mkDerivation (self : {
     description = "Haskell Platform meta package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix
index be2aa50e3966..9873342fa8d4 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2012.2.0.0.nix
@@ -1,7 +1,7 @@
 {cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, cgi, fgl,
  haskellSrc, html, network, parallel, parsec, regexBase, regexCompat, regexPosix,
  stm, syb, deepseq, text, transformers, mtl, xhtml, zlib, random,
- cabalInstall, alex, happy, haddock, ghc}:
+ cabalInstall, alex, happy, ghc}:
 
 # This is just a meta-package. Because upstream fails to provide proper versioned
 # release tarballs that can be used for the purpose of verifying this package, we
@@ -14,11 +14,12 @@ cabal.mkDerivation (self : {
   cabalFile = ./haskell-platform-2012.2.0.0.cabal;
   setupFile = ./Setup.hs;
   src = null;
+  isLibrary = false;
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck cgi fgl
     haskellSrc html network parallel parsec regexBase regexCompat regexPosix
     stm syb deepseq text transformers mtl xhtml zlib random
-    cabalInstall alex happy ghc haddock
+    cabalInstall alex happy ghc
   ];
   unpackPhase = ''
     sourceRoot=haskell-platform
@@ -33,10 +34,6 @@ cabal.mkDerivation (self : {
     description = "Haskell Platform meta package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix
index c9f269eebefa..e54f92641596 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix
@@ -2,7 +2,7 @@
  haskellSrc, html, network, parallel, parsec, primitive,
  regexBase, regexCompat, regexPosix,
  split, stm, syb, deepseq, text, transformers, mtl, vector, xhtml, zlib, random,
- cabalInstall, alex, happy, haddock, ghc}:
+ cabalInstall, alex, happy, ghc}:
 
 # This is just a meta-package. Because upstream fails to provide proper versioned
 # release tarballs that can be used for the purpose of verifying this package, we
@@ -15,12 +15,13 @@ cabal.mkDerivation (self : {
   cabalFile = ./haskell-platform-2012.4.0.0.cabal;
   setupFile = ./Setup.hs;
   src = null;
+  isLibrary = false;
   propagatedBuildInputs = [
     GLUT HTTP HUnit OpenGL QuickCheck async cgi fgl
     haskellSrc html network parallel parsec primitive
     regexBase regexCompat regexPosix
     split stm syb deepseq text transformers mtl vector xhtml zlib random
-    cabalInstall alex happy ghc haddock
+    cabalInstall alex happy ghc
   ];
   unpackPhase = ''
     sourceRoot=haskell-platform
@@ -35,10 +36,6 @@ cabal.mkDerivation (self : {
     description = "Haskell Platform meta package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix
index f209c39d438a..c7ce9b098150 100644
--- a/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix
+++ b/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix
@@ -3,7 +3,7 @@
 , hashable, html, HTTP, HUnit, mtl, network, OpenGL, OpenGLRaw, parallel
 , parsec, QuickCheck, random, regexBase, regexCompat, regexPosix, split, stm
 , syb, text, transformers, unorderedContainers, vector, xhtml, zlib
-, cabalInstall, alex, haddock, happy, primitive, ghc
+, cabalInstall, alex, happy, primitive, ghc
 }:
 
 # This is just a meta-package. Because upstream fails to provide proper versioned
@@ -17,12 +17,13 @@ cabal.mkDerivation (self : {
   cabalFile = ./haskell-platform-2013.2.0.0.cabal;
   setupFile = ./Setup.hs;
   src = null;
+  isLibrary = false;
   propagatedBuildInputs = [
     async attoparsec caseInsensitive cgi fgl GLUT GLURaw haskellSrc
     hashable html HTTP HUnit mtl network OpenGL OpenGLRaw parallel
     parsec QuickCheck random regexBase regexCompat regexPosix split stm
     syb text transformers unorderedContainers vector xhtml zlib
-    cabalInstall alex haddock happy primitive ghc
+    cabalInstall alex happy primitive ghc
   ];
   unpackPhase = ''
     sourceRoot=haskell-platform
@@ -30,7 +31,6 @@ cabal.mkDerivation (self : {
     cp ${self.cabalFile} $sourceRoot/${self.pname}.cabal
     cp ${self.setupFile} $sourceRoot/Setup.hs
     touch $sourceRoot/LICENSE
-    sed -i -e 's|hashable  *==1.1.2.5,|hashable,|' $sourceRoot/${self.pname}.cabal
   '';
   noHaddock = true;
   meta = {
@@ -38,9 +38,6 @@ cabal.mkDerivation (self : {
     description = "Haskell Platform meta package";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
+    maintainers = with self.stdenv.lib.maintainers; [andres simons];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-platform/default.nix b/pkgs/development/libraries/haskell/haskell-platform/default.nix
new file mode 100644
index 000000000000..b222df29b5a8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskell-platform/default.nix
@@ -0,0 +1,310 @@
+{ pkgs }:
+
+let
+  haskellPlatformPackages_2013_2_0_0 = pkgs.haskell.packages_ghc763.override {
+    extension = self : super : {
+      async                     = self.async_2_0_1_4;
+      attoparsec                = self.attoparsec_0_10_4_0;
+      caseInsensitive           = self.caseInsensitive_1_0_0_1;
+      cgi                       = self.cgi_3001_1_7_5;
+      fgl                       = self.fgl_5_4_2_4;
+      GLUT                      = self.GLUT_2_4_0_0;
+      GLURaw                    = self.GLURaw_1_3_0_0;
+      haskellSrc                = self.haskellSrc_1_0_1_5;
+      hashable                  = self.hashable_1_1_2_5;
+      html                      = self.html_1_0_1_2;
+      HTTP                      = self.HTTP_4000_2_8;
+      HUnit                     = self.HUnit_1_2_5_2;
+      mtl                       = self.mtl_2_1_2;
+      network                   = self.network_2_4_1_2;
+      OpenGL                    = self.OpenGL_2_8_0_0;
+      OpenGLRaw                 = self.OpenGLRaw_1_3_0_0;
+      parallel                  = self.parallel_3_2_0_3;
+      parsec                    = self.parsec_3_1_3;
+      QuickCheck                = self.QuickCheck_2_6;
+      random                    = self.random_1_0_1_1;
+      regexBase                 = self.regexBase_0_93_2;
+      regexCompat               = self.regexCompat_0_95_1;
+      regexPosix                = self.regexPosix_0_95_2;
+      split                     = self.split_0_2_2;
+      stm                       = self.stm_2_4_2;
+      syb                       = self.syb_0_4_0;
+      text                      = self.text_0_11_3_1;
+      transformers              = self.transformers_0_3_0_0;
+      unorderedContainers       = self.unorderedContainers_0_2_3_0;
+      vector                    = self.vector_0_10_0_1;
+      xhtml                     = self.xhtml_3000_2_1;
+      zlib                      = self.zlib_0_5_4_1;
+      cabalInstall              = self.cabalInstall_1_16_0_2;
+      alex                      = self.alex_3_0_5;
+      happy                     = self.happy_1_18_10;
+      primitive                 = self.primitive_0_5_0_1; # semi-official, but specified
+    };
+  };
+
+  haskellPlatformPackages_2012_4_0_0 = pkgs.haskell.packages_ghc742.override {
+    extension = self : super : {
+      async                     = self.async_2_0_1_3;
+      cgi                       = self.cgi_3001_1_7_4;
+      fgl                       = self.fgl_5_4_2_4;
+      GLUT                      = self.GLUT_2_1_2_1;
+      haskellSrc                = self.haskellSrc_1_0_1_5;
+      html                      = self.html_1_0_1_2;
+      HTTP                      = super.HTTP_4000_2_5.override { network = self.network_2_3_1_0; };
+      HUnit                     = self.HUnit_1_2_5_1;
+      mtl                       = self.mtl_2_1_2;
+      network                   = self.network_2_3_1_0;
+      OpenGL                    = self.OpenGL_2_2_3_1;
+      parallel                  = self.parallel_3_2_0_3;
+      parsec                    = self.parsec_3_1_3;
+      QuickCheck                = self.QuickCheck_2_5_1_1;
+      random                    = self.random_1_0_1_1;
+      regexBase                 = self.regexBase_0_93_2;
+      regexCompat               = self.regexCompat_0_95_1;
+      regexPosix                = self.regexPosix_0_95_2;
+      split                     = self.split_0_2_1_1;
+      stm                       = self.stm_2_4;
+      syb                       = self.syb_0_3_7;
+      text                      = self.text_0_11_2_3;
+      transformers              = self.transformers_0_3_0_0;
+      vector                    = self.vector_0_10_0_1;
+      xhtml                     = self.xhtml_3000_2_1;
+      zlib                      = self.zlib_0_5_4_0;
+      cabalInstall              = self.cabalInstall_0_14_0;
+      alex                      = self.alex_3_0_2;
+      happy                     = self.happy_1_18_10;
+      primitive                 = self.primitive_0_5_0_1; # semi-official, but specified
+    };
+  };
+
+  haskellPlatformPackages_2012_2_0_0 = pkgs.haskell.packages_ghc742.override {
+    ghcPath = ../../../compilers/ghc/7.4.1.nix;
+    extension = self : super : {
+      cgi                       = self.cgi_3001_1_7_4;
+      fgl                       = self.fgl_5_4_2_4;
+      GLUT                      = self.GLUT_2_1_2_1;
+      haskellSrc                = self.haskellSrc_1_0_1_5;
+      html                      = self.html_1_0_1_2;
+      HTTP                      = self.HTTP_4000_2_3;
+      HUnit                     = self.HUnit_1_2_4_2;
+      mtl                       = self.mtl_2_1_1;
+      network                   = self.network_2_3_0_13;
+      OpenGL                    = self.OpenGL_2_2_3_1;
+      parallel                  = self.parallel_3_2_0_2;
+      parsec                    = self.parsec_3_1_2;
+      QuickCheck                = self.QuickCheck_2_4_2;
+      random                    = self.random_1_0_1_1;
+      regexBase                 = self.regexBase_0_93_2;
+      regexCompat               = self.regexCompat_0_95_1;
+      regexPosix                = self.regexPosix_0_95_1;
+      stm                       = self.stm_2_3;
+      syb                       = self.syb_0_3_6_1;
+      text                      = self.text_0_11_2_0;
+      transformers              = self.transformers_0_3_0_0;
+      xhtml                     = self.xhtml_3000_2_1;
+      zlib                      = self.zlib_0_5_3_3;
+      cabalInstall              = self.cabalInstall_0_14_0;
+      alex                      = self.alex_3_0_1;
+      happy                     = self.happy_1_18_9;
+    };
+  };
+
+  haskellPlatformPackages_2011_4_0_0 = pkgs.haskell.packages_ghc704.override {
+    extension = self : super : {
+      cgi                       = self.cgi_3001_1_7_4;
+      fgl                       = self.fgl_5_4_2_4;
+      GLUT                      = self.GLUT_2_1_2_1;
+      haskellSrc                = self.haskellSrc_1_0_1_4;
+      html                      = self.html_1_0_1_2;
+      HUnit                     = self.HUnit_1_2_4_2;
+      network                   = self.network_2_3_0_5;
+      OpenGL                    = self.OpenGL_2_2_3_0;
+      parallel                  = self.parallel_3_1_0_1;
+      parsec                    = self.parsec_3_1_1;
+      QuickCheck                = self.QuickCheck_2_4_1_1;
+      regexBase                 = self.regexBase_0_93_2;
+      regexCompat               = self.regexCompat_0_95_1;
+      regexPosix                = self.regexPosix_0_95_1;
+      stm                       = self.stm_2_2_0_1;
+      syb                       = self.syb_0_3_3;
+      xhtml                     = self.xhtml_3000_2_0_4;
+      zlib                      = self.zlib_0_5_3_1;
+      HTTP                      = self.HTTP_4000_1_2;
+      deepseq                   = self.deepseq_1_1_0_2;
+      text                      = self.text_0_11_1_5;
+      transformers              = self.transformers_0_2_2_0;
+      mtl                       = self.mtl_2_0_1_0;
+      cabalInstall              = self.cabalInstall_0_10_2;
+      alex                      = self.alex_2_3_5;
+      happy                     = self.happy_1_18_6;
+    };
+  };
+
+  haskellPlatformPackages_2011_2_0_1 = pkgs.haskell.packages_ghc704.override {
+    ghcPath = ../../../compilers/ghc/7.0.3.nix;
+    extension = self : super : {
+      cgi                       = self.cgi_3001_1_7_4;
+      fgl                       = self.fgl_5_4_2_3;
+      GLUT                      = self.GLUT_2_1_2_1;
+      haskellSrc                = self.haskellSrc_1_0_1_4;
+      html                      = self.html_1_0_1_2;
+      HUnit                     = self.HUnit_1_2_2_3;
+      network                   = self.network_2_3_0_2;
+      OpenGL                    = self.OpenGL_2_2_3_0;
+      parallel                  = self.parallel_3_1_0_1;
+      parsec                    = self.parsec_3_1_1;
+      QuickCheck                = self.QuickCheck_2_4_0_1;
+      regexBase                 = self.regexBase_0_93_2;
+      regexCompat               = self.regexCompat_0_93_1;
+      regexPosix                = self.regexPosix_0_94_4;
+      stm                       = self.stm_2_2_0_1;
+      syb                       = self.syb_0_3;
+      xhtml                     = self.xhtml_3000_2_0_1;
+      zlib                      = self.zlib_0_5_3_1;
+      HTTP                      = self.HTTP_4000_1_1;
+      deepseq                   = self.deepseq_1_1_0_2;
+      text                      = self.text_0_11_0_6;
+      transformers              = self.transformers_0_2_2_0;
+      mtl                       = self.mtl_2_0_1_0;
+      cabalInstall              = self.cabalInstall_0_10_2;
+      alex                      = self.alex_2_3_5;
+      happy                     = self.happy_1_18_6;
+    };
+  };
+
+  haskellPlatformPackages_2011_2_0_0 = pkgs.haskell.packages_ghc704.override {
+    ghcPath = ../../../compilers/ghc/7.0.2.nix;
+    extension = self : super : {
+      cgi                       = self.cgi_3001_1_7_4;
+      fgl                       = self.fgl_5_4_2_3;
+      GLUT                      = self.GLUT_2_1_2_1;
+      haskellSrc                = self.haskellSrc_1_0_1_4;
+      html                      = self.html_1_0_1_2;
+      HUnit                     = self.HUnit_1_2_2_3;
+      network                   = self.network_2_3_0_2;
+      OpenGL                    = self.OpenGL_2_2_3_0;
+      parallel                  = self.parallel_3_1_0_1;
+      parsec                    = self.parsec_3_1_1;
+      QuickCheck                = self.QuickCheck_2_4_0_1;
+      regexBase                 = self.regexBase_0_93_2;
+      regexCompat               = self.regexCompat_0_93_1;
+      regexPosix                = self.regexPosix_0_94_4;
+      stm                       = self.stm_2_2_0_1;
+      syb                       = self.syb_0_3;
+      xhtml                     = self.xhtml_3000_2_0_1;
+      zlib                      = self.zlib_0_5_3_1;
+      HTTP                      = self.HTTP_4000_1_1;
+      deepseq                   = self.deepseq_1_1_0_2;
+      text                      = self.text_0_11_0_5;
+      transformers              = self.transformers_0_2_2_0;
+      mtl                       = self.mtl_2_0_1_0;
+      cabalInstall              = self.cabalInstall_0_10_2;
+      alex                      = self.alex_2_3_5;
+      happy                     = self.happy_1_18_6;
+    };
+  };
+
+  haskellPlatformPackages_2010_2_0_0 = pkgs.haskell.packages_ghc6123.override {
+    extension = self : super : {
+      cgi                       = self.cgi_3001_1_7_3;
+      fgl                       = self.fgl_5_4_2_3;
+      GLUT                      = self.GLUT_2_1_2_1;
+      haskellSrc                = self.haskellSrc_1_0_1_3;
+      html                      = self.html_1_0_1_2;
+      HUnit                     = self.HUnit_1_2_2_1;
+      mtl                       = self.mtl_1_1_0_2;
+      network                   = self.network_2_2_1_7;
+      OpenGL                    = self.OpenGL_2_2_3_0;
+      parallel                  = self.parallel_2_2_0_1;
+      parsec                    = self.parsec_2_1_0_1;
+      QuickCheck                = self.QuickCheck_2_1_1_1;
+      regexBase                 = self.regexBase_0_93_2;
+      regexCompat               = self.regexCompat_0_93_1;
+      regexPosix                = self.regexPosix_0_94_2;
+      stm                       = self.stm_2_1_2_1;
+      xhtml                     = self.xhtml_3000_2_0_1;
+      zlib                      = self.zlib_0_5_2_0;
+      HTTP                      = self.HTTP_4000_0_9;
+      deepseq                   = self.deepseq_1_1_0_0;
+      text                      = self.text_0_11_0_5;
+      cabalInstall              = self.cabalInstall_0_8_2;
+      alex                      = self.alex_2_3_3;
+      happy                     = self.happy_1_18_5;
+    };
+  };
+
+  haskellPlatformPackages_2010_1_0_0 = pkgs.haskell.packages_ghc6123.override {
+    extension = self : super : {
+      haskellSrc                = self.haskellSrc_1_0_1_3;
+      html                      = self.html_1_0_1_2;
+      fgl                       = self.fgl_5_4_2_2;
+      cabalInstall              = self.cabalInstall_0_8_0;
+      GLUT                      = self.GLUT_2_1_2_1;
+      OpenGL                    = self.OpenGL_2_2_3_0;
+      zlib                      = self.zlib_0_5_2_0;
+      alex                      = self.alex_2_3_2;
+      cgi                       = self.cgi_3001_1_7_2;
+      QuickCheck                = self.QuickCheck_2_1_1_1;
+      HTTP                      = self.HTTP_4000_0_9;
+      deepseq                   = self.deepseq_1_1_0_0;
+      HUnit                     = self.HUnit_1_2_2_1;
+      network                   = self.network_2_2_1_7;
+      parallel                  = self.parallel_2_2_0_1;
+      parsec                    = self.parsec_2_1_0_1;
+      regexBase                 = self.regexBase_0_93_1;
+      regexCompat               = self.regexCompat_0_92;
+      regexPosix                = self.regexPosix_0_94_1;
+      stm                       = self.stm_2_1_1_2;
+      xhtml                     = self.xhtml_3000_2_0_1;
+      happy                     = self.happy_1_18_4;
+    };
+  };
+
+  haskellPlatformPackages_2009_2_0_2 = pkgs.haskell.packages_ghc6104.override {
+    extension = self : super : {
+      time                      = self.time_1_1_2_4;
+      cgi                       = self.cgi_3001_1_7_1;
+      editline                  = self.editline_0_2_1_0;
+      fgl                       = self.fgl_5_4_2_2;
+      GLUT                      = self.GLUT_2_1_1_2;
+      haskellSrc                = self.haskellSrc_1_0_1_3;
+      html                      = self.html_1_0_1_2;
+      HUnit                     = self.HUnit_1_2_0_3;
+      network                   = self.network_2_2_1_4;
+      OpenGL                    = self.OpenGL_2_2_1_1;
+      parallel                  = self.parallel_1_1_0_1;
+      parsec                    = self.parsec_2_1_0_1;
+      QuickCheck                = self.QuickCheck_1_2_0_0;
+      regexBase                 = self.regexBase_0_72_0_2;
+      regexCompat               = self.regexCompat_0_71_0_1;
+      regexPosix                = self.regexPosix_0_72_0_3;
+      stm                       = self.stm_2_1_1_2;
+      xhtml                     = self.xhtml_3000_2_0_1;
+      zlib                      = self.zlib_0_5_0_0;
+      HTTP                      = self.HTTP_4000_0_6;
+      cabalInstall              = self.cabalInstall_0_6_2;
+      alex                      = self.alex_2_3_1;
+      happy                     = self.happy_1_18_4;
+    };
+  };
+
+in
+{
+  "2013_2_0_0" = haskellPlatformPackages_2013_2_0_0.callPackage ./2013.2.0.0.nix {};
+
+  "2012_4_0_0" = haskellPlatformPackages_2012_4_0_0.callPackage ./2012.4.0.0.nix {};
+
+  "2012_2_0_0" = haskellPlatformPackages_2012_2_0_0.callPackage ./2012.2.0.0.nix {};
+
+  "2011_4_0_0" = haskellPlatformPackages_2011_4_0_0.callPackage ./2011.4.0.0.nix {};
+
+  "2011_2_0_1" = haskellPlatformPackages_2011_2_0_1.callPackage ./2011.2.0.1.nix {};
+
+  "2011_2_0_0" = haskellPlatformPackages_2011_2_0_0.callPackage ./2011.2.0.0.nix {};
+
+  "2010_2_0_0" = haskellPlatformPackages_2010_2_0_0.callPackage ./2010.2.0.0.nix {};
+
+  "2010_1_0_0" = haskellPlatformPackages_2010_1_0_0.callPackage ./2010.1.0.0.nix {};
+
+  "2009_2_0_2" = haskellPlatformPackages_2009_2_0_2.callPackage ./2009.2.0.2.nix {};
+}
diff --git a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
index cad077f7c9c3..b54b1ff753d9 100644
--- a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haskell-src-meta";
-  version = "0.6.0.5";
-  sha256 = "1cx3fkhmyhj18b4nm460xrcb1w53qw198gkqb38cjyafr2frlbyh";
+  version = "0.6.0.7";
+  sha256 = "0cxqh35cd2j6ljsmgjisgm9pn26rj01x43mkn9jk6qs1fbqspb4d";
   buildDepends = [ haskellSrcExts syb thOrphans uniplate ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/heist/default.nix b/pkgs/development/libraries/haskell/heist/default.nix
index 77ebf3fd9af1..77128310d523 100644
--- a/pkgs/development/libraries/haskell/heist/default.nix
+++ b/pkgs/development/libraries/haskell/heist/default.nix
@@ -6,13 +6,14 @@
 
 cabal.mkDerivation (self: {
   pname = "heist";
-  version = "0.13.1";
-  sha256 = "0v9c5hhybn617nmjswqkjrf7bjb5073achfi05ivw1gblbvsj0ir";
+  version = "0.13.1.2";
+  sha256 = "0c80lf00n3iv55mw4p61bjx14gildvxnvfdaa755ghkg1wcd59s5";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeHtml directoryTree dlist errors
     filepath hashable MonadCatchIOTransformers mtl random text time
     transformers unorderedContainers vector xmlhtml
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://snapframework.com/";
     description = "An Haskell template system supporting both HTML5 and XML";
diff --git a/pkgs/development/libraries/haskell/hgal/default.nix b/pkgs/development/libraries/haskell/hgal/default.nix
new file mode 100644
index 000000000000..b8d86d5d3039
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hgal/default.nix
@@ -0,0 +1,14 @@
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "hgal";
+  version = "2.0.0.2";
+  sha256 = "17qw8izy54042g56mp3hdbmqcyk95cdarg58xggniwd85q2l5dpi";
+  buildDepends = [ mtl ];
+  meta = {
+    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 ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
index 497d1083f551..6418c7f03267 100644
--- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix
+++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
@@ -1,14 +1,15 @@
-{ cabal, blazeHtml, filepath, mtl, parsec, regexPcre }:
+{ cabal, blazeHtml, filepath, mtl, parsec, regexPcre, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "highlighting-kate";
-  version = "0.5.6.1";
-  sha256 = "0hwzybihx5znd2z00kqcffqmng7vwynmav0x0zf2b9g415c2lx23";
+  version = "0.5.8.2";
+  sha256 = "1c85yfzi3ri3j1fmqvd4pc4pp95jpm62a2nbbibpybl2h88dsjsb";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ blazeHtml filepath mtl parsec regexPcre ];
-  jailbreak = true;
-  prePatch = "sed -i -e 's|regex-pcre-builtin|regex-pcre|' highlighting-kate.cabal";
+  buildDepends = [
+    blazeHtml filepath mtl parsec regexPcre utf8String
+  ];
+  prePatch = "sed -i -e 's|regex-pcre-builtin >= .*|regex-pcre|' highlighting-kate.cabal";
   meta = {
     homepage = "http://github.com/jgm/highlighting-kate";
     description = "Syntax highlighting";
diff --git a/pkgs/development/libraries/haskell/hint/default.nix b/pkgs/development/libraries/haskell/hint/default.nix
index 09fdfe232a66..a29235d8512e 100644
--- a/pkgs/development/libraries/haskell/hint/default.nix
+++ b/pkgs/development/libraries/haskell/hint/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hint";
-  version = "0.4.1.0";
-  sha256 = "1hc66yfzg9jrm5h3hd52rm4ca8ha0j93rhjpjh6hhzr4a40jv0pl";
+  version = "0.4.2.0";
+  sha256 = "08cq9zyyry7cxc30jmsdgrnvw6v2jbxnxcwcjs3bh77rds947mmd";
   buildDepends = [
     exceptions extensibleExceptions filepath ghcMtl ghcPaths mtl random
     utf8String
diff --git a/pkgs/development/libraries/haskell/hit/default.nix b/pkgs/development/libraries/haskell/hit/default.nix
index 9e1a48d94e67..7e5b30ebbad3 100644
--- a/pkgs/development/libraries/haskell/hit/default.nix
+++ b/pkgs/development/libraries/haskell/hit/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hit";
-  version = "0.6.0";
-  sha256 = "1haslqhnpfdll5cl3vq1y03h916lydhc9mq4gagm9qzjfjqv54k2";
+  version = "0.6.1";
+  sha256 = "175i6gag596dy341jlr5sjj55qcaqgymrcr1czcaigsxsn5yx8b9";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/hledger-lib/default.nix b/pkgs/development/libraries/haskell/hledger-lib/default.nix
index 47c55e22c304..5c0c94b26787 100644
--- a/pkgs/development/libraries/haskell/hledger-lib/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-lib/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hledger-lib";
-  version = "0.23";
-  sha256 = "1zyg4py321lvgy1al4flyxrmsz0vj8z2y99v9k5fa8s8rfa1qxvl";
+  version = "0.23.2";
+  sha256 = "1z9gxbah649r9vzq012mqnk07rfnd6c4ik82klksk0zzd4yxf07d";
   buildDepends = [
     cmdargs csv filepath HUnit mtl parsec prettyShow regexpr regexTdfa
     safe split time transformers utf8String
diff --git a/pkgs/development/libraries/haskell/hledger-web/default.nix b/pkgs/development/libraries/haskell/hledger-web/default.nix
index b63c1f9b8e28..675e6b32fb5b 100644
--- a/pkgs/development/libraries/haskell/hledger-web/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-web/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hledger-web";
-  version = "0.23";
-  sha256 = "1g1brcwkzs3nz5sllsv4zqyz97vydfbbdhbvgh0x9fgxd89qc3cj";
+  version = "0.23.2";
+  sha256 = "1n4n2zj6nqwvwmb6cxr16x2fnmzs7v21snjhq2nnvlik613rnnq7";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/hledger/default.nix b/pkgs/development/libraries/haskell/hledger/default.nix
index 51475ea73ddc..331e857ee143 100644
--- a/pkgs/development/libraries/haskell/hledger/default.nix
+++ b/pkgs/development/libraries/haskell/hledger/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hledger";
-  version = "0.23";
-  sha256 = "1cylviyz3n6kcsdcr1vx699v6fn1878n4z8y8cnxawq2daz4xhpk";
+  version = "0.23.2";
+  sha256 = "1q57mb37qkngdvivaj4dykrkg4sb2pchg2ssdxx8ss4zhbsrk713";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/hoauth2/default.nix b/pkgs/development/libraries/haskell/hoauth2/default.nix
index 77e848427239..fa0a913e1819 100644
--- a/pkgs/development/libraries/haskell/hoauth2/default.nix
+++ b/pkgs/development/libraries/haskell/hoauth2/default.nix
@@ -1,14 +1,16 @@
-{ cabal, aeson, bytestringShow, conduit, httpConduit, httpTypes
-, monadControl, mtl, random, resourcet, text, transformers
+{ cabal, aeson, bytestringShow, httpConduit, httpTypes
+, monadControl, mtl, random, text, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "hoauth2";
-  version = "0.3.6.1";
-  sha256 = "0nfh77fxyl8vbdnrrp28hsl1zhxhmg8mjn0gfvc2i3w5rd6j0lda";
+  version = "0.4.0";
+  sha256 = "1499rgcn3h4921x21s6l0spnjf3wvmsaa07pimgjgb4rjib3z2d5";
+  isLibrary = true;
+  isExecutable = true;
   buildDepends = [
-    aeson bytestringShow conduit httpConduit httpTypes monadControl mtl
-    random resourcet text transformers
+    aeson bytestringShow httpConduit httpTypes monadControl mtl random
+    text transformers
   ];
   meta = {
     homepage = "https://github.com/freizl/hoauth2";
diff --git a/pkgs/development/libraries/haskell/holy-project/default.nix b/pkgs/development/libraries/haskell/holy-project/default.nix
new file mode 100644
index 000000000000..4e751d9c003f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/holy-project/default.nix
@@ -0,0 +1,30 @@
+{ cabal, aeson, ansiTerminal, Cabal, filepath, hastache
+, httpConduit, HUnit, lens, QuickCheck, random, smallcheck, split
+, syb, tasty, tastyHunit, tastyQuickcheck, tastySmallcheck, text
+, time
+, fetchpatch}:
+
+cabal.mkDerivation (self: {
+  pname = "holy-project";
+  version = "0.1.1.0";
+  sha256 = "1dsyhgjcp54199zfazzzwsggxpj2dsbzfb64v6l3jz7qaapxnj9i";
+  isLibrary = true;
+  isExecutable = true;
+  patches = [ (fetchpatch { url = "https://github.com/yogsototh/holy-project/pull/3.patch"; sha256 = "1ndyhfrsvn94zxzyq1w4504gz91yfv33375933qmz3wdfkc3rqf0"; }) ];
+  buildDepends = [
+    aeson ansiTerminal Cabal filepath hastache httpConduit HUnit lens
+    QuickCheck random smallcheck split syb tasty tastyHunit
+    tastyQuickcheck tastySmallcheck text time
+  ];
+  testDepends = [
+    Cabal HUnit QuickCheck smallcheck tasty tastyHunit tastyQuickcheck
+    tastySmallcheck
+  ];
+  meta = {
+    homepage = "http://github.com/yogsototh/holy-project";
+    description = "Start your Haskell project with cabal, git and tests";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.tomberek ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff b/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff
new file mode 100644
index 000000000000..df507c5a4705
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoogle/hoogle-local.diff
@@ -0,0 +1,28 @@
+diff --git a/src/CmdLine/All.hs b/src/CmdLine/All.hs
+index 94b1d48..f41f270 100644
+--- a/src/CmdLine/All.hs
++++ b/src/CmdLine/All.hs
+@@ -86,8 +86,10 @@ guessLocal = do
+     ghc <- findExecutable "ghc"
+     home <- getHomeDirectory
+     lib <- getLibDir
++    path <- lookup "HOOGLE_DOC_PATH" <$> getEnvironment
+     let xs = [takeDirectory (takeDirectory lib) </> "doc" {- Windows, installed with Cabal -}  ] ++
+              [takeDirectory (takeDirectory ghc) </> "doc/html/libraries" | Just ghc <- [ghc] {- Windows, installed by GHC -} ] ++
++             maybeToList path ++
+              [home </> ".cabal/share/doc" {- Linux -} ]
+     filterM doesDirectoryExist xs
+ 
+diff --git a/src/Hoogle/Language/Haskell.hs b/src/Hoogle/Language/Haskell.hs
+index b037f11..f2ac047 100644
+--- a/src/Hoogle/Language/Haskell.hs
++++ b/src/Hoogle/Language/Haskell.hs
+@@ -112,7 +112,7 @@ setPriority pkg mod x = x{itemPriority = pri}
+ 
+ setModuleURL (Just pkg) _ x | itemLevel x == 1 = x{itemURL=if null $ itemURL x then f $ itemName x else itemURL x}
+     where f xs = if "http://hackage.haskell.org/package/" `isPrefixOf` itemURL pkg
+-                 then "http://hackage.haskell.org/packages/archive/" ++ itemName pkg ++ "/latest/doc/html/" ++ file
++                 then "http://hackage.haskell.org/package/" ++ itemName pkg ++ "/docs/" ++ file
+                  else takeDirectory (itemURL pkg) ++ "/" ++ file
+               where file = reps '.' '-' xs ++ ".html"
+ setModuleURL _ _ x = x
diff --git a/pkgs/development/libraries/haskell/hoogle/local.nix b/pkgs/development/libraries/haskell/hoogle/local.nix
new file mode 100644
index 000000000000..9f56d028c590
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoogle/local.nix
@@ -0,0 +1,117 @@
+# Install not only the Hoogle library and executable, but also a local Hoogle
+# database which provides "Source" links to all specified 'packages' -- or the
+# current Haskell Platform if no custom package set is provided.
+#
+# It is intended to be used in config.nix similarly to:
+#
+# { packageOverrides = pkgs: rec {
+# 
+#   haskellPackages =
+#     let callPackage = pkgs.lib.callPackageWith haskellPackages;
+#     in pkgs.recurseIntoAttrs (pkgs.haskellPackages.override {
+#         extraPrefs = self: {
+#           hoogleLocal = pkgs.haskellPackages.hoogleLocal.override {
+#             packages = with pkgs.haskellPackages; [
+#               mmorph
+#               monadControl
+#             ]
+#           };
+#         };
+#       });
+# }}
+#
+# This will build mmorph and monadControl, and have the hoogle installation
+# refer to their documentation via symlink so they are not garbage collected.
+
+{ cabal, aeson, binary, blazeBuilder, Cabal, caseInsensitive
+, cmdargs, conduit, deepseq, filepath, haskellSrcExts, httpTypes
+, parsec, QuickCheck, random, resourcet, safe, shake, tagsoup, text
+, time, transformers, uniplate, vector, vectorAlgorithms, wai, warp
+
+, parallel, perl, wget, rehoo, haskellPlatform
+, packages ? haskellPlatform.propagatedUserEnvPkgs
+}:
+
+cabal.mkDerivation (self: rec {
+  pname = "hoogle";
+  version = "4.2.32";
+  sha256 = "1rhr7xh4x9fgflcszbsl176r8jq6rm81bwzmbz73f3pa1zf1v0zc";
+  isLibrary = true;
+  isExecutable = true;
+  buildInputs = [self.ghc Cabal] ++ self.extraBuildInputs
+    ++ [ parallel perl wget rehoo ] ++ packages;
+  buildDepends = [
+      aeson binary blazeBuilder Cabal caseInsensitive cmdargs conduit
+      deepseq filepath haskellSrcExts httpTypes parsec QuickCheck random
+      resourcet safe shake tagsoup text time transformers uniplate vector
+      vectorAlgorithms wai warp
+    ];
+  testDepends = [ filepath ];
+  testTarget = "--test-option=--no-net";
+
+  # The tests will fail because of the added documentation.
+  doCheck = false;
+  patches = [ ./hoogle-local.diff ];
+
+  docPackages = packages;
+
+  postInstall = ''
+    if [ -z "$docPackages" ]; then
+        echo "ERROR: The packages attribute has not been set"
+        exit 1
+    fi
+
+    ensureDir $out/share/hoogle/doc
+    export HOOGLE_DOC_PATH=$out/share/hoogle/doc
+
+    cd $out/share/hoogle
+
+    function import_dbs() {
+        find $1 -name '*.txt' \
+            | parallel -j$NIX_BUILD_CORES 'cp -p {} .; perl -i -pe "print \"\@url file://{//}/index.html\n\" if /^\@version/;" {/}; $out/bin/hoogle convert {/}'
+    }
+
+    for i in $docPackages; do
+        import_dbs $i/share/doc
+        ln -sf $i/share/doc/*-ghc-*/* $out/share/hoogle/doc 2> /dev/null \
+            || ln -sf $i/share/doc/* $out/share/hoogle/doc
+    done
+
+    import_dbs ${self.ghc}/share/doc/ghc*/html/libraries
+    ln -sf ${self.ghc}/share/doc/ghc*/html/libraries/* $out/share/hoogle/doc
+
+    unset http_proxy
+    unset ftp_proxy
+
+    chmod 644 *.hoo *.txt
+    $out/bin/hoogle data -d $PWD --redownload -l $(echo *.txt | sed 's/\.txt//g')
+    PATH=$out/bin:$PATH ${rehoo}/bin/rehoo -j4 -c64 .
+
+    rm -fr downloads *.txt *.dep
+    mv default.hoo x || exit 0
+    rm -f *.hoo
+    mv x default.hoo || exit 1
+
+    if [ ! -f default.hoo ]; then
+        echo "Unable to build the default Hoogle database"
+        exit 1
+    fi
+
+    mv $out/bin/hoogle $out/bin/.hoogle-wrapped
+    cat - > $out/bin/hoogle <<EOF
+    #! ${self.stdenv.shell}
+    COMMAND=\$1
+    shift
+    HOOGLE_DOC_PATH=$out/share/hoogle/doc exec $out/bin/.hoogle-wrapped \$COMMAND -d $out/share/hoogle "\$@"
+    EOF
+    chmod +x $out/bin/hoogle
+  '';
+
+  meta = {
+    homepage = "http://www.haskell.org/hoogle/";
+    description = "Haskell API Search";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.jwiegley ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hourglass/default.nix b/pkgs/development/libraries/haskell/hourglass/default.nix
index 3fc43ef63489..7a5cf59b3283 100644
--- a/pkgs/development/libraries/haskell/hourglass/default.nix
+++ b/pkgs/development/libraries/haskell/hourglass/default.nix
@@ -1,15 +1,12 @@
-{ cabal, deepseq, HUnit, mtl, QuickCheck, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2, time
-}:
+{ cabal, deepseq, mtl, tasty, tastyHunit, tastyQuickcheck, time }:
 
 cabal.mkDerivation (self: {
   pname = "hourglass";
-  version = "0.1.2";
-  sha256 = "18jvl4f8vfabvd9vlhxjjlswc80x8w4h6gdflvzdkjrknnyk118j";
+  version = "0.2.0";
+  sha256 = "13zphy3gfj9p7vsa477qy30968fnz5kq7d0lzb1pyg5hxkx44rim";
   buildDepends = [ deepseq ];
   testDepends = [
-    deepseq HUnit mtl QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2 time
+    deepseq mtl tasty tastyHunit tastyQuickcheck time
   ];
   meta = {
     homepage = "https://github.com/vincenthz/hs-hourglass";
diff --git a/pkgs/development/libraries/haskell/hsini/default.nix b/pkgs/development/libraries/haskell/hsini/default.nix
index 73368a1dd6cf..52d8a26c92a8 100644
--- a/pkgs/development/libraries/haskell/hsini/default.nix
+++ b/pkgs/development/libraries/haskell/hsini/default.nix
@@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
     HUnit mtl parsec QuickCheck testFramework testFrameworkHunit
     testFrameworkQuickcheck2 testFrameworkTh
   ];
+  jailbreak = true;
   meta = {
     description = "Package for user configuration files (INI)";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/http-client/default.nix b/pkgs/development/libraries/haskell/http-client/default.nix
index cc8341e2ac4f..b447d9a1f11c 100644
--- a/pkgs/development/libraries/haskell/http-client/default.nix
+++ b/pkgs/development/libraries/haskell/http-client/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-client";
-  version = "0.3.2.2";
-  sha256 = "1znfcn549zxz4wdlv9rvyqz0x52ygx9jba9r1fzxk08mbi8xz6ff";
+  version = "0.3.3";
+  sha256 = "001nmy6f57l2f7gc4mchz1gwam28qldkwmcxzs8jnqwczcirgk38";
   buildDepends = [
     base64Bytestring blazeBuilder caseInsensitive cookie
     dataDefaultClass deepseq exceptions filepath httpTypes mimeTypes
diff --git a/pkgs/development/libraries/haskell/http-kit/default.nix b/pkgs/development/libraries/haskell/http-kit/default.nix
index 5e25f44057f0..6b49c761ae94 100644
--- a/pkgs/development/libraries/haskell/http-kit/default.nix
+++ b/pkgs/development/libraries/haskell/http-kit/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-kit";
-  version = "0.2.2";
-  sha256 = "09pq3wzcg8piil6bcp713dfscrfald155456dfir9dljviamhvsv";
+  version = "0.4.0";
+  sha256 = "0g7gc8faxibj0rhfasa6iaf7ikq4rs0428gca6mhaqp3zf8j7m8h";
   buildDepends = [ caseInsensitive httpTypes ];
   testDepends = [ hspec httpTypes QuickCheck quickcheckInstances ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
index 5c6da92953cd..ec34cc98d744 100644
--- a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
+++ b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-reverse-proxy";
-  version = "0.3.1.6";
-  sha256 = "1ckxiabk685a47xy0khj6h05j26hsc5hlxfysbkmk2q70y0ljk7k";
+  version = "0.3.1.7";
+  sha256 = "0fhndk9zjv1kcqgrhj42brfg96p7flrcpy609asba1vc0i9213j4";
   buildDepends = [
     async blazeBuilder caseInsensitive conduit conduitExtra
     dataDefaultClass httpClient httpTypes liftedBase monadControl
diff --git a/pkgs/development/libraries/haskell/http-types/default.nix b/pkgs/development/libraries/haskell/http-types/default.nix
index a3fa1c8c9ee4..4b1a7b956f67 100644
--- a/pkgs/development/libraries/haskell/http-types/default.nix
+++ b/pkgs/development/libraries/haskell/http-types/default.nix
@@ -1,11 +1,15 @@
-{ cabal, blazeBuilder, caseInsensitive, hspec, QuickCheck, text }:
+{ cabal, blazeBuilder, caseInsensitive, doctest, hspec, QuickCheck
+, quickcheckInstances, text
+}:
 
 cabal.mkDerivation (self: {
   pname = "http-types";
-  version = "0.8.4";
-  sha256 = "0bz7g537if863vk29z72hndf1x019dj7shj1aa77pssrxma3a685";
+  version = "0.8.5";
+  sha256 = "0d282sf3xyk5makhnwfm2k9mgw1fkh07kasmy85fiwjkc1447ciw";
   buildDepends = [ blazeBuilder caseInsensitive text ];
-  testDepends = [ blazeBuilder hspec QuickCheck text ];
+  testDepends = [
+    blazeBuilder doctest hspec QuickCheck quickcheckInstances text
+  ];
   jailbreak = true;
   meta = {
     homepage = "https://github.com/aristidb/http-types";
diff --git a/pkgs/development/libraries/haskell/httpd-shed/default.nix b/pkgs/development/libraries/haskell/httpd-shed/default.nix
index 90f11940a465..2ebb89026176 100644
--- a/pkgs/development/libraries/haskell/httpd-shed/default.nix
+++ b/pkgs/development/libraries/haskell/httpd-shed/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "httpd-shed";
-  version = "0.4.0.1";
-  sha256 = "04m07wqhaggkgksha7x528y890j30ay5axipfy6b1ma9cf0a9jwq";
+  version = "0.4.0.2";
+  sha256 = "0w37ra59xhk6gqrxpk83m1wmm7mqygcg59y5nl00x279c77qzxj3";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ network ];
diff --git a/pkgs/development/libraries/haskell/iCalendar/default.nix b/pkgs/development/libraries/haskell/iCalendar/default.nix
index 9d54e8531abc..e877e8d8d508 100644
--- a/pkgs/development/libraries/haskell/iCalendar/default.nix
+++ b/pkgs/development/libraries/haskell/iCalendar/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "iCalendar";
-  version = "0.4";
-  sha256 = "1wjgrgm4m21fic7a83k5jql4jxknk7mhh3shhrgb2kvxrj0bfw8b";
+  version = "0.4.0.1";
+  sha256 = "08m47nxxz70lmmndlgycfb27x8xfwakxi8izbba0f6w23ddaljp3";
   buildDepends = [
     base64Bytestring caseInsensitive dataDefault mime mtl network
     parsec text time
diff --git a/pkgs/development/libraries/haskell/imm/default.nix b/pkgs/development/libraries/haskell/imm/default.nix
new file mode 100644
index 000000000000..38bc9bbfde70
--- /dev/null
+++ b/pkgs/development/libraries/haskell/imm/default.nix
@@ -0,0 +1,27 @@
+{ cabal, async, caseInsensitive, cond, dataDefault, dyre, feed
+, filepath, hslogger, httpConduit, httpTypes, lens, mimeMail
+, monadControl, mtl, network, opml, random, resourcet, text
+, textIcu, time, timerep, tls, transformers, transformersBase
+, utf8String, xdgBasedir, xml
+}:
+
+cabal.mkDerivation (self: {
+  pname = "imm";
+  version = "0.6.0.1";
+  sha256 = "11m6937wafl6nic69mbibrjnxib503907y21n9zmsxc8vnjl3pps";
+  patches = [ ./latest-feed-http-conduit-tls.patch ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    async caseInsensitive cond dataDefault dyre feed filepath hslogger
+    httpConduit httpTypes lens mimeMail monadControl mtl network opml
+    random resourcet text textIcu time timerep tls transformers
+    transformersBase utf8String xdgBasedir xml
+  ];
+  meta = {
+    description = "Retrieve RSS/Atom feeds and write one mail per new item in a maildir";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ "Daniel Bergey <bergey@teallabs.org>" ];
+  };
+})
\ No newline at end of file
diff --git a/pkgs/development/libraries/haskell/imm/latest-feed-http-conduit-tls.patch b/pkgs/development/libraries/haskell/imm/latest-feed-http-conduit-tls.patch
new file mode 100644
index 000000000000..afe72bc83e7a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/imm/latest-feed-http-conduit-tls.patch
@@ -0,0 +1,73 @@
+# HG changeset patch
+# User Daniel Bergey <bergey@alum.mit.edu>
+# Date 1398284724 0
+#      Wed Apr 23 20:25:24 2014 +0000
+# Node ID 4cc692e7acc4f21ffab9e5572d286495791d22d1
+# Parent  31e3ba1aaaf9efdce66e8ef5c192d0f4214150f4
+Update for feed-0.3.9.2, http-conduit-2.0, tls-1.2
+
+diff -r 31e3ba1aaaf9 -r 4cc692e7acc4 Imm/Error.hs
+--- a/Imm/Error.hs	Sun Jun 16 12:23:40 2013 +0200
++++ b/Imm/Error.hs	Wed Apr 23 20:25:24 2014 +0000
+@@ -41,7 +41,7 @@
+ data ImmError =
+     OtherError         String
+   | HTTPError          HttpException
+-  | TLSError           HandshakeFailed
++  | TLSError           TLSException
+   | UnicodeError       UnicodeException
+   | ParseUriError      String
+   | ParseTimeError     String
+@@ -63,7 +63,7 @@
+         "/!\\ Cannot parse date from item: ",
+         "    title: "       ++ (show $ getItemTitle item),
+         "    link:"         ++ (show $ getItemLink item),
+-        "    publish date:" ++ (show $ getItemPublishDate item),
++        "    publish date:" ++ (show (getItemPublishDate item :: Maybe (Maybe UTCTime))),
+         "    date:"         ++ (show $ getItemDate item)]
+     show (ParseTimeError raw)      = "/!\\ Cannot parse time: " ++ raw
+     show (ParseFeedError raw)      = "/!\\ Cannot parse feed: " ++ raw
+diff -r 31e3ba1aaaf9 -r 4cc692e7acc4 Imm/HTTP.hs
+--- a/Imm/HTTP.hs	Sun Jun 16 12:23:40 2013 +0200
++++ b/Imm/HTTP.hs	Wed Apr 23 20:25:24 2014 +0000
+@@ -50,13 +50,13 @@
+     either throwError return res
+ 
+ -- | Monad-agnostic version of 'parseUrl'
+-parseURL :: (MonadBase IO m, MonadError ImmError m) => String -> m (Request m')
++parseURL :: (MonadBase IO m, MonadError ImmError m) => String -> m Request
+ parseURL uri = do
+     result <- io $ (Right <$> parseUrl uri) `catch` (return . Left . HTTPError)
+     either throwError return result
+ 
+ -- | Build an HTTP request for given URI
+-request :: (MonadBase IO m, MonadError ImmError m) => String -> m (Request a)
++request :: (MonadBase IO m, MonadError ImmError m) => String -> m Request
+ request uri = do
+     req <- parseURL uri
+     return $ req { requestHeaders = [
+diff -r 31e3ba1aaaf9 -r 4cc692e7acc4 imm.cabal
+--- a/imm.cabal	Sun Jun 16 12:23:40 2013 +0200
++++ b/imm.cabal	Wed Apr 23 20:25:24 2014 +0000
+@@ -46,10 +46,10 @@
+         data-default,
+         directory,
+         dyre,
+-        feed,
++        feed == 0.3.9.2,
+         filepath,
+         hslogger,
+-        http-conduit >= 1.9.0,
++        http-conduit >= 2.0 && < 2.2,
+         http-types,
+         lens,
+         mime-mail,
+@@ -66,7 +66,7 @@
+         transformers,
+         time,
+         timerep >= 1.0.3,
+-        tls,
++        tls >= 1.2 && < 1.3,
+         utf8-string,
+         xdg-basedir,
+         xml
diff --git a/pkgs/development/libraries/haskell/instant-generics/default.nix b/pkgs/development/libraries/haskell/instant-generics/default.nix
index 61e580b6293d..8337fe516554 100644
--- a/pkgs/development/libraries/haskell/instant-generics/default.nix
+++ b/pkgs/development/libraries/haskell/instant-generics/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "instant-generics";
-  version = "0.3.7";
-  sha256 = "0kkfx009ij3pwga7x18vr8p0ffhahlp8sb6ykzfh8rhcqd4ryzyv";
+  version = "0.4";
+  sha256 = "14z6135jvmry9b52p21cqnwgp2w0g6frh1fm7z5byph06xls9r7l";
   buildDepends = [ syb ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/InstantGenerics";
diff --git a/pkgs/development/libraries/haskell/io-streams/default.nix b/pkgs/development/libraries/haskell/io-streams/default.nix
index 4e3617246813..864c0cdddaea 100644
--- a/pkgs/development/libraries/haskell/io-streams/default.nix
+++ b/pkgs/development/libraries/haskell/io-streams/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "io-streams";
-  version = "1.1.4.3";
-  sha256 = "0qp63xfbfz5ymfn8l9fiy27z30fi4sq201zgsh9x2mkhp6z2yzld";
+  version = "1.1.4.6";
+  sha256 = "0vn6vlgfapmyd9y87i9i0y480w8w81xd3lnhh66a6lalskd4bjdw";
   buildDepends = [
     attoparsec blazeBuilder network primitive text time transformers
     vector zlibBindings
diff --git a/pkgs/development/libraries/haskell/irc/default.nix b/pkgs/development/libraries/haskell/irc/default.nix
index 524c2de1f734..49f732e857c1 100644
--- a/pkgs/development/libraries/haskell/irc/default.nix
+++ b/pkgs/development/libraries/haskell/irc/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "irc";
-  version = "0.6.0.0";
-  sha256 = "037hpdb4b6nb5w62w34alwybchzybz0bq2cgp0mv4xlw7bks2nqv";
+  version = "0.6.0.1";
+  sha256 = "0524phrxjv0i5qabrf4sj0zpcvkdvcivv1lg46591pmvndfhpyn4";
   buildDepends = [ attoparsec ];
   meta = {
     description = "A small library for parsing IRC messages";
diff --git a/pkgs/development/libraries/haskell/iteratee/default.nix b/pkgs/development/libraries/haskell/iteratee/default.nix
index 62bc3f7a2a41..f0772ca4db13 100644
--- a/pkgs/development/libraries/haskell/iteratee/default.nix
+++ b/pkgs/development/libraries/haskell/iteratee/default.nix
@@ -1,16 +1,21 @@
-{ cabal, ListLike, MonadCatchIOTransformers, monadControl, parallel
-, transformers, transformersBase
+{ cabal, exceptions, HUnit, ListLike, monadControl, mtl, parallel
+, QuickCheck, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, transformers, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "iteratee";
-  version = "0.8.9.5";
-  sha256 = "0akv7zcyb3c213f8qz1xv1qyq04wa427a4mh8rmz1jlmcwiznk7z";
+  version = "0.8.9.6";
+  sha256 = "1yc5fqqb8warvgld3cymka7d2wmjydvfin5jy7zaazb7alf14q1p";
   buildDepends = [
-    ListLike MonadCatchIOTransformers monadControl parallel
-    transformers transformersBase
+    exceptions ListLike monadControl parallel transformers
+    transformersBase
+  ];
+  testDepends = [
+    exceptions HUnit ListLike monadControl mtl QuickCheck testFramework
+    testFrameworkHunit testFrameworkQuickcheck2 transformers
+    transformersBase
   ];
-  jailbreak = true;
   meta = {
     homepage = "http://www.tiresiaspress.us/haskell/iteratee";
     description = "Iteratee-based I/O";
diff --git a/pkgs/development/libraries/haskell/kan-extensions/default.nix b/pkgs/development/libraries/haskell/kan-extensions/default.nix
index d4b5c5752e08..fae884b29226 100644
--- a/pkgs/development/libraries/haskell/kan-extensions/default.nix
+++ b/pkgs/development/libraries/haskell/kan-extensions/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "kan-extensions";
-  version = "4.0.2";
-  sha256 = "05invi86i2a115jdy2nzdkc0i6g170j0xcxycw2z2qjigvjsaizi";
+  version = "4.0.3";
+  sha256 = "05zqlxm6i66d996jcpjhnmij28a4zwc0l0nc9cyxamfwmyd9754b";
   buildDepends = [
     adjunctions comonad contravariant distributive free mtl pointed
     semigroupoids speculation transformers
diff --git a/pkgs/development/libraries/haskell/keys/default.nix b/pkgs/development/libraries/haskell/keys/default.nix
index b657f3dd6b94..d97066e57c76 100644
--- a/pkgs/development/libraries/haskell/keys/default.nix
+++ b/pkgs/development/libraries/haskell/keys/default.nix
@@ -2,11 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "keys";
-  version = "3.10";
-  sha256 = "1s2xkzvaqk507wrgabpxli8g8n83arflmdhxq40f7qkvyflhhmyh";
+  version = "3.10.1";
+  sha256 = "007lbpfan5n1cgswsrzc4xjv0kjmjr9vn4lpqm3gwk3lnfpg8i4n";
   buildDepends = [
     comonad free semigroupoids semigroups transformers
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/ekmett/keys/";
     description = "Keyed functors and containers";
diff --git a/pkgs/development/libraries/haskell/language-c-inline/default.nix b/pkgs/development/libraries/haskell/language-c-inline/default.nix
index 691c1e70662d..1aef92fe6789 100644
--- a/pkgs/development/libraries/haskell/language-c-inline/default.nix
+++ b/pkgs/development/libraries/haskell/language-c-inline/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "language-c-inline";
-  version = "0.5.0.0";
-  sha256 = "1cyl45bi2d38yyd1ybxippl8mv3hsl1chzn7rqm40fds97h07j2z";
+  version = "0.6.0.0";
+  sha256 = "08a22sr01kch365p5536fv32rxsfmdd6hkhcq1j7vhchjrsy3f6w";
   buildDepends = [ filepath languageCQuote mainlandPretty ];
   testDepends = [ languageCQuote ];
   doCheck = false;
diff --git a/pkgs/development/libraries/haskell/language-glsl/default.nix b/pkgs/development/libraries/haskell/language-glsl/default.nix
new file mode 100644
index 000000000000..bdde61739e35
--- /dev/null
+++ b/pkgs/development/libraries/haskell/language-glsl/default.nix
@@ -0,0 +1,15 @@
+{ cabal, HUnit, parsec, prettyclass }:
+
+cabal.mkDerivation (self: {
+  pname = "language-glsl";
+  version = "0.0.2";
+  sha256 = "1ixgivyc5kqjg83rymrjs1mvypvqrczmj6dhn3dbw2a9lhrvljsz";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ HUnit parsec prettyclass ];
+  meta = {
+    description = "GLSL abstract syntax tree, parser, and pretty-printer";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/leksah/leksah-server.nix b/pkgs/development/libraries/haskell/leksah/leksah-server.nix
deleted file mode 100644
index 1a907a384f1f..000000000000
--- a/pkgs/development/libraries/haskell/leksah/leksah-server.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ cabal, attoparsec, attoparsecEnumerator, binary, binaryShared
-, Cabal, deepseq, enumerator, filepath, haddock, hslogger, HUnit
-, ltk, network, parsec, processLeksah, strict, time, transformers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "leksah-server";
-  version = "0.12.1.2";
-  sha256 = "0fzfyq1g1jrfl40nklgvkahlcv32m4gjbcyw52dky2qzc05b0g6m";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [
-    attoparsec attoparsecEnumerator binary binaryShared Cabal deepseq
-    enumerator filepath haddock hslogger ltk network parsec
-    processLeksah strict time transformers
-  ];
-  testDepends = [ enumerator hslogger HUnit transformers ];
-  meta = {
-    homepage = "http://leksah.org";
-    description = "Metadata collection for leksah";
-    license = "GPL";
-    platforms = self.stdenv.lib.platforms.linux;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/leksah/process-leksah.nix b/pkgs/development/libraries/haskell/leksah/process-leksah.nix
deleted file mode 100644
index b8f0ed37d4cb..000000000000
--- a/pkgs/development/libraries/haskell/leksah/process-leksah.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ cabal, filepath }:
-
-cabal.mkDerivation (self: {
-  pname = "process-leksah";
-  version = "1.0.1.4";
-  sha256 = "1899ybhnsj22sir2l933lhkk9fpcgjbb4qd6gscnby28qcs5bwbv";
-  buildDepends = [ filepath ];
-  meta = {
-    description = "Process libraries";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/lens/default.nix b/pkgs/development/libraries/haskell/lens/default.nix
index 1c1fe9b7cd39..f6f91da7083e 100644
--- a/pkgs/development/libraries/haskell/lens/default.nix
+++ b/pkgs/development/libraries/haskell/lens/default.nix
@@ -1,22 +1,22 @@
-{ cabal, aeson, bifunctors, comonad, contravariant, deepseq
-, distributive, doctest, exceptions, filepath, free
+{ cabal, aeson, attoparsec, bifunctors, comonad, contravariant
+, deepseq, distributive, doctest, exceptions, filepath, free
 , genericDeriving, hashable, hlint, HUnit, mtl, nats, parallel
 , primitive, profunctors, QuickCheck, reflection, scientific
 , semigroupoids, semigroups, simpleReflect, split, tagged
 , testFramework, testFrameworkHunit, testFrameworkQuickcheck2
 , testFrameworkTh, text, transformers, transformersCompat
-, unorderedContainers, utf8String, vector, void, zlib
+, unorderedContainers, vector, void, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "lens";
-  version = "4.1.2";
-  sha256 = "0jpr78bn7bh5v11vw21hjwzmwpzl1zgyq9l3yk3k711vz6689dg2";
+  version = "4.2";
+  sha256 = "0aqhr8akb7wg270jxi1ns3mrpv42cfssi3g2kzyhkjmb39qxpp2w";
   buildDepends = [
-    aeson bifunctors comonad contravariant distributive exceptions
-    filepath free hashable mtl parallel primitive profunctors
-    reflection scientific semigroupoids semigroups split tagged text
-    transformers transformersCompat unorderedContainers utf8String
+    aeson attoparsec bifunctors comonad contravariant distributive
+    exceptions filepath free hashable mtl parallel primitive
+    profunctors reflection scientific semigroupoids semigroups split
+    tagged text transformers transformersCompat unorderedContainers
     vector void zlib
   ];
   testDepends = [
diff --git a/pkgs/development/libraries/haskell/libjenkins/default.nix b/pkgs/development/libraries/haskell/libjenkins/default.nix
index 67f0b698d47b..fc7c8b37323b 100644
--- a/pkgs/development/libraries/haskell/libjenkins/default.nix
+++ b/pkgs/development/libraries/haskell/libjenkins/default.nix
@@ -1,24 +1,23 @@
 { cabal, async, conduit, doctest, filepath, free, hspec
 , hspecExpectationsLens, httpClient, httpConduit, httpTypes, lens
-, monadControl, network, text, transformers, xmlConduit
+, monadControl, network, resourcet, text, transformers, xmlConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "libjenkins";
-  version = "0.4.2.0";
-  sha256 = "11013klk2gvcaf2d2gmi0bf3jg2m82li19szqlwb325kdjmdf546";
-  patches = [ ./new-conduit.patch ];
+  version = "0.4.3.0";
+  sha256 = "18z1yaf1a1ncvflxzv96b35d44933yrmsmxv5dr87iyfry28qbnv";
   buildDepends = [
     async conduit free httpClient httpConduit httpTypes lens
-    monadControl network text transformers xmlConduit
+    monadControl network resourcet text transformers xmlConduit
   ];
   testDepends = [
     async conduit doctest filepath free hspec hspecExpectationsLens
-    httpClient httpConduit httpTypes lens monadControl network text
-    transformers xmlConduit
+    httpClient httpConduit httpTypes lens monadControl network
+    resourcet text transformers xmlConduit
   ];
-  doCheck = false;
   jailbreak = true;
+  doCheck = false;
   meta = {
     description = "Jenkins API interface";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/libmpd/default.nix b/pkgs/development/libraries/haskell/libmpd/default.nix
index 2c31b2efea8d..54f358547bd1 100644
--- a/pkgs/development/libraries/haskell/libmpd/default.nix
+++ b/pkgs/development/libraries/haskell/libmpd/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "libmpd";
-  version = "0.8.0.3";
-  sha256 = "0xbbk2rg6awfz5ak20956nriifga81ndk7n58lbbf5i86380akwz";
+  version = "0.8.0.4";
+  sha256 = "0dk723zly9dkwpgp4157d3a559g9j0ndxfdyp85yqcsr987wplqb";
   buildDepends = [
     attoparsec dataDefault filepath mtl network text time utf8String
   ];
diff --git a/pkgs/development/libraries/haskell/libsystemd-journal/default.nix b/pkgs/development/libraries/haskell/libsystemd-journal/default.nix
index b30b0714d1fd..a7eadddac3d6 100644
--- a/pkgs/development/libraries/haskell/libsystemd-journal/default.nix
+++ b/pkgs/development/libraries/haskell/libsystemd-journal/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "libsystemd-journal";
-  version = "1.1.0";
-  sha256 = "0zdql5y40d0d044mwbsr3xxmfzgnnp02a36wbbslxmrm5c3w1qi2";
+  version = "1.2.0";
+  sha256 = "10gsqcy5f7m6f0giqhfcqspb17b3gyib4cpw5nrdl7hiah13hi7x";
   buildDepends = [
     hashable hsyslog pipes pipesSafe text transformers uniplate
     unixBytestring unorderedContainers uuid vector
@@ -16,6 +16,6 @@ cabal.mkDerivation (self: {
     homepage = "http://github.com/ocharles/libsystemd-journal";
     description = "Haskell bindings to libsystemd-journal";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
+    platforms = self.stdenv.lib.platforms.linux;
   };
 })
diff --git a/pkgs/development/libraries/haskell/lifted-base/default.nix b/pkgs/development/libraries/haskell/lifted-base/default.nix
index 9dd46754164f..cc8781ae1e1b 100644
--- a/pkgs/development/libraries/haskell/lifted-base/default.nix
+++ b/pkgs/development/libraries/haskell/lifted-base/default.nix
@@ -1,18 +1,17 @@
-{ cabal, baseUnicodeSymbols, HUnit, monadControl, testFramework
-, testFrameworkHunit, transformers, transformersBase
+{ cabal, HUnit, monadControl, testFramework, testFrameworkHunit
+, transformers, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "lifted-base";
-  version = "0.2.2.1";
-  sha256 = "13w1y67wng5rv90fsikkwpvx2ajmq5ybnxrx9b2x0y0zbcy7pzk8";
-  buildDepends = [
-    baseUnicodeSymbols monadControl transformersBase
-  ];
+  version = "0.2.2.2";
+  sha256 = "02qjagh4a3zvad7xyvwjd6nkh44c41bqj32ddpn7ms1fv4sl0mam";
+  buildDepends = [ monadControl transformersBase ];
   testDepends = [
     HUnit monadControl testFramework testFrameworkHunit transformers
     transformersBase
   ];
+  doCheck = false;
   meta = {
     homepage = "https://github.com/basvandijk/lifted-base";
     description = "lifted IO operations from the base library";
diff --git a/pkgs/development/libraries/haskell/linear/default.nix b/pkgs/development/libraries/haskell/linear/default.nix
index a1837b4baab9..ce9fe66a1262 100644
--- a/pkgs/development/libraries/haskell/linear/default.nix
+++ b/pkgs/development/libraries/haskell/linear/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "linear";
-  version = "1.10.1.1";
-  sha256 = "0falp5mpd9lifzz11dy3lvfph8n0i8n4mh5kk5kg974qvdvjilgq";
+  version = "1.10.1.2";
+  sha256 = "05zbqdcdjq7anng2nymy05wsnk9qpk8mgivqcndbfjpk4l1r9k94";
   buildDepends = [
     adjunctions binary distributive hashable lens reflection
     semigroupoids semigroups tagged transformers unorderedContainers
diff --git a/pkgs/development/libraries/haskell/ltk/default.nix b/pkgs/development/libraries/haskell/ltk/default.nix
deleted file mode 100644
index df1e4be218f0..000000000000
--- a/pkgs/development/libraries/haskell/ltk/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ cabal, Cabal, filepath, glib, gtk3, mtl, parsec, transformers }:
-
-cabal.mkDerivation (self: {
-  pname = "ltk";
-  version = "0.13.1.0";
-  sha256 = "09ryyzjd3iazwiw714hsny2b9f4b1cfhyzc11k5xzin5kh5d804a";
-  buildDepends = [
-    Cabal filepath glib gtk3 mtl parsec transformers
-  ];
-  meta = {
-    homepage = "http://www.leksah.org";
-    description = "Leksah tool kit";
-    license = "GPL";
-    platforms = self.stdenv.lib.platforms.linux;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/machines/default.nix b/pkgs/development/libraries/haskell/machines/default.nix
new file mode 100644
index 000000000000..cd69d9133a6c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/machines/default.nix
@@ -0,0 +1,19 @@
+{ cabal, comonad, doctest, filepath, free, mtl, pointed
+, profunctors, semigroups, transformers, void
+}:
+
+cabal.mkDerivation (self: {
+  pname = "machines";
+  version = "0.2.5";
+  sha256 = "0745lhmfwq27nna517q7b82q59pda587wgh6840nw65syaj2qfhp";
+  buildDepends = [
+    comonad free mtl pointed profunctors semigroups transformers void
+  ];
+  testDepends = [ doctest filepath ];
+  meta = {
+    homepage = "http://github.com/ekmett/machines/";
+    description = "Networked stream transducers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/minioperational/default.nix b/pkgs/development/libraries/haskell/minioperational/default.nix
new file mode 100644
index 000000000000..99cae442c3bb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/minioperational/default.nix
@@ -0,0 +1,14 @@
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "minioperational";
+  version = "0.4.3";
+  sha256 = "09z8536q0cc09iack6s8fghgrc5f3syq3sxf2cnai3rcfaqix86p";
+  buildDepends = [ transformers ];
+  meta = {
+    homepage = "https://github.com/fumieval/minioperational";
+    description = "fast and simple operational monad";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/monad-control/default.nix b/pkgs/development/libraries/haskell/monad-control/default.nix
index e9c6088b5f40..c865d964c544 100644
--- a/pkgs/development/libraries/haskell/monad-control/default.nix
+++ b/pkgs/development/libraries/haskell/monad-control/default.nix
@@ -1,12 +1,10 @@
-{ cabal, baseUnicodeSymbols, transformers, transformersBase }:
+{ cabal, transformers, transformersBase }:
 
 cabal.mkDerivation (self: {
   pname = "monad-control";
-  version = "0.3.2.3";
-  sha256 = "1fk3cqzsiwyjpyd20z1j0i4m669rcag2q7kpl78m6vm1a405iwlw";
-  buildDepends = [
-    baseUnicodeSymbols transformers transformersBase
-  ];
+  version = "0.3.3.0";
+  sha256 = "0vjff64iwnd9vplqfjyylbd900qmsr92h62hnh715wk06yacji7g";
+  buildDepends = [ transformers transformersBase ];
   meta = {
     homepage = "https://github.com/basvandijk/monad-control";
     description = "Lift control operations, like exception catching, through monad transformers";
diff --git a/pkgs/development/libraries/haskell/monad-unify/default.nix b/pkgs/development/libraries/haskell/monad-unify/default.nix
new file mode 100644
index 000000000000..7ee1f8c87040
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monad-unify/default.nix
@@ -0,0 +1,13 @@
+{ cabal, mtl, unorderedContainers }:
+
+cabal.mkDerivation (self: {
+  pname = "monad-unify";
+  version = "0.2.2";
+  sha256 = "1icl4jaa4vc4lb75m6wv4vjvf8b2xx7aziqhsg2pshizdkfxmgwp";
+  buildDepends = [ mtl unorderedContainers ];
+  meta = {
+    description = "Generic first-order unification";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/monadlib/default.nix b/pkgs/development/libraries/haskell/monadlib/default.nix
index 361e177aa01c..a893eb6f4e40 100644
--- a/pkgs/development/libraries/haskell/monadlib/default.nix
+++ b/pkgs/development/libraries/haskell/monadlib/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monadLib";
-  version = "3.7.2";
-  sha256 = "01s7jfwzr4jmwz1k4bkxi38q8v364vg6fnn77n5v8zpbimcv3rds";
+  version = "3.7.3";
+  sha256 = "17m9rj6spr5n9jlhwwvk8p40yrpwgz3j9kj3pjq7mpyrc1ssfd0q";
   meta = {
     homepage = "http://wiki.github.com/yav/monadlib";
     description = "A collection of monad transformers";
diff --git a/pkgs/development/libraries/haskell/mono-traversable/default.nix b/pkgs/development/libraries/haskell/mono-traversable/default.nix
index 43dd75154ed8..b8acec758dea 100644
--- a/pkgs/development/libraries/haskell/mono-traversable/default.nix
+++ b/pkgs/development/libraries/haskell/mono-traversable/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mono-traversable";
-  version = "0.5.0";
-  sha256 = "1dbsysg7r32ni15rvm21g41ivcgggns8nx9r797bbkid9n8fs1ja";
+  version = "0.6.0.2";
+  sha256 = "1ckdx8szllk4np5samfdx7l6lzarmfabm8w4210b5m7yms2w98sy";
   buildDepends = [
     comonad dlist dlistInstances hashable semigroupoids semigroups text
     transformers unorderedContainers vector vectorAlgorithms
diff --git a/pkgs/development/libraries/haskell/monoid-extras/default.nix b/pkgs/development/libraries/haskell/monoid-extras/default.nix
index b9987255c0f3..dc4bb6dbb661 100644
--- a/pkgs/development/libraries/haskell/monoid-extras/default.nix
+++ b/pkgs/development/libraries/haskell/monoid-extras/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monoid-extras";
-  version = "0.3.3.2";
-  sha256 = "0v4xir47ki83f9w2rii06w3jwrvqljnbiivgh6k8jxl0bdfslh11";
+  version = "0.3.3.4";
+  sha256 = "0jbly9zxnsm15a5d3xg7i6w1mpqi4irdc76996xm5slg8bh0cji6";
   buildDepends = [ groups semigroupoids semigroups ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/mtl/1.1.1.1.nix b/pkgs/development/libraries/haskell/mtl/1.1.1.1.nix
deleted file mode 100644
index d7e6029a4edc..000000000000
--- a/pkgs/development/libraries/haskell/mtl/1.1.1.1.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "mtl";
-  version = "1.1.1.1";
-  sha256 = "157gbrgrg0l9r72nq45dkach53yncysif4qglsaql28g37djc4x6";
-  meta = {
-    description = "Monad transformer 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/mtl/2.1.3.1.nix b/pkgs/development/libraries/haskell/mtl/2.2.0.1.nix
index e9fa49510c18..649ce5162869 100644
--- a/pkgs/development/libraries/haskell/mtl/2.1.3.1.nix
+++ b/pkgs/development/libraries/haskell/mtl/2.2.0.1.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mtl";
-  version = "2.1.3.1";
-  sha256 = "1xpn2wjmqbh2cg1yssc6749xpgcqlrrg4iilwqgkcjgvaxlpdbvp";
+  version = "2.2.0.1";
+  sha256 = "0486cg4dp0p942zsg7yxpwn1jykx8p3gb794jaq0v3j44a7x00rb";
   buildDepends = [ transformers ];
   meta = {
     homepage = "http://github.com/ekmett/mtl";
diff --git a/pkgs/development/libraries/haskell/mtl/2.2.1.nix b/pkgs/development/libraries/haskell/mtl/2.2.1.nix
new file mode 100644
index 000000000000..e7147b28767a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mtl/2.2.1.nix
@@ -0,0 +1,15 @@
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "mtl";
+  version = "2.2.1";
+  sha256 = "1icdbj2rshzn0m1zz5wa7v3xvkf6qw811p4s7jgqwvx1ydwrvrfa";
+  buildDepends = [ transformers ];
+  meta = {
+    homepage = "http://github.com/ekmett/mtl";
+    description = "Monad classes, using functional dependencies";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/multiplate/default.nix b/pkgs/development/libraries/haskell/multiplate/default.nix
index 14310f50ef6f..32626ae68e6c 100644
--- a/pkgs/development/libraries/haskell/multiplate/default.nix
+++ b/pkgs/development/libraries/haskell/multiplate/default.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "0.0.2";
   sha256 = "02pqfkdcv4fn0pmxphg19b3fiazn4hpphfj8xgp77vpy2lczndsw";
   buildDepends = [ transformers ];
+  jailbreak = true;
   meta = {
     homepage = "http://haskell.org/haskellwiki/Multiplate";
     description = "Lightweight generic library for mutually recursive data types";
diff --git a/pkgs/development/libraries/haskell/multiset/0.2.1.nix b/pkgs/development/libraries/haskell/multiset/0.2.1.nix
deleted file mode 100644
index 9f85317505c9..000000000000
--- a/pkgs/development/libraries/haskell/multiset/0.2.1.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "multiset";
-  version = "0.2.1";
-  sha256 = "0snlm6s9ikf5gngdwb7rm7v6017f5bffajv6777y56pjmd7bk9sy";
-  meta = {
-    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/multiset/0.2.2.nix b/pkgs/development/libraries/haskell/multiset/default.nix
index 16fcf155747d..16fcf155747d 100644
--- a/pkgs/development/libraries/haskell/multiset/0.2.2.nix
+++ b/pkgs/development/libraries/haskell/multiset/default.nix
diff --git a/pkgs/development/libraries/haskell/nats/default.nix b/pkgs/development/libraries/haskell/nats/default.nix
index 93ff65db67f7..74303667a07c 100644
--- a/pkgs/development/libraries/haskell/nats/default.nix
+++ b/pkgs/development/libraries/haskell/nats/default.nix
@@ -1,9 +1,10 @@
-{ cabal }:
+{ cabal, hashable }:
 
 cabal.mkDerivation (self: {
   pname = "nats";
-  version = "0.1.3";
-  sha256 = "1kh7wvgjqq39f0dp2pnbazvr1zp6anb1ksgx3q1m1x0qgxkj0xxz";
+  version = "0.2";
+  sha256 = "05skqs5ahbrnwlsxjihkvmsw0n49k9mqdhrv9nqh4dmd1j622r73";
+  buildDepends = [ hashable ];
   meta = {
     homepage = "http://github.com/ekmett/nats/";
     description = "Natural numbers";
diff --git a/pkgs/development/libraries/haskell/ncurses/default.nix b/pkgs/development/libraries/haskell/ncurses/default.nix
index b4e48f6e4326..2b566f79a98a 100644
--- a/pkgs/development/libraries/haskell/ncurses/default.nix
+++ b/pkgs/development/libraries/haskell/ncurses/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ncurses";
-  version = "0.2.8";
-  sha256 = "0i8kbi8q0l6vka5i64aanhsid2yf8w2fj3fk33y7bv7kl791hynp";
+  version = "0.2.10";
+  sha256 = "0qdw5dwi1w42nygvzyq8la7i917f0fz9qjw6ivgl2h1rjxc5j9cb";
   buildDepends = [ text transformers ];
   buildTools = [ c2hs ];
   extraLibraries = [ ncurses ];
diff --git a/pkgs/development/libraries/haskell/network-metrics/default.nix b/pkgs/development/libraries/haskell/network-metrics/default.nix
new file mode 100644
index 000000000000..f9f92170b578
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network-metrics/default.nix
@@ -0,0 +1,15 @@
+{ cabal, binary, dataDefault, network, random, time }:
+
+cabal.mkDerivation (self: {
+  pname = "network-metrics";
+  version = "0.3.2";
+  sha256 = "14yf9di909443gkgaw7n262453d60pp9mw8vncmd6q7pywhdz9hh";
+  buildDepends = [ binary dataDefault network random time ];
+  meta = {
+    homepage = "http://github.com/brendanhay/network-metrics";
+    description = "Send metrics to Ganglia, Graphite, and statsd";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/network-simple/default.nix b/pkgs/development/libraries/haskell/network-simple/default.nix
index cde31643c719..c50afdb21201 100644
--- a/pkgs/development/libraries/haskell/network-simple/default.nix
+++ b/pkgs/development/libraries/haskell/network-simple/default.nix
@@ -2,9 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "network-simple";
-  version = "0.3.1";
-  sha256 = "0bk015d0np07887flah76vgrgrqaqj4x1sdxmghvazj8c78nkan8";
+  version = "0.4";
+  sha256 = "1jw0xd53c0mydh6jm6627c0d8w014r1s46fycdhavnimh7bb77cp";
   buildDepends = [ exceptions network transformers ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/k0001/network-simple";
     description = "Simple network sockets usage patterns";
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 557dea081fdb..834b7872c6b2 100644
--- a/pkgs/development/libraries/haskell/network/2.3.0.13.nix
+++ b/pkgs/development/libraries/haskell/network/2.3.0.13.nix
@@ -6,6 +6,7 @@ cabal.mkDerivation (self: {
   sha256 = "0xw53czvcw8k49aqxmchc1rcd6pyxp4icwgp64625fnm3l4yjiq7";
   buildDepends = [ parsec ];
   testDepends = [ HUnit testFramework testFrameworkHunit ];
+  doCheck = false;
   meta = {
     homepage = "http://github.com/haskell/network";
     description = "Low-level networking interface";
diff --git a/pkgs/development/libraries/haskell/oeis/default.nix b/pkgs/development/libraries/haskell/oeis/default.nix
index d5ec97b6f6a9..e7da848e4b22 100644
--- a/pkgs/development/libraries/haskell/oeis/default.nix
+++ b/pkgs/development/libraries/haskell/oeis/default.nix
@@ -6,6 +6,9 @@ cabal.mkDerivation (self: {
   sha256 = "0r23mqbfvvvx6shzdclzfrqi8r95gxl93cih7ny7w7px3w5yc5x6";
   buildDepends = [ HTTP network ];
   testDepends = [ HUnit testFramework testFrameworkHunit ];
+  patchPhase = ''
+    sed -i -e 's|network *==.*|network|' oeis.cabal
+  '';
   meta = {
     description = "Interface to the Online Encyclopedia of Integer Sequences (OEIS)";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/openssl-streams/default.nix b/pkgs/development/libraries/haskell/openssl-streams/default.nix
index 74f9c180275c..33b48d1f1216 100644
--- a/pkgs/development/libraries/haskell/openssl-streams/default.nix
+++ b/pkgs/development/libraries/haskell/openssl-streams/default.nix
@@ -4,13 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "openssl-streams";
-  version = "1.1.0.0";
-  sha256 = "0xww3n1mhw0sp9nkx4847gqbq4wnfcnc2m782kn5n8jxnjnm1fqn";
+  version = "1.1.0.2";
+  sha256 = "0h3jxxdls0p1xxr02rfag7j9y13ll3xgzx2ldv1nsfcv3rzw2pfy";
   buildDepends = [ HsOpenSSL ioStreams network ];
   testDepends = [
     HsOpenSSL HUnit ioStreams network testFramework testFrameworkHunit
   ];
-  doCheck = false;
+  jailbreak = true;
   meta = {
     description = "OpenSSL network support for io-streams";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/operational/default.nix b/pkgs/development/libraries/haskell/operational/default.nix
index f059f86d68ff..2fbe5a7f2107 100644
--- a/pkgs/development/libraries/haskell/operational/default.nix
+++ b/pkgs/development/libraries/haskell/operational/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "operational";
-  version = "0.2.2.1";
-  sha256 = "1w4bln8mj4hw5i40amah570p77wimxfpn7l2mmjk9z07zavx1rv2";
+  version = "0.2.3.2";
+  sha256 = "1aj3jhiyz4190b0qmyp684b8lbzrp8jn56s898892rvbp0hxa0pd";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ mtl random ];
diff --git a/pkgs/development/libraries/haskell/opml/default.nix b/pkgs/development/libraries/haskell/opml/default.nix
new file mode 100644
index 000000000000..be7cb0606eeb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/opml/default.nix
@@ -0,0 +1,13 @@
+{ cabal, xml }:
+
+cabal.mkDerivation (self: {
+  pname = "opml";
+  version = "0.4";
+  sha256 = "1bnr6lkcf2qs7pvrmd8a5xmklcg67l64b776hzclfvxqy1qil29x";
+  buildDepends = [ xml ];
+  meta = {
+    description = "Representing and handling OPML subscription information";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/options/default.nix b/pkgs/development/libraries/haskell/options/default.nix
index 3772a142a58d..f89cdd5045fe 100644
--- a/pkgs/development/libraries/haskell/options/default.nix
+++ b/pkgs/development/libraries/haskell/options/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "options";
-  version = "1.0";
-  sha256 = "0d40d6k1c8v2b0bgchgl54sk9wx28kysp8bjws8bwjcmmd57775f";
+  version = "1.2";
+  sha256 = "14qrkwd8h50wf6972p0ylvhnc8mh11fqk9l8q0h9lapj7ywm74vx";
   buildDepends = [ monadsTf transformers ];
   testDepends = [ chell chellQuickcheck monadsTf transformers ];
   doCheck = false;
diff --git a/pkgs/development/libraries/haskell/optparse-applicative/default.nix b/pkgs/development/libraries/haskell/optparse-applicative/default.nix
index 94d4b5746e2c..bad23a102ee2 100644
--- a/pkgs/development/libraries/haskell/optparse-applicative/default.nix
+++ b/pkgs/development/libraries/haskell/optparse-applicative/default.nix
@@ -1,13 +1,13 @@
 { cabal, ansiWlPprint, HUnit, QuickCheck, testFramework
 , testFrameworkHunit, testFrameworkQuickcheck2
-, testFrameworkThPrime, transformers
+, testFrameworkThPrime, transformers, transformersCompat
 }:
 
 cabal.mkDerivation (self: {
   pname = "optparse-applicative";
-  version = "0.8.1";
-  sha256 = "0zy295r2idrwz030i1slpgysyw08782cjc4vgpkxby8i6piixwlh";
-  buildDepends = [ ansiWlPprint transformers ];
+  version = "0.9.0";
+  sha256 = "1nmwrg74wz8k3zwgw5aaf7padkawi0dlrclq6nsr17xz5yx524ay";
+  buildDepends = [ ansiWlPprint transformers transformersCompat ];
   testDepends = [
     HUnit QuickCheck testFramework testFrameworkHunit
     testFrameworkQuickcheck2 testFrameworkThPrime
diff --git a/pkgs/development/libraries/haskell/pandoc/default.nix b/pkgs/development/libraries/haskell/pandoc/default.nix
index 92345c912566..04738c0c00ed 100644
--- a/pkgs/development/libraries/haskell/pandoc/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc/default.nix
@@ -2,7 +2,7 @@
 , binary, blazeHtml, blazeMarkup, dataDefault, Diff
 , extensibleExceptions, filepath, happy, highlightingKate, hslua
 , HTTP, httpConduit, httpTypes, HUnit, mtl, network, pandocTypes
-, parsec, QuickCheck, random, syb, tagsoup, temporary
+, parsec, QuickCheck, random, scientific, syb, tagsoup, temporary
 , testFramework, testFrameworkHunit, testFrameworkQuickcheck2
 , texmath, text, time, unorderedContainers, vector, xml, yaml
 , zipArchive, zlib
@@ -10,16 +10,16 @@
 
 cabal.mkDerivation (self: {
   pname = "pandoc";
-  version = "1.12.4";
-  sha256 = "0dpvp630a5z7wp5a7q9f2i98vhv3c4m2acsb3qmw5ybs1awi3yry";
+  version = "1.12.4.2";
+  sha256 = "0ibzladj0xm0xnsphd26lzndxzkawz73pfd7rnlnmllqckrzairg";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     aeson alex attoparsec base64Bytestring binary blazeHtml blazeMarkup
     dataDefault extensibleExceptions filepath happy highlightingKate
     hslua HTTP httpConduit httpTypes mtl network pandocTypes parsec
-    random syb tagsoup temporary texmath text time unorderedContainers
-    vector xml yaml zipArchive zlib
+    random scientific syb tagsoup temporary texmath text time
+    unorderedContainers vector xml yaml zipArchive zlib
   ];
   testDepends = [
     ansiTerminal Diff filepath highlightingKate HUnit pandocTypes
diff --git a/pkgs/development/libraries/haskell/parsec/3.1.2.nix b/pkgs/development/libraries/haskell/parsec/3.1.2.nix
index ecbdbb3aef0a..d043fde01201 100644
--- a/pkgs/development/libraries/haskell/parsec/3.1.2.nix
+++ b/pkgs/development/libraries/haskell/parsec/3.1.2.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "3.1.2";
   sha256 = "0lhn9j2j5jlh7g0qx9f6ms63n9x1xlxg9isdvm6z0ksy3ywj9wch";
   buildDepends = [ mtl text ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.cs.uu.nl/~daan/parsec.html";
     description = "Monadic parser combinators";
diff --git a/pkgs/development/libraries/haskell/parsec/3.1.3.nix b/pkgs/development/libraries/haskell/parsec/3.1.3.nix
index b9b10f2e5b0d..209021621693 100644
--- a/pkgs/development/libraries/haskell/parsec/3.1.3.nix
+++ b/pkgs/development/libraries/haskell/parsec/3.1.3.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "3.1.3";
   sha256 = "1a64gzirgpa1i78gbbp9z059nh29xmcja4g8vgjb1fbylx6vn54z";
   buildDepends = [ mtl text ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.cs.uu.nl/~daan/parsec.html";
     description = "Monadic parser combinators";
diff --git a/pkgs/development/libraries/haskell/parsers/0.11.nix b/pkgs/development/libraries/haskell/parsers/0.11.0.2.nix
index c5d91f167cc6..36c5f2ae998d 100644
--- a/pkgs/development/libraries/haskell/parsers/0.11.nix
+++ b/pkgs/development/libraries/haskell/parsers/0.11.0.2.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "parsers";
-  version = "0.11";
-  sha256 = "0k3xm9ww4q2wkjik4n4ww6ys79kl7xyzbhcb7xi81jz9py0xciqd";
+  version = "0.11.0.2";
+  sha256 = "0b2qb6lhn647926s2g7qrzhnvnym5dr7fny784bv19mfvimwi81c";
   buildDepends = [
     attoparsec charset parsec text transformers unorderedContainers
   ];
diff --git a/pkgs/development/libraries/haskell/pattern-arrows/default.nix b/pkgs/development/libraries/haskell/pattern-arrows/default.nix
new file mode 100644
index 000000000000..a73432fe62bb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pattern-arrows/default.nix
@@ -0,0 +1,14 @@
+{ cabal, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "pattern-arrows";
+  version = "0.0.2";
+  sha256 = "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg";
+  buildDepends = [ mtl ];
+  meta = {
+    homepage = "http://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html";
+    description = "Arrows for Pretty Printing";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/persistent-template/default.nix b/pkgs/development/libraries/haskell/persistent-template/default.nix
index 994632c40e20..b967e17f8f74 100644
--- a/pkgs/development/libraries/haskell/persistent-template/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-template/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent-template";
-  version = "1.3.1.3";
-  sha256 = "0q5ysv1r6p4mg79waq2g6ql11rap6znawkplddblpaa8lq9qalj6";
+  version = "1.3.1.4";
+  sha256 = "1ys5s1vb9w3nrv9kwvzgjwfs2j09pslpplz05idpfn02xx03hcfk";
   buildDepends = [
     aeson monadControl monadLogger persistent text transformers
     unorderedContainers
@@ -13,6 +13,7 @@ cabal.mkDerivation (self: {
   testDepends = [
     aeson hspec persistent QuickCheck text transformers
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://www.yesodweb.com/book/persistent";
     description = "Type-safe, non-relational, multi-backend persistence";
diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix
index b16c89dac709..dd37b96c2d86 100644
--- a/pkgs/development/libraries/haskell/persistent/default.nix
+++ b/pkgs/development/libraries/haskell/persistent/default.nix
@@ -1,5 +1,5 @@
 { cabal, aeson, attoparsec, base64Bytestring, blazeHtml
-, blazeMarkup, conduit, hspec, liftedBase, monadControl
+, blazeMarkup, conduit, exceptions, hspec, liftedBase, monadControl
 , monadLogger, pathPieces, resourcePool, resourcet, scientific
 , silently, sqlite, text, time, transformers, transformersBase
 , unorderedContainers, vector
@@ -7,12 +7,12 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent";
-  version = "1.3.0.6";
-  sha256 = "0rj5yi8nziym9cb9c9vw6vdjflf2yfz02i39p6dsdy084f1ivpk8";
+  version = "1.3.1.1";
+  sha256 = "0na1mci7m8hzv40d5qc75dqdkw2kbw8i6xpjlpwgd1flznmqkdvx";
   buildDepends = [
     aeson attoparsec base64Bytestring blazeHtml blazeMarkup conduit
-    liftedBase monadControl monadLogger pathPieces resourcePool
-    resourcet scientific silently text time transformers
+    exceptions liftedBase monadControl monadLogger pathPieces
+    resourcePool resourcet scientific silently text time transformers
     transformersBase unorderedContainers vector
   ];
   testDepends = [
diff --git a/pkgs/development/libraries/haskell/pgm/default.nix b/pkgs/development/libraries/haskell/pgm/default.nix
index b1be8dd6d035..560826a08b21 100644
--- a/pkgs/development/libraries/haskell/pgm/default.nix
+++ b/pkgs/development/libraries/haskell/pgm/default.nix
@@ -2,11 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "pgm";
-  version = "0.1.3";
-  sha256 = "1byq8bacqgdpahf57ccwwa45wf9ij0kkgp89rg9flsv1g10364d4";
+  version = "0.1.4";
+  sha256 = "1s3kch1qsxrfzk9sa4b0jn9vzjhw7dvh1sajgnnz97gl5y0gydmv";
   buildDepends = [ parsec ];
   meta = {
-    homepage = "https://github.com/sergeyastanin/haskell-pgm";
+    homepage = "https://github.com/astanin/haskell-pgm";
     description = "Pure Haskell implementation of PGM image format";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/pipes-aeson/default.nix b/pkgs/development/libraries/haskell/pipes-aeson/default.nix
index 899810c1539e..aa226aa4e3b3 100644
--- a/pkgs/development/libraries/haskell/pipes-aeson/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-aeson/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-aeson";
-  version = "0.3.0";
-  sha256 = "1kckdllw5xnh8z92gjw5swyxp9km879wqfly7af3iirwhickk4vn";
+  version = "0.4.1";
+  sha256 = "06fxl4az5brbivc5db498fc3yawrc2rwnrn20rbssihd0lp9xm1i";
   buildDepends = [
     aeson attoparsec pipes pipesAttoparsec pipesBytestring pipesParse
     transformers
diff --git a/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix b/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix
index d886d17478ba..04efb0cee738 100644
--- a/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-attoparsec/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-attoparsec";
-  version = "0.5.0";
-  sha256 = "1xpqna850lxawx0m84lzaxwrwfw4vccr7jjf199ir7bmwwhqlr5h";
+  version = "0.5.1";
+  sha256 = "0qvsvbcn211xp4c669cpljmnsqn9zk1rn94ya1dbq77l970s8xah";
   buildDepends = [ attoparsec pipes pipesParse text transformers ];
   testDepends = [
     attoparsec HUnit mmorph pipes pipesParse tasty tastyHunit text
diff --git a/pkgs/development/libraries/haskell/pipes-network/default.nix b/pkgs/development/libraries/haskell/pipes-network/default.nix
index 1b816a704f26..5ec70a010a5e 100644
--- a/pkgs/development/libraries/haskell/pipes-network/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-network/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-network";
-  version = "0.6.2";
-  sha256 = "1y64cyi1lq7y5x3b1rv2iixlwqnz4g82nxk2m14x214fmj3np965";
+  version = "0.6.3";
+  sha256 = "09gihca0hinq3sqsx9753gmas6g22pg792ag6ckdw5z3607razrg";
   buildDepends = [
     network networkSimple pipes pipesSafe transformers
   ];
diff --git a/pkgs/development/libraries/haskell/pipes-parse/default.nix b/pkgs/development/libraries/haskell/pipes-parse/default.nix
index ef615ebb808b..5f5dec485b62 100644
--- a/pkgs/development/libraries/haskell/pipes-parse/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-parse/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-parse";
-  version = "3.0.1";
-  sha256 = "0f262p8mfcpvs3f3myy6bll9v61rfgrfdy2scdzf7vvx0h0lrpj7";
+  version = "3.0.2";
+  sha256 = "1d5lhh8knk0hmvd9wv2ihs5z9ybyvhd1n7qaazqkazqkyl14pd08";
   buildDepends = [ pipes transformers ];
   meta = {
     description = "Parsing infrastructure for the pipes ecosystem";
diff --git a/pkgs/development/libraries/haskell/pipes-safe/default.nix b/pkgs/development/libraries/haskell/pipes-safe/default.nix
index c1d5a603da0c..2e664631f1f1 100644
--- a/pkgs/development/libraries/haskell/pipes-safe/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-safe/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-safe";
-  version = "2.1.0";
-  sha256 = "0qm02hwmrqlncnlxix7mdgzbf0mzally4k7ydwg06nqi35bb7s3j";
+  version = "2.2.0";
+  sha256 = "1m44a2pbws73jbr2ca48i94mrfwzlsibyc22i2w3fqq159qfg6ca";
   buildDepends = [ exceptions pipes transformers ];
   meta = {
     description = "Safety for the pipes ecosystem";
diff --git a/pkgs/development/libraries/haskell/pipes/default.nix b/pkgs/development/libraries/haskell/pipes/default.nix
index 3240f89d8caa..21f349768c01 100644
--- a/pkgs/development/libraries/haskell/pipes/default.nix
+++ b/pkgs/development/libraries/haskell/pipes/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes";
-  version = "4.1.1";
-  sha256 = "1ib7vs4x8ckajlg3nz9lx2snnwj75by90fbv4znwhwgrhj4h13dn";
+  version = "4.1.2";
+  sha256 = "0prxk4qjdcmxjdvpi1bwql0s3l1kwlaz9sydr9swa8bc8ams3a11";
   buildDepends = [ mmorph mtl transformers ];
   testDepends = [
     mtl QuickCheck testFramework testFrameworkQuickcheck2 transformers
diff --git a/pkgs/development/libraries/haskell/pointed/default.nix b/pkgs/development/libraries/haskell/pointed/default.nix
index 15f4ba59aaad..7a02d5850d2b 100644
--- a/pkgs/development/libraries/haskell/pointed/default.nix
+++ b/pkgs/development/libraries/haskell/pointed/default.nix
@@ -4,12 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "pointed";
-  version = "4.0";
-  sha256 = "02y7ba1pcpmwcp762516p4x75y3ma2kml9mbiv1y8gcnn4ylvir4";
+  version = "4.1";
+  sha256 = "1l40nl1sx16hbqz1kv70g6jp2igvvj93p5db8b6bsgjxx9ibck6g";
   buildDepends = [
     comonad dataDefaultClass semigroupoids semigroups stm tagged
     transformers
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/ekmett/pointed/";
     description = "Pointed and copointed data";
diff --git a/pkgs/development/libraries/haskell/postgresql-libpq/default.nix b/pkgs/development/libraries/haskell/postgresql-libpq/default.nix
index d630f0633913..40acabad1cd4 100644
--- a/pkgs/development/libraries/haskell/postgresql-libpq/default.nix
+++ b/pkgs/development/libraries/haskell/postgresql-libpq/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "postgresql-libpq";
-  version = "0.9.0.0";
-  sha256 = "09bi0npvly02zjhp463bmzm1n8w1cqsln676z82xi2in86317pv3";
+  version = "0.9.0.1";
+  sha256 = "0fdz9pkmrajqm026s6d5ib9kqg5ph93fw7l2xrgf22zagl53rzx3";
   extraLibraries = [ postgresql ];
   meta = {
     homepage = "http://github.com/lpsmith/postgresql-libpq";
diff --git a/pkgs/development/libraries/haskell/postgresql-simple/default.nix b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
index 20222609cffa..c88ba4e845da 100644
--- a/pkgs/development/libraries/haskell/postgresql-simple/default.nix
+++ b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "postgresql-simple";
-  version = "0.4.2.1";
-  sha256 = "1547n7rh0gsrjaa8f9lc4diljpps09kdf0gkm0cjf1gk2kr7lh94";
+  version = "0.4.2.3";
+  sha256 = "1rg6virvz4nr0m39sr72h23yks5f8ih9nimgacx30zw7xvnx942p";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeTextual hashable postgresqlLibpq
     scientific text time transformers uuid vector
diff --git a/pkgs/development/libraries/haskell/pretty-show/1.2.nix b/pkgs/development/libraries/haskell/pretty-show/1.2.nix
deleted file mode 100644
index 545816a57a02..000000000000
--- a/pkgs/development/libraries/haskell/pretty-show/1.2.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ cabal, haskellLexer }:
-
-cabal.mkDerivation (self: {
-  pname = "pretty-show";
-  version = "1.2";
-  sha256 = "0lbalmyrqisgd2spbvzifsy25lr6cl9sgz78hav8q8r406k7nf2l";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ haskellLexer ];
-  meta = {
-    homepage = "http://wiki.github.com/yav/pretty-show";
-    description = "Tools for working with derived Show instances";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/pretty-show/1.6.7.nix b/pkgs/development/libraries/haskell/pretty-show/default.nix
index 7e3e3e25e8a0..56126a42cb36 100644
--- a/pkgs/development/libraries/haskell/pretty-show/1.6.7.nix
+++ b/pkgs/development/libraries/haskell/pretty-show/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pretty-show";
-  version = "1.6.7";
-  sha256 = "16qjp6cl3hyir5bchnncq95bp7nw5cpp5kd5mszkjjhzw1jj9srz";
+  version = "1.6.8";
+  sha256 = "0vfb712dvbb91659sch62d06vm0451b9l4l0hdwnlbhzjymmh2rs";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ filepath haskellLexer ];
diff --git a/pkgs/development/libraries/haskell/primitive/0.5.3.0.nix b/pkgs/development/libraries/haskell/primitive/0.5.3.0.nix
new file mode 100644
index 000000000000..a22ea14cd531
--- /dev/null
+++ b/pkgs/development/libraries/haskell/primitive/0.5.3.0.nix
@@ -0,0 +1,14 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "primitive";
+  version = "0.5.3.0";
+  sha256 = "11wfdnhrgb7606d5sywqzlvnhzf45a9ywl9wghysvmr0mq2iypvn";
+  meta = {
+    homepage = "https://github.com/haskell/primitive";
+    description = "Primitive memory-related operations";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/process-conduit/default.nix b/pkgs/development/libraries/haskell/process-conduit/default.nix
index 3ecd88515b2f..aea29a4d02bf 100644
--- a/pkgs/development/libraries/haskell/process-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/process-conduit/default.nix
@@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
     text
   ];
   testDepends = [ conduit hspec ];
+  doCheck = false;
   meta = {
     homepage = "http://github.com/tanakh/process-conduit";
     description = "Conduits for processes";
diff --git a/pkgs/development/libraries/haskell/process/default.nix b/pkgs/development/libraries/haskell/process/1.2.0.0.nix
index f3ae03da7c41..f3ae03da7c41 100644
--- a/pkgs/development/libraries/haskell/process/default.nix
+++ b/pkgs/development/libraries/haskell/process/1.2.0.0.nix
diff --git a/pkgs/development/libraries/haskell/profunctors/default.nix b/pkgs/development/libraries/haskell/profunctors/default.nix
index 300d2e66f89c..f8d2e727353c 100644
--- a/pkgs/development/libraries/haskell/profunctors/default.nix
+++ b/pkgs/development/libraries/haskell/profunctors/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "profunctors";
-  version = "4.0.3";
-  sha256 = "0rdr75nqzxaly47vnpbmska608k457dgpzi5wfcqhmw996kh5inh";
+  version = "4.0.4";
+  sha256 = "1hs6cs6y6zwf0c4jb92wnhp23qaxzw3xy7k07m9z98h8ziyqbqhx";
   buildDepends = [ comonad semigroupoids tagged transformers ];
   meta = {
     homepage = "http://github.com/ekmett/profunctors/";
diff --git a/pkgs/development/libraries/haskell/purescript/default.nix b/pkgs/development/libraries/haskell/purescript/default.nix
new file mode 100644
index 000000000000..8e23a0cf8f28
--- /dev/null
+++ b/pkgs/development/libraries/haskell/purescript/default.nix
@@ -0,0 +1,24 @@
+{ cabal, cmdtheline, filepath, haskeline, monadUnify, mtl, parsec
+, patternArrows, time, transformers, unorderedContainers
+, utf8String, xdgBasedir
+}:
+
+cabal.mkDerivation (self: {
+  pname = "purescript";
+  version = "0.5.2.2";
+  sha256 = "07gkd897qcgn7yf81bii5njkiq1hlhfz5jx3spdlv64a492grmg2";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    cmdtheline filepath haskeline monadUnify mtl parsec patternArrows
+    time transformers unorderedContainers utf8String xdgBasedir
+  ];
+  testDepends = [ filepath mtl parsec transformers utf8String ];
+  doCheck = false;
+  meta = {
+    homepage = "http://www.purescript.org/";
+    description = "PureScript Programming Language Compiler";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/reactive-banana/default.nix b/pkgs/development/libraries/haskell/reactive-banana/default.nix
index 535b289a389e..e2cda01ee40b 100644
--- a/pkgs/development/libraries/haskell/reactive-banana/default.nix
+++ b/pkgs/development/libraries/haskell/reactive-banana/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "reactive-banana";
-  version = "0.8.0.0";
-  sha256 = "15dzvn7cbs9kg410lyd1kj6kf2r7ap2n9bc59byzkb0r8wzn9ra1";
+  version = "0.8.0.2";
+  sha256 = "0hfhq663dvvb3jbgdnarawryw09m8ckqvqp6p5n4d4dms4gfzcdv";
   buildDepends = [
     hashable pqueue transformers unorderedContainers vault
   ];
diff --git a/pkgs/development/libraries/haskell/recursion-schemes/default.nix b/pkgs/development/libraries/haskell/recursion-schemes/default.nix
new file mode 100644
index 000000000000..78e7da44061a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/recursion-schemes/default.nix
@@ -0,0 +1,14 @@
+{ cabal, comonad, free, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "recursion-schemes";
+  version = "4.0";
+  sha256 = "1xc1k04p3birxgv5h3ypw85w0cgq4d5rsmadx4pc3j409y6i5p06";
+  buildDepends = [ comonad free transformers ];
+  meta = {
+    homepage = "http://github.com/ekmett/recursion-schemes/";
+    description = "Generalized bananas, lenses and barbed wire";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/reducers/default.nix b/pkgs/development/libraries/haskell/reducers/default.nix
index 335cee497ea4..ac00a1ca5c19 100644
--- a/pkgs/development/libraries/haskell/reducers/default.nix
+++ b/pkgs/development/libraries/haskell/reducers/default.nix
@@ -5,12 +5,13 @@
 
 cabal.mkDerivation (self: {
   pname = "reducers";
-  version = "3.10.2";
-  sha256 = "159srk8v6zmfprq80mx3rpqrxzgzvf7xiwm8ywfaxrqyfcwkkjmg";
+  version = "3.10.2.1";
+  sha256 = "1wn6q6cw9is1gan9y5n3fzjkhmpjpria4p13zp4kqxmj881067vy";
   buildDepends = [
     comonad fingertree hashable keys pointed semigroupoids semigroups
     text transformers unorderedContainers
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/ekmett/reducers/";
     description = "Semigroups, specialized containers and a general map/reduce framework";
diff --git a/pkgs/development/libraries/haskell/resource-pool/default.nix b/pkgs/development/libraries/haskell/resource-pool/default.nix
index 77bc91051937..72178ddc1cf1 100644
--- a/pkgs/development/libraries/haskell/resource-pool/default.nix
+++ b/pkgs/development/libraries/haskell/resource-pool/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "resource-pool";
-  version = "0.2.1.1";
-  sha256 = "1ypyzy7mkmpab6rghsizrx6raam3l2acwxm56x7jmcv8s2algi1g";
+  version = "0.2.3.0";
+  sha256 = "15igbvnqs6ig1k30l3jngyi60ay7k15mwgza5smv8zbpx86vb1mh";
   buildDepends = [
     hashable monadControl stm time transformers transformersBase vector
   ];
diff --git a/pkgs/development/libraries/haskell/retry/default.nix b/pkgs/development/libraries/haskell/retry/default.nix
index 40fe5dffe87f..b78fc66ca06e 100644
--- a/pkgs/development/libraries/haskell/retry/default.nix
+++ b/pkgs/development/libraries/haskell/retry/default.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "0.4";
   sha256 = "16njq924b5n7jyfc059dbypp529gqlc9qnzd7wjk4m7dpm5bww67";
   buildDepends = [ dataDefault exceptions transformers ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/Soostone/retry";
     description = "Retry combinators for monadic actions that may fail";
diff --git a/pkgs/development/libraries/haskell/safecopy/default.nix b/pkgs/development/libraries/haskell/safecopy/default.nix
index c700ff0df3d1..5d761c693498 100644
--- a/pkgs/development/libraries/haskell/safecopy/default.nix
+++ b/pkgs/development/libraries/haskell/safecopy/default.nix
@@ -1,10 +1,15 @@
-{ cabal, cereal, text, time }:
+{ cabal, cereal, lens, quickcheckInstances, tasty, tastyQuickcheck
+, text, time, vector
+}:
 
 cabal.mkDerivation (self: {
   pname = "safecopy";
-  version = "0.8.2";
-  sha256 = "0l2kqymsxv244fahxcpxlrspk6xipz3br6j854ipbfh8b0bfvr4m";
-  buildDepends = [ cereal text time ];
+  version = "0.8.3";
+  sha256 = "10xd42a1i84fwiy3db0ji4bd8ssk9jqysqwc00wdcdjyp50c333n";
+  buildDepends = [ cereal text time vector ];
+  testDepends = [
+    cereal lens quickcheckInstances tasty tastyQuickcheck time vector
+  ];
   meta = {
     homepage = "http://acid-state.seize.it/safecopy";
     description = "Binary serialization with version control";
diff --git a/pkgs/development/libraries/haskell/scientific/default.nix b/pkgs/development/libraries/haskell/scientific/0.2.0.2.nix
index 523bfce62b5d..523bfce62b5d 100644
--- a/pkgs/development/libraries/haskell/scientific/default.nix
+++ b/pkgs/development/libraries/haskell/scientific/0.2.0.2.nix
diff --git a/pkgs/development/libraries/haskell/scientific/0.3.2.1.nix b/pkgs/development/libraries/haskell/scientific/0.3.2.1.nix
new file mode 100644
index 000000000000..467f2f1d1608
--- /dev/null
+++ b/pkgs/development/libraries/haskell/scientific/0.3.2.1.nix
@@ -0,0 +1,22 @@
+{ cabal, deepseq, hashable, QuickCheck, smallcheck, tasty
+, tastyAntXml, tastyQuickcheck, tastySmallcheck, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "scientific";
+  version = "0.3.2.1";
+  sha256 = "0z0k0dqmv6a3spgl48yl00a55niv0gqjy906sh4r8xfpsabzl88s";
+  buildDepends = [ deepseq hashable text ];
+  testDepends = [
+    QuickCheck smallcheck tasty tastyAntXml tastyQuickcheck
+    tastySmallcheck text
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "https://github.com/basvandijk/scientific";
+    description = "Numbers represented using scientific notation";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/scotty/default.nix b/pkgs/development/libraries/haskell/scotty/default.nix
index cc5ae2604777..601ecfb223d4 100644
--- a/pkgs/development/libraries/haskell/scotty/default.nix
+++ b/pkgs/development/libraries/haskell/scotty/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "scotty";
-  version = "0.7.2";
-  sha256 = "1y14af3qciwycgaxzx6rjan2jgfchjzs4zbxzh8p8s1d0l4gsqlb";
+  version = "0.7.3";
+  sha256 = "1cksnsaghcliwpbigs7fjb2qcxsnrqmjcjwndmf3vbfkn43w2prb";
   buildDepends = [
     aeson blazeBuilder caseInsensitive conduit conduitExtra dataDefault
     httpTypes mtl regexCompat text transformers wai waiExtra warp
diff --git a/pkgs/development/libraries/haskell/semigroupoids/default.nix b/pkgs/development/libraries/haskell/semigroupoids/default.nix
index 45e2adb35fd6..455396564ec8 100644
--- a/pkgs/development/libraries/haskell/semigroupoids/default.nix
+++ b/pkgs/development/libraries/haskell/semigroupoids/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "semigroupoids";
-  version = "4.0.2";
-  sha256 = "07xzqqdra2d5jr4wclislj1lhbb1nlry65m0y42hdxsjf3n05931";
+  version = "4.0.2.1";
+  sha256 = "00ga4spbnvwnk7j4h7zjw3bkd98glaganhcwq947ffadc0nansb1";
   buildDepends = [
     comonad contravariant distributive semigroups transformers
   ];
diff --git a/pkgs/development/libraries/haskell/semigroups/default.nix b/pkgs/development/libraries/haskell/semigroups/default.nix
index 22dfb5e8896f..21cbc893e229 100644
--- a/pkgs/development/libraries/haskell/semigroups/default.nix
+++ b/pkgs/development/libraries/haskell/semigroups/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "semigroups";
-  version = "0.13.0.1";
-  sha256 = "12zd1pvggjj81hi7vm9z8fxcwsg6r2xbsg3qjs8snnybadi0qlfl";
+  version = "0.15";
+  sha256 = "1fkinmjyx7r39c8hf8f6n9zgn6m7c2y7l0san43s4g2cfg8pxn5s";
   buildDepends = [ hashable nats text unorderedContainers ];
   meta = {
     homepage = "http://github.com/ekmett/semigroups/";
diff --git a/pkgs/development/libraries/haskell/setlocale/default.nix b/pkgs/development/libraries/haskell/setlocale/default.nix
new file mode 100644
index 000000000000..09ffc7159a4a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/setlocale/default.nix
@@ -0,0 +1,12 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "setlocale";
+  version = "0.0.3";
+  sha256 = "08pd20ibmslr94p52rn6x9w3swn9jy7vjlvxzw29h8dlqgmvcrjl";
+  meta = {
+    description = "A Haskell interface to setlocale()";
+    license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/shake/default.nix b/pkgs/development/libraries/haskell/shake/default.nix
index 9402c7f38682..f07e0f54b9b8 100644
--- a/pkgs/development/libraries/haskell/shake/default.nix
+++ b/pkgs/development/libraries/haskell/shake/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shake";
-  version = "0.11.7";
-  sha256 = "0f5m4fcrda58wrr6mca4rsyb3j5bmqfdj9sbbjvr3l611lafsa8y";
+  version = "0.13.1";
+  sha256 = "00dvf1ydfgpnkv09fywsvyn0sphjwdrqhvkc21axj580ykbqxrn7";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/shelly/0.15.4.1.nix b/pkgs/development/libraries/haskell/shelly/0.15.4.1.nix
new file mode 100644
index 000000000000..d3ef289042df
--- /dev/null
+++ b/pkgs/development/libraries/haskell/shelly/0.15.4.1.nix
@@ -0,0 +1,21 @@
+{ cabal, hspec, HUnit, mtl, systemFileio, systemFilepath, text
+, time, unixCompat
+}:
+
+cabal.mkDerivation (self: {
+  pname = "shelly";
+  version = "0.15.4.1";
+  sha256 = "12m11s22izz0ny1syb1ykp2hi9n240myf0nhapvn8jx1fgf5iyck";
+  buildDepends = [
+    mtl systemFileio systemFilepath text time unixCompat
+  ];
+  testDepends = [
+    hspec HUnit mtl systemFileio systemFilepath text time unixCompat
+  ];
+  meta = {
+    homepage = "https://github.com/yesodweb/Shelly.hs";
+    description = "shell-like (systems) programming in Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/shelly/default.nix b/pkgs/development/libraries/haskell/shelly/default.nix
index f3885506d21a..a37fb044bc01 100644
--- a/pkgs/development/libraries/haskell/shelly/default.nix
+++ b/pkgs/development/libraries/haskell/shelly/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shelly";
-  version = "1.5.3";
-  sha256 = "1s4j2jp0nflv1nn29f4x2j1vfjf2mimjz0ljy4hg9hn7jp028s8h";
+  version = "1.5.4";
+  sha256 = "1jxw3c25n7azvfyj9vark9149sk36d01pfij6lgamhjs28mb860d";
   buildDepends = [
     async enclosedExceptions exceptions liftedAsync liftedBase
     monadControl mtl systemFileio systemFilepath text time transformers
diff --git a/pkgs/development/libraries/haskell/singletons/default.nix b/pkgs/development/libraries/haskell/singletons/default.nix
index e233dc60cc0e..aeace4d3fceb 100644
--- a/pkgs/development/libraries/haskell/singletons/default.nix
+++ b/pkgs/development/libraries/haskell/singletons/default.nix
@@ -4,11 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "singletons";
-  version = "0.10.0";
-  sha256 = "14vnkw9ihrs3xg3lhb3wkyfz59lsaz4c3iqh3hqy7x9gmifgggwr";
+  version = "1.0";
+  sha256 = "1rd1728wghhqlg2djd7az8i01rf4i3wwwcnz2v43a39jjvhlklkg";
   buildDepends = [ mtl thDesugar ];
   testDepends = [ Cabal constraints filepath tasty tastyGolden ];
   noHaddock = true;
+  patches = self.stdenv.lib.optional self.stdenv.isDarwin ./test.patch;
   meta = {
     homepage = "http://www.cis.upenn.edu/~eir/packages/singletons";
     description = "A framework for generating singleton types";
diff --git a/pkgs/development/libraries/haskell/singletons/test.patch b/pkgs/development/libraries/haskell/singletons/test.patch
new file mode 100644
index 000000000000..6979c2c6cb0a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/singletons/test.patch
@@ -0,0 +1,12 @@
+--- a/tests/SingletonsTestSuiteUtils.hs
++++ b/tests/SingletonsTestSuiteUtils.hs
+@@ -201,7 +201,7 @@ testCompileAndDumpGroup testDir tests =
+ filterWithSed :: FilePath -> IO ()
+ filterWithSed file = runProcessWithOpts CreatePipe "sed"
+ #ifdef darwin_HOST_OS
+-  [ "-i", "''"
++  [ "-i"
+ #else
+   [ "-i"
+ #endif
+
diff --git a/pkgs/development/libraries/haskell/smtps-gmail/default.nix b/pkgs/development/libraries/haskell/smtps-gmail/default.nix
index 6361c9bd79a8..2618b77be28c 100644
--- a/pkgs/development/libraries/haskell/smtps-gmail/default.nix
+++ b/pkgs/development/libraries/haskell/smtps-gmail/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "smtps-gmail";
-  version = "1.2.0";
-  sha256 = "1gg3cglfsyfffh3b5cyrk3pnb8jg5s8s4yjzykdnfyjrdp1080xz";
+  version = "1.2.1";
+  sha256 = "04sancbfbbszajgb1jp613qp43qxvzz9b14c0v3sgfva7fdhaw9q";
   buildDepends = [
     base64Bytestring cprngAes dataDefault filepath mimeMail network
     stringsearch text tls
diff --git a/pkgs/development/libraries/haskell/snap/core.nix b/pkgs/development/libraries/haskell/snap/core.nix
index 0a1d1b7c5cf4..d208cadf8cf1 100644
--- a/pkgs/development/libraries/haskell/snap/core.nix
+++ b/pkgs/development/libraries/haskell/snap/core.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap-core";
-  version = "0.9.6.2";
-  sha256 = "1s77p2q4zrpw2fksklqc9sgcb214fijsk88lqqasdiw9kb9xmwij";
+  version = "0.9.6.3";
+  sha256 = "0i3gl1kxzi2l76sqhyhda7lrcvq8hq6aqgwvfx5k9fa2xic01dw1";
   buildDepends = [
     attoparsec attoparsecEnumerator blazeBuilder blazeBuilderEnumerator
     bytestringMmap caseInsensitive deepseq enumerator filepath hashable
diff --git a/pkgs/development/libraries/haskell/snap/loader-dynamic.nix b/pkgs/development/libraries/haskell/snap/loader-dynamic.nix
index ec054cc80653..f6dbf7332652 100644
--- a/pkgs/development/libraries/haskell/snap/loader-dynamic.nix
+++ b/pkgs/development/libraries/haskell/snap/loader-dynamic.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap-loader-dynamic";
-  version = "0.10.0.1";
-  sha256 = "0iqhspvfp0d6qivis2l3v0rqrnb8qbzvi4n53zgyb9cwvqxx5fix";
+  version = "0.10.0.2";
+  sha256 = "0fnpzhwnj3dsqwx880391x9x6y0ry8f6dfrzkfs963zib9l3qvh7";
   buildDepends = [ directoryTree hint mtl snapCore time ];
   meta = {
     homepage = "http://snapframework.com/";
diff --git a/pkgs/development/libraries/haskell/snap/server.nix b/pkgs/development/libraries/haskell/snap/server.nix
index 0f9a05177d6e..a59252fb38cc 100644
--- a/pkgs/development/libraries/haskell/snap/server.nix
+++ b/pkgs/development/libraries/haskell/snap/server.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap-server";
-  version = "0.9.4.4";
-  sha256 = "1y53baxyn6z6g4vc3j66w60s0vxdblkg8az712iw2030q2brilg2";
+  version = "0.9.4.5";
+  sha256 = "09399vlqgic0iwmx31c01bjpbdblw8gayxnz71lwzkixqibkbbip";
   buildDepends = [
     attoparsec attoparsecEnumerator blazeBuilder blazeBuilderEnumerator
     caseInsensitive enumerator MonadCatchIOTransformers mtl network
diff --git a/pkgs/development/libraries/haskell/snap/snap.nix b/pkgs/development/libraries/haskell/snap/snap.nix
index 26533c8ce0ec..435bccd9cb5d 100644
--- a/pkgs/development/libraries/haskell/snap/snap.nix
+++ b/pkgs/development/libraries/haskell/snap/snap.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap";
-  version = "0.13.2.5";
-  sha256 = "1xvwx4zg2b78fdyb2yvqd5i5g195di7rzzpn3va43vkq2lk5vcqj";
+  version = "0.13.2.7";
+  sha256 = "1vw8c48rb1clahm1yw951si9dv9mk0gfldxvk3jd7rvsfzg97s4z";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -20,6 +20,9 @@ cabal.mkDerivation (self: {
     unorderedContainers vector vectorAlgorithms xmlhtml
   ];
   jailbreak = true;
+  patchPhase = ''
+    sed -i -e 's|lens .*< 4.2|lens|' snap.cabal
+  '';
   meta = {
     homepage = "http://snapframework.com/";
     description = "Top-level package for the Snap Web Framework";
diff --git a/pkgs/development/libraries/haskell/snaplet-stripe/default.nix b/pkgs/development/libraries/haskell/snaplet-stripe/default.nix
index 37ffb827b6db..1f74f646cae7 100644
--- a/pkgs/development/libraries/haskell/snaplet-stripe/default.nix
+++ b/pkgs/development/libraries/haskell/snaplet-stripe/default.nix
@@ -10,6 +10,7 @@ cabal.mkDerivation (self: {
     configurator heist mtl snap stripe text textFormat transformers
     xmlhtml
   ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/LukeHoersten/snaplet-stripe";
     description = "Stripe snaplet for the Snap Framework";
diff --git a/pkgs/development/libraries/haskell/split/0.1.4.3.nix b/pkgs/development/libraries/haskell/split/0.1.4.3.nix
new file mode 100644
index 000000000000..ad0df5c2cb02
--- /dev/null
+++ b/pkgs/development/libraries/haskell/split/0.1.4.3.nix
@@ -0,0 +1,13 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "split";
+  version = "0.1.4.3";
+  sha256 = "1i9vmb0zvmhqj6qcbnsapsk9lhsyzznz336c8s7v4sz20s99hsby";
+  meta = {
+    homepage = "http://code.haskell.org/~byorgey/code/split";
+    description = "Combinator library for splitting lists";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/split/0.2.2.nix b/pkgs/development/libraries/haskell/split/0.2.2.nix
index ab60774cca40..2d768e2e71d7 100644
--- a/pkgs/development/libraries/haskell/split/0.2.2.nix
+++ b/pkgs/development/libraries/haskell/split/0.2.2.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "0.2.2";
   sha256 = "0xa3j0gwr6k5vizxybnzk5fgb3pppgspi6mysnp2gwjp2dbrxkzr";
   testDepends = [ QuickCheck ];
+  doCheck = self.stdenv.lib.versionOlder self.ghc.version "7.9";
   meta = {
     description = "Combinator library for splitting lists";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/sqlite-simple/default.nix b/pkgs/development/libraries/haskell/sqlite-simple/default.nix
index d8a76210d08b..515f22834ae3 100644
--- a/pkgs/development/libraries/haskell/sqlite-simple/default.nix
+++ b/pkgs/development/libraries/haskell/sqlite-simple/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "sqlite-simple";
-  version = "0.4.7.0";
-  sha256 = "128b8n66j729g9mwndv5m3plww6av7hin7dmwsbs19v8klcaf4f5";
+  version = "0.4.8.0";
+  sha256 = "098d1s80wlvsp307422f79bm3a9knvgw5ni6jap62fl4rpa7fsmz";
   buildDepends = [
     attoparsec blazeBuilder blazeTextual directSqlite text time
     transformers
diff --git a/pkgs/development/libraries/haskell/statestack/default.nix b/pkgs/development/libraries/haskell/statestack/default.nix
index 4275c5fc4576..c073e00be17c 100644
--- a/pkgs/development/libraries/haskell/statestack/default.nix
+++ b/pkgs/development/libraries/haskell/statestack/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "statestack";
-  version = "0.2";
-  sha256 = "0j1axjwlh270qy6nlvm0hbc8nbd1ggm7klkjv553qf1rprz4zc2d";
+  version = "0.2.0.3";
+  sha256 = "0w5vw8jmnwbfyma4a3ggdm9jvxf3c18kpwbvcmvr5szifaqv9sgx";
   buildDepends = [ mtl transformers ];
   meta = {
     description = "Simple State-like monad transformer with saveable and restorable state";
diff --git a/pkgs/development/libraries/haskell/statistics/default.nix b/pkgs/development/libraries/haskell/statistics/default.nix
index 11d2ff6daa69..485a5fe0c304 100644
--- a/pkgs/development/libraries/haskell/statistics/default.nix
+++ b/pkgs/development/libraries/haskell/statistics/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "statistics";
-  version = "0.11.0.0";
-  sha256 = "1pmkdy7v78ajl5b5rjshgabhcakb9ji5wlq79ajr1b5adif1d1d9";
+  version = "0.11.0.3";
+  sha256 = "184lzivqjjj69pxcnr5ibxjqikypfl5nd63i44qgwdhwyvcaqdh3";
   buildDepends = [
     binary deepseq erf mathFunctions monadPar mwcRandom primitive
     vector vectorAlgorithms vectorBinaryInstances
diff --git a/pkgs/development/libraries/haskell/stm-conduit/default.nix b/pkgs/development/libraries/haskell/stm-conduit/default.nix
index 201a2ea02f97..deb76355f4a7 100644
--- a/pkgs/development/libraries/haskell/stm-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/stm-conduit/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "stm-conduit";
-  version = "2.4.0";
-  sha256 = "03ifxr3pspwmzf0xdh7mj3q1wiz13d86w9pdhiqa6b1d1qw6rvha";
+  version = "2.5.0";
+  sha256 = "1pxs1ggyyjm4x06cirdcjaqzvz3964spv34fcf0q9ddhxm5kb30q";
   buildDepends = [
     async cereal cerealConduit conduit conduitExtra liftedAsync
     liftedBase monadControl monadLoops resourcet stm stmChans
diff --git a/pkgs/development/libraries/haskell/storable-record/default.nix b/pkgs/development/libraries/haskell/storable-record/default.nix
index 455d860ba5e9..787956be46db 100644
--- a/pkgs/development/libraries/haskell/storable-record/default.nix
+++ b/pkgs/development/libraries/haskell/storable-record/default.nix
@@ -7,6 +7,7 @@ cabal.mkDerivation (self: {
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ transformers utilityHt ];
+  jailbreak = true;
   meta = {
     homepage = "http://code.haskell.org/~thielema/storable-record/";
     description = "Elegant definition of Storable instances for records";
diff --git a/pkgs/development/libraries/haskell/streaming-commons/default.nix b/pkgs/development/libraries/haskell/streaming-commons/default.nix
index a6c5ce7ec605..1a17cd5f14f5 100644
--- a/pkgs/development/libraries/haskell/streaming-commons/default.nix
+++ b/pkgs/development/libraries/haskell/streaming-commons/default.nix
@@ -1,12 +1,14 @@
 { cabal, async, blazeBuilder, deepseq, hspec, network, QuickCheck
-, text, transformers, zlib
+, random, text, transformers, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "streaming-commons";
-  version = "0.1.2.3";
-  sha256 = "1f8lngnxx0ml7bph8lfx3azv6fh6gwm86yhb8i5v9ghnflblaxxs";
-  buildDepends = [ blazeBuilder network text transformers zlib ];
+  version = "0.1.3";
+  sha256 = "0zv309lqmv5bgbmxx5k0zk4iyxwj77lwqcaaycizi7559nzvsrh3";
+  buildDepends = [
+    blazeBuilder network random text transformers zlib
+  ];
   testDepends = [
     async blazeBuilder deepseq hspec network QuickCheck text zlib
   ];
diff --git a/pkgs/development/libraries/haskell/system-fileio/default.nix b/pkgs/development/libraries/haskell/system-fileio/default.nix
index d2c402138868..bd0654f728a3 100644
--- a/pkgs/development/libraries/haskell/system-fileio/default.nix
+++ b/pkgs/development/libraries/haskell/system-fileio/default.nix
@@ -1,10 +1,14 @@
-{ cabal, systemFilepath, text, time }:
+{ cabal, chell, systemFilepath, temporary, text, time, transformers
+}:
 
 cabal.mkDerivation (self: {
   pname = "system-fileio";
-  version = "0.3.12";
-  sha256 = "0mfkny5fwksrwkvz59f5xnb7b47rmm4cbiygmri5wklnc3vdn0hs";
+  version = "0.3.14";
+  sha256 = "1x5cricx2n1wwvdad4i3q8s3gb28a129v3kkj9rn9803xh43zh29";
   buildDepends = [ systemFilepath text time ];
+  testDepends = [
+    chell systemFilepath temporary text time transformers
+  ];
   meta = {
     homepage = "https://john-millikin.com/software/haskell-filesystem/";
     description = "Consistent filesystem interaction across GHC versions";
diff --git a/pkgs/development/libraries/haskell/system-filepath/default.nix b/pkgs/development/libraries/haskell/system-filepath/default.nix
index fba75d7b847d..6bc7805cef6f 100644
--- a/pkgs/development/libraries/haskell/system-filepath/default.nix
+++ b/pkgs/development/libraries/haskell/system-filepath/default.nix
@@ -1,10 +1,11 @@
-{ cabal, deepseq, text }:
+{ cabal, chell, chellQuickcheck, deepseq, QuickCheck, text }:
 
 cabal.mkDerivation (self: {
   pname = "system-filepath";
-  version = "0.4.10";
-  sha256 = "176g5jm1gd6lrkmhfz9qh5aqwfbpwyr30yknfcc49wl7jkfhisiq";
+  version = "0.4.12";
+  sha256 = "0sfralwgd5b9hfqmp20v31sq96s0v7j9g920qdj3n9i5mhslhwd2";
   buildDepends = [ deepseq text ];
+  testDepends = [ chell chellQuickcheck QuickCheck text ];
   meta = {
     homepage = "https://john-millikin.com/software/haskell-filesystem/";
     description = "High-level, byte-based file and directory path manipulations";
diff --git a/pkgs/development/libraries/haskell/tabular/default.nix b/pkgs/development/libraries/haskell/tabular/default.nix
index f90c56871932..10f78671013f 100644
--- a/pkgs/development/libraries/haskell/tabular/default.nix
+++ b/pkgs/development/libraries/haskell/tabular/default.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "0.2.2.5";
   sha256 = "00d1f8yr7kbg30ziv09pb8f4apcvrfb6izb26my1s97kw9ixa740";
   buildDepends = [ csv html mtl ];
+  jailbreak = true;
   meta = {
     homepage = "http://hub.darcs.net/kowey/tabular";
     description = "Two-dimensional data tables with rendering functions";
diff --git a/pkgs/development/libraries/haskell/tar/default.nix b/pkgs/development/libraries/haskell/tar/default.nix
index 04257960a64c..41ea62d81262 100644
--- a/pkgs/development/libraries/haskell/tar/default.nix
+++ b/pkgs/development/libraries/haskell/tar/default.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "0.4.0.1";
   sha256 = "0vbsv7h3zgp30mlgsw156jkv1rqy5zbm98as9haf7x15hd6jf254";
   buildDepends = [ filepath time ];
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11";
   meta = {
     description = "Reading, writing and manipulating \".tar\" archive files.";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
index 695d7edca625..2551b642fb1c 100644
--- a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tasty-ant-xml";
-  version = "1.0.0.6";
-  sha256 = "06ll7mj60iiskla2x53yncs0931b7dw4l0shxkhz88558gjzy7cj";
+  version = "1.0.0.8";
+  sha256 = "0khjx3anxp63ch6wkdhqnsk5miavkq014ab30rpir97gdqw0vykm";
   buildDepends = [
     genericDeriving mtl reducers stm tagged tasty transformers xml
   ];
diff --git a/pkgs/development/libraries/haskell/tasty-golden/default.nix b/pkgs/development/libraries/haskell/tasty-golden/default.nix
index f2fe7cfb0ad9..d6d8f2d625d1 100644
--- a/pkgs/development/libraries/haskell/tasty-golden/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-golden/default.nix
@@ -1,13 +1,13 @@
 { cabal, deepseq, filepath, mtl, optparseApplicative, tagged, tasty
-, temporary
+, temporaryRc
 }:
 
 cabal.mkDerivation (self: {
   pname = "tasty-golden";
-  version = "2.2.1";
-  sha256 = "1q3x3vmck1yq7bf96f3ah5nadahfxjd4wr3dfh3ls549yz40x668";
+  version = "2.2.1.2";
+  sha256 = "107c6i1abw6dsd3cx1bgiyk8dnih7i9x4bl4kw6dfnva2kjkp4d1";
   buildDepends = [
-    deepseq filepath mtl optparseApplicative tagged tasty temporary
+    deepseq filepath mtl optparseApplicative tagged tasty temporaryRc
   ];
   meta = {
     homepage = "https://github.com/feuerbach/tasty-golden";
diff --git a/pkgs/development/libraries/haskell/tasty-hspec/default.nix b/pkgs/development/libraries/haskell/tasty-hspec/default.nix
index 34b13c69bf6a..196788059008 100644
--- a/pkgs/development/libraries/haskell/tasty-hspec/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-hspec/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tasty-hspec";
-  version = "0.1";
-  sha256 = "1pf4ffaqy0f25a2sjirg5g4gdcfslapwq4mm0pkdsysmh9bv1f64";
+  version = "0.1.0.1";
+  sha256 = "0m8v9kj557vfqzmrindwfcjl7wqmdix2xvmsb94n8hx9qv075s3v";
   buildDepends = [ hspec tasty ];
   meta = {
     homepage = "http://github.com/mitchellwrosen/tasty-hspec";
diff --git a/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix
index ee8483595092..d4eb45eaa08a 100644
--- a/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tasty-quickcheck";
-  version = "0.8.0.3";
-  sha256 = "0dng415dsdg86rliwmz5hpn2111cn0x494c0vmdmzv5qgvx5naf6";
+  version = "0.8.1";
+  sha256 = "1diqc5dmddrfc6i0zqkmlnnhsv8paqy2fdmbx8484qa4ylk5r6bs";
   buildDepends = [ QuickCheck tagged tasty ];
   meta = {
     description = "QuickCheck support for the Tasty test framework";
diff --git a/pkgs/development/libraries/haskell/tasty/default.nix b/pkgs/development/libraries/haskell/tasty/default.nix
index 13e4e37e4b06..bb8e20e98e45 100644
--- a/pkgs/development/libraries/haskell/tasty/default.nix
+++ b/pkgs/development/libraries/haskell/tasty/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tasty";
-  version = "0.8.0.4";
-  sha256 = "016niwympxbxpg3yq7samgh92l20wxm2h6cwhqal4zdj8n9262j0";
+  version = "0.8.1.1";
+  sha256 = "04vzq5gwyd5zb6lsf8nbr5dypgf07b4aq70i1jghkg12v8h529dr";
   buildDepends = [
     ansiTerminal async deepseq mtl optparseApplicative regexTdfa stm
     tagged unboundedDelays
diff --git a/pkgs/development/libraries/haskell/temporary-rc/default.nix b/pkgs/development/libraries/haskell/temporary-rc/default.nix
new file mode 100644
index 000000000000..2f8cc9fad843
--- /dev/null
+++ b/pkgs/development/libraries/haskell/temporary-rc/default.nix
@@ -0,0 +1,14 @@
+{ cabal, exceptions, filepath, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "temporary-rc";
+  version = "1.2.0.3";
+  sha256 = "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs";
+  buildDepends = [ exceptions filepath transformers ];
+  meta = {
+    homepage = "http://www.github.com/feuerbach/temporary";
+    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;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/temporary/default.nix b/pkgs/development/libraries/haskell/temporary/default.nix
index 585eaf58682d..4db5446bce0b 100644
--- a/pkgs/development/libraries/haskell/temporary/default.nix
+++ b/pkgs/development/libraries/haskell/temporary/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "temporary";
-  version = "1.2.0.2";
-  sha256 = "1ynvhmc6b385sn8qw3sni3cwmz7pmppns546416xil9mhbiya87z";
+  version = "1.2.0.3";
+  sha256 = "0is67bmsjmbbw6wymhis8wyq9gax3sszm573p5719fx2c9z9r24a";
   buildDepends = [ exceptions filepath transformers ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/test-framework-smallcheck/default.nix b/pkgs/development/libraries/haskell/test-framework-smallcheck/default.nix
new file mode 100644
index 000000000000..120425e8c017
--- /dev/null
+++ b/pkgs/development/libraries/haskell/test-framework-smallcheck/default.nix
@@ -0,0 +1,14 @@
+{ cabal, smallcheck, testFramework, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "test-framework-smallcheck";
+  version = "0.2";
+  sha256 = "1xpgpk1gp4w7w46b4rhj80fa0bcyz8asj2dcjb5x1c37b7rw90b0";
+  buildDepends = [ smallcheck testFramework transformers ];
+  meta = {
+    homepage = "https://github.com/feuerbach/smallcheck";
+    description = "Support for SmallCheck tests in test-framework";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/texmath/default.nix b/pkgs/development/libraries/haskell/texmath/default.nix
index 7c97f5b8e3f9..76963ae36c53 100644
--- a/pkgs/development/libraries/haskell/texmath/default.nix
+++ b/pkgs/development/libraries/haskell/texmath/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "texmath";
-  version = "0.6.6.1";
-  sha256 = "0s6rh4frjc76g1nmwhnnpnsszrnhpi9zx478zqiln1fg0yc9fhxq";
+  version = "0.6.6.3";
+  sha256 = "1sly6acnb4299wd8380fkgnb7lzjrwml5lljyv73si84b3v0bnw2";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ pandocTypes parsec syb xml ];
diff --git a/pkgs/development/libraries/haskell/text/0.11.1.13.nix b/pkgs/development/libraries/haskell/text/0.11.1.13.nix
deleted file mode 100644
index 71d0c28e48d7..000000000000
--- a/pkgs/development/libraries/haskell/text/0.11.1.13.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ cabal, deepseq, HUnit, QuickCheck, random, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2
-}:
-
-cabal.mkDerivation (self: {
-  pname = "text";
-  version = "0.11.1.13";
-  sha256 = "0lbc4yfqpydps0rd1qjymnnhp87sl9w7n1f5vd5lsixby93zjv2f";
-  buildDepends = [ deepseq ];
-  testDepends = [
-    deepseq HUnit QuickCheck random testFramework testFrameworkHunit
-    testFrameworkQuickcheck2
-  ];
-  doCheck = false;
-  meta = {
-    homepage = "https://github.com/bos/text";
-    description = "An efficient packed Unicode text type";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/text/1.1.1.1.nix b/pkgs/development/libraries/haskell/text/1.1.1.3.nix
index b9cc3cf14aee..0df511231c8f 100644
--- a/pkgs/development/libraries/haskell/text/1.1.1.1.nix
+++ b/pkgs/development/libraries/haskell/text/1.1.1.3.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "text";
-  version = "1.1.1.1";
-  sha256 = "10d3j73cvjyhs8lcgzzalzwci42qf866iqvhyf7qik8ym793m4y9";
+  version = "1.1.1.3";
+  sha256 = "1yrzg449nbbzh2fb9mdmf2jjfhk2g87kr9m2ibssbsqx53p98z0c";
   buildDepends = [ deepseq ];
   testDepends = [
     deepseq HUnit QuickCheck random testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/th-desugar/default.nix b/pkgs/development/libraries/haskell/th-desugar/default.nix
index 827828d64741..b8f478654245 100644
--- a/pkgs/development/libraries/haskell/th-desugar/default.nix
+++ b/pkgs/development/libraries/haskell/th-desugar/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "th-desugar";
-  version = "1.3.1";
-  sha256 = "1wi0c5d1w6vjjk580zhypgqnnkndcsx4cmx5qy01w97h6kyj8913";
+  version = "1.4.0";
+  sha256 = "0jadwqhk9dqnicg3p958a6cyfvl70amjc1hl7bhlygpxpdfffwad";
   buildDepends = [ mtl syb ];
   testDepends = [ hspec HUnit mtl syb ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/th-lift-instances/default.nix b/pkgs/development/libraries/haskell/th-lift-instances/default.nix
index 27eb090443b6..32354eabd4a6 100644
--- a/pkgs/development/libraries/haskell/th-lift-instances/default.nix
+++ b/pkgs/development/libraries/haskell/th-lift-instances/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "th-lift-instances";
-  version = "0.1.2";
-  sha256 = "0xfz7jnhqxqxd6ijn6vpd0nay38kj862ylsb71xqi35137g5zl9w";
+  version = "0.1.3";
+  sha256 = "0snqgcdkskwvrsw239j3xq84mwnf5x79kfsn495kprdc6yh3qdkx";
   buildDepends = [ text thLift vector ];
   testDepends = [ doctest filepath QuickCheck text vector ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/these/default.nix b/pkgs/development/libraries/haskell/these/default.nix
index 4962ace783c7..f41f8a4f3022 100644
--- a/pkgs/development/libraries/haskell/these/default.nix
+++ b/pkgs/development/libraries/haskell/these/default.nix
@@ -10,6 +10,7 @@ cabal.mkDerivation (self: {
     bifunctors mtl profunctors semigroupoids semigroups transformers
     vector
   ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/isomorphism/these";
     description = "An either-or-both data type, with corresponding hybrid error/writer monad transformer";
diff --git a/pkgs/development/libraries/haskell/threads/default.nix b/pkgs/development/libraries/haskell/threads/default.nix
index 932ef113fa70..48b4ee2fb11a 100644
--- a/pkgs/development/libraries/haskell/threads/default.nix
+++ b/pkgs/development/libraries/haskell/threads/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "threads";
-  version = "0.5.1.1";
-  sha256 = "196yjkq7wgjcck9wqj4f3x3k47ls9yiay3k6d8k7kzixc2xc621z";
+  version = "0.5.1.2";
+  sha256 = "1bq2aza6sam4zkgpgf8x4lhkk2na1i8annx9cwad3j68p5vdg929";
   buildDepends = [ baseUnicodeSymbols stm ];
   testDepends = [
     baseUnicodeSymbols concurrentExtra HUnit stm testFramework
diff --git a/pkgs/development/libraries/haskell/threepenny-gui/default.nix b/pkgs/development/libraries/haskell/threepenny-gui/default.nix
index 1855f4938120..ea655ab91c14 100644
--- a/pkgs/development/libraries/haskell/threepenny-gui/default.nix
+++ b/pkgs/development/libraries/haskell/threepenny-gui/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "threepenny-gui";
-  version = "0.4.1.0";
-  sha256 = "0fafwnlbl96z9m5fr3wiyv090fga78cr9hrd4yd3vyiz44gfrpcw";
+  version = "0.4.2.0";
+  sha256 = "1746l90h9xkwnwxvfqsr93nax7ihv8lwc4kz203v13rrwckr7m8h";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/thyme/default.nix b/pkgs/development/libraries/haskell/thyme/default.nix
index e321f21b2ca4..c127116ffca3 100644
--- a/pkgs/development/libraries/haskell/thyme/default.nix
+++ b/pkgs/development/libraries/haskell/thyme/default.nix
@@ -1,15 +1,15 @@
 { cabal, aeson, attoparsec, Cabal, deepseq, filepath, mtl
 , profunctors, QuickCheck, random, systemPosixRedirect, text, time
-, vector, vectorSpace
+, vector, vectorSpace, vectorThUnbox
 }:
 
 cabal.mkDerivation (self: {
   pname = "thyme";
-  version = "0.3.3.0";
-  sha256 = "0mpwwpc82xcdyawz87rcmvga1miw7cx538nnh379m2ibn0g71zaa";
+  version = "0.3.5.1";
+  sha256 = "0v3aq7zv4fnkjhfc7mm6vx2wb5dh2npf2lsgpvcrdpy5zlfsrx50";
   buildDepends = [
     aeson attoparsec deepseq mtl profunctors QuickCheck random text
-    time vector vectorSpace
+    time vector vectorSpace vectorThUnbox
   ];
   testDepends = [
     attoparsec Cabal filepath mtl profunctors QuickCheck random
diff --git a/pkgs/development/libraries/haskell/timeparsers/default.nix b/pkgs/development/libraries/haskell/timeparsers/default.nix
index 57c9c7e3da7d..4920c0b3adbc 100644
--- a/pkgs/development/libraries/haskell/timeparsers/default.nix
+++ b/pkgs/development/libraries/haskell/timeparsers/default.nix
@@ -5,6 +5,7 @@ cabal.mkDerivation (self: {
   version = "0.3.2";
   sha256 = "1dicp58f2amn5rgmnlfjpv4aj7ak6jrdlba2marglddvj4ycq1h7";
   buildDepends = [ attoparsec convertible mtl time ];
+  jailbreak = true;
   meta = {
     description = "Attoparsec parsers for various Date/Time formats";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/timerep/default.nix b/pkgs/development/libraries/haskell/timerep/default.nix
new file mode 100644
index 000000000000..24bd1c017aa1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/timerep/default.nix
@@ -0,0 +1,13 @@
+{ cabal, time }:
+
+cabal.mkDerivation (self: {
+  pname = "timerep";
+  version = "1.0.3";
+  sha256 = "14lz8nzfy1j7snvifbwjkk1fjc8wy4jk67xk9n87r25v3cva3x0p";
+  buildDepends = [ time ];
+  meta = {
+    description = "Parse and display time according to some RFCs (RFC3339, RFC2822)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tls/1.2.6.nix b/pkgs/development/libraries/haskell/tls/1.2.8.nix
index 15019265f911..8bba66b6c92e 100644
--- a/pkgs/development/libraries/haskell/tls/1.2.6.nix
+++ b/pkgs/development/libraries/haskell/tls/1.2.8.nix
@@ -1,19 +1,19 @@
 { cabal, asn1Encoding, asn1Types, byteable, cereal, cipherAes
-, cipherRc4, cprngAes, cryptohash, cryptoNumbers, cryptoPubkey
-, cryptoPubkeyTypes, cryptoRandom, dataDefaultClass, mtl, network
-, QuickCheck, testFramework, testFrameworkQuickcheck2, time, x509
-, x509Store, x509Validation
+, cipherDes, cipherRc4, cprngAes, cryptoCipherTypes, cryptohash
+, cryptoNumbers, cryptoPubkey, cryptoPubkeyTypes, cryptoRandom
+, dataDefaultClass, mtl, network, QuickCheck, testFramework
+, testFrameworkQuickcheck2, time, x509, x509Store, x509Validation
 }:
 
 cabal.mkDerivation (self: {
   pname = "tls";
-  version = "1.2.6";
-  sha256 = "16r60acz9q84dv91jms9qaqvc53r98761ap9ijj3pifizzxcyswi";
+  version = "1.2.8";
+  sha256 = "0fm36jn2yri3fn6wadl5v4k0cpnansqlid4fhavgnp6mazf0q5ha";
   buildDepends = [
-    asn1Encoding asn1Types byteable cereal cipherAes cipherRc4
-    cryptohash cryptoNumbers cryptoPubkey cryptoPubkeyTypes
-    cryptoRandom dataDefaultClass mtl network x509 x509Store
-    x509Validation
+    asn1Encoding asn1Types byteable cereal cipherAes cipherDes
+    cipherRc4 cryptoCipherTypes cryptohash cryptoNumbers cryptoPubkey
+    cryptoPubkeyTypes cryptoRandom dataDefaultClass mtl network x509
+    x509Store x509Validation
   ];
   testDepends = [
     cereal cprngAes cryptoPubkey cryptoRandom dataDefaultClass mtl
diff --git a/pkgs/development/libraries/haskell/transformers-base/default.nix b/pkgs/development/libraries/haskell/transformers-base/default.nix
index e323905f81b6..ea48a566dc0c 100644
--- a/pkgs/development/libraries/haskell/transformers-base/default.nix
+++ b/pkgs/development/libraries/haskell/transformers-base/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "transformers-base";
-  version = "0.4.1";
-  sha256 = "1d3w7k7smvdnnn4q6xpdhsj9zvj6372ihyhz4lrhdvgh72pfiaag";
+  version = "0.4.2";
+  sha256 = "030w5p209bam77z6grq6279qwvwip1ax7phrc5wanxrshiw8699m";
   buildDepends = [ transformers ];
   meta = {
     homepage = "https://github.com/mvv/transformers-base";
diff --git a/pkgs/development/libraries/haskell/transformers-compat/0.3.3.4.nix b/pkgs/development/libraries/haskell/transformers-compat/0.3.3.4.nix
new file mode 100644
index 000000000000..4647bbe2980b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/transformers-compat/0.3.3.4.nix
@@ -0,0 +1,14 @@
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "transformers-compat";
+  version = "0.3.3.4";
+  sha256 = "1hab41ggyaxr4xn2szv8y9fg9np8zi8ifhimr33fspid1jz14xr5";
+  buildDepends = [ transformers ];
+  meta = {
+    homepage = "http://github.com/ekmett/transformers-compat/";
+    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;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/transformers-compat/default.nix b/pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix
index bdb101914a40..dfe9e2ef0d65 100644
--- a/pkgs/development/libraries/haskell/transformers-compat/default.nix
+++ b/pkgs/development/libraries/haskell/transformers-compat/0.3.3.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "transformers-compat";
-  version = "0.3";
-  sha256 = "0dncakmg4wszi20apfzwdlgp69pka8bwwdrg1pl7nrn3sybq97yf";
+  version = "0.3.3";
+  sha256 = "14lmwqr6q79k1f7byvb0jcm4r7lprhxkl85z72pr6ghn7bsvqwps";
   buildDepends = [ transformers ];
   meta = {
     homepage = "http://github.com/ekmett/transformers-compat/";
diff --git a/pkgs/development/libraries/haskell/transformers/0.4.1.0.nix b/pkgs/development/libraries/haskell/transformers/0.4.1.0.nix
new file mode 100644
index 000000000000..dd3789e58022
--- /dev/null
+++ b/pkgs/development/libraries/haskell/transformers/0.4.1.0.nix
@@ -0,0 +1,14 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "transformers";
+  version = "0.4.1.0";
+  sha256 = "0jlnz86f87jndv4sifg1zpv5b2g2cxy1x2575x727az6vyaarwwg";
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11";
+  meta = {
+    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/twitter-types/default.nix b/pkgs/development/libraries/haskell/twitter-types/default.nix
index 0d40217c3d55..4b73fc5cf5a5 100644
--- a/pkgs/development/libraries/haskell/twitter-types/default.nix
+++ b/pkgs/development/libraries/haskell/twitter-types/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "twitter-types";
-  version = "0.2.20140424";
-  sha256 = "0ap2l3mclcilm58awz0fdayzcs7fckv69l6xdklp1yqyj6i7zk9a";
+  version = "0.3.20140601";
+  sha256 = "1z8vdhyklgb4s3jxkavb8n62h9cn3y80qqzab3hswfv5xwri20ni";
   buildDepends = [ aeson httpTypes text unorderedContainers ];
   testDepends = [
     aeson attoparsec httpTypes HUnit shakespeare testFramework
diff --git a/pkgs/development/libraries/haskell/unbound/default.nix b/pkgs/development/libraries/haskell/unbound/default.nix
index 4667ed956f09..761246b396c3 100644
--- a/pkgs/development/libraries/haskell/unbound/default.nix
+++ b/pkgs/development/libraries/haskell/unbound/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "unbound";
-  version = "0.4.3";
-  sha256 = "1lv60zpsvjfp9qnckwbphkfv0x9pz2qvaab3p4kj38fnlq2y20i4";
+  version = "0.4.3.1";
+  sha256 = "1xkp47y7yg8dl95gf4w3iwddc3yivrhcxj184cfhrx6a9rbsflpz";
   buildDepends = [ binary mtl RepLib transformers ];
   meta = {
     homepage = "http://code.google.com/p/replib/";
diff --git a/pkgs/development/libraries/haskell/units/default.nix b/pkgs/development/libraries/haskell/units/default.nix
new file mode 100644
index 000000000000..a386257eaee3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/units/default.nix
@@ -0,0 +1,14 @@
+{ cabal, singletons }:
+
+cabal.mkDerivation (self: {
+  pname = "units";
+  version = "2.0";
+  sha256 = "1iv0pirhyp7crbkb008k14z57jl8c91r1sl8kqmb778xawb1hx52";
+  buildDepends = [ singletons ];
+  meta = {
+    homepage = "http://www.cis.upenn.edu/~eir/packages/units";
+    description = "A domain-specific type system for dimensional analysis";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/usb/default.nix b/pkgs/development/libraries/haskell/usb/default.nix
index 41a716185462..a023a682a921 100644
--- a/pkgs/development/libraries/haskell/usb/default.nix
+++ b/pkgs/development/libraries/haskell/usb/default.nix
@@ -1,10 +1,11 @@
-{ cabal, baseUnicodeSymbols, bindingsLibusb, text, vector }:
+{ cabal, bindingsLibusb, text, vector }:
 
 cabal.mkDerivation (self: {
   pname = "usb";
-  version = "1.2";
-  sha256 = "1k73avkmpbmg6iq2kmwhg2ifibni5c1yp202afdb6v7w5akvmc0b";
-  buildDepends = [ baseUnicodeSymbols bindingsLibusb text vector ];
+  version = "1.2.0.1";
+  sha256 = "10bpkrsnin9f3g1p5a84nhxx5xlfjdxisc0q60iain30rn99g2mk";
+  buildDepends = [ bindingsLibusb text vector ];
+  jailbreak = true;
   meta = {
     homepage = "http://basvandijk.github.com/usb";
     description = "Communicate with USB devices";
diff --git a/pkgs/development/libraries/haskell/utf8-string/default.nix b/pkgs/development/libraries/haskell/utf8-string/default.nix
index e627c77bda2b..1233ce8806d3 100644
--- a/pkgs/development/libraries/haskell/utf8-string/default.nix
+++ b/pkgs/development/libraries/haskell/utf8-string/default.nix
@@ -2,8 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "utf8-string";
-  version = "0.3.7";
-  sha256 = "1s59xsw1i311rpxb7arnd280pjqab5mrlfjmxbabknka8wqlnnvq";
+  version = "0.3.8";
+  sha256 = "1h29dn0scsfkhmkg14ywq9178lw40ah1r36w249zfzqr02y7qxc0";
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11";
+  patchPhase = ''
+    sed -ir -e 's|Extensions: | Extensions: UndecidableInstances, |' utf8-string.cabal
+  '';
   meta = {
     homepage = "http://github.com/glguy/utf8-string/";
     description = "Support for reading and writing UTF8 Strings";
diff --git a/pkgs/development/libraries/haskell/vacuum/default.nix b/pkgs/development/libraries/haskell/vacuum/default.nix
index 8506e5805022..fa37f089348d 100644
--- a/pkgs/development/libraries/haskell/vacuum/default.nix
+++ b/pkgs/development/libraries/haskell/vacuum/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "vacuum";
-  version = "2.1.0.1";
-  sha256 = "0gzh5v9mr0mgz9hxjnm8n3jcl2702wad7qaqaar1zc95lkabpf65";
+  version = "2.2.0.0";
+  sha256 = "157wjx2shzfh6dfl6h8x017cn9ji3ql1p0gpi79ginz4s81f2ny1";
   extraLibraries = [ ghcPaths ];
   meta = {
     homepage = "http://thoughtpolice.github.com/vacuum";
diff --git a/pkgs/development/libraries/haskell/vcs-revision/default.nix b/pkgs/development/libraries/haskell/vcs-revision/default.nix
index a1cd2783931f..64402ea84643 100644
--- a/pkgs/development/libraries/haskell/vcs-revision/default.nix
+++ b/pkgs/development/libraries/haskell/vcs-revision/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "vcs-revision";
-  version = "0.0.1";
-  sha256 = "1zfv9b02ml8622kz755azhi4ajyxrqniiachd92znfrry4n8z1mn";
+  version = "0.0.2";
+  sha256 = "1lp1wf440n7kinmxz7la0gyfqfdlip6f0bn8pmwkxd1dqyrvg5cg";
   meta = {
     description = "Facilities for accessing the version control revision of the current directory";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/vector-th-unbox/default.nix b/pkgs/development/libraries/haskell/vector-th-unbox/default.nix
index db3288366168..b9da8408c550 100644
--- a/pkgs/development/libraries/haskell/vector-th-unbox/default.nix
+++ b/pkgs/development/libraries/haskell/vector-th-unbox/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "vector-th-unbox";
-  version = "0.2.0.2";
-  sha256 = "1c8xy0rcl8il9ssclqshwi8dd2xx6bl1rfhrfm9h7wklw64db9xp";
+  version = "0.2.1.0";
+  sha256 = "0r8yxj63hvkm923y8mk1b5kv1b15lqadxhlncc02glvmy8zf1prh";
   buildDepends = [ vector ];
   testDepends = [ dataDefault vector ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/vector/0.10.11.0.nix b/pkgs/development/libraries/haskell/vector/0.10.11.0.nix
new file mode 100644
index 000000000000..1b8cb381f0bc
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vector/0.10.11.0.nix
@@ -0,0 +1,15 @@
+{ cabal, deepseq, primitive }:
+
+cabal.mkDerivation (self: {
+  pname = "vector";
+  version = "0.10.11.0";
+  sha256 = "0f5jks8q0287zgzlfg3x7akpahck6dm1c37hb8kk6qn51csx515j";
+  buildDepends = [ deepseq primitive ];
+  meta = {
+    homepage = "https://github.com/haskell/vector";
+    description = "Efficient Arrays";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vector/0.10.9.1.nix b/pkgs/development/libraries/haskell/vector/0.10.9.3.nix
index 975d75526a60..b9a7df50ba6e 100644
--- a/pkgs/development/libraries/haskell/vector/0.10.9.1.nix
+++ b/pkgs/development/libraries/haskell/vector/0.10.9.3.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "vector";
-  version = "0.10.9.1";
-  sha256 = "1rdx0r7bwx6217ip9mg9yfymvgv52szqv63y89p41b8sfklmcmi0";
+  version = "0.10.9.3";
+  sha256 = "08mlg0v7an6mm04skvxrgfndab0wikfs4glv7jj8ylxwc8959kdx";
   buildDepends = [ deepseq primitive ];
   meta = {
     homepage = "https://github.com/haskell/vector";
diff --git a/pkgs/development/libraries/haskell/vinyl/default.nix b/pkgs/development/libraries/haskell/vinyl/default.nix
index 239221dc0482..725567ff16bb 100644
--- a/pkgs/development/libraries/haskell/vinyl/default.nix
+++ b/pkgs/development/libraries/haskell/vinyl/default.nix
@@ -1,10 +1,10 @@
-{ cabal, doctest, lens }:
+{ cabal, doctest, lens, singletons }:
 
 cabal.mkDerivation (self: {
   pname = "vinyl";
-  version = "0.3";
-  sha256 = "0wa7pdk5ds1zq0yy6lbzhpjglpnz56hg36iwma09b6jk2x71sf5r";
-  testDepends = [ doctest lens ];
+  version = "0.4.1";
+  sha256 = "1x8kxb4z4nj7h6pbl0r37rr7k88ly64cn0bf7izyaqjrsf0kxdci";
+  testDepends = [ doctest lens singletons ];
   meta = {
     description = "Extensible Records";
     license = self.stdenv.lib.licenses.mit;
diff --git a/pkgs/development/libraries/haskell/vty-ui/default.nix b/pkgs/development/libraries/haskell/vty-ui/default.nix
index ad3ab7823c0e..913451de213b 100644
--- a/pkgs/development/libraries/haskell/vty-ui/default.nix
+++ b/pkgs/development/libraries/haskell/vty-ui/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "vty-ui";
-  version = "1.6.1";
-  sha256 = "013a4wlhrhsbkh9wd8dxppn9aa0l7cfrgn3na6cifry34d96ql9d";
+  version = "1.7";
+  sha256 = "1wd7ada3x7d5rhl4z3h29m9h42513vbz6dp49xhn4j806mi164nd";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/vty/default.nix b/pkgs/development/libraries/haskell/vty/4.7.5.nix
index 8a8ed40adb44..8a8ed40adb44 100644
--- a/pkgs/development/libraries/haskell/vty/default.nix
+++ b/pkgs/development/libraries/haskell/vty/4.7.5.nix
diff --git a/pkgs/development/libraries/haskell/vty/5.1.0.nix b/pkgs/development/libraries/haskell/vty/5.1.0.nix
new file mode 100644
index 000000000000..b04f7ff33eda
--- /dev/null
+++ b/pkgs/development/libraries/haskell/vty/5.1.0.nix
@@ -0,0 +1,33 @@
+{ cabal, blazeBuilder, Cabal, dataDefault, deepseq, filepath
+, hashable, HUnit, lens, mtl, parallel, parsec, QuickCheck
+, quickcheckAssertions, random, smallcheck, stringQq, terminfo
+, testFramework, testFrameworkHunit, testFrameworkSmallcheck, text
+, transformers, utf8String, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "vty";
+  version = "5.1.0";
+  sha256 = "0cq9y802z9wq69yw1yy916xsz6j7v8208k5mxixp41375cdm141x";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    blazeBuilder dataDefault deepseq filepath hashable lens mtl
+    parallel parsec terminfo text transformers utf8String vector
+  ];
+  testDepends = [
+    blazeBuilder Cabal dataDefault deepseq HUnit lens mtl QuickCheck
+    quickcheckAssertions random smallcheck stringQq terminfo
+    testFramework testFrameworkHunit testFrameworkSmallcheck text
+    utf8String vector
+  ];
+  jailbreak = true;
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/coreyoconnor/vty";
+    description = "A simple terminal UI library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ 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 ef91a8726874..66d45f059129 100644
--- a/pkgs/development/libraries/haskell/wai-extra/default.nix
+++ b/pkgs/development/libraries/haskell/wai-extra/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-extra";
-  version = "2.1.1.1";
-  sha256 = "1mqpy1klr4b5dvgk89hqyd8c2vg7rl0vypy3m9hxr2r4bzifkqc1";
+  version = "2.1.1.2";
+  sha256 = "000ksma1jmi7rfg2ib94baj31mcwqj2xfhkyv7lai89di0m0v6s4";
   buildDepends = [
     ansiTerminal base64Bytestring blazeBuilder blazeBuilderConduit
     caseInsensitive conduit conduitExtra dataDefault fastLogger
diff --git a/pkgs/development/libraries/haskell/wai-handler-launch/default.nix b/pkgs/development/libraries/haskell/wai-handler-launch/default.nix
index 9be534725825..9d59fd68ed61 100644
--- a/pkgs/development/libraries/haskell/wai-handler-launch/default.nix
+++ b/pkgs/development/libraries/haskell/wai-handler-launch/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-handler-launch";
-  version = "2.0.1.2";
-  sha256 = "1mcjxv4dkcc5rx1bj8zc5m2q2ifcdwhsl4x4fnrv1ir9kclzsm7q";
+  version = "2.0.1.3";
+  sha256 = "06im28x26jbzbdk9xz33kqvzblglk3b3b60qwal836hima69alsd";
   buildDepends = [
     blazeBuilder blazeBuilderConduit conduit conduitExtra httpTypes
     transformers wai warp zlibConduit
diff --git a/pkgs/development/libraries/haskell/wai-middleware-static/default.nix b/pkgs/development/libraries/haskell/wai-middleware-static/default.nix
index 8c0540ee1014..18b251a8aedb 100644
--- a/pkgs/development/libraries/haskell/wai-middleware-static/default.nix
+++ b/pkgs/development/libraries/haskell/wai-middleware-static/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-middleware-static";
-  version = "0.5.0.0";
-  sha256 = "0mvsm1ff7i2v09gchkc60r8klin1lb0w690m2kwhf9q6y7fxphdf";
+  version = "0.5.0.1";
+  sha256 = "1pwyy6lsvi7kaxf6x3ghy5013yq4ryjp01c4rrd4isx4jh1ynl31";
   buildDepends = [ filepath httpTypes mtl text wai ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/wai-test/default.nix b/pkgs/development/libraries/haskell/wai-test/default.nix
index 6f9760054664..b15aa1070ba5 100644
--- a/pkgs/development/libraries/haskell/wai-test/default.nix
+++ b/pkgs/development/libraries/haskell/wai-test/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-test";
-  version = "2.0.1.2";
-  sha256 = "11mkzh5wlfhdrwzqhsbcl3qnbawmks4vxr1vv0s2ny50q5na41ln";
+  version = "2.0.1.3";
+  sha256 = "18j77l2n41941f95awj6fj0w712628v5lsc3bif00cqnaixjmz48";
   buildDepends = [
     blazeBuilder blazeBuilderConduit caseInsensitive conduit
     conduitExtra cookie deepseq httpTypes network text transformers wai
diff --git a/pkgs/development/libraries/haskell/wai-websockets/default.nix b/pkgs/development/libraries/haskell/wai-websockets/default.nix
index 5558f2e32ce1..5d909c7d773c 100644
--- a/pkgs/development/libraries/haskell/wai-websockets/default.nix
+++ b/pkgs/development/libraries/haskell/wai-websockets/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-websockets";
-  version = "2.1.0.1";
-  sha256 = "1ic1wgfp16j6lhypn1psmicafjavbhq5rvm32xqwkb65abhpg571";
+  version = "2.1.0.2";
+  sha256 = "16hff38x6fpmp4r1wkjd922s02v5na8zwy6mq5f5gsj7b70n2ww2";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/wai/default.nix b/pkgs/development/libraries/haskell/wai/default.nix
index 18c6e08c0b36..540df207241d 100644
--- a/pkgs/development/libraries/haskell/wai/default.nix
+++ b/pkgs/development/libraries/haskell/wai/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai";
-  version = "2.1.0.2";
-  sha256 = "02hj07s3vlhbd2hds5pyksghildadjqhr8mmiyabwb7ap8iybidg";
+  version = "2.1.0.3";
+  sha256 = "0qprvk63fvb4rddg9h385xbd5sr5bcgkpx6fqlw01pjzmmrig1m3";
   buildDepends = [
     blazeBuilder conduit conduitExtra httpTypes network text
     transformers vault
diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix
index 6a41f6e5bdf6..be5dd392d16f 100644
--- a/pkgs/development/libraries/haskell/warp/default.nix
+++ b/pkgs/development/libraries/haskell/warp/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "warp";
-  version = "2.1.5.1";
-  sha256 = "1dx911y3nr2ixsn3zdp1rd97rydnvixr9chs3nmmkswzdg3qihvl";
+  version = "2.1.5.2";
+  sha256 = "0rv5fxw1d5dh6jzvs3bg2vjjr702xw59fx7mflygpqh8zivfh4ds";
   buildDepends = [
     blazeBuilder blazeBuilderConduit caseInsensitive conduit
     conduitExtra hashable httpDate httpTypes liftedBase network
diff --git a/pkgs/development/libraries/haskell/wcwidth/default.nix b/pkgs/development/libraries/haskell/wcwidth/default.nix
new file mode 100644
index 000000000000..0307642f62ba
--- /dev/null
+++ b/pkgs/development/libraries/haskell/wcwidth/default.nix
@@ -0,0 +1,16 @@
+{ cabal, attoparsec, setlocale, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "wcwidth";
+  version = "0.0.2";
+  sha256 = "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ attoparsec setlocale utf8String ];
+  meta = {
+    homepage = "http://github.com/solidsnack/wcwidth/";
+    description = "Native wcwidth";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/websockets/default.nix b/pkgs/development/libraries/haskell/websockets/default.nix
index 774b17140e19..9e22d0cab185 100644
--- a/pkgs/development/libraries/haskell/websockets/default.nix
+++ b/pkgs/development/libraries/haskell/websockets/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "websockets";
-  version = "0.8.2.2";
-  sha256 = "16q4znki5f4133cgwcs8wqgx6ljl8x59khrsdsi646nclb3lyl0a";
+  version = "0.8.2.3";
+  sha256 = "0j4lm5hkipd4q6kizrjy1cjdw2b0588m4k6fh50ss5qnqw9rkjkd";
   buildDepends = [
     attoparsec base64Bytestring binary blazeBuilder caseInsensitive
     entropy ioStreams mtl network random SHA text
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix b/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix
index ae01992db975..d404099bf53f 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wxcore.nix
@@ -8,6 +8,9 @@ cabal.mkDerivation (self: {
   sha256 = "1ma6vjf87b493vz3sj6hxzifqixk62n6b5gvixpfzfig1lysddgp";
   buildDepends = [ filepath parsec stm time wxc wxdirect ];
   extraLibraries = [ libX11 mesa wxGTK ];
+  patchPhase = ''
+    sed -i -e 's|array >= .*,|array,|' wxcore.cabal
+  '';
   meta = {
     homepage = "http://haskell.org/haskellwiki/WxHaskell";
     description = "wxHaskell core";
diff --git a/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix b/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix
index 63bc82d6f67b..b369fe407dad 100644
--- a/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix
+++ b/pkgs/development/libraries/haskell/wxHaskell/wxdirect.nix
@@ -7,6 +7,7 @@ cabal.mkDerivation (self: {
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ filepath parsec strict time ];
+  jailbreak = true;
   meta = {
     homepage = "http://haskell.org/haskellwiki/WxHaskell";
     description = "helper tool for building wxHaskell";
diff --git a/pkgs/development/libraries/haskell/xdot/default.nix b/pkgs/development/libraries/haskell/xdot/default.nix
index 700a838f894d..78a9d921ff6c 100644
--- a/pkgs/development/libraries/haskell/xdot/default.nix
+++ b/pkgs/development/libraries/haskell/xdot/default.nix
@@ -2,9 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "xdot";
-  version = "0.2.4.2";
-  sha256 = "0a5wmwcl3akw1n9xgdhvlrbvphvy9s528daax28137ixaphvrl0f";
+  version = "0.2.4.3";
+  sha256 = "0p6y3ng8nwi8sksy0881bs331asi73x816zd5v7qlg4v719s8jxg";
   buildDepends = [ cairo graphviz gtk mtl polyparse text ];
+  jailbreak = true;
   meta = {
     description = "Parse Graphviz xdot files and interactively view them using GTK and Cairo";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/xml-conduit/default.nix b/pkgs/development/libraries/haskell/xml-conduit/default.nix
index d31f1d0e70d7..4f3e7fcebb7a 100644
--- a/pkgs/development/libraries/haskell/xml-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/xml-conduit/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xml-conduit";
-  version = "1.2.0.1";
-  sha256 = "0ry3h1csblssv2x8b63hvl2gqc0wyzyqbvp6iyisrk77wkz72jw9";
+  version = "1.2.0.2";
+  sha256 = "1kcrhyri4knkp1x9zn99qklkj4nd47gwdfy6q0pwdz7cgjskps1z";
   buildDepends = [
     attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit
     blazeHtml blazeMarkup conduit conduitExtra dataDefault deepseq
diff --git a/pkgs/development/libraries/haskell/xmlgen/default.nix b/pkgs/development/libraries/haskell/xmlgen/default.nix
index 6bc1a4b6f598..c466ddb1d55c 100644
--- a/pkgs/development/libraries/haskell/xmlgen/default.nix
+++ b/pkgs/development/libraries/haskell/xmlgen/default.nix
@@ -7,6 +7,7 @@ cabal.mkDerivation (self: {
   sha256 = "1rmsg9wxs0bsj0xpagxrm3fmlqd63b0dfyc21rx9jj76g9za29wh";
   buildDepends = [ blazeBuilder mtl text ];
   testDepends = [ filepath HUnit hxt QuickCheck text ];
+  doCheck = false;
   meta = {
     description = "Fast XML generation library";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix
index edbd5afe20bf..502a11e81251 100644
--- a/pkgs/development/libraries/haskell/yaml/default.nix
+++ b/pkgs/development/libraries/haskell/yaml/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yaml";
-  version = "0.8.8.2";
-  sha256 = "0dqn5pzk3bh9pprnlp9ggmjdwbb1j9yyd6ihq7vwky5g4yrqbl8m";
+  version = "0.8.8.3";
+  sha256 = "031d1wx31mw9lw0swlcf1xfzdixaq6wmglhzaj9sixhid0r2isvf";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/yap/default.nix b/pkgs/development/libraries/haskell/yap/default.nix
index ab162988c958..e21948de9748 100644
--- a/pkgs/development/libraries/haskell/yap/default.nix
+++ b/pkgs/development/libraries/haskell/yap/default.nix
@@ -4,6 +4,7 @@ cabal.mkDerivation (self: {
   pname = "yap";
   version = "0.2";
   sha256 = "14lq549jhgnf51pgy1jv31ik8qx71yl7d53w8dpq1f9mlsn1g16i";
+  jailbreak = true;
   meta = {
     description = "yet another prelude - a simplistic refactoring with algebraic classes";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix
index 182e6bcf5b27..a54c714e979a 100644
--- a/pkgs/development/libraries/haskell/yesod-auth/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix
@@ -1,23 +1,25 @@
-{ cabal, aeson, authenticate, base16Bytestring, blazeHtml
-, blazeMarkup, cryptohash, dataDefault, emailValidate, fileEmbed
-, hamlet, httpConduit, httpTypes, liftedBase, mimeMail, network
-, persistent, persistentTemplate, pwstoreFast, random, resourcet
-, safe, shakespeare, shakespeareCss, shakespeareJs, text, time
-, transformers, unorderedContainers, wai, yesodCore, yesodForm
-, yesodPersistent
+{ cabal, aeson, attoparsecConduit, authenticate, base16Bytestring
+, base64Bytestring, binary, blazeBuilder, blazeHtml, blazeMarkup
+, byteable, conduit, conduitExtra, cryptohash, dataDefault
+, emailValidate, fileEmbed, hamlet, httpClient, httpConduit
+, httpTypes, liftedBase, mimeMail, network, persistent
+, persistentTemplate, random, resourcet, safe, shakespeare
+, shakespeareCss, shakespeareJs, text, time, transformers
+, unorderedContainers, wai, yesodCore, yesodForm, yesodPersistent
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-auth";
-  version = "1.3.0.4";
-  sha256 = "0r4xhr9xg6n3jxpj3mrcaf4mgzz8h4is772k84sgnir5my9lrsr7";
+  version = "1.3.1";
+  sha256 = "1fv5z938rpiyhkl4zjb2ss496bgqvdvn7di5im089zmxvx1m81lz";
   buildDepends = [
-    aeson authenticate base16Bytestring blazeHtml blazeMarkup
-    cryptohash dataDefault emailValidate fileEmbed hamlet httpConduit
-    httpTypes liftedBase mimeMail network persistent persistentTemplate
-    pwstoreFast random resourcet safe shakespeare shakespeareCss
-    shakespeareJs text time transformers unorderedContainers wai
-    yesodCore yesodForm yesodPersistent
+    aeson attoparsecConduit authenticate base16Bytestring
+    base64Bytestring binary blazeBuilder blazeHtml blazeMarkup byteable
+    conduit conduitExtra cryptohash dataDefault emailValidate fileEmbed
+    hamlet httpClient httpConduit httpTypes liftedBase mimeMail network
+    persistent persistentTemplate random resourcet safe shakespeare
+    shakespeareCss shakespeareJs text time transformers
+    unorderedContainers wai yesodCore yesodForm yesodPersistent
   ];
   meta = {
     homepage = "http://www.yesodweb.com/";
diff --git a/pkgs/development/libraries/haskell/yesod-bin/default.nix b/pkgs/development/libraries/haskell/yesod-bin/default.nix
index 0b64573d0ae7..3bca09f4fb6b 100644
--- a/pkgs/development/libraries/haskell/yesod-bin/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-bin/default.nix
@@ -10,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-bin";
-  version = "1.2.9.1";
-  sha256 = "0x7r960sq6r3lds0sgjvrp8z6b275iggr0isny0b6rz5ynwd6bcz";
+  version = "1.2.9.4";
+  sha256 = "0ir77hmg3avkm4x7pgmjx3fijisncpwklg4v1glqx4vqbjjrzk5g";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix
index 433b39852694..ae63f4dbc16b 100644
--- a/pkgs/development/libraries/haskell/yesod-core/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-core/default.nix
@@ -11,8 +11,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-core";
-  version = "1.2.15.1";
-  sha256 = "0xvfkplxsvacwkmplhzdyqk028yqkj1bql5x6qsizvj60fwsnnyk";
+  version = "1.2.15.2";
+  sha256 = "1k5dqcfpwqac81p9w2i1kz5pcvr21ibia5kh441811bdzlpwsiwq";
   buildDepends = [
     aeson attoparsecConduit blazeBuilder blazeHtml blazeMarkup
     caseInsensitive cereal clientsession conduit conduitExtra cookie
diff --git a/pkgs/development/libraries/haskell/yesod-form/default.nix b/pkgs/development/libraries/haskell/yesod-form/default.nix
index a38751f9340a..add7d94bac42 100644
--- a/pkgs/development/libraries/haskell/yesod-form/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-form/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-form";
-  version = "1.3.8.3";
-  sha256 = "0fw2hza78z3cv2d9laawi60vjd9msk7a6im3wsq3vbbfh6rh5br9";
+  version = "1.3.9.1";
+  sha256 = "1iw2vcdvp77vz3az9g9y4nk29g098fa9lvqzc7hwypvdawgwpgwm";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeHtml blazeMarkup byteable
     dataDefault emailValidate hamlet network persistent resourcet
diff --git a/pkgs/development/libraries/haskell/yesod-test/default.nix b/pkgs/development/libraries/haskell/yesod-test/default.nix
index a70490320e05..292941c01717 100644
--- a/pkgs/development/libraries/haskell/yesod-test/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-test/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-test";
-  version = "1.2.1.5";
-  sha256 = "0ylm6zisz6l2rbn5dr8k0rxszgg1aa1w4ixpvai1xm6y8m17cy0i";
+  version = "1.2.2";
+  sha256 = "1vf5g83mj2a38f34llg6wa63whj13p0vgbzfvi3ic5j7qy5gb8g5";
   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 a3416cf59c6d..630b04af26b9 100644
--- a/pkgs/development/libraries/haskell/yesod/default.nix
+++ b/pkgs/development/libraries/haskell/yesod/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod";
-  version = "1.2.5.2";
-  sha256 = "0vvpzyfwzgnnd8h60pqz5z1474isp487p43vx7cyzhj423c50p6r";
+  version = "1.2.5.3";
+  sha256 = "1w9bbvinnbnhrajjqj6yhy9dgggdf6n98x04dys45anssiwrd2ss";
   buildDepends = [
     aeson blazeHtml blazeMarkup conduitExtra dataDefault fastLogger
     hamlet monadControl monadLogger networkConduit safe shakespeare
diff --git a/pkgs/development/libraries/haskell/yst/default.nix b/pkgs/development/libraries/haskell/yst/default.nix
index ee9bb33cdba9..8b381bd214e4 100644
--- a/pkgs/development/libraries/haskell/yst/default.nix
+++ b/pkgs/development/libraries/haskell/yst/default.nix
@@ -1,17 +1,17 @@
 { cabal, aeson, csv, filepath, HDBC, HDBCSqlite3, HStringTemplate
-, pandoc, parsec, split, text, time, unorderedContainers, xhtml
-, yaml
+, pandoc, parsec, scientific, split, text, time
+, unorderedContainers, xhtml, yaml
 }:
 
 cabal.mkDerivation (self: {
   pname = "yst";
-  version = "0.4.0.1";
-  sha256 = "0j260lvprgsi9qgjwji2cc25k0dzrw94h2527rwghik8baa1ha3r";
+  version = "0.4.1";
+  sha256 = "199awgpxn9131a7ijxvvbc4mi1yasnllbpj77k27brx00j87v3nq";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
     aeson csv filepath HDBC HDBCSqlite3 HStringTemplate pandoc parsec
-    split text time unorderedContainers xhtml yaml
+    scientific split text time unorderedContainers xhtml yaml
   ];
   meta = {
     homepage = "http://github.com/jgm/yst";
diff --git a/pkgs/development/libraries/haskell/zip-archive/default.nix b/pkgs/development/libraries/haskell/zip-archive/0.2.2.1.nix
index 44a14259b40b..44a14259b40b 100644
--- a/pkgs/development/libraries/haskell/zip-archive/default.nix
+++ b/pkgs/development/libraries/haskell/zip-archive/0.2.2.1.nix
diff --git a/pkgs/development/libraries/haskell/zip-archive/0.2.3.2.nix b/pkgs/development/libraries/haskell/zip-archive/0.2.3.2.nix
new file mode 100644
index 000000000000..f1a36feda904
--- /dev/null
+++ b/pkgs/development/libraries/haskell/zip-archive/0.2.3.2.nix
@@ -0,0 +1,19 @@
+{ cabal, binary, digest, filepath, HUnit, mtl, text, time, zlib }:
+
+cabal.mkDerivation (self: {
+  pname = "zip-archive";
+  version = "0.2.3.2";
+  sha256 = "1y69sk6jyw1klgpl6bcamq1i9wy1536hz9x4s9b8n375sbhj10f1";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ binary digest filepath mtl text time zlib ];
+  testDepends = [ HUnit time ];
+  doCheck = false;
+  meta = {
+    homepage = "http://github.com/jgm/zip-archive";
+    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/zlib-enum/default.nix b/pkgs/development/libraries/haskell/zlib-enum/default.nix
index f799194c0f69..7dc700b3532f 100644
--- a/pkgs/development/libraries/haskell/zlib-enum/default.nix
+++ b/pkgs/development/libraries/haskell/zlib-enum/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "zlib-enum";
-  version = "0.2.3";
-  sha256 = "0lr72h4wlclav0p0j5wwaxifq97lw7rh3612lva73fg45akl9di1";
+  version = "0.2.3.1";
+  sha256 = "1nfczminxafzk69ry1sqkj1ha0jlv3l9ak10yk205snfhpmcjgg4";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ enumerator transformers zlibBindings ];
diff --git a/pkgs/development/libraries/icu/default.nix b/pkgs/development/libraries/icu/default.nix
index b2f2f7a083f6..12628e4c53db 100644
--- a/pkgs/development/libraries/icu/default.nix
+++ b/pkgs/development/libraries/icu/default.nix
@@ -26,6 +26,10 @@ stdenv.mkDerivation {
     echo Source root reset to ''${sourceRoot}
   '';
 
+  preConfigure = ''
+    sed -i -e "s|/bin/sh|${stdenv.shell}|" configure
+  '';
+
   configureFlags = "--disable-debug";
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix
index 255c5f1ccba4..7a45ca0f2272 100644
--- a/pkgs/development/libraries/json-glib/default.nix
+++ b/pkgs/development/libraries/json-glib/default.nix
@@ -5,11 +5,11 @@ stdenv.mkDerivation rec {
 
   src = fetchurlGnome {
     project = "json-glib";
-    major = "0";
-    minor = "16";
-    patchlevel = "2";
+    major = "1";
+    minor = "0";
+    patchlevel = "0";
     extension = "xz";
-    sha256 = "0b22yw0n87mg7a5lkqw1d7xqnm8qj1bwy0wklv9b2yn29qv7am59";
+    sha256 = "dbf558d2da989ab84a27e4e13daa51ceaa97eb959c2c2f80976c9322a8f4cdde";
   };
 
   configureflags= "--with-introspection" ; 
@@ -17,8 +17,10 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ glib gobjectIntrospection ];
   nativeBuildInputs = [ pkgconfig ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://live.gnome.org/JsonGlib;
     description = "A library providing (de)serialization support for the JavaScript Object Notation (JSON) format";
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ lethalman ];
   };
 }
diff --git a/pkgs/development/libraries/lensfun/default.nix b/pkgs/development/libraries/lensfun/default.nix
index 14e220005378..97dda155dc19 100644
--- a/pkgs/development/libraries/lensfun/default.nix
+++ b/pkgs/development/libraries/lensfun/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "lensfun-0.2.7";
 
   src = fetchurl {
-    url = "http://download.berlios.de/lensfun/${name}.tar.bz2";
+    url = "mirror://sourceforge/lensfun/${name}.tar.bz2";
     sha256 = "0xv4h219zn0ldhhjnjc1q2bgpbfqzpd4b31gf9yyrwbapm3hgprx";
   };
 
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.urkud ];
     license = "LGPL3";
     description = "An opensource database of photographic lenses and their characteristics";
+    homepage = http://lensfun.sourceforge.net/;
   };
 }
diff --git a/pkgs/development/libraries/leveldb/default.nix b/pkgs/development/libraries/leveldb/default.nix
index 7c990e99c33c..64c03798fea2 100644
--- a/pkgs/development/libraries/leveldb/default.nix
+++ b/pkgs/development/libraries/leveldb/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "leveldb-1.9.0";
+  name = "leveldb-1.15.0";
 
   src = fetchurl {
     url = "https://leveldb.googlecode.com/files/${name}.tar.gz";
-    sha256 = "b2699b04e5aba8e98382c4955b94725d1f76bd0b5decd60c5628205b717a1d4f";
+    sha256 = "10363j8qmlyh971ipb7fmgk9b97bl5267c0xyccrgvpj3rbyri6p";
   };
 
   buildPhase = "make all db_bench";
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index a6b552613ccf..b21f530478a3 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -26,8 +26,9 @@ with { inherit (stdenv.lib) optional optionals; };
 
 let
   result = {
-    libav_9   = libavFun  "9.12"  "1wm0nf12c1p138y54jh71mvbpikrpk43zc9m2qhpjm9pgnagizk0";
-    libav_0_8 = libavFun "0.8.11" "0nhm0mzz2aj78sgmw9xf20a1mlgig78cv1nyhx4zrq7nvgqf8d2r";
+    libav_0_8 = libavFun "0.8.12" "0069zv9s0f4silzdyjac87g7a89jhh27sadd1zcr9xngxbvd93fr";
+    libav_9   = libavFun   "9.13" "1jp6vlza5srks1scgl000x9y1y0l88inrcby4yxv6n92rpv5vw1g";
+    libav_10  = libavFun  "10.1"  "05cy1yq9rxarajs9gfdhkji8gmcpar125xi8lrx4cfplmp4lvq6m";
   };
 
   libavFun = version : sha256 : stdenv.mkDerivation rec {
diff --git a/pkgs/development/libraries/libbluray/A01-filter-dup.patch b/pkgs/development/libraries/libbluray/A01-filter-dup.patch
new file mode 100644
index 000000000000..608f8dd1b49e
--- /dev/null
+++ b/pkgs/development/libraries/libbluray/A01-filter-dup.patch
@@ -0,0 +1,80 @@
+diff --git a/src/libbluray/bdnav/navigation.c b/src/libbluray/bdnav/navigation.c
+index c8dc307..26d0000 100644
+--- a/src/libbluray/bdnav/navigation.c
++++ b/src/libbluray/bdnav/navigation.c
+@@ -32,9 +32,25 @@
+ #include <stdlib.h>
+ #include <string.h>
+ 
++static int _stream_cmp(MPLS_STREAM *a, MPLS_STREAM *b)
++{
++    if (a->stream_type == b->stream_type &&
++        a->coding_type == b->coding_type &&
++        a->pid         == b->pid         &&
++        a->subpath_id  == b->subpath_id  &&
++        a->subclip_id  == b->subclip_id  &&
++        a->format      == b->format      &&
++        a->rate        == b->rate        &&
++        a->char_code   == b->char_code   &&
++        memcmp(a->lang, b->lang, 4) == 0) {
++        return 1;
++    }
++    return 0;
++}
++
+ static int _filter_dup(MPLS_PL *pl_list[], unsigned count, MPLS_PL *pl)
+ {
+-    unsigned ii, jj;
++    unsigned ii, jj, kk;
+ 
+     for (ii = 0; ii < count; ii++) {
+         if (pl->list_count != pl_list[ii]->list_count) {
+@@ -54,7 +70,48 @@ static int _filter_dup(MPLS_PL *pl_list[], unsigned count, MPLS_PL *pl)
+                 pi1->out_time != pi2->out_time) {
+                 break;
+             }
++            if (pi1->stn.num_video           != pi2->stn.num_video           ||
++                pi1->stn.num_audio           != pi2->stn.num_audio           ||
++                pi1->stn.num_pg              != pi2->stn.num_pg              || 
++                pi1->stn.num_ig              != pi2->stn.num_ig              ||
++                pi1->stn.num_secondary_audio != pi2->stn.num_secondary_audio ||
++                pi1->stn.num_secondary_video != pi2->stn.num_secondary_video) {
++                break;
++            }
++            for (kk = 0; kk < pi1->stn.num_video; kk++) {
++                if (!_stream_cmp(&pi1->stn.video[kk], &pi2->stn.video[kk])) {
++                    goto next;
++                }
++            }
++            for (kk = 0; kk < pi1->stn.num_audio; kk++) {
++                if (!_stream_cmp(&pi1->stn.audio[kk], &pi2->stn.audio[kk])) {
++                    goto next;
++                }
++            }
++            for (kk = 0; kk < pi1->stn.num_pg; kk++) {
++                if (!_stream_cmp(&pi1->stn.pg[kk], &pi2->stn.pg[kk])) {
++                    goto next;
++                }
++            }
++            for (kk = 0; kk < pi1->stn.num_ig; kk++) {
++                if (!_stream_cmp(&pi1->stn.ig[kk], &pi2->stn.ig[kk])) {
++                    goto next;
++                }
++            }
++            for (kk = 0; kk < pi1->stn.num_secondary_audio; kk++) {
++                if (!_stream_cmp(&pi1->stn.secondary_audio[kk],
++                                 &pi2->stn.secondary_audio[kk])) {
++                    goto next;
++                }
++            }
++            for (kk = 0; kk < pi1->stn.num_secondary_video; kk++) {
++                if (!_stream_cmp(&pi1->stn.secondary_video[kk],
++                                 &pi2->stn.secondary_video[kk])) {
++                    goto next;
++                }
++            }
+         }
++next:
+         if (jj != pl->list_count) {
+             continue;
+         }
diff --git a/pkgs/development/libraries/libbluray/default.nix b/pkgs/development/libraries/libbluray/default.nix
index 6c139242f3e7..f0eea80e89d2 100644
--- a/pkgs/development/libraries/libbluray/default.nix
+++ b/pkgs/development/libraries/libbluray/default.nix
@@ -11,7 +11,7 @@ let baseName = "libbluray";
 in
 
 stdenv.mkDerivation {
-  name = "${baseName}-${version}";
+  name = "${baseName}-${version}p1";
 
   src = fetchgit {
     url = git://git.videolan.org/libbluray.git;
@@ -26,6 +26,9 @@ stdenv.mkDerivation {
   preConfigure = "./bootstrap";
   configureFlags = ["--disable-static"] ++ stdenv.lib.optionals withAACS ["--enable-bdjava" "--with-jdk=${jdk}"];
 
+  # From Handbrake
+  patches = [ ./A01-filter-dup.patch ];
+
   meta = {
     homepage = http://www.videolan.org/developers/libbluray.html;
     description = "Library to access Blu-Ray disks for video playback";
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index c895f141850f..69d09fe9fae4 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
     description = "Library for accessing the kernel's Direct Rendering Manager";
     license = "bsd";
     maintainers = [ stdenv.lib.maintainers.urkud ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch b/pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch
new file mode 100644
index 000000000000..c0991b43555a
--- /dev/null
+++ b/pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch
@@ -0,0 +1,137 @@
+Index: src/dvdnav.c
+===================================================================
+--- libdvdnav.orig/src/dvdnav.c	(revision 1168)
++++ libdvdnav/src/dvdnav.c	(working copy)
+@@ -71,6 +71,67 @@
+   return DVDNAV_STATUS_OK;
+ }
+ 
++dvdnav_status_t dvdnav_dup(dvdnav_t **dest, dvdnav_t *src) {
++  dvdnav_t *this;
++
++  (*dest) = NULL;
++  this = (dvdnav_t*)malloc(sizeof(dvdnav_t));
++  if(!this)
++    return DVDNAV_STATUS_ERR;
++
++  memcpy(this, src, sizeof(dvdnav_t));
++  this->file = NULL;
++
++  pthread_mutex_init(&this->vm_lock, NULL);
++
++  this->vm = vm_new_copy(src->vm);
++  if(!this->vm) {
++    printerr("Error initialising the DVD VM.");
++    pthread_mutex_destroy(&this->vm_lock);
++    free(this);
++    return DVDNAV_STATUS_ERR;
++  }
++
++  /* Start the read-ahead cache. */
++  this->cache = dvdnav_read_cache_new(this);
++
++  (*dest) = this;
++  return DVDNAV_STATUS_OK;
++}
++
++dvdnav_status_t dvdnav_free_dup(dvdnav_t *this) {
++
++#ifdef LOG_DEBUG
++  fprintf(MSG_OUT, "libdvdnav: free_dup:called\n");
++#endif
++
++  if (this->file) {
++    pthread_mutex_lock(&this->vm_lock);
++    DVDCloseFile(this->file);
++#ifdef LOG_DEBUG
++    fprintf(MSG_OUT, "libdvdnav: close:file closing\n");
++#endif
++    this->file = NULL;
++    pthread_mutex_unlock(&this->vm_lock);
++  }
++
++  /* Free the VM */
++  if(this->vm)
++    vm_free_copy(this->vm);
++
++  pthread_mutex_destroy(&this->vm_lock);
++
++  /* We leave the final freeing of the entire structure to the cache,
++   * because we don't know, if there are still buffers out in the wild,
++   * that must return first. */
++  if(this->cache)
++    dvdnav_read_cache_free(this->cache);
++  else
++    free(this);
++
++  return DVDNAV_STATUS_OK;
++}
++
+ dvdnav_status_t dvdnav_open(dvdnav_t** dest, const char *path) {
+   dvdnav_t *this;
+   struct timeval time;
+Index: src/dvdnav/dvdnav.h
+===================================================================
+--- libdvdnav.orig/src/dvdnav/dvdnav.h	(revision 1168)
++++ libdvdnav/src/dvdnav.h	(working copy)
+@@ -89,6 +89,9 @@
+  */
+ dvdnav_status_t dvdnav_open(dvdnav_t **dest, const char *path);
+ 
++dvdnav_status_t dvdnav_dup(dvdnav_t **dest, dvdnav_t *src);
++dvdnav_status_t dvdnav_free_dup(dvdnav_t *this);
++
+ /*
+  * Closes a dvdnav_t previously opened with dvdnav_open(), freeing any
+  * memory associated with it.
+Index: src/vm/vm.c
+===================================================================
+--- libdvdnav.orig/src/vm/vm.c	(revision 1168)
++++ libdvdnav/src/vm/vm.c	(working copy)
+@@ -96,6 +98,7 @@
+ 
+ static pgcit_t* get_MENU_PGCIT(vm_t *vm, ifo_handle_t *h, uint16_t lang);
+ static pgcit_t* get_PGCIT(vm_t *vm);
++static void vm_close(vm_t *vm);
+ 
+ 
+ /* Helper functions */
+@@ -262,7 +265,7 @@
+ }
+ 
+ void vm_free_vm(vm_t *vm) {
+-  vm_stop(vm);
++  vm_close(vm);
+   free(vm);
+ }
+ 
+@@ -289,12 +292,20 @@
+ 
+ int vm_start(vm_t *vm) {
+   /* Set pgc to FP (First Play) pgc */
++  if (vm->stopped) {
++    vm_reset(vm, NULL);
++    vm->stopped = 0;
++  }
+   set_FP_PGC(vm);
+   process_command(vm, play_PGC(vm));
+   return !vm->stopped;
+ }
+ 
+ void vm_stop(vm_t *vm) {
++  vm->stopped = 1;
++}
++
++static void vm_close(vm_t *vm) {
+   if(vm->vmgi) {
+     ifoClose(vm->vmgi);
+     vm->vmgi=NULL;
+@@ -346,7 +357,7 @@
+ 
+   if (vm->dvd && dvdroot) {
+     /* a new dvd device has been requested */
+-    vm_stop(vm);
++    vm_close(vm);
+   }
+   if (!vm->dvd) {
+     vm->dvd = DVDOpen(dvdroot);
diff --git a/pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch b/pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch
new file mode 100644
index 000000000000..0e0618617359
--- /dev/null
+++ b/pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch
@@ -0,0 +1,21 @@
+diff -Naur libdvdnav.orig/Makefile.am libdvdnav/Makefile.am
+--- libdvdnav.orig/Makefile.am	2008-10-03 16:11:46.000000000 -0400
++++ libdvdnav/Makefile.am	2009-04-24 02:53:15.000000000 -0400
+@@ -1,7 +1,7 @@
+ include $(top_srcdir)/misc/Makefile.common
+ 
+ 
+-SUBDIRS = src examples doc misc m4
++SUBDIRS = src doc misc m4
+ 
+ EXTRA_DIST = autogen.sh \
+ 	     AUTHORS \
+diff -Naur libdvdnav.orig/configure.ac libdvdnav/configure.ac
+--- libdvdnav.orig/configure.ac	2009-01-08 17:57:11.000000000 -0500
++++ libdvdnav/configure.ac	2009-04-24 02:52:34.000000000 -0400
+@@ -252,5 +252,4 @@
+ misc/relchk.sh
+ m4/Makefile
+ doc/Makefile
+-examples/Makefile
+ ])
diff --git a/pkgs/development/libraries/libdvdnav/default.nix b/pkgs/development/libraries/libdvdnav/default.nix
index 4ba938911a41..9b4e912772b5 100644
--- a/pkgs/development/libraries/libdvdnav/default.nix
+++ b/pkgs/development/libraries/libdvdnav/default.nix
@@ -1,13 +1,14 @@
-{stdenv, fetchurl, libdvdread}:
+{stdenv, fetchurl, pkgconfig, libdvdread}:
 
 stdenv.mkDerivation {
-  name = "libdvdnav-4.1.3";
+  name = "libdvdnav-4.2.1";
   
   src = fetchurl {
-    url = http://www2.mplayerhq.hu/MPlayer/releases/dvdnav/libdvdnav-4.1.3.tar.bz2;
-    sha1 = "d1b95eb8a7caee1fa7580a1abad84d6cb3cad046";
+    url = http://dvdnav.mplayerhq.hu/releases/libdvdnav-4.2.1.tar.xz;
+    sha256 = "7fca272ecc3241b6de41bbbf7ac9a303ba25cb9e0c82aa23901d3104887f2372";
   };
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [libdvdread];
 
   configureScript = "./configure2"; # wtf?
@@ -16,9 +17,14 @@ stdenv.mkDerivation {
     mkdir -p $out
   '';
 
+  # From Handbrake
+  patches = [ ./A08-dvdnav-dup.patch ./P00-mingw-no-examples.patch ];
+
   meta = {
-    homepage = http://www.mplayerhq.hu/;
+    homepage = http://dvdnav.mplayerhq.hu/;
     description = "A library that implements DVD navigation features such as DVD menus";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.wmertens ];
   };
 
   passthru = { inherit libdvdread; };
diff --git a/pkgs/development/libraries/libdvdread/default.nix b/pkgs/development/libraries/libdvdread/default.nix
index 2593274d89bb..eb5a48a99f12 100644
--- a/pkgs/development/libraries/libdvdread/default.nix
+++ b/pkgs/development/libraries/libdvdread/default.nix
@@ -1,29 +1,25 @@
 {stdenv, fetchurl, libdvdcss}:
 
 stdenv.mkDerivation {
-  name = "libdvdread-4.2.1";
+  name = "libdvdread-4.9.9";
   
   src = fetchurl {
-    url = http://dvdnav.mplayerhq.hu/releases/libdvdread-4.2.1.tar.xz;
-    sha256 = "af9b98f049580a6521d56c978b736d3d609562dd12955e11d50e26d97542dcd4";
+    url = http://dvdnav.mplayerhq.hu/releases/libdvdread-4.9.9.tar.xz;
+    sha256 = "d91275471ef69d488b05cf15c60e1cd65e17648bfc692b405787419f47ca424a";
   };
 
   buildInputs = [libdvdcss];
 
   NIX_LDFLAGS = "-ldvdcss";
 
-  configureScript = "./configure2"; # wtf?
-
-  preConfigure = ''
-    mkdir -p $out
-  '';
-
   postInstall = ''
     ln -s dvdread $out/include/libdvdread
   '';
 
   meta = {
-    homepage = http://www.mplayerhq.hu/;
+    homepage = http://dvdnav.mplayerhq.hu/;
     description = "A library for reading DVDs";
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.wmertens ];
   };
 }
diff --git a/pkgs/development/libraries/libftdi/1.x.nix b/pkgs/development/libraries/libftdi/1.x.nix
new file mode 100644
index 000000000000..273bdb3136e0
--- /dev/null
+++ b/pkgs/development/libraries/libftdi/1.x.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, cmake, pkgconfig, libusb1, confuse
+, cppSupport ? true, boost ? null
+, pythonSupport ? true, python ? null, swig ? null
+, docSupport ? true, doxygen ? null
+}:
+
+assert cppSupport -> boost != null;
+assert pythonSupport -> python != null && swig != null;
+assert docSupport -> doxygen != null;
+
+stdenv.mkDerivation rec {
+  name = "libftdi1-1.1";
+  
+  src = fetchurl {
+    url = "http://www.intra2net.com/en/developer/libftdi/download/${name}.tar.bz2";
+    sha256 = "088yh8pxd6q53ssqndydcw1dkq51cjqyahc03lm6iip22cdazcf0";
+  };
+
+  buildInputs = with stdenv.lib; [ cmake pkgconfig confuse ]
+    ++ optionals cppSupport [ boost ]
+    ++ optionals pythonSupport [ python swig ]
+    ++ optionals docSupport [ doxygen ];
+
+  propagatedBuildInputs = [ libusb1 ];
+
+  postInstall = ''
+    mkdir -p "$out/etc/udev/rules.d/"
+    cp ../packages/99-libftdi.rules "$out/etc/udev/rules.d/"
+    cp -r doc/man "$out/share/"
+  '' + stdenv.lib.optionalString docSupport ''
+    mkdir -p "$out/share/libftdi/doc/"
+    cp -r doc/html "$out/share/libftdi/doc/"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A library to talk to FTDI chips using libusb";
+    homepage = http://www.intra2net.com/en/developer/libftdi/;
+    license = with licenses; [ lgpl2 gpl2 ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/libgnurl/default.nix b/pkgs/development/libraries/libgnurl/default.nix
new file mode 100644
index 000000000000..f055b4f5a953
--- /dev/null
+++ b/pkgs/development/libraries/libgnurl/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "7.35.0";
+
+  name = "libgnurl-${version}";
+
+  src = fetchurl {
+    url = "https://gnunet.org/sites/default/files/gnurl-${version}.tar.bz2";
+    sha256 = "0dzj22f5z6ppjj1aq1bml64iwbzzcd8w1qy3bgpk6gnzqslsxknf";
+  };
+
+  preConfigure = ''
+    sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A fork of libcurl used by GNUnet";
+    homepage    = https://gnunet.org/gnurl;
+    maintainers = with maintainers; [ falsifian ];
+    hydraPlatforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix
index afab21bc4f09..ca8073fbe306 100644
--- a/pkgs/development/libraries/libgphoto2/default.nix
+++ b/pkgs/development/libraries/libgphoto2/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
-    sha256 = "18nd2zkgazphgkfdhf8ps7knda8vdnhrq9c02989279x2qxjsci9";
+    sha256 = "1h0bwrbc69yq561pw4fjyclwvk0g6rrj3pw6zrdx33isipi15d2z";
   };
   
   nativeBuildInputs = [ pkgconfig gettext ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
       MTP, and other vendor specific protocols for controlling and transferring data
       from digital cameras. 
     '';
-    version = "2.5.3.1";
+    version = "2.5.4";
     # XXX: the homepage claims LGPL, but several src files are lgpl21Plus
     license = stdenv.lib.licenses.lgpl21Plus; 
     platforms = with stdenv.lib.platforms; unix;
diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix
index d2237e22fceb..be1f3f2b4b96 100644
--- a/pkgs/development/libraries/libmicrohttpd/default.nix
+++ b/pkgs/development/libraries/libmicrohttpd/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, curl, libgcrypt}:
 
 stdenv.mkDerivation rec {
-  name = "libmicrohttpd-0.9.34";
+  name = "libmicrohttpd-0.9.35";
 
   src = fetchurl {
     url = "mirror://gnu/libmicrohttpd/${name}.tar.gz";
-    sha256 = "122snbhhn10s8az46f0lrkirhj0k38lq7hmqav3n1prdzpabz8i9";
+    sha256 = "1z0h6llx7pra78358ryi3bdh8p0ns0bn97n6bl0fj6cib9cz2pdw";
   };
 
   buildInputs = [ curl libgcrypt ];
diff --git a/pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch b/pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch
new file mode 100644
index 000000000000..9f863cac4122
--- /dev/null
+++ b/pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch
@@ -0,0 +1,12 @@
+diff --git a/include/libmkv.h b/include/libmkv.h
+index 146a91f..f03d608 100644
+--- a/include/libmkv.h
++++ b/include/libmkv.h
+@@ -94,6 +94,7 @@ extern "C" {
+ #define MK_SUBTITLE_USF    "S_TEXT/USF"
+ #define MK_SUBTITLE_VOBSUB "S_VOBSUB"
+ #define MK_SUBTITLE_BMP    "S_IMAGE/BMP"
++#define MK_SUBTITLE_PGS    "S_HDMV/PGS"
+ 
+ /* Official Tags */
+ #define MK_TAG_TITLE		"TITLE"
diff --git a/pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch b/pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch
new file mode 100644
index 000000000000..ea31957c1d29
--- /dev/null
+++ b/pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch
@@ -0,0 +1,28 @@
+diff --git a/include/libmkv.h b/include/libmkv.h
+index 146a91f..f03d608 100644
+--- a/include/libmkv.h
++++ b/include/libmkv.h
+@@ -203,6 +204,7 @@ struct mk_TrackConfig_s {
+ 		} video;
+ 		struct {
+ 			float samplingFreq;	/* Sampling Frequency in Hz */
++			float outputSamplingFreq;	/* Playback Sampling Frequency in Hz (e.g. for AAC w/SBR) */
+ 			unsigned channels;	/* Number of channels for this track */
+ 			unsigned bitDepth;	/* Bits per sample (PCM) */
+ 		} audio;
+diff --git a/src/tracks.c b/src/tracks.c
+index f9c7e48..a2a60ca 100644
+--- a/src/tracks.c
++++ b/src/tracks.c
+@@ -174,6 +174,11 @@ mk_Track *mk_createTrack(mk_Writer *w, mk_TrackConfig *tc)
+ 			/* SamplingFrequency */
+ 			if (mk_writeFloat(v, MATROSKA_ID_AUDIOSAMPLINGFREQ, tc->extra.audio.samplingFreq) < 0)
+ 				return NULL;
++			if (tc->extra.audio.outputSamplingFreq) {
++				/* Output SamplingFrequency */
++				if (mk_writeFloat(v, MATROSKA_ID_AUDIOOUTSAMPLINGFREQ, tc->extra.audio.outputSamplingFreq) < 0)
++					return NULL;
++			}
+ 			/* Channels */
+ 			if (mk_writeUInt(v, MATROSKA_ID_AUDIOCHANNELS, tc->extra.audio.channels) < 0)
+ 				return NULL;
diff --git a/pkgs/development/libraries/libmkv/P00-mingw-large-file.patch b/pkgs/development/libraries/libmkv/P00-mingw-large-file.patch
new file mode 100644
index 000000000000..6a83eacca83e
--- /dev/null
+++ b/pkgs/development/libraries/libmkv/P00-mingw-large-file.patch
@@ -0,0 +1,24 @@
+--- libmkv.orig/src/matroska.c	2009-01-12 23:14:26.000000000 -0800
++++ libmkv/src/matroska.c	2009-03-25 15:22:30.000000000 -0700
+@@ -27,6 +27,11 @@
+ 
+ #include <sys/time.h>
+ 
++#if defined( __MINGW32__ )
++#undef fseeko
++#define fseeko fseeko64
++#endif
++
+ #define RESERVED_SEEKHEAD 0x100
+ /* 256 bytes should be enough room for our Seek entries. */
+ #define RESERVED_CHAPTERS 0x800
+@@ -34,7 +39,7 @@
+ 
+ int mk_seekFile(mk_Writer *w, uint64_t pos)
+ {
+-	if (fseek(w->fp, pos, SEEK_SET))
++	if (fseeko(w->fp, pos, SEEK_SET))
+ 		return -1;
+ 
+ 	w->f_pos = pos;
+
diff --git a/pkgs/development/libraries/libmkv/default.nix b/pkgs/development/libraries/libmkv/default.nix
new file mode 100644
index 000000000000..c4b98d956bba
--- /dev/null
+++ b/pkgs/development/libraries/libmkv/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchgit, libtool, autoconf, automake }:
+
+stdenv.mkDerivation rec {
+  name = "libmkv-0.6.5.1p2";
+  
+  src = fetchgit {
+    url = https://github.com/saintdev/libmkv.git;
+    rev = "refs/tags/0.6.5.1";
+    sha256 = "1b0441x5rl5dbwrc0hq9jih111iil7ckqws3hcdj63jx2ma3s4hi";
+  };
+
+  nativeBuildInputs = [ libtool autoconf automake ];
+
+  # TODO fix library version
+  preConfigure = "sh bootstrap.sh";
+
+  # From Handbrake
+  patches = [
+    ./A01-hbmv-pgs.patch
+    ./A02-audio-out-sampling-freq.patch
+    ./P00-mingw-large-file.patch
+  ];
+
+  meta = {
+    homepage = https://github.com/saintdev/libmkv;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = [ stdenv.lib.maintainers.wmertens ];
+  };
+}
diff --git a/pkgs/development/libraries/libmodplug/default.nix b/pkgs/development/libraries/libmodplug/default.nix
index a45bc9fdf8d7..c1fb0033aa92 100644
--- a/pkgs/development/libraries/libmodplug/default.nix
+++ b/pkgs/development/libraries/libmodplug/default.nix
@@ -1,47 +1,20 @@
-x@{builderDefsPackage
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    [];
+{ stdenv, fetchurl }:
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="libmodplug";
-    version="0.8.8.4";
-    name="${baseName}-${version}";
-    url="mirror://sourceforge/project/modplug-xmms/${baseName}/${version}/${name}.tar.gz";
-    hash="1xv44bd84c4qi41i1wwjr6qzazx15l85yvi74sz49ldyvlyy2pjw";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+let
+  version = "0.8.8.5";
+in stdenv.mkDerivation rec {
+  name = "libmodplug-${version}";
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
-  meta = {
-    description = "Music library";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.publicDomain;
+  meta = with stdenv.lib; {
+    description = "MOD playing library";
+    homepage    = "http://modplug-xmms.sourceforge.net/";
+    license     = licenses.publicDomain;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ raskin ];
   };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://sourceforge.net/projects/modplug-xmms/files/libmodplug/";
-    };
-  };
-}) x
 
+  src = fetchurl {
+    url = "mirror://sourceforge/project/modplug-xmms/libmodplug/${version}/${name}.tar.gz";
+    sha256 = "1bfsladg7h6vnii47dd66f5vh1ir7qv12mfb8n36qiwrxq92sikp";
+  };
+}
diff --git a/pkgs/development/libraries/libmpeg2/A00-tags.patch b/pkgs/development/libraries/libmpeg2/A00-tags.patch
new file mode 100644
index 000000000000..0b5d7d7da12b
--- /dev/null
+++ b/pkgs/development/libraries/libmpeg2/A00-tags.patch
@@ -0,0 +1,27 @@
+diff -ru mpeg2dec.orig/libmpeg2/decode.c mpeg2dec/libmpeg2/decode.c
+--- mpeg2dec.orig/libmpeg2/decode.c	2008-07-09 12:16:05.000000000 -0700
++++ mpeg2dec/libmpeg2/decode.c	2009-07-03 16:29:48.000000000 -0700
+@@ -212,7 +212,7 @@
+ 
+ mpeg2_state_t mpeg2_parse_header (mpeg2dec_t * mpeg2dec)
+ {
+-    static int (* process_header[]) (mpeg2dec_t * mpeg2dec) = {
++    static int (* process_header[]) (mpeg2dec_t *) = {
+ 	mpeg2_header_picture, mpeg2_header_extension, mpeg2_header_user_data,
+ 	mpeg2_header_sequence, NULL, NULL, NULL, NULL, mpeg2_header_gop
+     };
+@@ -368,6 +368,14 @@
+ 
+ void mpeg2_tag_picture (mpeg2dec_t * mpeg2dec, uint32_t tag, uint32_t tag2)
+ {
++    if (mpeg2dec->num_tags == 0 && mpeg2dec->state == STATE_PICTURE && mpeg2dec->picture) {
++        // since tags got processed when we entered this state we
++        // have to set them directly or they'll end up on the next frame.
++        mpeg2dec->picture->tag = tag;
++        mpeg2dec->picture->tag2 = tag2;
++        mpeg2dec->picture->flags |= PIC_FLAG_TAGS;
++        return;
++    }
+     mpeg2dec->tag_previous = mpeg2dec->tag_current;
+     mpeg2dec->tag2_previous = mpeg2dec->tag2_current;
+     mpeg2dec->tag_current = tag;
diff --git a/pkgs/development/libraries/libmpeg2/default.nix b/pkgs/development/libraries/libmpeg2/default.nix
index 1d04eea89f6b..e651a932efe3 100644
--- a/pkgs/development/libraries/libmpeg2/default.nix
+++ b/pkgs/development/libraries/libmpeg2/default.nix
@@ -1,13 +1,18 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libmpeg2-0.5.1";
+  name = "libmpeg2-0.5.1p4";
   
   src = fetchurl {
     url = "http://libmpeg2.sourceforge.net/files/${name}.tar.gz";
     sha256 = "1m3i322n2fwgrvbs1yck7g5md1dbg22bhq5xdqmjpz5m7j4jxqny";
   };
 
+  # From Handbrake - Project seems unmaintained
+  patches = [
+    ./A00-tags.patch
+  ];
+
   meta = {
     homepage = http://libmpeg2.sourceforge.net/;
     description = "A free library for decoding mpeg-2 and mpeg-1 video streams";
diff --git a/pkgs/development/libraries/libmx/default.nix b/pkgs/development/libraries/libmx/default.nix
new file mode 100644
index 000000000000..ab2a2d2afddd
--- /dev/null
+++ b/pkgs/development/libraries/libmx/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, fetchurl
+, libtool, pkgconfig, automake, autoconf, intltool
+, glib, gobjectIntrospection, gtk2, gtk_doc
+, clutter, clutter_gtk
+}:
+
+stdenv.mkDerivation rec {
+  name = "libmx-${version}";
+  version = "1.4.7";
+
+  src = fetchurl {
+    url = "https://github.com/clutter-project/mx/archive/${version}.tar.gz";
+    sha256 = "8a7514ea33c1dec7251d0141e24a702e7701dc9f00348cbcf1816925b7f74dbc";
+  };
+
+  # remove the following superfluous checks
+  preConfigure = ''
+    substituteInPlace "autogen.sh" \
+      --replace '`which intltoolize`' '"x"' \
+      --replace '`which gtkdocize`' '"x"' \
+      --replace '`which autoreconf`' '"x"'
+  '';
+
+  configureFlags = [ "--enable-introspection"
+                     "--without-startup-notification"
+                     "--without-dbus"
+                     "--without-glade"
+                     "--without-clutter-imcontext"
+                     "--without-clutter-gesture"
+                   ];
+
+  configureScript = "sh autogen.sh";
+
+  buildInputs = [
+    pkgconfig automake autoconf libtool
+    intltool
+    gobjectIntrospection glib
+    gtk2 gtk_doc clutter clutter_gtk
+  ];
+
+  # patch to resolve GL errors
+  # source : https://github.com/clutter-project/mx/pull/62
+  preBuild = ''
+    sed -i 's/GLushort/gushort/g' mx/mx-deform-texture.c
+    sed -i 's/GLfloat/gfloat/g' mx/mx-texture-frame.c
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.clutter-project.org/;
+    description = "A Clutter-based toolkit";
+    longDescription =
+      ''Mx is a widget toolkit using Clutter that provides a set of standard
+        interface elements, including buttons, progress bars, scroll bars and
+        others. It also implements some standard managers. One other interesting
+        feature is the possibility setting style properties from a CSS format
+        file.'';
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/development/libraries/librevisa/default.nix b/pkgs/development/libraries/librevisa/default.nix
new file mode 100644
index 000000000000..756a53d5ee55
--- /dev/null
+++ b/pkgs/development/libraries/librevisa/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, libusb1 }:
+
+# TODO: add VXI development files, for VXI-11 (TCPIP) support
+
+stdenv.mkDerivation rec {
+  name = "librevisa-0.0.20130412";
+
+  src = fetchurl {
+    url = "http://www.librevisa.org/download/${name}.tar.gz";
+    sha256 = "0bjzq23s3xzw0l9qx4l8achrx5id8xdd6r52lvdl4a28dxzbcfhq";
+  };
+
+  buildInputs = [ pkgconfig libusb1 ];
+
+  meta = with stdenv.lib; {
+    description = "Implementation of the VISA standard (for instrument control)";
+    longDescription = ''
+      LibreVISA aims to be a compliant implementation of the VISA standard in a
+      free software library.
+
+      We currently support targets connected via USB, exposing the USBTMC
+      interface, and VXI-11 devices.
+    '';
+    homepage = http://www.librevisa.org/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/libsearpc/default.nix b/pkgs/development/libraries/libsearpc/default.nix
index 863a42b741ba..32cb7b860c4e 100644
--- a/pkgs/development/libraries/libsearpc/default.nix
+++ b/pkgs/development/libraries/libsearpc/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec
 {
-  version = "1.2.1";
-  seafileVersion = "2.1.1";
+  version = "1.2.2";
+  seafileVersion = "3.0.4";
   name = "libsearpc-${version}";
 
   src = fetchurl
   {
     url = "https://github.com/haiwen/libsearpc/archive/v${seafileVersion}.tar.gz";
-    sha256 = "c0e7cc812c642ebb1339c3701570e78ff5b8c8aa2a521e5a505e28d9666e89ec";
+    sha256 = "0s5bqqajxfzyw4km6nhhx39nyq20gv0fxlf2v6ifipvnyk14850k";
   };
 
   patches = [ ./libsearpc.pc.patch ];
@@ -29,4 +29,4 @@ stdenv.mkDerivation rec
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.calrama ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/libraries/libserialport/default.nix b/pkgs/development/libraries/libserialport/default.nix
new file mode 100644
index 000000000000..c40812beeacc
--- /dev/null
+++ b/pkgs/development/libraries/libserialport/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, pkgconfig, udev }:
+
+stdenv.mkDerivation rec {
+  name = "libserialport-0.1.0";
+
+  src = fetchurl {
+    url = "http://sigrok.org/download/source/libserialport/${name}.tar.gz";
+    sha256 = "1bqrldwrcsv6jbq3pmqczq27gdkrzpaxwplanqs25f6q9gb5p47c";
+  };
+
+  buildInputs = [ pkgconfig udev ];
+
+  meta = with stdenv.lib; {
+    description = "Cross-platform shared library for serial port access";
+    homepage = http://sigrok.org/;
+    license = licenses.gpl3Plus;
+    # Mac OS X, Windows and Android is also supported (according to upstream).
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/libvpx/default.nix b/pkgs/development/libraries/libvpx/default.nix
index aa869b4b19d8..45fc442a713f 100644
--- a/pkgs/development/libraries/libvpx/default.nix
+++ b/pkgs/development/libraries/libvpx/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, bash, yasm, which, perl}:
+{stdenv, fetchurl, bash, yasm, which, perl, binutils}:
 
 let version = "1.3.0";
 in
@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
     sed -e '/enable linux/d' -i configure
   '';
 
-  buildInputs = [ yasm which perl ];
+  buildInputs = [ yasm which perl ]
+    ++ stdenv.lib.optional stdenv.isDarwin binutils; # new asm opcode support
 
   preConfigure = ''
     mkdir -p build
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 595c044f7807..f77dc4a3711a 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -23,7 +23,7 @@ else
 */
 
 let
-  version = "10.1.2";
+  version = "10.1.4";
   # this is the default search path for DRI drivers
   driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32";
 in
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
 
   src =  fetchurl {
     url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2";
-    sha256 = "132vn3s5hiwksl7n099fw3g15h3nzj3fp09zzvgnikqcrrv0n8xi";
+    sha256 = "0g2j2zz7yq3i8k8dkji8h7iqfbcm8afb5lrb4dxrcyjl1bh6gibg";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/mp4v2/A00-nero-vobsub.patch b/pkgs/development/libraries/mp4v2/A00-nero-vobsub.patch
new file mode 100644
index 000000000000..beb8be6d892d
--- /dev/null
+++ b/pkgs/development/libraries/mp4v2/A00-nero-vobsub.patch
@@ -0,0 +1,142 @@
+diff -Naur mp4v2-trunk-r355/include/mp4v2/general.h mp4v2-trunk-r355/include/mp4v2/general.h
+--- mp4v2-trunk-r355/include/mp4v2/general.h	2009-05-23 06:09:58.000000000 -0700
++++ mp4v2-trunk-r355/include/mp4v2/general.h	2010-05-23 14:22:21.949288657 -0700
+@@ -75,6 +75,7 @@
+ #define MP4_CNTL_TRACK_TYPE     "cntl"  /**< Constant: control track. */
+ #define MP4_TEXT_TRACK_TYPE     "text"  /**< Constant: text track. */
+ #define MP4_SUBTITLE_TRACK_TYPE "sbtl"  /**< Constant: subtitle track. */
++#define MP4_SUBPIC_TRACK_TYPE   "subp"  /**< Constant: subtitle track. */
+ /*
+  * This second set of track types should be created
+  * via MP4AddSystemsTrack(type)
+diff -Naur mp4v2-trunk-r355/include/mp4v2/track.h mp4v2-trunk-r355/include/mp4v2/track.h
+--- mp4v2-trunk-r355/include/mp4v2/track.h	2009-05-23 06:21:49.000000000 -0700
++++ mp4v2-trunk-r355/include/mp4v2/track.h	2010-05-23 15:43:47.249286008 -0700
+@@ -310,6 +310,13 @@
+     uint16_t      height );
+ 
+ MP4V2_EXPORT
++MP4TrackId MP4AddSubpicTrack(
++    MP4FileHandle hFile,
++    uint32_t      timescale,
++    uint16_t      width,
++    uint16_t      height );
++
++MP4V2_EXPORT
+ MP4TrackId MP4AddPixelAspectRatio(
+     MP4FileHandle hFile,
+     MP4TrackId    refTrackId,
+diff -Naur mp4v2-trunk-r355/src/descriptors.h mp4v2-trunk-r355/src/descriptors.h
+--- mp4v2-trunk-r355/src/descriptors.h	2009-05-20 19:52:32.000000000 -0700
++++ mp4v2-trunk-r355/src/descriptors.h	2010-05-23 16:29:34.800935677 -0700
+@@ -119,6 +119,7 @@
+ // ES objectTypeId
+ const uint8_t MP4SystemsV1ObjectType            = 0x01;
+ const uint8_t MP4SystemsV2ObjectType            = 0x02;
++const uint8_t MP4SubpicObjectType               = 0xe0;
+ 
+ // ES streamType
+ const uint8_t MP4ObjectDescriptionStreamType    = 0x01;
+@@ -131,6 +132,7 @@
+ const uint8_t MP4OCIStreamType                  = 0x08;
+ const uint8_t MP4MPEGJStreamType                = 0x09;
+ const uint8_t MP4UserPrivateStreamType          = 0x20;
++const uint8_t MP4NeroSubpicStreamType           = 0x38;
+ 
+ ///////////////////////////////////////////////////////////////////////////////
+ 
+diff -Naur mp4v2-trunk-r355/src/mp4.cpp mp4v2-trunk-r355/src/mp4.cpp
+--- mp4v2-trunk-r355/src/mp4.cpp	2009-05-23 06:29:37.000000000 -0700
++++ mp4v2-trunk-r355/src/mp4.cpp	2010-05-23 15:45:28.852222074 -0700
+@@ -1174,6 +1174,23 @@
+         return MP4_INVALID_TRACK_ID;
+     }
+ 
++    MP4TrackId MP4AddSubpicTrack(MP4FileHandle hFile,
++                                   uint32_t timescale,
++                                   uint16_t width,
++                                   uint16_t height)
++    {
++        if (MP4_IS_VALID_FILE_HANDLE(hFile)) {
++            try {
++                return ((MP4File*)hFile)->AddSubpicTrack(timescale, width, height);
++            }
++            catch (MP4Error* e) {
++                PRINT_ERROR(e);
++                delete e;
++            }
++        }
++        return MP4_INVALID_TRACK_ID;
++    }
++
+     MP4TrackId MP4AddChapterTextTrack(
+         MP4FileHandle hFile, MP4TrackId refTrackId, uint32_t timescale)
+     {
+diff -Naur mp4v2-trunk-r355/src/mp4file.cpp mp4v2-trunk-r355/src/mp4file.cpp
+--- mp4v2-trunk-r355/src/mp4file.cpp	2009-05-26 19:34:56.000000000 -0700
++++ mp4v2-trunk-r355/src/mp4file.cpp	2010-05-23 16:32:52.654220633 -0700
+@@ -2095,6 +2095,50 @@
+     return trackId;
+ }
+ 
++MP4TrackId MP4File::AddSubpicTrack(uint32_t timescale,
++                                     uint16_t width,
++                                     uint16_t height)
++{
++    MP4TrackId trackId =
++        AddTrack(MP4_SUBPIC_TRACK_TYPE, timescale);
++
++    InsertChildAtom(MakeTrackName(trackId, "mdia.minf"), "nmhd", 0);
++
++    (void)AddChildAtom(MakeTrackName(trackId, "mdia.minf.stbl.stsd"), "mp4s");
++
++    SetTrackFloatProperty(trackId, "tkhd.width", width);
++    SetTrackFloatProperty(trackId, "tkhd.height", height);
++    SetTrackIntegerProperty(trackId, "tkhd.layer", 0);
++
++    // stsd is a unique beast in that it has a count of the number
++    // of child atoms that needs to be incremented after we add the mp4s atom
++    MP4Integer32Property* pStsdCountProperty;
++    FindIntegerProperty(
++        MakeTrackName(trackId, "mdia.minf.stbl.stsd.entryCount"),
++        (MP4Property**)&pStsdCountProperty);
++    pStsdCountProperty->IncrementValue();
++
++    SetTrackIntegerProperty(trackId,
++                            "mdia.minf.stbl.stsd.mp4s.esds.ESID",
++#if 0
++                            // note - for a file, these values need to
++                            // be 0 - wmay - 04/16/2003
++                            trackId
++#else
++                            0
++#endif
++                           );
++
++    SetTrackIntegerProperty(trackId,
++                            "mdia.minf.stbl.stsd.mp4s.esds.decConfigDescr.objectTypeId",
++                            MP4SubpicObjectType);
++
++    SetTrackIntegerProperty(trackId,
++                            "mdia.minf.stbl.stsd.mp4s.esds.decConfigDescr.streamType",
++                            MP4NeroSubpicStreamType);
++    return trackId;
++}
++
+ MP4TrackId MP4File::AddChapterTextTrack(MP4TrackId refTrackId, uint32_t timescale)
+ {
+     // validate reference track id
+diff -Naur mp4v2-trunk-r355/src/mp4file.h mp4v2-trunk-r355/src/mp4file.h
+--- mp4v2-trunk-r355/src/mp4file.h	2009-05-23 06:29:37.000000000 -0700
++++ mp4v2-trunk-r355/src/mp4file.h	2010-05-23 15:44:57.568026299 -0700
+@@ -388,6 +388,10 @@
+                                 uint16_t width,
+                                 uint16_t height);
+ 
++    MP4TrackId AddSubpicTrack(uint32_t timescale,
++                                uint16_t width,
++                                uint16_t height);
++
+     MP4TrackId AddPixelAspectRatio(MP4TrackId trackId, uint32_t hSpacing, uint32_t vSpacing);
+     MP4TrackId AddColr(MP4TrackId trackId, uint16_t pri, uint16_t tran, uint16_t mat);
+ 
diff --git a/pkgs/development/libraries/mp4v2/A01-divide-zero.patch b/pkgs/development/libraries/mp4v2/A01-divide-zero.patch
new file mode 100644
index 000000000000..4d6aa4d2a394
--- /dev/null
+++ b/pkgs/development/libraries/mp4v2/A01-divide-zero.patch
@@ -0,0 +1,22 @@
+--- mp4v2-r355/src/mp4track.cpp	2012-01-05 15:44:29.000000000 +0100
++++ mp4v2-r355/src/mp4track.cpp	2012-01-05 15:47:34.000000000 +0100
+@@ -819,13 +819,14 @@
+                 (thisSecStart + timeScale) - lastSampleTime;
+             // calculate the duration of the last sample
+             MP4Duration lastSampleDur = sampleTime - lastSampleTime;
+-            uint32_t overflow_bytes;
+             // now, calculate the number of bytes we overflowed.  Round up.
+-            overflow_bytes =
+-                ((lastSampleSize * overflow_dur) + (lastSampleDur - 1)) / lastSampleDur;
++            if( lastSampleDur > 0 ) {
++                uint32_t overflow_bytes = 0;
++                overflow_bytes = ((lastSampleSize * overflow_dur) + (lastSampleDur - 1)) / lastSampleDur;
+ 
+-            if (bytesThisSec - overflow_bytes > maxBytesPerSec) {
+-                maxBytesPerSec = bytesThisSec - overflow_bytes;
++                if (bytesThisSec - overflow_bytes > maxBytesPerSec) {
++                    maxBytesPerSec = bytesThisSec - overflow_bytes;
++                }
+             }
+ 
+             // now adjust the values for this sample.  Remove the bytes
diff --git a/pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch b/pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch
new file mode 100644
index 000000000000..987298bd5b00
--- /dev/null
+++ b/pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch
@@ -0,0 +1,14 @@
+diff -Naur mp4v2-trunk-r355/src/mp4atom.cpp mp4v2-trunk-r355/src/mp4atom.cpp
+--- mp4v2-trunk-r355/src/mp4atom.cpp	2012-02-21 19:40:03.000000000 +0100
++++ mp4v2-trunk-r355/src/mp4atom.cpp	2012-02-21 19:36:38.000000000 +0100
+@@ -543,6 +543,10 @@
+         m_pFile->SetPosition(m_start + 8);
+         m_pFile->WriteUInt64(m_size);
+     } else {
++        if (!(m_size <= (uint64_t)0xFFFFFFFF)) {
++            // Let the user know what the following assert is all about
++            fprintf(stderr, "MP4ERROR: File size exceeded 4 GB; output unplayable. Enable \"Large file size\" to fix it.\n");
++        }
+         ASSERT(m_size <= (uint64_t)0xFFFFFFFF);
+         m_pFile->SetPosition(m_start);
+         m_pFile->WriteUInt32(m_size);
diff --git a/pkgs/development/libraries/mp4v2/P00-mingw-dllimport.patch b/pkgs/development/libraries/mp4v2/P00-mingw-dllimport.patch
new file mode 100644
index 000000000000..5b7f1a300bd8
--- /dev/null
+++ b/pkgs/development/libraries/mp4v2/P00-mingw-dllimport.patch
@@ -0,0 +1,11 @@
+--- mp4v2-trunk-r355/include/mp4v2/platform.h	2009-05-20 19:52:26.000000000 -0700
++++ xxx/include/mp4v2/platform.h	2010-09-11 09:36:20.881523832 -0700
+@@ -24,7 +24,7 @@
+ #if defined( _WIN32 ) || defined( __MINGW32__ )
+ #   if defined( _WINDLL ) || defined( DLL_EXPORT )
+ #       define MP4V2_EXPORT __declspec(dllexport)
+-#   elif defined( _DLL ) || defined( DLL_IMPORT ) 
++#   elif defined( DLL_IMPORT ) 
+ #       define MP4V2_EXPORT __declspec(dllimport)
+ #   else
+ #       define MP4V2_EXPORT
diff --git a/pkgs/development/libraries/mp4v2/default.nix b/pkgs/development/libraries/mp4v2/default.nix
index 7b0dd9382115..06e8c8e5ac35 100644
--- a/pkgs/development/libraries/mp4v2/default.nix
+++ b/pkgs/development/libraries/mp4v2/default.nix
@@ -1,13 +1,19 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "mp4v2-1.9.1";
+  name = "mp4v2-1.9.1p4";
 
   src = fetchurl {
     url = "http://mp4v2.googlecode.com/files/${name}.tar.bz2";
     sha256 = "1d73qbi0faqad3bpmjfr4kk0mfmqpl1f43ysrx4gq9i3mfp1qf2w";
   };
 
+  # From Handbrake
+  # mp4v2 doesn't seem to be actively maintained any more :-/
+  patches = [
+    ./A00-nero-vobsub.patch ./A01-divide-zero.patch ./A02-meaningful-4gb-warning.patch
+    ./P00-mingw-dllimport.patch
+  ];
   # `faac' expects `mp4.h'.
   postInstall = "ln -s mp4v2/mp4v2.h $out/include/mp4.h";
 
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index 08a71a6abc59..f6848ae58602 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl }:
 
-let version = "4.10.4"; in
+let version = "4.10.5"; in
 
 stdenv.mkDerivation {
   name = "nspr-${version}";
 
   src = fetchurl {
     url = "http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha1 = "43b2029d990515f952c89d2921397c064fbbe2e7";
+    sha1 = "891de2b62ad42f9b38808a0aa58c95e8cbd5c9a9";
   };
 
   preConfigure = "cd nspr";
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 920fd75b1b60..a8c12fe48569 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -11,11 +11,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nss-${version}";
-  version = "3.16";
+  version = "3.16.1";
 
   src = fetchurl {
-    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_16_RTM/src/${name}.tar.gz";
-    sha1 = "981dc6ef2f1e69ec7e2b277ce27c7005e9837f95";
+    url = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_16_1_RTM/src/${name}.tar.gz";
+    sha1 = "450a88dde8c7e4533507ac8340dbf94be28a759b";
   };
 
   buildInputs = [ nspr perl zlib sqlite ];
diff --git a/pkgs/development/libraries/openjpeg/default.nix b/pkgs/development/libraries/openjpeg/default.nix
index 75999f18d62c..979812184781 100644
--- a/pkgs/development/libraries/openjpeg/default.nix
+++ b/pkgs/development/libraries/openjpeg/default.nix
@@ -15,7 +15,21 @@ stdenv.mkDerivation rec {
   nativebuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ libpng libtiff lcms ]; # in closure anyway
 
-  postInstall = glib.flattenInclude;
+  postInstall = glib.flattenInclude + ''
+    mkdir -p "$out/lib/pkgconfig"
+    cat >"$out/lib/pkgconfig/libopenjp2.pc" <<EOF
+    prefix=$out
+    libdir=$out/lib
+    includedir=$out/include
+
+    Name: openjp2
+    Description: JPEG2000 library (Part 1 and 2)
+    URL: http://www.openjpeg.org/
+    Version: @OPENJPEG_VERSION@
+    Libs: -L$out/lib -lopenjp2
+    Cflags: -I$out/include
+    EOF
+  '';
 
   meta = {
     homepage = http://www.openjpeg.org/;
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 7217c876bfd9..93f7cbe1a1f4 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -2,7 +2,7 @@
 , withCryptodev ? false, cryptodevHeaders }:
 
 let
-  name = "openssl-1.0.1g";
+  name = "openssl-1.0.1h";
 
   opensslCrossSystem = stdenv.lib.attrByPath [ "openssl" "system" ]
     (throw "openssl needs its platform name cross building" null)
@@ -43,7 +43,7 @@ stdenv.mkDerivation {
       "http://www.openssl.org/source/${name}.tar.gz"
       "http://openssl.linux-mirror.org/source/${name}.tar.gz"
     ];
-    sha256 = "0a70qdqccg16nw4bbawa6pjvzn05vfp5wkwg6jl0grch7f683jsk";
+    sha256 = "14yhsgag5as7nhxnw7f0vklwjwa3pmn1i15nmp3f4qxa6sc8l74x";
   };
 
   patches = patchesCross false;
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 2dc71bb2d11b..1c62a64d006d 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -19,7 +19,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  doCheck = true;
+  # jww (2014-05-05): The tests currently fail on Darwin:
+  #
+  # ERROR:testiter.c:139:iter_char_test: assertion failed: (extents.width == x1 - x0)
+  # .../bin/sh: line 5: 14823 Abort trap: 6 srcdir=. PANGO_RC_FILE=./pangorc ${dir}$tst
+  # FAIL: testiter
+  doCheck = !stdenv.isDarwin;
   postInstall = "rm -rf $out/share/gtk-doc";
 
   meta = {
diff --git a/pkgs/development/libraries/ppl/default.nix b/pkgs/development/libraries/ppl/default.nix
index cbdb7b128b45..e3b1444b8cb3 100644
--- a/pkgs/development/libraries/ppl/default.nix
+++ b/pkgs/development/libraries/ppl/default.nix
@@ -13,7 +13,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ perl gnum4 ];
   propagatedBuildInputs = [ gmpxx ];
 
-  configureFlags = "--disable-watchdog";
+  configureFlags = [ "--disable-watchdog" ] ++
+    stdenv.lib.optionals stdenv.isDarwin [
+      "CPPFLAGS=-fexceptions"
+      "--disable-ppl_lcdd" "--disable-ppl_lpsol" "--disable-ppl_pips"
+    ];
 
   patches = [ ./upstream-based.patch ];
 
diff --git a/pkgs/development/libraries/qt-5/default.nix b/pkgs/development/libraries/qt-5/default.nix
index e94aecc41e43..be028e89ce84 100644
--- a/pkgs/development/libraries/qt-5/default.nix
+++ b/pkgs/development/libraries/qt-5/default.nix
@@ -10,7 +10,7 @@
 , gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs
 , buildDocs ? false
 , buildExamples ? false
-, buildTests ? true
+, buildTests ? false
 , developerBuild ? false
 }:
 
@@ -84,8 +84,6 @@ stdenv.mkDerivation rec {
     -optimized-qmake
     -strip
     -reduce-relocations
-    -force-debug-info
-    -no-separate-debug-info
     -system-proxies
 
     -gui
@@ -143,7 +141,15 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ python perl pkgconfig ];
 
-  postInstall = if buildDocs then "make docs&&make install_docs" else "";
+  postInstall =
+    ''
+      ${optionalString buildDocs ''
+        make docs && make install_docs
+      ''}
+
+      # Don't retain build-time dependencies like gdb and ruby.
+      sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri
+    '';
 
   #enableParallelBuilding = true; # often fails on Hydra, as well as qt4
 
diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix
index f874804c0010..83f64d1eb009 100644
--- a/pkgs/development/libraries/silgraphite/graphite2.nix
+++ b/pkgs/development/libraries/silgraphite/graphite2.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pkgconfig freetype cmake ];
 
+  patches = stdenv.lib.optionals stdenv.isDarwin [ ./macosx.patch ];
+
   meta = {
     description = "An advanced font engine";
     maintainers = [ stdenv.lib.maintainers.raskin ];
diff --git a/pkgs/development/libraries/silgraphite/macosx.patch b/pkgs/development/libraries/silgraphite/macosx.patch
new file mode 100644
index 000000000000..7929c1967c82
--- /dev/null
+++ b/pkgs/development/libraries/silgraphite/macosx.patch
@@ -0,0 +1,13 @@
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -102,7 +102,8 @@ set_target_properties(graphite2 PROPERTIES  PUBLIC_HEADER "${GRAPHITE_HEADERS}"
+                                             VERSION ${GRAPHITE_VERSION}
+                                             LT_VERSION_CURRENT ${GRAPHITE_API_CURRENT}
+                                             LT_VERSION_REVISION ${GRAPHITE_API_REVISION}
+-                                            LT_VERSION_AGE ${GRAPHITE_API_AGE})
++                                            LT_VERSION_AGE ${GRAPHITE_API_AGE}
++                                            INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
+ 
+ if (${CMAKE_BUILD_TYPE} STREQUAL "ClangASN")
+     set(GRAPHITE_LINK_FLAGS "-fsanitize=address")
+
diff --git a/pkgs/development/libraries/simgear/default.nix b/pkgs/development/libraries/simgear/default.nix
index 0525043b6cf1..f5394fffdaa8 100644
--- a/pkgs/development/libraries/simgear/default.nix
+++ b/pkgs/development/libraries/simgear/default.nix
@@ -13,11 +13,11 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="simgear";
-    version="2.12.1";
+    version="3.0.0";
     name="${baseName}-${version}";
     extension="tar.bz2";
     url="http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/${name}.${extension}";
-    hash="0w8drzglgp01019frx96062qcigzfflsyq59f8shpwmzjb2hzli4";
+    hash="05l0wvi0s4a98ihmjbpcc66rj6qy3hrsqkjs388bddf2ws3qyi09";
   };
 in
 rec {
diff --git a/pkgs/development/libraries/sodium/default.nix b/pkgs/development/libraries/sodium/default.nix
index 027f9e2f2fc9..93f2ff0de6b6 100644
--- a/pkgs/development/libraries/sodium/default.nix
+++ b/pkgs/development/libraries/sodium/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="sodium";
-    version="0.4.5";
+    version="0.5.0";
     name="${baseName}-${version}";
-    hash="0cmcw479p866r6cjh20wzjr84pdn0mfswr5h57mw1siyylnj1mbs";
-    url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.4.5.tar.gz";
-    sha256="0cmcw479p866r6cjh20wzjr84pdn0mfswr5h57mw1siyylnj1mbs";
+    hash="1w7rrnsvhhzhywrr3nhlhppv4kqzdszz3dwy8jrsv8lrj5hs181w";
+    url="http://download.dnscrypt.org/libsodium/releases/libsodium-0.5.0.tar.gz";
+    sha256="1w7rrnsvhhzhywrr3nhlhppv4kqzdszz3dwy8jrsv8lrj5hs181w";
   };
   buildInputs = [
   ];
diff --git a/pkgs/development/libraries/sword/default.nix b/pkgs/development/libraries/sword/default.nix
index f8c5a213ee3b..e6769285fc81 100644
--- a/pkgs/development/libraries/sword/default.nix
+++ b/pkgs/development/libraries/sword/default.nix
@@ -2,20 +2,17 @@
 
 stdenv.mkDerivation rec {
 
-  version = "1.6.2";
+  version = "1.7.2";
 
   name = "sword-${version}";
 
   src = fetchurl {
-    url = "http://www.crosswire.org/ftpmirror/pub/sword/source/v1.6/${name}.tar.gz";
-    sha256 = "1fc71avaxkhx6kckjiflw6j02lpg569b9bzaksq49i1m87awfxmg";
+    url = "http://www.crosswire.org/ftpmirror/pub/sword/source/v1.7/${name}.tar.gz";
+    sha256 = "ac7aace0ecb7a405d4b4b211ee1ae5b2250bb5c57c9197179747c9e830787871";
   };
 
   buildInputs = [ pkgconfig icu clucene_core curl ];
 
-  # because curl/types.h disappeared since at least curl 7.21.7
-  patches = [ ./dont_include_curl_types_h.patch ./gcc47.patch ];
-
   prePatch = ''
     patchShebangs .;
   '';
@@ -27,7 +24,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.crosswire.org/sword/;
     platforms = stdenv.lib.platforms.linux;
     license = "GPLv2";
-    maintainers = [ stdenv.lib.maintainers.piotr ];
+    maintainers = [ stdenv.lib.maintainers.piotr stdenv.lib.maintainers.AndersonTorres ];
   };
 
 }
diff --git a/pkgs/development/libraries/sword/dont_include_curl_types_h.patch b/pkgs/development/libraries/sword/dont_include_curl_types_h.patch
deleted file mode 100644
index 233d59a32435..000000000000
--- a/pkgs/development/libraries/sword/dont_include_curl_types_h.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/src/mgr/curlftpt.cpp b/src/mgr/curlftpt.cpp
-index 7d2fd3c..046291e 100644
---- a/src/mgr/curlftpt.cpp
-+++ b/src/mgr/curlftpt.cpp
-@@ -26,7 +26,6 @@
- #include <fcntl.h>
- 
- #include <curl/curl.h>
--#include <curl/types.h>
- #include <curl/easy.h>
- 
- #include <swlog.h>
-diff --git a/src/mgr/curlhttpt.cpp b/src/mgr/curlhttpt.cpp
-index b736050..229d4dd 100644
---- a/src/mgr/curlhttpt.cpp
-+++ b/src/mgr/curlhttpt.cpp
-@@ -25,7 +25,6 @@
- #include <cctype>
- 
- #include <curl/curl.h>
--#include <curl/types.h>
- #include <curl/easy.h>
- 
- #include <swlog.h>
diff --git a/pkgs/development/libraries/sword/gcc47.patch b/pkgs/development/libraries/sword/gcc47.patch
deleted file mode 100644
index 7b55de75b646..000000000000
--- a/pkgs/development/libraries/sword/gcc47.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-https://bugs.gentoo.org/419505
-
-
---- a/include/multimapwdef.h
-+++ b/include/multimapwdef.h
-@@ -12,21 +12,21 @@ class multimapwithdefault : public std::multimap<Key, T, Compare> {
- public:
- 	typedef std::pair<const Key, T> value_type;
- 	T& getWithDefault(const Key& k, const T& defaultValue) {
--		if (find(k) == this->end()) {
--			insert(value_type(k, defaultValue));
-+		if (this->find(k) == this->end()) {
-+			this->insert(value_type(k, defaultValue));
- 		}
--		return (*(find(k))).second;
-+		return (*(this->find(k))).second;
- 	}
- 
- 	T& operator[](const Key& k) {
--		if (find(k) == this->end()) {
--			insert(value_type(k, T()));
-+		if (this->find(k) == this->end()) {
-+			this->insert(value_type(k, T()));
- 		}
--		return (*(find(k))).second;
-+		return (*(this->find(k))).second;
- 	}
- 	bool has(const Key& k, const T &val) const {
--		typename std::multimap<Key, T, Compare>::const_iterator start = lower_bound(k);
--		typename std::multimap<Key, T, Compare>::const_iterator end = upper_bound(k);
-+		typename std::multimap<Key, T, Compare>::const_iterator start = this->lower_bound(k);
-+		typename std::multimap<Key, T, Compare>::const_iterator end = this->upper_bound(k);
- 		for (; start!=end; start++) {
- 			if (start->second == val)
- 				return true;
diff --git a/pkgs/development/libraries/tk/default.nix b/pkgs/development/libraries/tk/default.nix
index a45c4217c7b6..fd3684d189c8 100644
--- a/pkgs/development/libraries/tk/default.nix
+++ b/pkgs/development/libraries/tk/default.nix
@@ -1,23 +1,28 @@
-{ stdenv, fetchurl, tcl, x11, libX11 }:
+{ stdenv, fetchurl, pkgconfig, tcl, libXft, fontconfig }:
 
 stdenv.mkDerivation {
-  name = "tk-8.5.7";
-  
+  name = "tk-8.5.15";
+
   src = fetchurl {
-    url = "mirror://sourceforge/tcl/tk8.5.7-src.tar.gz";
-    sha256 = "0c5gsy3nlwl0wn9swz4k4v7phy7nzjl317gca1jykgf4jz9nwdnr";
+    url = "mirror://sourceforge/tcl/tk8.5.15-src.tar.gz";
+    sha256 = "0grj0k0hljvwiz913pafqibz18fzk9xjxf0nzqrd9zdls036fp41";
   };
-  
+
+  patches = [ ./different-prefix-with-tcl.patch ];
+
   postInstall = ''
     ln -s $out/bin/wish* $out/bin/wish
   '';
-  
+
   configureFlags = "--with-tcl=${tcl}/lib";
-  
+
   preConfigure = "cd unix";
 
-  buildInputs = [ tcl x11 libX11 ];
-  
+  buildInputs = [ pkgconfig tcl libXft ]
+    ++ stdenv.lib.optional stdenv.isDarwin fontconfig;
+
+  NIX_CFLAGS_LINK = if stdenv.isDarwin then "-lfontconfig" else null;
+
   inherit tcl;
 
   passthru = {
@@ -27,6 +32,7 @@ stdenv.mkDerivation {
   meta = {
     description = "A widget toolkit that provides a library of basic elements for building a GUI in many different programming languages";
     homepage = http://www.tcl.tk/;
+    license = stdenv.lib.licenses.tcltk;
     maintainers = with stdenv.lib.maintainers; [ lovek323 ];
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/development/libraries/tk/different-prefix-with-tcl.patch b/pkgs/development/libraries/tk/different-prefix-with-tcl.patch
new file mode 100644
index 000000000000..bf331b75cae0
--- /dev/null
+++ b/pkgs/development/libraries/tk/different-prefix-with-tcl.patch
@@ -0,0 +1,22 @@
+--- tk8.5.15-orig/unix/Makefile.in	2014-01-25 08:57:45.626713122 +0800
++++ tk8.5.15/unix/Makefile.in	2014-01-25 08:59:35.315341825 +0800
+@@ -995,7 +995,8 @@
+ 	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkVisual.c
+ 
+ tkWindow.o: $(GENERIC_DIR)/tkWindow.c
+-	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkWindow.c
++	$(CC) -c $(CC_SWITCHES) -DTK_LIBRARY=\"${TK_LIBRARY}\" \
++	    $(GENERIC_DIR)/tkWindow.c
+ 
+ tkButton.o: $(GENERIC_DIR)/tkButton.c
+ 	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkButton.c
+--- tk8.5.15-orig/generic/tkWindow.c	2014-01-25 10:10:03.964476436 +0800
++++ tk8.5.15/generic/tkWindow.c	2014-01-25 10:08:06.020950933 +0800
+@@ -983,6 +983,7 @@
+ 
+     Tcl_SetVar(interp, "tk_patchLevel", TK_PATCH_LEVEL, TCL_GLOBAL_ONLY);
+     Tcl_SetVar(interp, "tk_version",    TK_VERSION,     TCL_GLOBAL_ONLY);
++    Tcl_SetVar(interp, "tk_library",    TK_LIBRARY,     TCL_GLOBAL_ONLY);
+ 
+     tsdPtr->numMainWindows++;
+     return tkwin;
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 8497ea9ae942..3b6ef1acd983 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.0";
+  name = "webkitgtk-2.4.3";
 
   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 = "1fyz6ysw7npy5wa7m1zg05zrj0gi0wdlpjbqix03iq4ym36pflnw";
+    sha256 = "1b6fm1c5kk6vl0llalsd605raqs152hn14635kjwcb6iq7mc6qlq";
   };
 
   patches = [ ./webcore-svg-libxml-cflags.patch ];
diff --git a/pkgs/development/lisp-modules/asdf/default.nix b/pkgs/development/lisp-modules/asdf/default.nix
index c0602e2c0284..97e1661544ba 100644
--- a/pkgs/development/lisp-modules/asdf/default.nix
+++ b/pkgs/development/lisp-modules/asdf/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="asdf";
-    version="3.0.3";
+    version="3.1.2";
     name="${baseName}-${version}";
-    hash="0iszin6j0qxw48gkn30rqgwm240177hx06khhgv8041zsf1ivw85";
-    url="http://common-lisp.net/project/asdf/archives/asdf-3.0.3.tar.gz";
-    sha256="0iszin6j0qxw48gkn30rqgwm240177hx06khhgv8041zsf1ivw85";
+    hash="0d427908q4hcspmdhc5ps38dbvz113hy6687l9ypmfl79qfb2qki";
+    url="http://common-lisp.net/project/asdf/archives/asdf-3.1.2.tar.gz";
+    sha256="0d427908q4hcspmdhc5ps38dbvz113hy6687l9ypmfl79qfb2qki";
   };
   buildInputs = [
     texinfo texLive
diff --git a/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix b/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix
index 5218f5b77448..1f54d132dcc7 100644
--- a/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix
+++ b/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix
@@ -78,10 +78,11 @@ stdenv.mkDerivation {
     '';
   };
 
-  meta = { 
+  meta = with stdenv.lib; {
       description = "AVR developement environment including binutils, avr-gcc and avr-libc";
       # I've tried compiling the packages separately.. too much hassle. This just works. Fine.
       license =  ["GPL" "LGPL"]; # see single packages ..
       homepage = []; # dito
+      platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/ocaml-modules/lablgl/Makefile.config.patch b/pkgs/development/ocaml-modules/lablgl/Makefile.config.patch
index c896978f57ea..3d880c00947e 100644
--- a/pkgs/development/ocaml-modules/lablgl/Makefile.config.patch
+++ b/pkgs/development/ocaml-modules/lablgl/Makefile.config.patch
@@ -41,7 +41,7 @@ diff -Naur lablGL.ori/Makefile.config lablGL/Makefile.config
 +
 +##### Uncomment these for windows
 +#TKLIBS = tk83.lib tcl83.lib gdi32.lib user32.lib
-+#GLLIBS = opengl32.lib glu32.lib 
++#GLLIBS = opengl32.lib glu32.lib
 +#TOOLCHAIN = msvc
 +#XA = .lib
 +#XB = .bat
@@ -65,53 +65,3 @@ diff -Naur lablGL.ori/Makefile.config lablGL/Makefile.config
 +
 +# C Compiler options
 +#COPTS = -c -O
-diff -Naur lablGL.ori/META lablGL/META
---- lablGL.ori/META	1970-01-01 01:00:00.000000000 +0100
-+++ lablGL/META	2013-06-02 22:00:59.000000000 +0200
-@@ -0,0 +1,21 @@
-+description = "Bindings for OpenGL graphics engines"
-+version = "1.04-1"
-+archive(byte) = "lablgl.cma"
-+archive(native) = "lablgl.cmxa"
-+
-+#package "togl" (
-+#	description = "OpenGL widget for labltk"
-+#	version = "1.01"
-+#	requires = "lablgl, labltk"
-+#	archive(byte) = "togl.cma"
-+#	archive(native) = "togl.cmxa"
-+#)
-+
-+package "glut" (
-+	description = "Platform-independent OpenGL window"
-+	version = "1.01"
-+	requires = "lablgl"
-+	archive(byte) = "lablglut.cma"
-+	archive(native) = "lablglut.cmxa"
-+)
-+
-diff -Naur lablGL.ori/META~ lablGL/META~
---- lablGL.ori/META~	1970-01-01 01:00:00.000000000 +0100
-+++ lablGL/META~	2013-06-02 21:59:17.000000000 +0200
-@@ -0,0 +1,21 @@
-+description = "Bindings for OpenGL graphics engines"
-+version = "1.04-1"
-+archive(byte) = "lablgl.cma"
-+archive(native) = "lablgl.cmxa"
-+
-+#package "togl" (
-+#	description = "OpenGL widget for labltk"
-+#	version = "1.01"
-+#	requires = "lablGL, labltk"
-+#	archive(byte) = "togl.cma"
-+#	archive(native) = "togl.cmxa"
-+#)
-+
-+package "glut" (
-+	description = "Platform-independent OpenGL window"
-+	version = "1.01"
-+	requires = "lablGL"
-+	archive(byte) = "lablglut.cma"
-+	archive(native) = "lablglut.cmxa"
-+)
-+
diff --git a/pkgs/development/ocaml-modules/lablgl/default.nix b/pkgs/development/ocaml-modules/lablgl/default.nix
index a739e4a7146b..75c8d7ad2244 100644
--- a/pkgs/development/ocaml-modules/lablgl/default.nix
+++ b/pkgs/development/ocaml-modules/lablgl/default.nix
@@ -3,15 +3,15 @@
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
   pname = "lablgl";
-  version = "1.04-1";
+  version = "1.05";
 in
 
 stdenv.mkDerivation {
   name = "${pname}-${version}";
 
   src = fetchurl { 
-    url = "http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/dist/lablgl-20120306.tar.gz";
-    sha256 = "1w5di2n38h7fkrf668zphnramygwl7ybjhrmww3pi9jcf9apa09r";
+    url = "http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/dist/lablgl-${version}.tar.gz";
+    sha256 = "0qabydd219i4ak7hxgc67496qnnscpnydya2m4ijn3cpbgih7zyq";
   };
 
   buildInputs = [ocaml findlib lablgtk mesa freeglut ];
@@ -29,7 +29,6 @@ stdenv.mkDerivation {
 
   createFindlibDestdir = true;
 
-  #makeFlags = "BINDIR=$(out)/bin  MANDIR=$(out)/usr/share/man/man1 DYPGENLIBDIR=$(out)/lib/ocaml/${ocaml_version}/site-lib";
   buildFlags = "lib libopt glut glutopt";
 
   postInstall = ''
@@ -40,6 +39,6 @@ stdenv.mkDerivation {
     homepage = http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgl.html;
     description = "OpenGL bindings for ocaml";
     license = "GnuGPLV2";
-#    maintainers = [ stdenv.lib.maintainers.roconnor ];
+    maintainers = [ stdenv.lib.maintainers.pSub ];
   };
 }
diff --git a/pkgs/development/python-modules/pycairo/default.nix b/pkgs/development/python-modules/pycairo/default.nix
index 54a50a2b71f1..3dc64f681294 100644
--- a/pkgs/development/python-modules/pycairo/default.nix
+++ b/pkgs/development/python-modules/pycairo/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python, pkgconfig, cairo, x11 }:
+{ stdenv, fetchurl, fetchpatch, python, pkgconfig, cairo, x11 }:
 
 stdenv.mkDerivation rec {
   version = "1.10.0";
@@ -13,12 +13,27 @@ stdenv.mkDerivation rec {
       sha256 = "0cblk919wh6w0pgb45zf48xwxykfif16qk264yga7h9fdkq3j16k";
     };
 
+  patches = [(fetchpatch {
+    url = http://www.linuxfromscratch.org/patches/blfs/svn/pycairo-1.10.0-waf_unpack-1.patch;
+    sha256 = "1bmrhq2nmhx4l5glvyi59r0hc7w5m56kz41frx7v3dcp8f91p7xd";
+  })];
+
+  patch_waf = fetchpatch {
+    url = http://www.linuxfromscratch.org/patches/blfs/svn/pycairo-1.10.0-waf_python_3_4-1.patch;
+    sha256 = "0xfl1i9dips2nykyg91f5h5r3xpk2hp1js1gq5z0hwjr0in55id4";
+  };
+
   buildInputs = [ python pkgconfig cairo x11 ];
-  preConfigure = ''
-    sed -e 's@#!/usr/bin/env python@#!${python.executable}@' -i waf
-    head waf
+
+  configurePhase = ''
+    (
+      cd $(${python.executable} waf unpack)
+      pwd
+      patch -p1 < ${patch_waf}
+    )
+
+    ${python.executable} waf configure --prefix=$out
   '';
-  configurePhase = "${python.executable} waf configure --prefix=$out";
   buildPhase = "${python.executable} waf";
   installPhase = "${python.executable} waf install";
 }
diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix
index 3cf877259ec5..c8f0f74c1ff1 100644
--- a/pkgs/development/python-modules/pycrypto/default.nix
+++ b/pkgs/development/python-modules/pycrypto/default.nix
@@ -11,8 +11,8 @@ buildPythonPackage rec {
 
   buildInputs = [ gmp ];
 
-  # error: AF_UNIX path too long
-  doCheck = !stdenv.isDarwin;
+  doCheck = !stdenv.isDarwin; # error: AF_UNIX path too long
+
 
   meta = {
     homepage = "http://www.pycrypto.org/";
diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix
index 903db3e252cc..94de33f0d509 100644
--- a/pkgs/development/python-modules/pygobject/3.nix
+++ b/pkgs/development/python-modules/pygobject/3.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python, pkgconfig, glib, gobjectIntrospection, pycairo, cairo }:
- 
+
 stdenv.mkDerivation rec {
-  name = "pygobject-3.10.2";
+  name = "pygobject-3.12.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/pygobject/3.10/${name}.tar.xz";
-    sha256 = "75608f2c4052f0277508fc79debef026d9e84cb9261de2b922387c093d32c326";
+    url = "mirror://gnome/sources/pygobject/3.12/${name}.tar.xz";
+    sha256 = "0dfsjsa95ix8bx3h8w4bhnz7rymgl2paclvbn93x6qp8b53y0pys";
   };
 
   buildInputs = [ python pkgconfig glib gobjectIntrospection pycairo cairo ];
diff --git a/pkgs/development/r-modules/cran-packages.nix b/pkgs/development/r-modules/cran-packages.nix
index 6068fce10d53..3bebd5468e9c 100644
--- a/pkgs/development/r-modules/cran-packages.nix
+++ b/pkgs/development/r-modules/cran-packages.nix
@@ -49,6 +49,7 @@ let
     };
     propagatedBuildInputs = depends;
     meta.homepage = "http://cran.r-project.org/web/packages/${name}/";
+    meta.hydraPlatforms = R.meta.hydraPlatforms;
   };
 
 in
@@ -63,6 +64,7 @@ let self = _self // overrides; _self = with self; {
     };
     propagatedBuildInputs = [Rcpp];
     patchPhase = "patchShebangs configure";
+    meta.hydraPlatforms = R.meta.hydraPlatforms;
   };
 
   A3 = derive { name="A3"; version="0.9.2"; sha256="01s7znhph2mr3snpscci3y7nbcisa6kg6hy7im3742r6ah0z3jv7"; depends=[xtable pbapply]; };
@@ -333,16 +335,16 @@ let self = _self // overrides; _self = with self; {
   bayesQR = derive { name="bayesQR"; version="2.2"; sha256="0w5fg7hdwpgs2dg4vzcdsm60wkxgjxhcssw9jzig5qgdjdkm07nm"; depends=[]; };
   BayesQTLBIC = derive { name="BayesQTLBIC"; version="1.0-2"; sha256="1pgd3h45v3l44pfkin2883lk1davp0y4fq80lp6nqrsbx9cpsy2z"; depends=[leaps]; };
   bayess = derive { name="bayess"; version="1.4"; sha256="0axipk5hn2hw3g4dfh7y3xa0dxqmi8kqpbr77nl14y7ydpija6xm"; depends=[MASS mnormt gplots combinat]; };
-  BayesSAE = derive { name="BayesSAE"; version="1.0-1"; sha256="09s7f472by689b2b0gahnkhyjriizpsx6r5qa95nf3f4bfqi2cpf"; depends=[Formula coda lattice]; };
+  BayesSAE = derive { name="BayesSAE"; version="1.0-1"; sha256="09s7f472by689b2b0gahnkhyjriizpsx6r5qa95nf3f4bfqi2cpf"; depends=[Formula coda lattice pkgs.gsl]; };
   BayesSingleSub = derive { name="BayesSingleSub"; version="0.6.2"; sha256="0hgmyhg4mpxx7k91hbfa9h3533mqyn9rz4kl9kb30cc9g7g0m045"; depends=[coda mvtnorm MCMCpack]; };
   bayesSurv = derive { name="bayesSurv"; version="2.1-1"; sha256="076lzaiwjp4ahw36wvx9sb1g86b9cidvjv91sc1r509s8khph91w"; depends=[survival coda smoothSurv]; };
   bayesTFR = derive { name="bayesTFR"; version="4.0-5"; sha256="1cyzkgx0f275ng0ds0lvm3rwryd2ai20shhilp7ajvsria4h4dcw"; depends=[mvtnorm MASS coda wpp2012]; };
   Bayesthresh = derive { name="Bayesthresh"; version="2.0.1"; sha256="0w26h1ragqcg1i4h7c2y6vd8fig2jb2zrnvvchgg5z2hg9qdplsf"; depends=[lme4 MASS VGAM mvtnorm matrixcalc coda]; };
   BayesTree = derive { name="BayesTree"; version="0.3-1.1"; sha256="1sdxya2nli590m837zmqn4y3h62ph1hx8qszp6ayb19liff2bnmd"; depends=[nnet]; };
   BayesValidate = derive { name="BayesValidate"; version="0.0"; sha256="1gli65avpkb90asx92l1yjbwaxcsyb920idyjwgd2sl2b3l657ly"; depends=[]; };
-  BayesVarSel = derive { name="BayesVarSel"; version="1.5.1"; sha256="0r2al4d74dbra7va88fcazq5h19f0i4wymd39apsz3a3hsb8vdvv"; depends=[MASS]; };
+  BayesVarSel = derive { name="BayesVarSel"; version="1.5.1"; sha256="0r2al4d74dbra7va88fcazq5h19f0i4wymd39apsz3a3hsb8vdvv"; depends=[MASS pkgs.gsl]; };
   BayesX = derive { name="BayesX"; version="0.2-8"; sha256="1kj0xwy972383vx52i8dn7vp0x8r5cbbii0s7nwfz0bn2iaks0c0"; depends=[shapefiles sp maptools colorspace coda]; };
-  BayesXsrc = derive { name="BayesXsrc"; version="2.1-2"; sha256="114804f6maak5dmwzw4cbigjcdw7c6sgx48af35yrvkspi1gsz3b"; depends=[]; };
+  BayesXsrc = derive { name="BayesXsrc"; version="2.1-2"; sha256="114804f6maak5dmwzw4cbigjcdw7c6sgx48af35yrvkspi1gsz3b"; depends=[pkgs.readline]; };
   BayHap = derive { name="BayHap"; version="1.0.1"; sha256="0xqnl2cbf0pyjlpywyy0j4mwknfn8msz4s719dsri3r7hvn9m6kd"; depends=[boa]; };
   BayHaz = derive { name="BayHaz"; version="0.1-3"; sha256="08ilghlkgyma5758yw7mdgqycqcillqmx73knzzdlg2kzc77dvg6"; depends=[]; };
   BaylorEdPsych = derive { name="BaylorEdPsych"; version="0.5"; sha256="1kq6nvzdqwawygp7k62lw5hyccsj81jg82hq60yidgxnmmnnf7y2"; depends=[]; };
@@ -645,7 +647,7 @@ let self = _self // overrides; _self = with self; {
   cdb = derive { name="cdb"; version="0.0.1"; sha256="1rdb4lacjcw67apdyiv7cl1xvv9d1mrzck1qk605n6794k7wf2ys"; depends=[bitops]; };
   CDFt = derive { name="CDFt"; version="1.0.1"; sha256="0sc8ga48l3vvqfjq3ak5j1y27hgr5dw61wp0w5jpwzjz22jzqbap"; depends=[]; };
   CDLasso = derive { name="CDLasso"; version="1.1"; sha256="0n699y18ia2yqpk78mszgggy7jz5dybwsi2y56kdyblddcmz1yv7"; depends=[]; };
-  CDM = derive { name="CDM"; version="3.2-6"; sha256="07vnvqzrs3zny0p2sq0df37jgiwhzrnlgw9p6dd9x9qn5m9asfm6"; depends=[mvtnorm MASS psych polycor sfsmisc Rcpp]; };
+  CDM = derive { name="CDM"; version="3.2-6"; sha256="07vnvqzrs3zny0p2sq0df37jgiwhzrnlgw9p6dd9x9qn5m9asfm6"; depends=[mvtnorm MASS psych polycor sfsmisc Rcpp RcppArmadillo]; };
   CDNmoney = derive { name="CDNmoney"; version="2012.4-1"; sha256="1bnfsygbzdd70m5s9qq7524b1fybdws46axxjbw9dhwqpr8w85id"; depends=[]; };
   CDVine = derive { name="CDVine"; version="1.2"; sha256="1qfjbzdfz2dydkfw3b0jjma4csn62177j5sgzh6rszf0nifsi97g"; depends=[MASS mvtnorm igraph]; };
   cec2005benchmark = derive { name="cec2005benchmark"; version="1.0.3"; sha256="1fc833ji557y2vb6snlxh90gz1n7fxjfkwjmdcmasj1sfzaalsjy"; depends=[]; };
@@ -2660,7 +2662,7 @@ let self = _self // overrides; _self = with self; {
   marg = derive { name="marg"; version="1.2-2"; sha256="0j08zzcrj8nqsargi6xi50gy9pl4smmsp4b7ywlga7r1ga38g82r"; depends=[statmod survival]; };
   margie = derive { name="margie"; version="1.0"; sha256="1jkhg15xdiqjvpzbbc39l8jlfw0yrbarnd3zbgb3p0rh733x5g4j"; depends=[]; };
   marginalmodelplots = derive { name="marginalmodelplots"; version="0.4.2"; sha256="0d7m7sddz9rp1mkvirhcmk7hlbxsag3nm3vqfampnr7l2h158baa"; depends=[locfit]; };
-  markdown = derive { name="markdown"; version="0.6.5"; sha256="0gixql675hyl38cha2xxklx8x2jin88iqs7mndfqmq7mfms62i31"; depends=[]; };
+  markdown = derive { name="markdown"; version="0.7"; sha256="18q1yvzv9fk5j09ngrldm32cnswxhrmqx6g8d17srriis6ng6i5v"; depends=[ mime ]; };
   marked = derive { name="marked"; version="1.1.3"; sha256="0nvk7fq2q7yqxmw507bsbss04wggy13kgvcv5v01g8a0wb3ig9ym"; depends=[R2admb truncnorm coda optimx ggplot2 Matrix numDeriv Rcpp plyr]; };
   MarkedPointProcess = derive { name="MarkedPointProcess"; version="0.2.21"; sha256="06bypa124raa4vbcvi082vpd8bndnar4p1v18dq261z6j3ixk44k"; depends=[RandomFields R2Cuba]; };
   maRketSim = derive { name="maRketSim"; version="0.9.2"; sha256="1cq17zjwyf4i5lcqgxqkw805s4mr6qp89blgpmpxy8gdrbfj93m4"; depends=[]; };
@@ -2670,7 +2672,7 @@ let self = _self // overrides; _self = with self; {
   marqLevAlg = derive { name="marqLevAlg"; version="1.1"; sha256="1wmqi68g0flrlmj87vwgvyxap0miss0n42qiiw7ypyj4jw9kwm8j"; depends=[]; };
   MARSS = derive { name="MARSS"; version="3.9"; sha256="0vn8axzz0nqdcl3w00waghz68z8pvfm764w11kxxigvjpw2plj31"; depends=[nlme mvtnorm KFAS]; };
   maSAE = derive { name="maSAE"; version="0.1-2"; sha256="18a1zbfmjhrmi3fgqd7vaicpsca59kp8r1003pwl7l4032p32fxk"; depends=[]; };
-  MASS = derive { name="MASS"; version="7.3-32"; sha256="1nmd5b9yillca3gczq82n5kpxslkvdhq0nl3cw2wp9s9vax29ymh"; depends=[]; };
+  MASS = derive { name="MASS"; version="7.3-33"; sha256="1bq005zxyc7842z4cz5ilhh917clfdmhg5czfq6plkdgwq8nfhlk"; depends=[]; };
   MASSI = derive { name="MASSI"; version="1.1"; sha256="13kavfsm48qq9zyp10scfjcgrk0x2n4my7cz2xy78s14knlrks5y"; depends=[fpc gplots]; };
   MASSTIMATE = derive { name="MASSTIMATE"; version="1.1"; sha256="10hs2mprdfa747sz2bjy29jixblbnyb744wxf8gh4jq3d5f5xpiq"; depends=[epicalc]; };
   MasterBayes = derive { name="MasterBayes"; version="2.51"; sha256="0mbvhn6yspralmlajimdin14hszh78m0bxb3zdxd73xhjqxl4ixk"; depends=[coda genetics gtools kinship2]; };
@@ -2826,7 +2828,7 @@ let self = _self // overrides; _self = with self; {
   migui = derive { name="migui"; version="0.00-09"; sha256="0mrvsls9q039pay0vf59xwg6bbr7ahwl4x3iwvar6sbfg8606as8"; depends=[tkrplot mi foreign]; };
   MIICD = derive { name="MIICD"; version="1.1"; sha256="0d697mggax1yp7b4dfxdi25rqmwrq25gmmjqsag6sa5raqr96gc9"; depends=[mstate prodlim cmprsk riskRegression MASS survival]; };
   MILC = derive { name="MILC"; version="1.0"; sha256="14xsiw5al6kixwvf3ph0dlm8s13gsbqvzb92da6ng3x4iiyb1g0w"; depends=[]; };
-  mime = derive { name="mime"; version="0.1"; sha256="1qmflb4339mx666ak7h47k5jgvp7prisvpay00b639sg7pwp2hbx"; depends=[]; };
+  mime = derive { name="mime"; version="0.1.1"; sha256="1kgm06n9flw2kh9f63h3i20wg663qscfdvs7dpyb68ic3c7aimci"; depends=[]; };
   MImix = derive { name="MImix"; version="1.0"; sha256="033gxr0z2xba0pgckiigblb1xa94wrfmpgv3j122cdynjch44j4r"; depends=[]; };
   MindOnStats = derive { name="MindOnStats"; version="0.8"; sha256="1fsswkbrxd3f0hz3nd25xvp36si292s4q2r52hw6rsps2mx6bgqi"; depends=[]; };
   minerva = derive { name="minerva"; version="1.3"; sha256="0ph65jfm05wck3zz0lh3bmaj0p4c9309nzkrjpjxqkcnrfdbw6wf"; depends=[]; };
@@ -4005,7 +4007,7 @@ let self = _self // overrides; _self = with self; {
   RcppClassicExamples = derive { name="RcppClassicExamples"; version="0.1.1"; sha256="0shs12y3gj5p7gharjik48dqk0fy4k2jx7h22ppvgbs8z85qjrb8"; depends=[Rcpp RcppClassic]; };
   RcppCNPy = derive { name="RcppCNPy"; version="0.2.3"; sha256="1baz9272vwc44yab7xb6ig0gd2gj8idrhywir2zq77q8bfhqc9gh"; depends=[Rcpp]; };
   RcppDE = derive { name="RcppDE"; version="0.1.2"; sha256="0ji5csfygqvrcahgx5gxy7dddpykckzw8hmqslsdl7l68wj60qkc"; depends=[Rcpp RcppArmadillo]; };
-  RcppEigen = derive { name="RcppEigen"; version="0.3.2.1.1"; sha256="099hrj4r2dh0yfn63lazmqcja1gwxqzy1zlsfia31kkaw6i82g5l"; depends=[Matrix Rcpp]; };
+  RcppEigen = derive { name="RcppEigen"; version="0.3.2.1.2"; sha256="010a27jby8c61mgw2qb47zkln1v33gj0xcn8lf7sw0kb2mdh58yl"; depends=[Matrix Rcpp]; };
   RcppExamples = derive { name="RcppExamples"; version="0.1.6"; sha256="1jnqh9nii5nncsah0lrkls8dqqcka9fnbvfg8ikl4cqjri17rpbv"; depends=[Rcpp]; };
   RcppGSL = derive { name="RcppGSL"; version="0.2.0"; sha256="0qdm5igjrifw8a0m36k9xrbnaj11j18236a1gvdz689vy6a4hfqz"; depends=[Rcpp]; };
   RcppOctave = derive { name="RcppOctave"; version="0.14.1"; sha256="0fdljr0jdnardcm2qm29ibz16xymal8xac3p4grscipa44vm1w0b"; depends=[Rcpp pkgmaker digest stringr]; };
diff --git a/pkgs/development/tools/analysis/cccc/cccc.patch b/pkgs/development/tools/analysis/cccc/cccc.patch
new file mode 100644
index 000000000000..9454e3b18ad1
--- /dev/null
+++ b/pkgs/development/tools/analysis/cccc/cccc.patch
@@ -0,0 +1,24 @@
+diff --git a/cccc/cccc_tbl.cc b/cccc/cccc_tbl.cc
+index df98e2b..59f2572 100644
+--- a/cccc/cccc_tbl.cc
++++ b/cccc/cccc_tbl.cc
+@@ -96,7 +96,7 @@ bool CCCC_Table<T>::remove(T* old_item_ptr)
+   typename map_t::iterator value_iterator=map_t::find(old_item_ptr->key());
+   if(value_iterator!=map_t::end())
+     {
+-      erase(value_iterator);
++      map_t::erase(value_iterator);
+       retval=true;
+     }
+   return retval;
+diff --git a/makefile b/makefile
+index 23ad004..2cca469 100644
+--- a/makefile
++++ b/makefile
+@@ -20,5 +20,5 @@ test :
+ 	cd test ; make -f posix.mak
+ 
+ install : 
+-	cd install ; su root -c "make -f install.mak" 
++	cd install ; make -f install.mak
+ 
diff --git a/pkgs/development/tools/analysis/cccc/default.nix b/pkgs/development/tools/analysis/cccc/default.nix
new file mode 100644
index 000000000000..c672c7964e75
--- /dev/null
+++ b/pkgs/development/tools/analysis/cccc/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl }:
+
+let
+  name = "cccc";
+  version = "3.1.4";
+in
+stdenv.mkDerivation {
+  name = "${name}-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${name}/${version}/${name}-${version}.tar.gz";
+    sha256 = "1gsdzzisrk95kajs3gfxks3bjvfd9g680fin6a9pjrism2lyrcr7";
+  };
+  patches = [ ./cccc.patch ];
+  preConfigure = ''
+    substituteInPlace install/install.mak --replace /usr/local/bin $out/bin
+    substituteInPlace install/install.mak --replace MKDIR=mkdir "MKDIR=mkdir -p"
+  '';
+
+  meta = {
+    description = "C and C++ Code Counter";
+    longDescription = ''
+      CCCC is a tool which analyzes C++ and Java files and generates a report
+      on various metrics of the code. Metrics supported include lines of code, McCabe's
+      complexity and metrics proposed by Chidamber&Kemerer and Henry&Kafura.
+    '';
+    homepage = "http://cccc.sourceforge.net/";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.linquize ];
+  };
+}
diff --git a/pkgs/development/tools/apktool/default.nix b/pkgs/development/tools/apktool/default.nix
new file mode 100644
index 000000000000..a415ffd152d7
--- /dev/null
+++ b/pkgs/development/tools/apktool/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, makeWrapper, jre, buildTools }:
+
+stdenv.mkDerivation rec {
+  name = "apktool-${version}";
+  version = "1.5.2";
+
+  src = fetchurl {
+    url = "https://android-apktool.googlecode.com/files/apktool${version}.tar.bz2";
+    sha1 = "2dd828cf79467730c7406aa918f1da1bd21aaec8";
+  };
+
+  unpackCmd = ''
+    tar -xvf $src || true
+    cd apktool*
+  '';
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    install -D apktool.jar "$out/libexec/apktool/apktool.jar"
+    ensureDir "$out/bin"
+    makeWrapper "${jre}/bin/java" "$out/bin/apktool" \
+        --add-flags "-jar $out/libexec/apktool/apktool.jar" \
+        --prefix PATH : "${buildTools}/build-tools/android-4.3/"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A tool for reverse engineering Android apk files";
+    homepage    = https://code.google.com/p/android-apktool/;
+    license     = licenses.asl20;
+    maintainers = with maintainers; [ offline ];
+  };
+
+}
diff --git a/pkgs/development/tools/build-managers/rebar/default.nix b/pkgs/development/tools/build-managers/rebar/default.nix
index a64360c57274..b57c4c263f56 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.2.0";
+  version = "2.3.0";
 in
 stdenv.mkDerivation {
   name = "rebar-${version}";
 
   src = fetchurl {
     url = "https://github.com/rebar/rebar/archive/${version}.tar.gz";
-    sha256 = "0wprgzin09286v583jmlc385jqpi2lcpdql9srm4c7g39122dg43";
+    sha256 = "0g23ib96lalpmynx39fprlw08ivgyb7i6c6a8jvgqwr9jmd0nj06";
   };
 
   buildInputs = [ erlang ];
diff --git a/pkgs/development/tools/build-managers/simple-build-tool/default.nix b/pkgs/development/tools/build-managers/simple-build-tool/default.nix
index 8f01486cfe72..b54f894d8eb4 100644
--- a/pkgs/development/tools/build-managers/simple-build-tool/default.nix
+++ b/pkgs/development/tools/build-managers/simple-build-tool/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "sbt-${version}";
-  version = "0.13.0";
+  version = "0.13.5";
 
   src = fetchurl {
     url = "http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/${version}/sbt-launch.jar";
-    sha256 = "04s49v5mw4kwz1rmvbf07kq51i2m0lcv60c9i5y524gjj518pk1w";
+    sha256 = "05zvb3j7xxswpz7fz2nwbl4dwfdf0cyx5xzjis5fyi2dbzmfdrmp";
   };
 
   phases = [ "installPhase" ];
@@ -21,10 +21,10 @@ stdenv.mkDerivation rec {
     chmod +x $out/bin/sbt
   '';
 
-  meta = { 
+  meta = {
     homepage = http://www.scala-sbt.org/;
     license = stdenv.lib.licenses.bsd3;
     description = "A build tool for Scala, Java and more";
-    maintainers = [ stdenv.lib.maintainers.rickynils ];  
-  };  
+    maintainers = [ stdenv.lib.maintainers.rickynils ];
+  };
 }
diff --git a/pkgs/development/tools/cdecl/cdecl-2.5-gentoo.patch b/pkgs/development/tools/cdecl/cdecl-2.5-gentoo.patch
deleted file mode 100644
index b3a67515620c..000000000000
--- a/pkgs/development/tools/cdecl/cdecl-2.5-gentoo.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/cdecl.c	2009-07-07 13:20:37.000000000 +0200
-+++ a/cdecl.c.new	2009-07-07 13:25:00.000000000 +0200
-@@ -91,7 +91,7 @@
- #ifdef USE_READLINE
- # include <readline/readline.h>
-   /* prototypes for functions related to readline() */
--  char * getline();
-+  char * mygetline();
-   char ** attempt_completion(char *, int, int);
-   char * keyword_completion(char *, int);
-   char * command_completion(char *, int);
-@@ -375,7 +375,7 @@
- static char *line_read = NULL;
- 
- /* Read a string, and return a pointer to it.  Returns NULL on EOF. */
--char * getline ()
-+char * mygetline ()
- {
-   /* If the buffer has already been allocated, return the memory
-      to the free pool. */
-@@ -887,7 +887,7 @@
- 
- 	if (!quiet) (void) printf("Type `help' or `?' for help\n");
- 	ret = 0;
--	while ((line = getline())) {
-+	while ((line = mygetline())) {
- 	    if (!strcmp(line, "quit") || !strcmp(line, "exit")) {
- 		free(line);
- 		return ret;
diff --git a/pkgs/development/tools/cdecl/cdecl-2.5-implicit-pointer.patch b/pkgs/development/tools/cdecl/cdecl-2.5-implicit-pointer.patch
deleted file mode 100644
index ee4949beb6ed..000000000000
--- a/pkgs/development/tools/cdecl/cdecl-2.5-implicit-pointer.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: cdecl-2.5/cdecl.c
-===================================================================
---- cdecl-2.5.orig/cdecl.c
-+++ cdecl-2.5/cdecl.c
-@@ -204,6 +204,7 @@ int DebugFlag = 0;		/* -d, output debugg
- #define ANSI	4	/* combo not allowed anymore in ANSI compiler */
- #define A	ANSI
- 
-+extern char **completion_matches PARAMS((char *, rl_compentry_func_t *));
- /* This is an lower left triangular array. If we needed */
- /* to save 9 bytes, the "long" row can be removed. */
- char crosscheck[9][9] = {
\ No newline at end of file
diff --git a/pkgs/development/tools/cdecl/cdecl-2.5-lex.patch b/pkgs/development/tools/cdecl/cdecl-2.5-lex.patch
new file mode 100644
index 000000000000..ecdee5d544f6
--- /dev/null
+++ b/pkgs/development/tools/cdecl/cdecl-2.5-lex.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index 1643b74..8f1ae11 100644
+--- a/Makefile
++++ b/Makefile
+@@ -33,7 +33,7 @@ c++decl: cdgram.c cdlex.c cdecl.c
+ 	rm -f cdecl
+ 
+ cdlex.c: cdlex.l
+-	lex cdlex.l && mv lex.yy.c cdlex.c
++	flex cdlex.l && mv lex.yy.c cdlex.c
+ 
+ cdgram.c: cdgram.y
+ 	yacc cdgram.y && mv y.tab.c cdgram.c
diff --git a/pkgs/development/tools/cdecl/cdecl-2.5.patch b/pkgs/development/tools/cdecl/cdecl-2.5.patch
deleted file mode 100644
index 4b00849f372b..000000000000
--- a/pkgs/development/tools/cdecl/cdecl-2.5.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 9e85686..b8e6e02 100644
---- a/Makefile
-+++ b/Makefile
-@@ -15,13 +15,14 @@
- #
- # add -DUSE_READLINE	To compile in support for the GNU readline library.
- 
--CFLAGS= -s -O2 -DUSE_READLINE
-+CFLAGS=-DUSE_READLINE
- CC= gcc
--LIBS= -lreadline -ltermcap
-+LIBS= -lreadline -lncursesw
- ALLFILES= makefile cdgram.y cdlex.l cdecl.c cdecl.1 testset testset++
--BINDIR= /usr/bin
--MANDIR= /usr/man/man1
--CATDIR= /usr/man/cat1
-+PREFIX?= /usr
-+BINDIR= $(PREFIX)/bin
-+MANDIR= $(PREFIX)/man/man1
-+CATDIR= $(PREFIX)/man/cat1
- INSTALL= install -c
- INSTALL_DATA= install -c -m 644
- 
-@@ -33,7 +34,7 @@ c++decl: cdgram.c cdlex.c cdecl.c
- 	rm -f cdecl
- 
- cdlex.c: cdlex.l
--	lex cdlex.l && mv lex.yy.c cdlex.c
-+	flex cdlex.l && mv lex.yy.c cdlex.c
- 
- cdgram.c: cdgram.y
- 	yacc cdgram.y && mv y.tab.c cdgram.c
-@@ -43,8 +44,10 @@ test:
- 	./c++decl < testset++
- 
- install: cdecl
-+	$(INSTALL) -d $(BINDIR)
- 	$(INSTALL) cdecl $(BINDIR)
- 	ln $(BINDIR)/cdecl $(BINDIR)/c++decl
-+	$(INSTALL) -d $(MANDIR)
- 	$(INSTALL_DATA) cdecl.1 $(MANDIR)
- 	$(INSTALL_DATA) c++decl.1 $(MANDIR)
- 
-diff --git a/cdecl.c b/cdecl.c
-index f03f01e..1fdde9f 100644
---- a/cdecl.c
-+++ b/cdecl.c
-@@ -67,6 +67,7 @@ char cdeclsccsid[] = "@(#)cdecl.c	2.5 1/15/96";
- # include <stddef.h>
- # include <string.h>
- # include <stdarg.h>
-+# include <errno.h>
- #else
- # ifndef NOVARARGS
- #  include <varargs.h>
-@@ -124,7 +125,6 @@ char real_prompt[MAX_NAME+3];
- 
- #if __STDC__
-   char *ds(char *), *cat(char *, ...), *visible(int);
--  int getopt(int,char **,char *);
-   int main(int, char **);
-   int yywrap(void);
-   int dostdin(void);
diff --git a/pkgs/development/tools/cdecl/default.nix b/pkgs/development/tools/cdecl/default.nix
index a9eb323f9a83..d923fea8b598 100644
--- a/pkgs/development/tools/cdecl/default.nix
+++ b/pkgs/development/tools/cdecl/default.nix
@@ -1,22 +1,25 @@
-{stdenv, fetchurl, yacc, flex, readline, ncurses}:
+{stdenv, fetchurl, yacc, flex, readline, ncurses, gnused}:
 
 stdenv.mkDerivation {
   name = "cdecl-2.5";
   src = fetchurl {
-    url = ftp://metalab.unc.edu/pub/linux/devel/lang/c/cdecl-2.5.tar.gz;
-    md5 = "29895dab52e85b2474a59449e07b7996";
+    url = "http://cdecl.org/files/cdecl-blocks-2.5.tar.gz";
+    md5 = "c1927e146975b1c7524cbaf07a7c10f8";
   };
 
-  patches = [ ./cdecl-2.5-implicit-pointer.patch ./cdecl-2.5.patch ./cdecl-2.5-gentoo.patch ];
-  preBuild = "
-    makeFlags=\"PREFIX=$out\"
-  ";
+  patches = [ ./cdecl-2.5-lex.patch ];
+  preBuild = ''
+    ${gnused}/bin/sed 's/getline/cdecl_getline/g' -i cdecl.c;
+    makeFlagsArray=(CFLAGS="-DBSD -DUSE_READLINE -std=gnu89" LIBS=-lreadline);
+    makeFlags="$makeFlags PREFIX=$out BINDIR=$out/bin MANDIR=$out/man1 CATDIR=$out/cat1";
+    mkdir -p $out/bin;
+  '';
   buildInputs = [yacc flex readline ncurses];
 
   meta = {
     description = "Translator English -- C/C++ declarations";
     license = "Public Domain";
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    maintainers = with stdenv.lib.maintainers; [viric joelteon];
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/haskell/BNFC/default.nix b/pkgs/development/tools/haskell/BNFC/default.nix
index ebe8d2c3e24c..f335aebc570b 100644
--- a/pkgs/development/tools/haskell/BNFC/default.nix
+++ b/pkgs/development/tools/haskell/BNFC/default.nix
@@ -1,4 +1,4 @@
-{ cabal, mtl, fetchurl, alex, happy }:
+{ cabal, mtl, fetchpatch, alex, happy }:
 
 cabal.mkDerivation (self: {
   pname = "BNFC";
@@ -8,7 +8,7 @@ cabal.mkDerivation (self: {
   isExecutable = true;
   buildDepends = [ mtl ];
   buildTools = [ alex happy ];
-  patches = [ (fetchurl { url = "https://github.com/BNFC/bnfc/pull/3.patch"; sha256 = "103l04ylzswgxrmpv5zy6dd0jyr96z21mdkpgk1z4prvn8wjl624"; }) ];
+  patches = [ (fetchpatch { url = "https://github.com/BNFC/bnfc/pull/3.patch"; sha256 = "1i87crwva5m3v095lv3zxs38pr6nmly58krlr6sxpwnakpr0pxsp"; }) ];
   patchFlags = "-p2";
   preConfigure = "runhaskell Setup.lhs clean";
   meta = {
diff --git a/pkgs/development/tools/haskell/DrIFT/default.nix b/pkgs/development/tools/haskell/DrIFT/default.nix
new file mode 100644
index 000000000000..f0ae57b6287f
--- /dev/null
+++ b/pkgs/development/tools/haskell/DrIFT/default.nix
@@ -0,0 +1,16 @@
+{ cabal, filepath, random }:
+
+cabal.mkDerivation (self: {
+  pname = "DrIFT";
+  version = "2.4.2";
+  sha256 = "1w0wfmrjifidl2qz998ig07afd4p6yp890lwl8as57bay490nakl";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ filepath random ];
+  meta = {
+    homepage = "http://repetae.net/computer/haskell/DrIFT/";
+    description = "Program to derive type class instances";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/cabal-db/default.nix b/pkgs/development/tools/haskell/cabal-db/default.nix
new file mode 100644
index 000000000000..0d8b6ce5993f
--- /dev/null
+++ b/pkgs/development/tools/haskell/cabal-db/default.nix
@@ -0,0 +1,20 @@
+{ cabal, ansiWlPprint, Cabal, filepath, mtl, optparseApplicative
+, tar, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cabal-db";
+  version = "0.1.9";
+  sha256 = "19mw5ycc2y5wkn1h7wkdm2gb29pq2sh0n8z52dbxlkf0rwcgjbfq";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    ansiWlPprint Cabal filepath mtl optparseApplicative tar utf8String
+  ];
+  meta = {
+    homepage = "http://github.com/vincenthz/cabal-db";
+    description = "query tools for the local cabal database (revdeps, graph, info, search-by, license, bounds)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/cabal-dev/default.nix b/pkgs/development/tools/haskell/cabal-dev/default.nix
deleted file mode 100644
index fef9892bce82..000000000000
--- a/pkgs/development/tools/haskell/cabal-dev/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ cabal, Cabal, cabalInstall, filepath, HTTP, mtl, network, setenv
-, tar, transformers, zlib
-}:
-
-cabal.mkDerivation (self: {
-  pname = "cabal-dev";
-  version = "0.9.2";
-  sha256 = "1372bpn8s7d7nm01ggp3m98ldrynidbchk3p14yrjysvxwr3l6q8";
-  isLibrary = false;
-  isExecutable = true;
-  buildDepends = [
-    Cabal filepath HTTP mtl network setenv tar transformers zlib
-  ];
-  buildTools = [ cabalInstall ];
-  meta = {
-    homepage = "http://github.com/creswick/cabal-dev";
-    description = "Manage sandboxed Haskell build environments";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/tools/haskell/cake3/default.nix b/pkgs/development/tools/haskell/cake3/default.nix
index c5c35ac571cb..f7b678ad9fbe 100644
--- a/pkgs/development/tools/haskell/cake3/default.nix
+++ b/pkgs/development/tools/haskell/cake3/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cake3";
-  version = "0.4.0.0";
-  sha256 = "15v50m60fr2mgfm2irxfaw4pi2s3bx187p0y0ns20rqfy0dasxyx";
+  version = "0.5.0.0";
+  sha256 = "0hfnda0xp8saav85pgqmcb6ib699gm6gy5f087nlrx7058f4n7ji";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/codex/default.nix b/pkgs/development/tools/haskell/codex/default.nix
new file mode 100644
index 000000000000..3bc9959c8d7a
--- /dev/null
+++ b/pkgs/development/tools/haskell/codex/default.nix
@@ -0,0 +1,21 @@
+{ cabal, Cabal, downloadCurl, either, filepath, hackageDb, MissingH
+, monadLoops, tar, text, transformers, yaml, zlib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "codex";
+  version = "0.0.2.1";
+  sha256 = "0cwn44dw3fks1qaymrjn3q99lq6baginh12y6wwkhz53cd6cv41z";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    Cabal downloadCurl either filepath hackageDb MissingH monadLoops
+    tar text transformers yaml zlib
+  ];
+  meta = {
+    homepage = "http://github.com/aloiscochard/codex";
+    description = "A ctags file generator for cabal project dependencies";
+    license = self.stdenv.lib.licenses.asl20;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/hasktags/default.nix b/pkgs/development/tools/haskell/hasktags/default.nix
index 036c308a7121..8942a1b79c24 100644
--- a/pkgs/development/tools/haskell/hasktags/default.nix
+++ b/pkgs/development/tools/haskell/hasktags/default.nix
@@ -2,9 +2,9 @@
 
 cabal.mkDerivation (self: {
   pname = "hasktags";
-  version = "0.68.7";
-  sha256 = "0z98ha2xjc6npcyn15arp6h6ad87bs4acdhd1rnqrsy4lc0lny04";
-  isLibrary = false;
+  version = "0.69.0";
+  sha256 = "1bba6w5h5a5frc899cdlxcyshiqdni6lcqby618akr1917ih1qh8";
+  isLibrary = true;
   isExecutable = true;
   buildDepends = [ filepath json utf8String ];
   meta = {
diff --git a/pkgs/development/tools/haskell/hdevtools/default.nix b/pkgs/development/tools/haskell/hdevtools/default.nix
index da5eb778803b..9565478d11b6 100644
--- a/pkgs/development/tools/haskell/hdevtools/default.nix
+++ b/pkgs/development/tools/haskell/hdevtools/default.nix
@@ -1,4 +1,4 @@
-{ cabal, cmdargs, ghcPaths, network, syb, time }:
+{ cabal, cmdargs, ghcPaths, network, syb, time, fetchpatch }:
 
 cabal.mkDerivation (self: {
   pname = "hdevtools";
@@ -6,6 +6,7 @@ cabal.mkDerivation (self: {
   sha256 = "1a218m817q35f52fv6mn28sfv136i6fm2mzgdidpm24pc0585gl7";
   isLibrary = false;
   isExecutable = true;
+  patches = [ (fetchpatch { url = "https://github.com/bitc/hdevtools/pull/28.patch"; sha256 = "1rlv5zskg4ns9ba791x72gycxrr52lhy8x164q38gpq600gh5n40"; }) ];
   buildDepends = [ cmdargs ghcPaths network syb time ];
   meta = {
     homepage = "https://github.com/bitc/hdevtools/";
diff --git a/pkgs/development/tools/haskell/hobbes/default.nix b/pkgs/development/tools/haskell/hobbes/default.nix
new file mode 100644
index 000000000000..0c9b2d45ae17
--- /dev/null
+++ b/pkgs/development/tools/haskell/hobbes/default.nix
@@ -0,0 +1,16 @@
+{ cabal, filemanip, filepath, fsnotify, systemFilepath, text }:
+
+cabal.mkDerivation (self: {
+  pname = "hobbes";
+  version = "0.2.2";
+  sha256 = "1pri63d59q918jv1hdp2ib06m6lzw9a2b6bjyn86b2qrrx2512xd";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ filemanip filepath fsnotify systemFilepath text ];
+  meta = {
+    homepage = "http://github.com/jhickner/hobbes";
+    description = "A small file watcher for OSX";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hscolour/default.nix b/pkgs/development/tools/haskell/hscolour/default.nix
index d8bc08b4b33c..d8bc08b4b33c 100644
--- a/pkgs/development/libraries/haskell/hscolour/default.nix
+++ b/pkgs/development/tools/haskell/hscolour/default.nix
diff --git a/pkgs/development/tools/haskell/splot/default.nix b/pkgs/development/tools/haskell/splot/default.nix
index 4e99a1e68cdc..987715a9cf8a 100644
--- a/pkgs/development/tools/haskell/splot/default.nix
+++ b/pkgs/development/tools/haskell/splot/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "splot";
-  version = "0.3.11";
-  sha256 = "0mpyfmafjjcf85v740h69p5mggyqsq3li8m1fa5c0z4rdd0395an";
+  version = "0.3.12";
+  sha256 = "0xk5p2ikrzrmhvl69cl36sskcqgfnhxbbdlyp7bzl5pny0l0h9in";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/threadscope/default.nix b/pkgs/development/tools/haskell/threadscope/default.nix
index afc904ecf953..1158221ad1a3 100644
--- a/pkgs/development/tools/haskell/threadscope/default.nix
+++ b/pkgs/development/tools/haskell/threadscope/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "threadscope";
-  version = "0.2.3";
-  sha256 = "07kbkcckxfsb50zks8jgw2g0ary63hymicq5lqrm5jjaarjb80gr";
+  version = "0.2.4";
+  sha256 = "1208gp80vj3dngc4nrj1jk5y4h1181bgwq2qj764kcjvkaxch599";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/timeplot/default.nix b/pkgs/development/tools/haskell/timeplot/default.nix
index 84444522d195..6ae2b40b081b 100644
--- a/pkgs/development/tools/haskell/timeplot/default.nix
+++ b/pkgs/development/tools/haskell/timeplot/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "timeplot";
-  version = "1.0.24";
-  sha256 = "1k6xinnnc0723mbf0yvqn6qipjr3hcvy2qjv38sy7f5h0gp8lfhc";
+  version = "1.0.25";
+  sha256 = "14zyzr53gpp0i7wx49zzdrndqdhsw3q4z3w5hdl8c4m541pr25fw";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/libsigrok/default.nix b/pkgs/development/tools/libsigrok/default.nix
new file mode 100644
index 000000000000..c8905dcbafda
--- /dev/null
+++ b/pkgs/development/tools/libsigrok/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, libzip, glib, libusb1, libftdi, check
+, libserialport, librevisa
+}:
+
+stdenv.mkDerivation rec {
+  name = "libsigrok-0.3.0";
+
+  src = fetchurl {
+    url = "http://sigrok.org/download/source/libsigrok/${name}.tar.gz";
+    sha256 = "0l3h7zvn3w4c1b9dgvl3hirc4aj1csfkgbk87jkpl7bgl03nk4j3";
+  };
+
+  buildInputs = [ pkgconfig libzip glib libusb1 libftdi check libserialport
+    librevisa
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Core library of the sigrok signal analysis software suite";
+    homepage = http://sigrok.org/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/tools/libsigrokdecode/default.nix b/pkgs/development/tools/libsigrokdecode/default.nix
new file mode 100644
index 000000000000..87ecd637b4e2
--- /dev/null
+++ b/pkgs/development/tools/libsigrokdecode/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, glib, python3, libsigrok, check }:
+
+stdenv.mkDerivation rec {
+  name = "libsigrokdecode-0.3.0";
+
+  src = fetchurl {
+    url = "http://sigrok.org/download/source/libsigrokdecode/${name}.tar.gz";
+    sha256 = "13s7ss52dqj7fccjgrkx10zkj41ygxn8ml1l0bs1vgczz4fvnkpf";
+  };
+
+  buildInputs = [ pkgconfig glib python3 libsigrok check ];
+
+  meta = with stdenv.lib; {
+    description = "Protocol decoding library for the sigrok signal analysis software suite";
+    homepage = http://sigrok.org/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
new file mode 100644
index 000000000000..e55faaa1e632
--- /dev/null
+++ b/pkgs/development/tools/misc/arcanist/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchgit, php, flex, makeWrapper }:
+
+let
+  libphutil = fetchgit {
+    url    = "git://github.com/facebook/libphutil.git";
+    rev    = "7e75bf271c669b61eb6e6e2ea312a36e64b80a4a";
+    sha256 = "ffb7ee8141b925889e9bbc945d2f38f12d1489148b9c9b7eaeadd7524d254a78";
+  };
+  arcanist = fetchgit {
+    url    = "git://github.com/facebook/arcanist.git";
+    rev    = "50caec620a8ed45c54323cb71fee72fd0d935115";
+    sha256 = "dd18ed22375ad1ba058703952be0d339d9c93704e9d75dd7e4e6625236dfe9b0";
+  };
+in
+stdenv.mkDerivation rec {
+  name    = "arcanist-${version}";
+  version = "20140606";
+
+  src = [ arcanist libphutil ];
+  buildInputs = [ php makeWrapper flex ];
+
+  unpackPhase = "true";
+  buildPhase = ''
+    ORIG=`pwd`
+    cp -R ${libphutil} libphutil
+    cp -R ${arcanist} arcanist
+    chmod +w -R libphutil arcanist
+    cd libphutil/support/xhpast
+    make clean all install
+    cd $ORIG
+  '';
+  installPhase = ''
+    mkdir -p $out/bin $out/libexec
+    cp -R libphutil $out/libexec/libphutil
+    cp -R arcanist  $out/libexec/arcanist
+
+    ln -s $out/libexec/arcanist/bin/arc $out/bin
+    wrapProgram $out/bin/arc \
+      --prefix PATH : "${php}/bin"
+  '';
+
+  meta = {
+    description = "Command line interface to Phabricator";
+    homepage    = "http://phabricator.org";
+    license     = stdenv.lib.licenses.asl20;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/tools/misc/avrdude/default.nix b/pkgs/development/tools/misc/avrdude/default.nix
index 89e848df03bf..2026e0ad2c80 100644
--- a/pkgs/development/tools/misc/avrdude/default.nix
+++ b/pkgs/development/tools/misc/avrdude/default.nix
@@ -1,31 +1,33 @@
-{ composableDerivation, fetchurl, yacc, flex, texLive, libusb }:
+{ stdenv, fetchurl, yacc, flex, libusb, libelf, libftdi1, readline
+# docSupport is a big dependency, disabled by default
+, docSupport ? false, texLive ? null, texinfo ? null, texi2html ? null
+}:
 
-let edf = composableDerivation.edf; in
+assert docSupport -> texLive != null && texinfo != null && texi2html != null;
 
-composableDerivation.composableDerivation {} rec {
-  name="avrdude-6.0.1";
+stdenv.mkDerivation rec {
+  name = "avrdude-6.1";
 
   src = fetchurl {
     url = "mirror://savannah/avrdude/${name}.tar.gz";
-    sha256 = "0hfy1qkc6a5vpqsp9ahi1fpf9x4s10wq4bpyblc26sx9vxl4d066";
+    sha256 = "0frxg0q09nrm95z7ymzddx7ysl77ilfbdix1m81d9jjpiv5bm64y";
   };
 
-  configureFlags = [ "--disable-dependency-tracking" ];
-
-  buildInputs = [ yacc flex libusb ];
-
-  flags =
-       edf { name = "doc"; enable = { buildInputs = texLive; configureFlags = ["--enable-doc"]; }; }
-    // edf { name = "parport"; };
-
-  cfg = {
-    docSupport = false; # untested
-    parportSupport = true;
-  };
-
-  meta = {
-    license = "GPL-2";
-    description = "AVR Downloader/UploaDEr";
-    homepage = http://savannah.nongnu.org/projects/avrdude;
+  configureFlags = stdenv.lib.optionalString docSupport "--enable-doc";
+
+  buildInputs = [ yacc flex libusb libelf libftdi1 readline ]
+    ++ stdenv.lib.optionals docSupport [ texLive texinfo texi2html ];
+
+  meta = with stdenv.lib; {
+    description = "Command-line tool for programming Atmel AVR microcontrollers";
+    longDescription = ''
+      AVRDUDE (AVR Downloader/UploaDEr) is an utility to
+      download/upload/manipulate the ROM and EEPROM contents of AVR
+      microcontrollers using the in-system programming technique (ISP).
+    '';
+    homepage = http://www.nongnu.org/avrdude/;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/tools/misc/cl-launch/default.nix b/pkgs/development/tools/misc/cl-launch/default.nix
index 5d7da48ccede..14a36470bbab 100644
--- a/pkgs/development/tools/misc/cl-launch/default.nix
+++ b/pkgs/development/tools/misc/cl-launch/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="cl-launch";
-    version="4.0.2.2";
+    version="4.0.4";
     name="${baseName}-${version}";
-    hash="1a7nwm1gkvpypfbhl29gj4gba50r5b069g3c87cfvrk2n4plm65b";
-    url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.0.2.2.tar.gz";
-    sha256="1a7nwm1gkvpypfbhl29gj4gba50r5b069g3c87cfvrk2n4plm65b";
+    hash="152m834myhcgi4iacfqn81fznlbqxn7pvdlxvk2lbba09h0slm56";
+    url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.0.4.tar.gz";
+    sha256="152m834myhcgi4iacfqn81fznlbqxn7pvdlxvk2lbba09h0slm56";
   };
   buildInputs = [
   ];
diff --git a/pkgs/development/tools/misc/grafana/default.nix b/pkgs/development/tools/misc/grafana/default.nix
new file mode 100644
index 000000000000..346c7fb6ad29
--- /dev/null
+++ b/pkgs/development/tools/misc/grafana/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, unzip, conf ? null }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "grafana-${version}";
+  version = "1.5.4";
+
+  src = fetchurl {
+    url = "http://grafanarel.s3.amazonaws.com/${name}.zip";
+    sha256 = "fee7334efba967142955be2fa39ecae7bca0cc9b7a76c301430746be4fc7ec6d";
+  };
+
+  buildInputs = [ unzip ];
+
+  phases = ["unpackPhase" "installPhase"];
+  installPhase = ''
+    ensureDir $out && cp -R * $out
+    ${optionalString (conf!=null) ''cp ${conf} $out/config.js''}
+  '';
+
+  meta = {
+    description = "A Graphite & InfluxDB Dashboard and Graph Editor";
+    homepage = http://grafana.org/;
+    license = licenses.asl20;
+
+    maintainers = [ maintainers.offline ];
+  };
+}
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index 953035342fd8..c8579ef3831b 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="luarocks";
-    version="2.1.2";
+    version="2.2";
     name="${baseName}-${version}";
-    hash="1wwz71ymzjcyw8pz36yiw2x87c6v8nx5vdcd7zibm1n815v5qqk2";
-    url="http://luarocks.org/releases/luarocks-2.1.2.tar.gz";
-    sha256="1wwz71ymzjcyw8pz36yiw2x87c6v8nx5vdcd7zibm1n815v5qqk2";
+    hash="03i46ayimp087288f0bi6g30fi3aixp2bha2jmsbbhwmsxm1yshs";
+    url="http://luarocks.org/releases/luarocks-2.2.0beta1.tar.gz";
+    sha256="03i46ayimp087288f0bi6g30fi3aixp2bha2jmsbbhwmsxm1yshs";
   };
   buildInputs = [
     lua curl
diff --git a/pkgs/development/tools/misc/opengrok/default.nix b/pkgs/development/tools/misc/opengrok/default.nix
new file mode 100644
index 000000000000..8f77b3d7283a
--- /dev/null
+++ b/pkgs/development/tools/misc/opengrok/default.nix
@@ -0,0 +1,29 @@
+{ fetchurl, stdenv, jre, ctags, makeWrapper, coreutils, git }:
+
+stdenv.mkDerivation rec {
+  name = "opengrok-0.12.1";
+
+  src = fetchurl {
+    url = "http://java.net/projects/opengrok/downloads/download/${name}.tar.gz";
+    sha256 = "0ihaqgf1z2gsjmy2q96m0s07dpnh92j3ss3myiqjdsh9957fwg79";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    ensureDir $out
+    cp -a * $out/
+    substituteInPlace $out/bin/OpenGrok --replace /bin/uname ${coreutils}/bin/uname
+    wrapProgram $out/bin/OpenGrok \
+      --prefix PATH : "${ctags}/bin:${git}/bin" \
+      --set JAVA_HOME "${jre}" \
+      --set OPENGROK_TOMCAT_BASE "/var/tomcat"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Source code search and cross reference engine";
+    homepage = http://opengrok.github.io/OpenGrok/;
+    license = licenses.cddl;
+    maintainers = [ maintainers.lethalman ];
+  };
+}
diff --git a/pkgs/development/tools/misc/srecord/default.nix b/pkgs/development/tools/misc/srecord/default.nix
index 25140093f516..e316b4a628e5 100644
--- a/pkgs/development/tools/misc/srecord/default.nix
+++ b/pkgs/development/tools/misc/srecord/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, boost, libtool, groff, ghostscript }:
 
 stdenv.mkDerivation rec {
-  name = "srecord-1.62";
+  name = "srecord-1.63";
 
   src = fetchurl {
     url = "mirror://sourceforge/srecord/${name}.tar.gz";
-    sha256 = "0bfbmhsm9mbwiik3yrhm95q8bgx1k4mh2ai412k8zjyi8f5f3904";
+    sha256 = "06mzj9lrk8lzfzhnfyh8xm4p92j242jik6zm37ihcia20inwgzkq";
   };
 
   buildInputs = [ boost libtool groff ghostscript ];
diff --git a/pkgs/development/tools/misc/swig/default.nix b/pkgs/development/tools/misc/swig/default.nix
index d489feba4dc5..80c6b20e69d0 100644
--- a/pkgs/development/tools/misc/swig/default.nix
+++ b/pkgs/development/tools/misc/swig/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, boost }:
+{ stdenv, fetchurl, boost, tcl }:
 
 stdenv.mkDerivation rec {
   name = "swig-1.3.40";
@@ -8,18 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "02dc8g8wy75nd2is1974rl24c6mdl0ai1vszs1xpg9nd7dlv6i8r";
   };
 
-  #buildInputs = [ boost ]; # needed for `make check'
-
-  /* The test suite fails this way:
-
-      building python_cpp
-      python: tpp.c:63: __pthread_tpp_change_priority: Assertion `new_prio == -1 || (new_prio >= __sched_fifo_min_prio && new_prio <= __sched_fifo_max_prio)' failed.
-      /bin/sh: line 1: 32101 Aborted                 env LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH PYTHONPATH=.:$PYTHONPATH python ./li_boost_shared_ptr_runme.py
-      make[1]: *** [li_boost_shared_ptr.cpptest] Error 134
-
-     This may be an uninitialized mutex or mutexattr or something.
-   */
-  doCheck = false;
+  doCheck = true;
+  # 'make check' uses boost and tcl
+  buildInputs = stdenv.lib.optionals doCheck [ boost tcl ];
 
   meta = {
     description = "SWIG, an interface compiler that connects C/C++ code to higher-level languages";
@@ -39,7 +30,7 @@ stdenv.mkDerivation rec {
     # Licensing is a mess: http://www.swig.org/Release/LICENSE .
     license = "BSD-style";
 
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.all;
 
     maintainers = [ ];
   };
diff --git a/pkgs/development/tools/parsing/alex/3.0.5.nix b/pkgs/development/tools/parsing/alex/3.0.5.nix
index f85aa42d1653..c4458f7b8297 100644
--- a/pkgs/development/tools/parsing/alex/3.0.5.nix
+++ b/pkgs/development/tools/parsing/alex/3.0.5.nix
@@ -1,4 +1,4 @@
-{ cabal, fetchurl, perl, QuickCheck }:
+{ cabal, fetchpatch, perl, QuickCheck }:
 
 cabal.mkDerivation (self: {
   pname = "alex";
@@ -8,7 +8,7 @@ cabal.mkDerivation (self: {
   isExecutable = true;
   buildDepends = [ QuickCheck ];
   buildTools = [ perl ];
-  patches = [ (fetchurl { url="https://github.com/simonmar/alex/pull/21.patch"; sha256="0apv3rk00gwkf5rqw3467bg6pnamr07zdksbp9khhzzi73k9aq4f"; }) ];
+  patches = [ (fetchpatch { url="http://github.com/simonmar/alex/pull/21.patch"; sha256="050psfwmjlxhyxiy65jsn3v6b9rnfzy8x5q9mmhzwbirqwi0zkfm"; }) ];
   meta = {
     homepage = "http://www.haskell.org/alex/";
     description = "Alex is a tool for generating lexical analysers in Haskell";
diff --git a/pkgs/development/tools/sigrok-cli/default.nix b/pkgs/development/tools/sigrok-cli/default.nix
new file mode 100644
index 000000000000..b2e6dea09e67
--- /dev/null
+++ b/pkgs/development/tools/sigrok-cli/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, glib, libsigrok, libsigrokdecode }:
+
+stdenv.mkDerivation rec {
+  name = "sigrok-cli-0.5.0";
+
+  src = fetchurl {
+    url = "http://sigrok.org/download/source/sigrok-cli/${name}.tar.gz";
+    sha256 = "0g3jzspq9iwz2szzxil9ilim1and85qd605f4jbc04sva80hb8vk";
+  };
+
+  buildInputs = [ pkgconfig glib libsigrok libsigrokdecode ];
+
+  meta = with stdenv.lib; {
+    description = "Command-line frontend for the sigrok signal analysis software suite";
+    homepage = http://sigrok.org/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix
index 86c8b923cca5..9741b0930d22 100644
--- a/pkgs/development/tools/slimerjs/default.nix
+++ b/pkgs/development/tools/slimerjs/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="slimerjs";
-    version="0.9.0";
+    version="0.9.1";
     name="${baseName}-${version}";
-    hash="1b4c299gk20mqb91929jan9ldhwy3jska75wvil9vdmgjrr8496m";
-    url="http://download.slimerjs.org/v0.9/0.9.0/slimerjs-0.9.0.zip";
-    sha256="1b4c299gk20mqb91929jan9ldhwy3jska75wvil9vdmgjrr8496m";
+    hash="1ss69z2794mv40nfa5bfjd8h78jzcjq5xm63hzay1iyvp5rjbl7k";
+    url="http://download.slimerjs.org/v0.9/0.9.1/slimerjs-0.9.1.zip";
+    sha256="1ss69z2794mv40nfa5bfjd8h78jzcjq5xm63hzay1iyvp5rjbl7k";
   };
   buildInputs = [
     unzip zip
diff --git a/pkgs/development/tools/yuicompressor/default.nix b/pkgs/development/tools/yuicompressor/default.nix
new file mode 100644
index 000000000000..5dcc30811e22
--- /dev/null
+++ b/pkgs/development/tools/yuicompressor/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "yuicompressor";
+  version = "2.4.8";
+  src = fetchurl {
+    url = "http://github.com/yui/yuicompressor/releases/download/v${version}/${name}-${version}.jar";
+    sha256 = "1qjxlak9hbl9zd3dl5ks0w4zx5z64wjsbk7ic73r1r45fasisdrh";
+  };
+
+  meta = {
+    description = "A JavaScript and CSS minifier";
+    maintainers = [ stdenv.lib.maintainers.jwiegley ];
+    platforms = stdenv.lib.platforms.all;
+    homepage = http://yui.github.io/yuicompressor/;
+    license = stdenv.lib.licenses.bsd3;
+  };
+
+  buildCommand = ''
+    ensureDir $out/lib
+    ln -s $src $out/lib/yuicompressor.jar
+  '';
+}