summary refs log tree commit diff
path: root/pkgs/development/libraries
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r--pkgs/development/libraries/haskell/AC-Vector/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/Agda/default.nix29
-rw-r--r--pkgs/development/libraries/haskell/AspectAG/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/Boolean/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/Chart/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/ConfigFile/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/CouchDB/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/Crypto/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/Diff/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/GlomeVec/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/Graphalyze/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/HDBC/HDBC-postgresql.nix23
-rw-r--r--pkgs/development/libraries/haskell/HDBC/HDBC-sqlite3.nix23
-rw-r--r--pkgs/development/libraries/haskell/HDBC/HDBC.nix22
-rw-r--r--pkgs/development/libraries/haskell/HGL/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/HList/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/HStringTemplate/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/HTTP/3001.1.5.nix16
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.0.6.nix18
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.0.9.nix18
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.1.1.nix18
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix14
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix16
-rw-r--r--pkgs/development/libraries/haskell/HaXml/1.13.3.nix16
-rw-r--r--pkgs/development/libraries/haskell/HaXml/1.20.2.nix18
-rw-r--r--pkgs/development/libraries/haskell/HaXml/1.22.3.nix18
-rw-r--r--pkgs/development/libraries/haskell/Hipmunk/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/HsSyck/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/JsContracts/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/ListLike/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/MaybeT-transformers/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/MaybeT/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/MemoTrie/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/MissingH/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/MonadPrompt/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/MonadRandom/default.nix11
-rwxr-xr-xpkgs/development/libraries/haskell/ObjectName/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/OneTuple/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/PSQueue/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/RSA/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/Ranged-sets/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/SHA/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/SMTPClient/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/Shellac/Shellac-haskeline.nix17
-rw-r--r--pkgs/development/libraries/haskell/Shellac/Shellac-readline.nix8
-rw-r--r--pkgs/development/libraries/haskell/Shellac/Shellac.nix11
-rwxr-xr-xpkgs/development/libraries/haskell/StateVar/default.nix9
-rwxr-xr-xpkgs/development/libraries/haskell/Tensor/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/Vec/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/WebBits-Html/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/WebBits/1.0.nix17
-rw-r--r--pkgs/development/libraries/haskell/WebBits/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/aeson/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/ansi-terminal/default.nix18
-rwxr-xr-xpkgs/development/libraries/haskell/ansi-wl-pprint/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/asn1-data/default.nix13
-rwxr-xr-xpkgs/development/libraries/haskell/async/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/attempt/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/attoparsec-text-enumerator/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/attoparsec-text/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/enumerator.nix17
-rw-r--r--pkgs/development/libraries/haskell/authenticate/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/base-unicode-symbols/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/base64-bytestring/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/base64-string/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/benchpress/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/bimap/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/binary-shared/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/binary/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/bitmap/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/bktrees/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/blaze-html/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/blaze-textual/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/bmp/default.nix8
-rwxr-xr-xpkgs/development/libraries/haskell/bytestring-mmap/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/bytestring-nums/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/bytestring-trie/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/case-insensitive/0.2.0.2.nix15
-rw-r--r--pkgs/development/libraries/haskell/case-insensitive/0.3.nix8
-rw-r--r--pkgs/development/libraries/haskell/cautious-file/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/cereal/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/certificate/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/clientsession/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/cmdargs/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/colorize-haskell/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/colour/default.nix15
-rwxr-xr-xpkgs/development/libraries/haskell/continued-fractions/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/control-monad-attempt/default.nix11
-rwxr-xr-xpkgs/development/libraries/haskell/converge/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/convertible/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/cookie/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/cprng-aes/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/criterion/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/crypto-api/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/cryptocipher/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/cryptohash/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/csv/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix18
-rw-r--r--pkgs/development/libraries/haskell/data-accessor/data-accessor.nix8
-rw-r--r--pkgs/development/libraries/haskell/data-default/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/data-reify/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/dataenc/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/datetime/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix15
-rw-r--r--pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix15
-rw-r--r--pkgs/development/libraries/haskell/derive/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/digest/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/dimensional/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/dlist/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/dotgen/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/double-conversion/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/email-validate/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/emgm/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/entropy/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/enumerator/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/erf/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/extensible-exceptions/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/failure/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/fclabels/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/feed/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.4.2.2.nix16
-rw-r--r--pkgs/development/libraries/haskell/fgl/5.4.2.3.nix16
-rw-r--r--pkgs/development/libraries/haskell/file-embed/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/filepath/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/filestore/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/fingertree/default.nix13
-rwxr-xr-xpkgs/development/libraries/haskell/flexible-defaults/default.nix11
-rwxr-xr-xpkgs/development/libraries/haskell/funcmp/default.nix11
-rwxr-xr-xpkgs/development/libraries/haskell/gamma/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/gdiff/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/ghc-core/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/ghc-mtl/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/ghc-paths/0.1.0.5.nix13
-rw-r--r--pkgs/development/libraries/haskell/ghc-paths/0.1.0.6.nix13
-rw-r--r--pkgs/development/libraries/haskell/ghc-paths/0.1.0.8.nix9
-rw-r--r--pkgs/development/libraries/haskell/ghc-syb-utils/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/ghc-syb/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/gitit/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/graphviz/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/hakyll/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/hamlet/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-data.nix15
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-server.nix20
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-util.nix14
-rw-r--r--pkgs/development/libraries/haskell/hashable/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/hashed-storage/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/haskeline-class/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/haskeline/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/haskell-lexer/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/haskell-src-meta/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/haxr-th/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/haxr/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/hfuse/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/highlighting-kate/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/hint/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hjsmin/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/hledger-chart/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hledger-lib/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/hledger-vty/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hledger/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/hopenssl/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/hostname/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/hscolour/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/hsdns/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/hsemail/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/hslogger-template/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/hspread/default.nix12
-rwxr-xr-xpkgs/development/libraries/haskell/hsyslog/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/html/1.0.1.2.nix13
-rw-r--r--pkgs/development/libraries/haskell/http-enumerator/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/http-types/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/httpd-shed/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/ivor/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/jpeg/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/json/0.3.6.nix13
-rw-r--r--pkgs/development/libraries/haskell/json/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/jsonEnumerator/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/jsonTypes/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/language-javascript/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/largeword/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/logfloat/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/ltk/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/maybench/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/mime-mail/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/mmap/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/monad-control/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/monad-loops/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/monad-par/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/monad-peel/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/monads-fd/0.0.0.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/monads-fd/0.2.0.0.nix8
-rw-r--r--pkgs/development/libraries/haskell/mpppc/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/mtl/1.1.0.2.nix13
-rw-r--r--pkgs/development/libraries/haskell/mtl/1.1.1.1.nix13
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.0.1.0.nix17
-rw-r--r--pkgs/development/libraries/haskell/mtlparse/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/multiplate/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/multirec/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/multiset/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/murmur-hash/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/mwc-random/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/neither/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/network/2.2.1.4.nix15
-rw-r--r--pkgs/development/libraries/haskell/network/2.2.1.7.nix15
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.0.2.nix18
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.0.5.nix18
-rw-r--r--pkgs/development/libraries/haskell/non-negative/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/numeric-prelude/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/numtype/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/pandoc-types/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/pandoc/1.6.0.1.nix19
-rw-r--r--pkgs/development/libraries/haskell/pandoc/1.8.2.1.nix23
-rw-r--r--pkgs/development/libraries/haskell/parallel/1.1.0.1.nix13
-rw-r--r--pkgs/development/libraries/haskell/parallel/2.2.0.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/parallel/3.1.0.1.nix17
-rw-r--r--pkgs/development/libraries/haskell/parseargs/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/parsec/2.1.0.1.nix14
-rw-r--r--pkgs/development/libraries/haskell/parsec/3.1.1.nix18
-rw-r--r--pkgs/development/libraries/haskell/parsimony/default.nix11
-rwxr-xr-xpkgs/development/libraries/haskell/path-pieces/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/pathtype/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/pcre-light/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/persistent-template/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/persistent/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/polyparse/1.4.nix14
-rw-r--r--pkgs/development/libraries/haskell/polyparse/1.7.nix16
-rw-r--r--pkgs/development/libraries/haskell/pool/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/ppm/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/pretty-show/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/primitive/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/pureMD5/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/random-fu/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/random-shuffle/default.nix15
-rwxr-xr-xpkgs/development/libraries/haskell/random-source/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/random/1.0.0.2.nix14
-rw-r--r--pkgs/development/libraries/haskell/random/1.0.0.3.nix16
-rw-r--r--pkgs/development/libraries/haskell/ranges/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/recaptcha/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix17
-rw-r--r--pkgs/development/libraries/haskell/regex-base/0.93.1.nix18
-rw-r--r--pkgs/development/libraries/haskell/regex-base/0.93.2.nix18
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/0.92.nix16
-rw-r--r--pkgs/development/libraries/haskell/regex-compat/0.93.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/regex-pcre/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix16
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.94.1.nix16
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.94.2.nix16
-rw-r--r--pkgs/development/libraries/haskell/regex-posix/0.94.4.nix16
-rw-r--r--pkgs/development/libraries/haskell/regex-tdfa/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/regexpr/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/regular/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/repa-algorithms/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/repa-bytestring/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/repa-io/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/repa/default.nix17
-rwxr-xr-xpkgs/development/libraries/haskell/rvar/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/safe/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/salvia-protocol/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/salvia/default.nix27
-rwxr-xr-xpkgs/development/libraries/haskell/semigroups/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/sendfile/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/simple-sendfile/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/smallcheck/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/snap/core.nix20
-rw-r--r--pkgs/development/libraries/haskell/snap/server.nix22
-rw-r--r--pkgs/development/libraries/haskell/split/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/stateref/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/statistics/default.nix28
-rw-r--r--pkgs/development/libraries/haskell/stb-image/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/stm/2.1.1.2.nix13
-rw-r--r--pkgs/development/libraries/haskell/stm/2.1.2.1.nix13
-rw-r--r--pkgs/development/libraries/haskell/stm/2.2.0.1.nix13
-rw-r--r--pkgs/development/libraries/haskell/storable-complex/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/storable-record/default.nix18
-rwxr-xr-xpkgs/development/libraries/haskell/streamproc/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/strict/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/strictConcurrency/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/syb/0.2.2.nix13
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.3.nix15
-rw-r--r--pkgs/development/libraries/haskell/syb/0.3.nix15
-rw-r--r--pkgs/development/libraries/haskell/syb/syb-with-class-instances-text.nix14
-rw-r--r--pkgs/development/libraries/haskell/syb/syb-with-class.nix10
-rw-r--r--pkgs/development/libraries/haskell/tabular/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/tagged/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/tagsoup/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/test-framework-hunit/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/test-framework/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/testpack/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/texmath/0.4.nix13
-rw-r--r--pkgs/development/libraries/haskell/texmath/0.5.0.1.nix18
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.0.5.nix20
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.0.6.nix20
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.1.5.nix20
-rw-r--r--pkgs/development/libraries/haskell/th-lift/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/threadmanager/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/time/1.1.2.4.nix14
-rw-r--r--pkgs/development/libraries/haskell/time/1.1.3.nix12
-rw-r--r--pkgs/development/libraries/haskell/time/1.2.0.3.nix12
-rw-r--r--pkgs/development/libraries/haskell/time/1.2.0.5.nix9
-rw-r--r--pkgs/development/libraries/haskell/tls-extra/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/tls/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/transformers/0.2.2.0.nix13
-rw-r--r--pkgs/development/libraries/haskell/tuple/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/uniplate/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/uniqueid/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/unix-compat/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/unordered-containers/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/url/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/utf8-light/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/utf8-string/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/utility-ht/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/uu-parsinglib/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/uulib/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/vector-algorithms/0.4.nix16
-rw-r--r--pkgs/development/libraries/haskell/vector-algorithms/0.5.2.nix8
-rw-r--r--pkgs/development/libraries/haskell/vector-space/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/vector/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/vty/4.6.0.4.nix14
-rw-r--r--pkgs/development/libraries/haskell/vty/4.7.0.4.nix14
-rw-r--r--pkgs/development/libraries/haskell/wai-app-static/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/wai-extra/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/wai/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/warp/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/web-routes-quasi/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/web-routes/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix13
-rw-r--r--pkgs/development/libraries/haskell/xml-enumerator/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/xml-types/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/xml/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/xss-sanitize/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/yesod-auth/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/yesod-core/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/yesod-form/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/yesod-json/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/yesod-persistent/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/yesod-static/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/yesod/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/yst/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/zip-archive/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/zipper/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/zlib-bindings/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/zlib-enum/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.0.0.nix16
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.2.0.nix16
-rw-r--r--pkgs/development/libraries/haskell/zlib/0.5.3.1.nix16
356 files changed, 3221 insertions, 1712 deletions
diff --git a/pkgs/development/libraries/haskell/AC-Vector/default.nix b/pkgs/development/libraries/haskell/AC-Vector/default.nix
index de9bdf8e479bd..461cf3b9723a3 100644
--- a/pkgs/development/libraries/haskell/AC-Vector/default.nix
+++ b/pkgs/development/libraries/haskell/AC-Vector/default.nix
@@ -1,13 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "AC-Vector";
   version = "2.3.1";
   sha256 = "0nmj57czqcik23j9iqxbdwqg73n5n1kc9akhp0wywrbkklgf79a0";
   meta = {
-    description = "Efficient geometric vectors and transformations";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    description = "Efficient geometric vectors and transformations.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/Agda/default.nix b/pkgs/development/libraries/haskell/Agda/default.nix
index 5c896747ef13c..4979d21bf45f2 100644
--- a/pkgs/development/libraries/haskell/Agda/default.nix
+++ b/pkgs/development/libraries/haskell/Agda/default.nix
@@ -1,18 +1,25 @@
-{cabal, QuickCheck, binary, haskeline, haskellSrcExts, mtl, utf8String,
- syb, xhtml, zlib,
- happy, alex}:
+{ cabal, alex, happy, QuickCheck, binary, haskeline, haskellSrcExts
+, mtl, syb, xhtml, zlib
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "Agda";
   version = "2.2.10";
   sha256 = "1bh96g5c6b6jzaf3m9gm0vr64avgi86kb45p8i1vg1jbfjdbdlsw";
-  extraBuildInputs = [happy alex];
-  propagatedBuildInputs =
-    [QuickCheck binary haskeline haskellSrcExts mtl utf8String
-     syb xhtml zlib];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    QuickCheck binary haskeline haskellSrcExts mtl syb xhtml zlib
+  ];
+  buildTools = [ alex happy ];
   meta = {
-    description = "A dependently typed functional language and proof assistant";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://wiki.portal.chalmers.se/agda/";
+    description = "A dependently typed functional programming language and proof assistant";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/AspectAG/default.nix b/pkgs/development/libraries/haskell/AspectAG/default.nix
index 10749c398a1e9..b4d83d457e1eb 100644
--- a/pkgs/development/libraries/haskell/AspectAG/default.nix
+++ b/pkgs/development/libraries/haskell/AspectAG/default.nix
@@ -1,18 +1,18 @@
-{cabal, HList, mtl} :
+{ cabal, HList, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "AspectAG";
   version = "0.3.3";
   sha256 = "06vmdg72f7v11603a0y6f5wq5lydi5inx1d98nwgpp4vj8y138j1";
-  propagatedBuildInputs = [ HList mtl ];
+  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.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Boolean/default.nix b/pkgs/development/libraries/haskell/Boolean/default.nix
index 78f9bae76306a..720d604616940 100644
--- a/pkgs/development/libraries/haskell/Boolean/default.nix
+++ b/pkgs/development/libraries/haskell/Boolean/default.nix
@@ -1,13 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "Boolean";
   version = "0.0.1";
   sha256 = "dafcfb2e9d7f7aa24a3d3ceb385424176297cdf6f6044028d42d0fea1cae7765";
   meta = {
     description = "Generalized booleans";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/Chart/default.nix b/pkgs/development/libraries/haskell/Chart/default.nix
index 440d7e814d333..daf15c0cb2eeb 100644
--- a/pkgs/development/libraries/haskell/Chart/default.nix
+++ b/pkgs/development/libraries/haskell/Chart/default.nix
@@ -1,15 +1,22 @@
-{cabal, cairo, colour, dataAccessor, dataAccessorTemplate, gtk, mtl}:
+{ cabal, cairo, colour, dataAccessor, dataAccessorTemplate, gtk
+, mtl, time
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "Chart";
   version = "0.14";
   sha256 = "0ji81j4c2by5zyrdhx1s17j6kqsi3ngr9y1zh7hr9wv7jsrj3rf2";
-  propagatedBuildInputs =
-    [cairo colour dataAccessor dataAccessorTemplate gtk mtl];
+  buildDepends = [
+    cairo colour dataAccessor dataAccessorTemplate gtk mtl time
+  ];
   meta = {
+    homepage = "http://www.dockerz.net/software/chart.html";
     description = "A library for generating 2D Charts and Plots";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/ConfigFile/default.nix b/pkgs/development/libraries/haskell/ConfigFile/default.nix
index 7598ba9c512dd..378d1e2cd3764 100644
--- a/pkgs/development/libraries/haskell/ConfigFile/default.nix
+++ b/pkgs/development/libraries/haskell/ConfigFile/default.nix
@@ -1,14 +1,20 @@
-{cabal, mtl, parsec, MissingH}:
+{ cabal, MissingH, mtl, parsec }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "ConfigFile";
   version = "1.0.6";
   sha256 = "339722184b86d53d8b361933e572b6e1478824c7eba3fb66b67d0eb5245cd038";
-  propagatedBuildInputs = [mtl parsec MissingH];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ MissingH mtl parsec ];
   meta = {
+    homepage = "http://software.complete.org/configfile";
     description = "Configuration file reading & writing";
     license = "LGPL";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/CouchDB/default.nix b/pkgs/development/libraries/haskell/CouchDB/default.nix
index bad307fc326aa..98002a4c46966 100644
--- a/pkgs/development/libraries/haskell/CouchDB/default.nix
+++ b/pkgs/development/libraries/haskell/CouchDB/default.nix
@@ -1,15 +1,18 @@
-{cabal, HTTP, json, mtl, network} :
+{ cabal, HTTP, json, mtl, network }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "CouchDB";
   version = "0.10.1";
   sha256 = "1ny62ab0sjrkh7mpxj0ahqrv7c8dh0n5s1g8xl0mq3yiwlrjdsim";
-  propagatedBuildInputs = [ HTTP json mtl network ];
+  buildDepends = [ HTTP json mtl network ];
   meta = {
     homepage = "http://github.com/arjunguha/haskell-couchdb/";
     description = "CouchDB interface";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Crypto/default.nix b/pkgs/development/libraries/haskell/Crypto/default.nix
index 4567f6307fb36..ad7bdf98173d6 100644
--- a/pkgs/development/libraries/haskell/Crypto/default.nix
+++ b/pkgs/development/libraries/haskell/Crypto/default.nix
@@ -1,14 +1,19 @@
-{cabal, HUnit, QuickCheck} :
+{ cabal, HUnit, QuickCheck }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "Crypto";
   version = "4.2.3";
   sha256 = "02wi8lyi27i8cdj8vclrl7vcng38srdzz9qpqwsc4y4lmvgg82br";
-  propagatedBuildInputs = [ HUnit QuickCheck ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ HUnit QuickCheck ];
   meta = {
     description = "Collects together existing Haskell cryptographic functions into a package";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Diff/default.nix b/pkgs/development/libraries/haskell/Diff/default.nix
index 367cfeb87dae2..9cf1b494267d5 100644
--- a/pkgs/development/libraries/haskell/Diff/default.nix
+++ b/pkgs/development/libraries/haskell/Diff/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "Diff";
   version = "0.1.3";
   sha256 = "02dhy4rp3mkzm5x3h1rkdin2h8qcb7h7nhn14gl2gvl6wdykfh5w";
@@ -8,6 +8,9 @@ cabal.mkDerivation (self : {
     description = "O(ND) diff algorithm in haskell.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/GlomeVec/default.nix b/pkgs/development/libraries/haskell/GlomeVec/default.nix
index 4ca87d9bced27..421e64ee7a244 100644
--- a/pkgs/development/libraries/haskell/GlomeVec/default.nix
+++ b/pkgs/development/libraries/haskell/GlomeVec/default.nix
@@ -1,13 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "GlomeVec";
   version = "0.1.2";
   sha256 = "6023c11977bf16baf487235087e94f5a2f465e8403b8e40ab513e7879dd52639";
   meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Glome";
     description = "Simple 3D vector library";
     license = "GPL";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/Graphalyze/default.nix b/pkgs/development/libraries/haskell/Graphalyze/default.nix
index 0b356a6abefa6..48d0dd993ec01 100644
--- a/pkgs/development/libraries/haskell/Graphalyze/default.nix
+++ b/pkgs/development/libraries/haskell/Graphalyze/default.nix
@@ -1,14 +1,20 @@
-{cabal, bktrees, fgl, graphviz, pandoc} :
+{ cabal, bktrees, extensibleExceptions, fgl, graphviz, pandoc, time
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "Graphalyze";
   version = "0.11.0.0";
   sha256 = "1aplfd0qp7ypr9rh4v4x5g8f4b0d1w0dcgz7hgjm9haqcsv37a79";
-  propagatedBuildInputs = [ bktrees fgl graphviz pandoc ];
+  buildDepends = [
+    bktrees extensibleExceptions fgl graphviz pandoc time
+  ];
   meta = {
     description = "Graph-Theoretic Analysis library.";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HDBC/HDBC-postgresql.nix b/pkgs/development/libraries/haskell/HDBC/HDBC-postgresql.nix
index de8ef309f1c7e..904e564d31e32 100644
--- a/pkgs/development/libraries/haskell/HDBC/HDBC-postgresql.nix
+++ b/pkgs/development/libraries/haskell/HDBC/HDBC-postgresql.nix
@@ -1,12 +1,21 @@
-{cabal, HDBC, postgresql, parsec}:
+{ cabal, postgresql, HDBC, mtl, parsec, time, utf8String }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "HDBC-postgresql";
-  version = "2.2.3.3";
-  sha256 = "1wh3pwqgxilz4v108q88z1gcqyzxp1fzd47s6g4857m1fzbdj7an";
-  propagatedBuildInputs = [HDBC parsec postgresql];
+  version = "2.3.2.0";
+  sha256 = "0fwza9h2ghl70x44c4snfybnnfsj1mwlf5a1x12ddl1fbj6fx6gs";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ HDBC mtl parsec time utf8String ];
+  extraLibraries = [ postgresql ];
   meta = {
-    description = "This package provides a PostgreSQL driver for HDBC";
+    homepage = "http://software.complete.org/hdbc-postgresql";
+    description = "PostgreSQL driver for HDBC";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/HDBC/HDBC-sqlite3.nix b/pkgs/development/libraries/haskell/HDBC/HDBC-sqlite3.nix
index 6042829915f23..decf93978a3bd 100644
--- a/pkgs/development/libraries/haskell/HDBC/HDBC-sqlite3.nix
+++ b/pkgs/development/libraries/haskell/HDBC/HDBC-sqlite3.nix
@@ -1,12 +1,21 @@
-{cabal, HDBC, sqlite, mtl, utf8String}:
+{ cabal, sqlite, HDBC, mtl, utf8String }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "HDBC-sqlite3";
-  version = "2.3.1.0";
-  sha256 = "0w90mnbl71hfwgscky25gy22w1arj9v3fyj8sy8cm7bkfbs70m8c";
-  propagatedBuildInputs = [HDBC sqlite mtl utf8String];
+  version = "2.3.3.0";
+  sha256 = "11765nsncgyv9j6r5wpziqyhy0lxrmqbhgricbdx0c788ky75y92";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ HDBC mtl utf8String ];
+  extraLibraries = [ sqlite ];
   meta = {
-    description = "This is the Sqlite v3 driver for HDBC, the generic database access system for Haskell";
+    homepage = "http://software.complete.org/hdbc-sqlite3";
+    description = "Sqlite v3 driver for HDBC";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/HDBC/HDBC.nix b/pkgs/development/libraries/haskell/HDBC/HDBC.nix
index f3840b25d94db..30791deea1c0c 100644
--- a/pkgs/development/libraries/haskell/HDBC/HDBC.nix
+++ b/pkgs/development/libraries/haskell/HDBC/HDBC.nix
@@ -1,12 +1,20 @@
-{cabal, HUnit, QuickCheck, mtl, time, utf8String, convertible, text, testpack}:
+{ cabal, convertible, mtl, text, time, utf8String }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "HDBC";
-  version = "2.2.7.0";
-  sha256 = "10bkmrd48knkr1zsm3fmnp7ah9y13pjwaya7z1f93sg29jq3k906";
-  propagatedBuildInputs =
-    [HUnit QuickCheck mtl time utf8String convertible text testpack];
+  version = "2.3.1.0";
+  sha256 = "1y3qcc0ids9k3af4qkhabwg82q03a21wl4vdqhj1h0zmf08b3m6k";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ convertible mtl text time utf8String ];
   meta = {
-    description = "HDBC provides an abstraction layer between Haskell programs and SQL relational databases";
+    homepage = "https://github.com/jgoerzen/hdbc/wiki";
+    description = "Haskell Database Connectivity";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HGL/default.nix b/pkgs/development/libraries/haskell/HGL/default.nix
index 6ca107e259b4f..4b8d6e24c4b85 100644
--- a/pkgs/development/libraries/haskell/HGL/default.nix
+++ b/pkgs/development/libraries/haskell/HGL/default.nix
@@ -1,14 +1,17 @@
-{cabal, X11} :
+{ cabal, X11 }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "HGL";
   version = "3.2.0.2";
   sha256 = "13wcvf6bfii9pihr8m08b81fyslf5n587ds4zzgizbd8m38k81vz";
-  propagatedBuildInputs = [ X11 ];
+  buildDepends = [ X11 ];
   meta = {
     description = "A simple graphics library based on X11 or Win32";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HList/default.nix b/pkgs/development/libraries/haskell/HList/default.nix
index 92d9cbbef7396..657e4899b7b2c 100644
--- a/pkgs/development/libraries/haskell/HList/default.nix
+++ b/pkgs/development/libraries/haskell/HList/default.nix
@@ -1,11 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "HList";
   version = "0.2.3";
   sha256 = "1efbe0c2cb361ab0a9d864a09f9c58075132cb50094207260cb1363fe73c2908";
   meta = {
     description = "Heterogeneous lists";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/HStringTemplate/default.nix b/pkgs/development/libraries/haskell/HStringTemplate/default.nix
index e3b833e1cb359..d1e6a38b6d24b 100644
--- a/pkgs/development/libraries/haskell/HStringTemplate/default.nix
+++ b/pkgs/development/libraries/haskell/HStringTemplate/default.nix
@@ -1,12 +1,21 @@
-{cabal, parsec, time, text, utf8String, parallel, syb}:
+{ cabal, deepseq, mtl, parsec, syb, sybWithClass, text, time
+, utf8String
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "HStringTemplate";
   version = "0.6.6";
   sha256 = "1ian79az5q6m08pwb5fks52ffs4h2mq02kkcwmr6jb7i0ha2k2si";
-  propagatedBuildInputs = [parsec time text utf8String parallel syb];
+  buildDepends = [
+    deepseq mtl parsec syb sybWithClass text time utf8String
+  ];
   meta = {
-    description = "StringTemplate implementation in Haskell";
+    description = "StringTemplate implementation in Haskell.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/HTTP/3001.1.5.nix b/pkgs/development/libraries/haskell/HTTP/3001.1.5.nix
index b8ba3f27df62d..d16db78d8f4f3 100644
--- a/pkgs/development/libraries/haskell/HTTP/3001.1.5.nix
+++ b/pkgs/development/libraries/haskell/HTTP/3001.1.5.nix
@@ -1,12 +1,18 @@
-{cabal, mtl, network, parsec}:
+{ cabal, network, parsec }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "HTTP";
   version = "3001.1.5";
   sha256 = "e34d9f979bafbbf2e45bf90a9ee9bfd291f3c67c291a250cc0a6378431578aeb";
-  propagatedBuildInputs = [mtl network parsec];
+  buildDepends = [ network parsec ];
   meta = {
-    description = "a Haskell library for client-side HTTP";
+    homepage = "http://www.haskell.org/http/";
+    description = "A library for client-side HTTP";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.0.6.nix b/pkgs/development/libraries/haskell/HTTP/4000.0.6.nix
index 3c0d9a7b8d029..13d271dfc36fa 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.0.6.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.0.6.nix
@@ -1,12 +1,18 @@
-{cabal, mtl, network, parsec}:
+{ cabal, mtl, network, parsec }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "HTTP";
-  version = "4000.0.6"; # Haskell Platform 2009.1.1
+  version = "4000.0.6";
   sha256 = "75af1ac4dc21b10c8a1a54a33179ea822e591887bab7278360a3d6b38304d39b";
-  propagatedBuildInputs = [mtl network parsec];
+  buildDepends = [ mtl network parsec ];
   meta = {
-    description = "a Haskell library for client-side HTTP";
+    homepage = "http://projects.haskell.org/http/";
+    description = "A library for client-side HTTP";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix b/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix
index 23b09543707c2..fee3431829f83 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.0.9.nix
@@ -1,12 +1,18 @@
-{cabal, mtl, network, parsec}:
+{ cabal, mtl, network, parsec }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "HTTP";
-  version = "4000.0.9"; # Haskell Platform 2010.1.0.0 and 2010.2.0.0
+  version = "4000.0.9";
   sha256 = "1e2b4a8b782ad1417c8755bb0d248851bc142b351366ed460e07f2945a5e95ba";
-  propagatedBuildInputs = [mtl network parsec];
+  buildDepends = [ mtl network parsec ];
   meta = {
-    description = "a Haskell library for client-side HTTP";
+    homepage = "http://projects.haskell.org/http/";
+    description = "A library for client-side HTTP";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix b/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix
index 686ca44654eaa..d007467e0e348 100644
--- a/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix
+++ b/pkgs/development/libraries/haskell/HTTP/4000.1.1.nix
@@ -1,12 +1,18 @@
-{cabal, mtl, network, parsec}:
+{ cabal, mtl, network, parsec }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "HTTP";
-  version = "4000.1.1"; # Haskell Platform 2011.2.0.0
+  version = "4000.1.1";
   sha256 = "09khx5fb673a0d7m3bl39xjdxvc60m52rmm4865cha2mby0zidy3";
-  propagatedBuildInputs = [mtl network parsec];
+  buildDepends = [ mtl network parsec ];
   meta = {
-    description = "a Haskell library for client-side HTTP";
+    homepage = "http://projects.haskell.org/http/";
+    description = "A library for client-side HTTP";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix b/pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix
index 36e8b86f3019a..ebf561825ce0b 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.0.3.nix
@@ -1,11 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "HUnit";
-  version = "1.2.0.3"; # Haskell Platform 2009.0.0
+  version = "1.2.0.3";
   sha256 = "954f584f7c096c3ddef677e70b3811195bb4fd18dfdb4727a260ca7d7465de12";
   meta = {
+    homepage = "http://hunit.sourceforge.net/";
     description = "A unit testing framework for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix b/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix
index ebbf304721b0b..ec65d160e866f 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.2.1.nix
@@ -1,11 +1,19 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "HUnit";
-  version = "1.2.2.1"; # Haskell Platform 2010.1.0.0 and 2010.2.0.0
+  version = "1.2.2.1";
   sha256 = "47235503b666658588181795540d29212283059b21edc42e1b4f1998e46ac853";
+  isLibrary = true;
+  isExecutable = true;
   meta = {
+    homepage = "http://hunit.sourceforge.net/";
     description = "A unit testing framework for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix b/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix
index d1e3f05aa628d..9c58da37b5037 100644
--- a/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix
+++ b/pkgs/development/libraries/haskell/HUnit/1.2.2.3.nix
@@ -1,11 +1,19 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "HUnit";
-  version = "1.2.2.3"; # Haskell Platform 2011.2.0.0
+  version = "1.2.2.3";
   sha256 = "158i6s014ybh5bflzspd21qzdlhdyk89yqpmk8kwc59lxjvvjsxz";
+  isLibrary = true;
+  isExecutable = true;
   meta = {
+    homepage = "http://hunit.sourceforge.net/";
     description = "A unit testing framework for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/HaXml/1.13.3.nix b/pkgs/development/libraries/haskell/HaXml/1.13.3.nix
index 00a5cba60eff9..30794498a5a28 100644
--- a/pkgs/development/libraries/haskell/HaXml/1.13.3.nix
+++ b/pkgs/development/libraries/haskell/HaXml/1.13.3.nix
@@ -1,11 +1,19 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "HaXml";
   version = "1.13.3";
   sha256 = "08d9wy0rg9m66dd10x0zvkl74l25vxdakz7xp3j88s2gd31jp1v0";
+  isLibrary = true;
+  isExecutable = true;
   meta = {
-    description = "Haskell utilities for parsing, filtering, transforming and generating XML documents.";
+    homepage = "http://www.cs.york.ac.uk/fp/HaXml/";
+    description = "Utilities for manipulating XML documents";
+    license = "LGPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/HaXml/1.20.2.nix b/pkgs/development/libraries/haskell/HaXml/1.20.2.nix
index 188377b8e9480..99467fce944ec 100644
--- a/pkgs/development/libraries/haskell/HaXml/1.20.2.nix
+++ b/pkgs/development/libraries/haskell/HaXml/1.20.2.nix
@@ -1,12 +1,20 @@
-{cabal, polyparse}:
+{ cabal, polyparse }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "HaXml";
   version = "1.20.2";
   sha256 = "05kmr2ablinnrg3x1xr19g5kzzby322lblvcvhwbkv26ajwi0b63";
-  propagatedBuildInputs = [polyparse];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ polyparse ];
   meta = {
-    description = "Haskell utilities for parsing, filtering, transforming and generating XML documents.";
+    homepage = "http://www.cs.york.ac.uk/fp/HaXml/";
+    description = "Utilities for manipulating XML documents";
+    license = "LGPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/HaXml/1.22.3.nix b/pkgs/development/libraries/haskell/HaXml/1.22.3.nix
index 965c9bac9a80b..ade657c7d533b 100644
--- a/pkgs/development/libraries/haskell/HaXml/1.22.3.nix
+++ b/pkgs/development/libraries/haskell/HaXml/1.22.3.nix
@@ -1,14 +1,20 @@
-{cabal, polyparse}:
+{ cabal, polyparse }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "HaXml";
   version = "1.22.3";
   sha256 = "10gbax7nih45ck5fg056gnfgzr7zyndxpvdhvx3af2wnrmilkcbh";
-  propagatedBuildInputs = [polyparse];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ polyparse ];
   meta = {
-    description = "Haskell utilities for parsing, filtering, transforming and generating XML documents.";
+    homepage = "http://www.cs.york.ac.uk/fp/HaXml/";
+    description = "Utilities for manipulating XML documents";
+    license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/Hipmunk/default.nix b/pkgs/development/libraries/haskell/Hipmunk/default.nix
index 8a9be65f516fa..cc933a58babf7 100644
--- a/pkgs/development/libraries/haskell/Hipmunk/default.nix
+++ b/pkgs/development/libraries/haskell/Hipmunk/default.nix
@@ -1,15 +1,18 @@
-{cabal, StateVar, transformers} :
+{ cabal, StateVar, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "Hipmunk";
   version = "5.2.0.2";
   sha256 = "18ly05q953x59smqqrhwjlfa1v6lqma0xiarmr689i63zzb7ji8z";
-  propagatedBuildInputs = [ StateVar transformers ];
+  buildDepends = [ StateVar transformers ];
   meta = {
     homepage = "http://patch-tag.com/r/felipe/hipmunk/home";
     description = "A Haskell binding for Chipmunk.";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/HsSyck/default.nix b/pkgs/development/libraries/haskell/HsSyck/default.nix
index 2b028f7f9bb9e..f27d1f97f374d 100644
--- a/pkgs/development/libraries/haskell/HsSyck/default.nix
+++ b/pkgs/development/libraries/haskell/HsSyck/default.nix
@@ -1,14 +1,17 @@
-{cabal, syb, utf8String} :
+{ cabal, syb, utf8String }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "HsSyck";
   version = "0.50";
   sha256 = "0ap675i2fngvd1nw1dk8p2fz4nbd2aq5ci8dsvpcjbp28y9j2blm";
-  propagatedBuildInputs = [ syb utf8String ];
+  buildDepends = [ syb utf8String ];
   meta = {
     description = "Fast, lightweight YAML loader and dumper";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/JsContracts/default.nix b/pkgs/development/libraries/haskell/JsContracts/default.nix
index 38af9e3e79124..078af010dffb7 100644
--- a/pkgs/development/libraries/haskell/JsContracts/default.nix
+++ b/pkgs/development/libraries/haskell/JsContracts/default.nix
@@ -1,13 +1,20 @@
-{cabal, WebBits, WebBitsHtml}:
+{ cabal, WebBits, WebBitsHtml, mtl, parsec, syb }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "JsContracts";
   version = "0.5.3";
   sha256 = "17l6kdpdc7lrpd9j4d2b6vklkpclshcjy6hzpi442b7pj96sn589";
-
-  propagatedBuildInputs = [ WebBits WebBitsHtml ];
-
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ WebBits WebBitsHtml mtl parsec syb ];
   meta = {
-    description = "Design-by-contract for JavaScript.";
+    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
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ListLike/default.nix b/pkgs/development/libraries/haskell/ListLike/default.nix
index ede9324bde420..4760405752992 100644
--- a/pkgs/development/libraries/haskell/ListLike/default.nix
+++ b/pkgs/development/libraries/haskell/ListLike/default.nix
@@ -1,17 +1,19 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "ListLike";
   version = "3.1.1";
   sha256 = "16q1rsjr9rjlm8iwmr32s1yfcpw0xj34hvb8jfjqyfsail6nh9fh";
+  isLibrary = true;
+  isExecutable = true;
   meta = {
     homepage = "http://software.complete.org/listlike";
     description = "Generic support for list-like structures";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MaybeT-transformers/default.nix b/pkgs/development/libraries/haskell/MaybeT-transformers/default.nix
index 9b168ce78627b..94274cb373aab 100644
--- a/pkgs/development/libraries/haskell/MaybeT-transformers/default.nix
+++ b/pkgs/development/libraries/haskell/MaybeT-transformers/default.nix
@@ -1,17 +1,17 @@
-{cabal, monadsFd, transformers} :
+{ cabal, monadsFd, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "MaybeT-transformers";
   version = "0.2";
   sha256 = "189w8dpxyq7gksca6k08hb4vpanpz06c99akgzpcpjy0i7k22ily";
-  propagatedBuildInputs = [ monadsFd transformers ];
+  buildDepends = [ monadsFd transformers ];
   meta = {
     description = "MaybeT monad transformer using transformers instead of mtl.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MaybeT/default.nix b/pkgs/development/libraries/haskell/MaybeT/default.nix
index 34a27532f6897..348560508622b 100644
--- a/pkgs/development/libraries/haskell/MaybeT/default.nix
+++ b/pkgs/development/libraries/haskell/MaybeT/default.nix
@@ -1,14 +1,17 @@
-{cabal, mtl}:
+{ cabal, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "MaybeT";
   version = "0.1.2";
   sha256 = "995e61165122656807d84174e5c1516340fd7ddeba6571c20751352a8476b632";
-  propagatedBuildInputs = [mtl];
+  buildDepends = [ mtl ];
   meta = {
     description = "MaybeT monad transformer";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/MemoTrie/default.nix b/pkgs/development/libraries/haskell/MemoTrie/default.nix
index 6984e215f8c08..61ba44a492466 100644
--- a/pkgs/development/libraries/haskell/MemoTrie/default.nix
+++ b/pkgs/development/libraries/haskell/MemoTrie/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "MemoTrie";
   version = "0.4.10";
   sha256 = "1hkraq33sai046gwqlabc9nkz6jbl6vgj0c6lc6j4j5h5d8v08kk";
@@ -10,8 +10,8 @@ cabal.mkDerivation (self : {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MissingH/default.nix b/pkgs/development/libraries/haskell/MissingH/default.nix
index 3e81e7548bf71..4af7a59a8d68e 100644
--- a/pkgs/development/libraries/haskell/MissingH/default.nix
+++ b/pkgs/development/libraries/haskell/MissingH/default.nix
@@ -1,14 +1,20 @@
-{cabal, HUnit, hslogger, network, parsec, regexCompat}:
+{ cabal, HUnit, hslogger, mtl, network, parsec, regexCompat }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "MissingH";
   version = "1.1.0.3";
   sha256 = "2d566511e8a347189cf864188d97f8406c6958c6f0a6fcf8cb1593c6bae13dbf";
-  propagatedBuildInputs = [HUnit hslogger network parsec regexCompat];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ HUnit hslogger mtl network parsec regexCompat ];
   meta = {
+    homepage = "http://software.complete.org/missingh";
     description = "Large utility library";
     license = "GPL";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix b/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix
index d3026cf065562..d533d96714da5 100644
--- a/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix
+++ b/pkgs/development/libraries/haskell/MonadCatchIO-mtl/default.nix
@@ -1,15 +1,18 @@
-{cabal, mtl} :
+{ cabal, extensibleExceptions, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "MonadCatchIO-mtl";
   version = "0.3.0.3";
   sha256 = "0sqvdrvl1z6y176jwxv02aam4fz2awmqyjba803w816pp9m9a5pr";
-  propagatedBuildInputs = [ mtl ];
+  buildDepends = [ extensibleExceptions mtl ];
   meta = {
     homepage = "http://code.haskell.org/~jcpetruzza/MonadCatchIO-mtl";
     description = "Monad-transformer version of the Control.Exception module";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix b/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
index f8cf80f83445e..1c992f4b5719d 100644
--- a/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
+++ b/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
@@ -1,14 +1,17 @@
-{cabal, transformers} :
+{ cabal, extensibleExceptions, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "MonadCatchIO-transformers";
   version = "0.2.2.2";
   sha256 = "083c0abwja447j0p8q0j15iv7bshchy83rfqw07b2hfy38467h9g";
-  propagatedBuildInputs = [ transformers ];
+  buildDepends = [ extensibleExceptions transformers ];
   meta = {
     description = "Monad-transformer compatible version of the Control.Exception module";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MonadPrompt/default.nix b/pkgs/development/libraries/haskell/MonadPrompt/default.nix
index 80a192eae1266..daf961f155065 100644
--- a/pkgs/development/libraries/haskell/MonadPrompt/default.nix
+++ b/pkgs/development/libraries/haskell/MonadPrompt/default.nix
@@ -1,17 +1,17 @@
-{cabal, mtl} :
+{ cabal, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "MonadPrompt";
   version = "1.0.0.3";
   sha256 = "0v6svyiajri7c463bz1a1x1nin5s9s7c3s7y0gjc4cn7lhgdsvf2";
-  propagatedBuildInputs = [ mtl ];
+  buildDepends = [ mtl ];
   meta = {
     description = "MonadPrompt, implementation & examples";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/MonadRandom/default.nix b/pkgs/development/libraries/haskell/MonadRandom/default.nix
index 6b4647564626d..f4f4c11379feb 100644
--- a/pkgs/development/libraries/haskell/MonadRandom/default.nix
+++ b/pkgs/development/libraries/haskell/MonadRandom/default.nix
@@ -1,14 +1,17 @@
-{cabal, mtl} :
+{ cabal, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "MonadRandom";
   version = "0.1.6";
   sha256 = "1429w2h66sf0cw992xj4w9clapcqgpdzmh80as7zxf8l87rarqqp";
-  propagatedBuildInputs = [ mtl ];
+  buildDepends = [ mtl ];
   meta = {
     description = "Random-number generation monad.";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ObjectName/default.nix b/pkgs/development/libraries/haskell/ObjectName/default.nix
index 5acff9e7a9f55..0be7c3dd22c91 100755
--- a/pkgs/development/libraries/haskell/ObjectName/default.nix
+++ b/pkgs/development/libraries/haskell/ObjectName/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "ObjectName";
   version = "1.0.0.0";
   sha256 = "0yr1aa0ail2h9qsq2bslcwwq6cxl2lzajmc1laj19r7ks62p32rm";
@@ -9,6 +9,9 @@ cabal.mkDerivation (self : {
     description = "Explicitly handled object names";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/OneTuple/default.nix b/pkgs/development/libraries/haskell/OneTuple/default.nix
index 237000e23eafd..2ecc841a8a479 100644
--- a/pkgs/development/libraries/haskell/OneTuple/default.nix
+++ b/pkgs/development/libraries/haskell/OneTuple/default.nix
@@ -1,13 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "OneTuple";
   version = "0.2.1";
   sha256 = "1x52b68zh3k9lnps5s87kzan7dzvqp6mrwgayjq15w9dv6v78vsb";
   meta = {
     description = "Singleton Tuple";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/PSQueue/default.nix b/pkgs/development/libraries/haskell/PSQueue/default.nix
index 7da7a50a2f1b1..ff3bd0b8fb5f6 100644
--- a/pkgs/development/libraries/haskell/PSQueue/default.nix
+++ b/pkgs/development/libraries/haskell/PSQueue/default.nix
@@ -1,12 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "PSQueue";
   version = "1.1";
   sha256 = "1k291bh8j5vpcrn6vycww2blwg7jxx9yrfmrqdanz48gs4d8gq58";
   meta = {
-    description = "Priority Search Queue implementation for Haskell";
-    license = "BSD";
+    description = "Priority Search Queue";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/RSA/default.nix b/pkgs/development/libraries/haskell/RSA/default.nix
index 8e5eb42681a98..17f3410f39634 100644
--- a/pkgs/development/libraries/haskell/RSA/default.nix
+++ b/pkgs/development/libraries/haskell/RSA/default.nix
@@ -1,14 +1,19 @@
-{cabal, SHA, binary, pureMD5} :
+{ cabal, SHA, binary, pureMD5 }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "RSA";
   version = "1.0.6.1";
   sha256 = "1d0birzvapcsgay0wwh5v9mcd77sghj1bps9ws04ww9ga97gyp0l";
-  propagatedBuildInputs = [ SHA binary pureMD5 ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ SHA binary pureMD5 ];
   meta = {
     description = "Implementation of RSA, using the padding schemes of PKCS#1 v2.1.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Ranged-sets/default.nix b/pkgs/development/libraries/haskell/Ranged-sets/default.nix
index 3f650b22c0952..6a6211b6263af 100644
--- a/pkgs/development/libraries/haskell/Ranged-sets/default.nix
+++ b/pkgs/development/libraries/haskell/Ranged-sets/default.nix
@@ -1,14 +1,18 @@
-{cabal, HUnit, QuickCheck}:
+{ cabal, HUnit, QuickCheck }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "Ranged-sets";
-  version = "0.2.1";
-  sha256 = "dee83d2ea0ae56ff31eb7c74a0785328ca8621792c0859e223b12c17bb775f12";
-  propagatedBuildInputs = [HUnit QuickCheck];
+  version = "0.3.0";
+  sha256 = "1am0lsd3yiyn7ayk9k4ff7zdj67m0pxjl10cxi5f9hgjj4y9380l";
+  buildDepends = [ HUnit QuickCheck ];
   meta = {
+    homepage = "http://code.haskell.org/ranged-sets";
     description = "Ranged sets for Haskell";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/SHA/default.nix b/pkgs/development/libraries/haskell/SHA/default.nix
index 5389cfcb49852..2dc931e3c033a 100644
--- a/pkgs/development/libraries/haskell/SHA/default.nix
+++ b/pkgs/development/libraries/haskell/SHA/default.nix
@@ -1,12 +1,19 @@
-{cabal, binary}:
+{ cabal, binary }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "SHA";
   version = "1.4.1.3";
   sha256 = "1sx68mvzb2y3dq9hk769fzp8vw4jf4hk5v45i0a9a8b31imlicf0";
-  propagatedBuildInputs = [binary];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ binary ];
   meta = {
     description = "Implementations of the SHA suite of message digest functions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/SMTPClient/default.nix b/pkgs/development/libraries/haskell/SMTPClient/default.nix
index 72875916193fa..755c17eee8e9f 100644
--- a/pkgs/development/libraries/haskell/SMTPClient/default.nix
+++ b/pkgs/development/libraries/haskell/SMTPClient/default.nix
@@ -1,17 +1,17 @@
-{cabal, hsemail, network} :
+{ cabal, extensibleExceptions, hsemail, network }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "SMTPClient";
   version = "1.0.4";
   sha256 = "12m0qv8bf0s52yz07sipxlvas8k3xvi1d4lw6960q0nxr40ijyy2";
-  propagatedBuildInputs = [ hsemail network ];
+  buildDepends = [ extensibleExceptions hsemail network ];
   meta = {
     description = "A simple SMTP client library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Shellac/Shellac-haskeline.nix b/pkgs/development/libraries/haskell/Shellac/Shellac-haskeline.nix
index b3a3563f6a129..37bf25a9a9dd7 100644
--- a/pkgs/development/libraries/haskell/Shellac/Shellac-haskeline.nix
+++ b/pkgs/development/libraries/haskell/Shellac/Shellac-haskeline.nix
@@ -1,12 +1,17 @@
-{cabal, Shellac, haskeline}:
+{ cabal, Shellac, haskeline, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "Shellac-haskeline";
-  version = "0.2";
-  sha256 = "e3024b1915efd9841be9f405503f26c52524e7ea2a9c630ad651a9986e5329e0";
-  propagatedBuildInputs = [Shellac haskeline];
+  version = "0.2.0.1";
+  sha256 = "1xvs2ni83yyf7rx3ikmn2bkx20fyj03d03crqyyfw28mikhgv5br";
+  buildDepends = [ Shellac haskeline mtl ];
   meta = {
     description = "Haskeline backend module for Shellac";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/Shellac/Shellac-readline.nix b/pkgs/development/libraries/haskell/Shellac/Shellac-readline.nix
index c728146c953f8..ecb4b2c8cde4b 100644
--- a/pkgs/development/libraries/haskell/Shellac/Shellac-readline.nix
+++ b/pkgs/development/libraries/haskell/Shellac/Shellac-readline.nix
@@ -1,12 +1,12 @@
-{cabal, Shellac, readline}:
+{ cabal, Shellac, readline }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "Shellac-readline";
   version = "0.9";
   sha256 = "3edffecf2225c199f0a4df55e3685f7deee47755ae7f8d03f5da7fac3c2ab878";
-  propagatedBuildInputs = [Shellac readline];
+  buildDepends = [ Shellac readline ];
   meta = {
     description = "Readline backend module for Shellac";
+    license = self.stdenv.lib.licenses.bsd3;
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/Shellac/Shellac.nix b/pkgs/development/libraries/haskell/Shellac/Shellac.nix
index f92a948a749c6..8f36e8ebc0885 100644
--- a/pkgs/development/libraries/haskell/Shellac/Shellac.nix
+++ b/pkgs/development/libraries/haskell/Shellac/Shellac.nix
@@ -1,15 +1,18 @@
-{cabal, mtl} :
+{ cabal, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "Shellac";
   version = "0.9.5.1";
   sha256 = "19fpbh5ijy9xc3rhl9qwyan8jfnz9nsqvnsjxb7kkb7l2bpz4qfp";
-  propagatedBuildInputs = [ mtl ];
+  buildDepends = [ mtl ];
   meta = {
     homepage = "http://www.cs.princeton.edu/~rdockins/shellac/home/";
     description = "A framework for creating shell envinronments";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/StateVar/default.nix b/pkgs/development/libraries/haskell/StateVar/default.nix
index f2ecc59af6025..95148607b6fe4 100755
--- a/pkgs/development/libraries/haskell/StateVar/default.nix
+++ b/pkgs/development/libraries/haskell/StateVar/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "StateVar";
   version = "1.0.0.0";
   sha256 = "1c1b6a6nn1cdnba08zzp0645wl482h7yaa69zw2l3wwyyyccjic4";
@@ -8,5 +8,10 @@ cabal.mkDerivation (self : {
     homepage = "http://www.haskell.org/HOpenGL/";
     description = "State variables";
     license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Tensor/default.nix b/pkgs/development/libraries/haskell/Tensor/default.nix
index abf7508747d66..3856409819dfe 100755
--- a/pkgs/development/libraries/haskell/Tensor/default.nix
+++ b/pkgs/development/libraries/haskell/Tensor/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "Tensor";
   version = "1.0.0.1";
   sha256 = "10arhk5gkn5jxpb53r80bblpk0afdax1fc2mik40hj5g5g960cp9";
@@ -9,6 +9,9 @@ cabal.mkDerivation (self : {
     description = "Tensor data types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/Vec/default.nix b/pkgs/development/libraries/haskell/Vec/default.nix
index 2745a1f2fe822..591f404235c17 100644
--- a/pkgs/development/libraries/haskell/Vec/default.nix
+++ b/pkgs/development/libraries/haskell/Vec/default.nix
@@ -1,18 +1,18 @@
-{cabal, QuickCheck} :
+{ cabal, QuickCheck }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "Vec";
   version = "0.9.8";
   sha256 = "0yaqy0p2jh2ajf8897vsxl5w6bmavixn6n5cc7w8kdnybpbdms6v";
-  propagatedBuildInputs = [ QuickCheck ];
+  buildDepends = [ QuickCheck ];
   meta = {
     homepage = "http://graphics.cs.ucdavis.edu/~sdillard/Vec";
     description = "Fixed-length lists and low-dimensional linear algebra.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/WebBits-Html/default.nix b/pkgs/development/libraries/haskell/WebBits-Html/default.nix
index 29f5841196456..e407dee70afa0 100644
--- a/pkgs/development/libraries/haskell/WebBits-Html/default.nix
+++ b/pkgs/development/libraries/haskell/WebBits-Html/default.nix
@@ -1,15 +1,18 @@
-{cabal, WebBits, mtl, parsec, syb} :
+{ cabal, WebBits, mtl, parsec, syb }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "WebBits-Html";
   version = "1.0.2";
   sha256 = "18dd52970cd27kra4l89vvrx2mrdbqd4w4f76xrq3142daxsagal";
-  propagatedBuildInputs = [ WebBits mtl parsec syb ];
+  buildDepends = [ WebBits mtl parsec syb ];
   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.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/WebBits/1.0.nix b/pkgs/development/libraries/haskell/WebBits/1.0.nix
index 530252017fbc6..89161608843ea 100644
--- a/pkgs/development/libraries/haskell/WebBits/1.0.nix
+++ b/pkgs/development/libraries/haskell/WebBits/1.0.nix
@@ -1,13 +1,18 @@
-{cabal, mtl, parsec, syb}:
+{ cabal, mtl, parsec, syb }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "WebBits";
   version = "1.0";
   sha256 = "1xqk4ajywlaq9nb9a02i7c25na5p2qbpc2k9zw93gbapppjiapsc";
-
-  propagatedBuildInputs = [ mtl parsec syb ];
-
+  buildDepends = [ mtl parsec syb ];
   meta = {
-    description = "WebBits is a collection of libraries for working with JavaScript.";
+    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
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/WebBits/default.nix b/pkgs/development/libraries/haskell/WebBits/default.nix
index 376af5b07db4d..88502db4dfff7 100644
--- a/pkgs/development/libraries/haskell/WebBits/default.nix
+++ b/pkgs/development/libraries/haskell/WebBits/default.nix
@@ -1,15 +1,18 @@
-{cabal, mtl, parsec, syb} :
+{ cabal, mtl, parsec, syb }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "WebBits";
   version = "2.0";
   sha256 = "14a1rqlq925f6rdbi8yx44xszj5pvskcmw1gi1bj8hbilgmlwi7f";
-  propagatedBuildInputs = [ mtl parsec syb ];
+  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.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/aeson/default.nix b/pkgs/development/libraries/haskell/aeson/default.nix
index ddf9f584b027e..1edd45f6aa228 100644
--- a/pkgs/development/libraries/haskell/aeson/default.nix
+++ b/pkgs/development/libraries/haskell/aeson/default.nix
@@ -1,13 +1,14 @@
-{cabal, attoparsec, blazeBuilder, blazeTextual, deepseq, hashable,
- mtl, syb, text, unorderedContainers, vector} :
+{ cabal, attoparsec, blazeBuilder, blazeTextual, deepseq, hashable
+, mtl, syb, text, time, unorderedContainers, vector
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "aeson";
   version = "0.3.2.9";
   sha256 = "1qaajk797zpickw4ik5lc03wnmxkrcmv3zik7n1bjqx6h37h0zqw";
-  propagatedBuildInputs = [
+  buildDepends = [
     attoparsec blazeBuilder blazeTextual deepseq hashable mtl syb text
-    unorderedContainers vector
+    time unorderedContainers vector
   ];
   meta = {
     homepage = "http://github.com/mailrank/aeson";
@@ -15,8 +16,8 @@ cabal.mkDerivation (self : {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ansi-terminal/default.nix b/pkgs/development/libraries/haskell/ansi-terminal/default.nix
index 25e0fb8879278..484736c70982c 100644
--- a/pkgs/development/libraries/haskell/ansi-terminal/default.nix
+++ b/pkgs/development/libraries/haskell/ansi-terminal/default.nix
@@ -1,11 +1,19 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "ansi-terminal";
-  version = "0.5.0";
-  sha256 = "ee921584bb0d6c37f48b7069709297506651fe8e2c5a22810c38072b54c2fee9";
+  version = "0.5.5";
+  sha256 = "09r4nlpmkis6cp30jkymfas13hz6ph4zqxhvigrxn6s76v7nb5a8";
+  isLibrary = true;
+  isExecutable = true;
   meta = {
+    homepage = "http://batterseapower.github.com/ansi-terminal";
     description = "Simple ANSI terminal support, with Windows compatibility";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/ansi-wl-pprint/default.nix b/pkgs/development/libraries/haskell/ansi-wl-pprint/default.nix
index 1433f48e37535..468b35136a33b 100755
--- a/pkgs/development/libraries/haskell/ansi-wl-pprint/default.nix
+++ b/pkgs/development/libraries/haskell/ansi-wl-pprint/default.nix
@@ -1,15 +1,20 @@
-{cabal, ansiTerminal} :
+{ cabal, ansiTerminal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "ansi-wl-pprint";
   version = "0.6.3";
   sha256 = "1cpkfn1ld0sjysksdsxxwwy1b17s4smmzk8y88y9mb81vgwlalkl";
-  propagatedBuildInputs = [ ansiTerminal ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ ansiTerminal ];
   meta = {
     homepage = "http://github.com/batterseapower/ansi-wl-pprint";
     description = "The Wadler/Leijen Pretty Printer for colored ANSI terminal output";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/asn1-data/default.nix b/pkgs/development/libraries/haskell/asn1-data/default.nix
index 98be4be668f46..01229fe3f0705 100644
--- a/pkgs/development/libraries/haskell/asn1-data/default.nix
+++ b/pkgs/development/libraries/haskell/asn1-data/default.nix
@@ -1,10 +1,12 @@
-{cabal, attoparsec, attoparsecEnumerator, enumerator, mtl, text} :
+{ cabal, attoparsec, attoparsecEnumerator, enumerator, mtl, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "asn1-data";
   version = "0.5.1";
   sha256 = "10ci77pf0y8g7i1fwksv5na32jsy3brfdv6nzrnwih1brq6l5fn4";
-  propagatedBuildInputs = [
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
     attoparsec attoparsecEnumerator enumerator mtl text
   ];
   meta = {
@@ -12,6 +14,9 @@ cabal.mkDerivation (self : {
     description = "ASN1 data reader and writer in RAW, BER, DER and CER forms";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/async/default.nix b/pkgs/development/libraries/haskell/async/default.nix
index 5ed577c5bc2d8..5b310f433b0a3 100755
--- a/pkgs/development/libraries/haskell/async/default.nix
+++ b/pkgs/development/libraries/haskell/async/default.nix
@@ -1,13 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "async";
   version = "1.2";
   sha256 = "a5963d36fc1ba142d18920f967190b25cf80f700d863372b6d33ad5257a1773a";
-  propagatedBuildInputs = [];
   meta = {
     homepage = "http://gitorious.org/async/";
     description = "Asynchronous Computations";
     license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/attempt/default.nix b/pkgs/development/libraries/haskell/attempt/default.nix
index aa7118742c04a..44b8c0ad7bc7e 100644
--- a/pkgs/development/libraries/haskell/attempt/default.nix
+++ b/pkgs/development/libraries/haskell/attempt/default.nix
@@ -1,15 +1,18 @@
-{cabal, failure} :
+{ cabal, failure }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "attempt";
   version = "0.3.1.1";
   sha256 = "0yfn8mh7gy6nh689ic6sygf9d7lk44kpj2wahnljl53k6vw7smv5";
-  propagatedBuildInputs = [ failure ];
+  buildDepends = [ failure ];
   meta = {
     homepage = "http://github.com/snoyberg/attempt/tree/master";
     description = "Concrete data type for handling extensible exceptions as failures.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/attoparsec-text-enumerator/default.nix b/pkgs/development/libraries/haskell/attoparsec-text-enumerator/default.nix
index e5350e743e2b7..bcc9e8b1a6f19 100644
--- a/pkgs/development/libraries/haskell/attoparsec-text-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/attoparsec-text-enumerator/default.nix
@@ -1,14 +1,17 @@
-{cabal, attoparsecText, enumerator, text} :
+{ cabal, attoparsecText, enumerator, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "attoparsec-text-enumerator";
   version = "0.2.0.0";
   sha256 = "149ipf5qh7wzjrnv98h6j94djr0ndzg8s4rs8h7kzbii21ynmzz5";
-  propagatedBuildInputs = [ attoparsecText enumerator text ];
+  buildDepends = [ attoparsecText enumerator text ];
   meta = {
     description = "Convert an attoparsec-text parser into an iteratee";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/attoparsec-text/default.nix b/pkgs/development/libraries/haskell/attoparsec-text/default.nix
index f091320b0be25..5ff16e30c18b6 100644
--- a/pkgs/development/libraries/haskell/attoparsec-text/default.nix
+++ b/pkgs/development/libraries/haskell/attoparsec-text/default.nix
@@ -1,15 +1,18 @@
-{cabal, attoparsec, text} :
+{ cabal, attoparsec, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "attoparsec-text";
   version = "0.8.5.1";
   sha256 = "1in0ziqjf2hvlv6yay2b5xkm35j1szzwdfapn5mpflv64qi33i0z";
-  propagatedBuildInputs = [ attoparsec text ];
+  buildDepends = [ attoparsec text ];
   meta = {
     homepage = "http://patch-tag.com/r/felipe/attoparsec-text/home";
     description = "Fast combinator parsing for texts";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/attoparsec/default.nix b/pkgs/development/libraries/haskell/attoparsec/default.nix
index 536b27833a299..06655fc6e5ae0 100644
--- a/pkgs/development/libraries/haskell/attoparsec/default.nix
+++ b/pkgs/development/libraries/haskell/attoparsec/default.nix
@@ -1,13 +1,18 @@
-{cabal, deepseq}:
+{ cabal, deepseq }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "attoparsec";
   version = "0.9.1.1";
   sha256 = "1qkkl9pzk4znqh34pchmxbcslybvii35lkxhwf6445lyhj20356b";
-  propagatedBuildInputs = [deepseq];
+  buildDepends = [ deepseq ];
   meta = {
+    homepage = "https://bitbucket.org/bos/attoparsec";
     description = "Fast combinator parsing for bytestrings";
-    license = "BSD3";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/attoparsec/enumerator.nix b/pkgs/development/libraries/haskell/attoparsec/enumerator.nix
index 4152cd4ed2c42..7c990332a37fb 100644
--- a/pkgs/development/libraries/haskell/attoparsec/enumerator.nix
+++ b/pkgs/development/libraries/haskell/attoparsec/enumerator.nix
@@ -1,13 +1,18 @@
-{cabal, attoparsec, enumerator}:
+{ cabal, attoparsec, enumerator }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "attoparsec-enumerator";
   version = "0.2.0.4";
   sha256 = "14v53vppcf4k3m4kid10pg5r3zsn894f36w1y2pzlc72w81fv3gd";
-  propagatedBuildInputs = [attoparsec enumerator];
+  buildDepends = [ attoparsec enumerator ];
   meta = {
-    description = "Converts an Attoparsec parser into an iteratee";
-    license = "BSD3";
+    homepage = "http://john-millikin.com/software/attoparsec-enumerator/";
+    description = "Convert an Attoparsec parser into an iteratee";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/authenticate/default.nix b/pkgs/development/libraries/haskell/authenticate/default.nix
index ba5c02f347271..c3a1336f810dc 100644
--- a/pkgs/development/libraries/haskell/authenticate/default.nix
+++ b/pkgs/development/libraries/haskell/authenticate/default.nix
@@ -1,22 +1,26 @@
-{cabal, RSA, SHA, aeson, attoparsec, base64Bytestring,
- blazeBuilder, caseInsensitive, enumerator, failure, httpEnumerator,
- httpTypes, network, tagsoup, text, tls, transformers,
- xmlEnumerator} :
+{ cabal, RSA, SHA, aeson, attoparsec, base64Bytestring
+, blazeBuilder, caseInsensitive, enumerator, failure
+, httpEnumerator, httpTypes, network, tagsoup, text, time, tls
+, transformers, xmlEnumerator
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "authenticate";
   version = "0.9.2.2";
   sha256 = "0rn1f458ag9mmh55hi873xg5iqypwl6vf6blyaxwbgbp6nm327iz";
-  propagatedBuildInputs = [
+  buildDepends = [
     RSA SHA aeson attoparsec base64Bytestring blazeBuilder
     caseInsensitive enumerator failure httpEnumerator httpTypes network
-    tagsoup text tls transformers xmlEnumerator
+    tagsoup text time tls transformers xmlEnumerator
   ];
   meta = {
     homepage = "http://github.com/snoyberg/authenticate/tree/master";
     description = "Authentication methods for Haskell web applications.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix b/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix
index 0fd2ed0ee75a2..7fbddd1c43df0 100644
--- a/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix
+++ b/pkgs/development/libraries/haskell/base-unicode-symbols/default.nix
@@ -1,17 +1,17 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "base-unicode-symbols";
-  version = "0.2.2";
-  sha256 = "06m31fzy387ylk9yw4lbba8fwzql1d2q774251870z8xgqfc52gk";
+  version = "0.2.2.1";
+  sha256 = "095x4mlkn7i9byg6kdp2f7z0x7sizmy4lgsi0rsabazyd3d8rr9l";
   meta = {
     homepage = "http://haskell.org/haskellwiki/Unicode-symbols";
     description = "Unicode alternatives for common functions and operators";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/base64-bytestring/default.nix b/pkgs/development/libraries/haskell/base64-bytestring/default.nix
index 10e48e98ee749..f974a72347fd3 100644
--- a/pkgs/development/libraries/haskell/base64-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/base64-bytestring/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "base64-bytestring";
   version = "0.1.0.3";
   sha256 = "0d4j8b1d8z9qr1y446bfkj764xgilk8gw2frj0wn0717y8knvmx3";
@@ -9,6 +9,9 @@ cabal.mkDerivation (self : {
     description = "Fast base64 encoding and deconding for ByteStrings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/base64-string/default.nix b/pkgs/development/libraries/haskell/base64-string/default.nix
index ab27d8159a537..b51eb8c088352 100644
--- a/pkgs/development/libraries/haskell/base64-string/default.nix
+++ b/pkgs/development/libraries/haskell/base64-string/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "base64-string";
   version = "0.2";
   sha256 = "0pkhrimabacsjalzq0y3a197fqfbspsbv8xszzg4vbb1fb59dj1y";
@@ -9,6 +9,9 @@ cabal.mkDerivation (self : {
     description = "Base64 implementation for String's.";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/benchpress/default.nix b/pkgs/development/libraries/haskell/benchpress/default.nix
index d0876c090df44..d7da499b0bd0a 100644
--- a/pkgs/development/libraries/haskell/benchpress/default.nix
+++ b/pkgs/development/libraries/haskell/benchpress/default.nix
@@ -1,15 +1,18 @@
-{cabal, mtl, time} :
+{ cabal, mtl, time }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "benchpress";
   version = "0.2.2.4";
   sha256 = "0cabjx0gkbk5blqkm9pmnz8kmi3573367365gny4r3m431iwxgnf";
-  propagatedBuildInputs = [ mtl time ];
+  buildDepends = [ mtl time ];
   meta = {
     homepage = "http://github.com/tibbe/benchpress";
     description = "Micro-benchmarking with detailed statistics.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bimap/default.nix b/pkgs/development/libraries/haskell/bimap/default.nix
index 0e3365a409035..2b132f9cad0bb 100644
--- a/pkgs/development/libraries/haskell/bimap/default.nix
+++ b/pkgs/development/libraries/haskell/bimap/default.nix
@@ -1,13 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "bimap";
   version = "0.2.4";
   sha256 = "d991ae393ade2191f42d8a0d659d2b9a749675735eb5b57872f577ede82565c5";
   meta = {
+    homepage = "http://code.haskell.org/bimap";
     description = "Bidirectional mapping between two key types";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/binary-shared/default.nix b/pkgs/development/libraries/haskell/binary-shared/default.nix
index aea6fe1920928..340230b506d03 100644
--- a/pkgs/development/libraries/haskell/binary-shared/default.nix
+++ b/pkgs/development/libraries/haskell/binary-shared/default.nix
@@ -1,13 +1,18 @@
-{cabal, binary, mtl}:
+{ cabal, binary, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "binary-shared";
   version = "0.8.1";
   sha256 = "0niq6hgsawsdg3kkjgkwyrgy8w7pfkqfph5d1x5bzcjrcl982jrg";
-  propagatedBuildInputs = [binary mtl];
+  buildDepends = [ binary mtl ];
   meta = {
-    description = "Binary serialization with support for sharing identical elements";
+    homepage = "http://www.leksah.org";
+    description = "Sharing for the binary package";
     license = "GPL";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/binary/default.nix b/pkgs/development/libraries/haskell/binary/default.nix
index cf501a51d474a..65018a4d5c514 100644
--- a/pkgs/development/libraries/haskell/binary/default.nix
+++ b/pkgs/development/libraries/haskell/binary/default.nix
@@ -1,10 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "binary";
   version = "0.5.0.2";
   sha256 = "02qkybh11psmggkqcs7f8kh4izfj44gq1wk23xhv3jbxc7gdxhp0";
   meta = {
-    description = "Efficient, pure binary serialisation using lazy ByteStrings";
+    homepage = "http://code.haskell.org/binary/";
+    description = "Binary serialisation for Haskell values using lazy ByteStrings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bitmap/default.nix b/pkgs/development/libraries/haskell/bitmap/default.nix
index aff1eea1f0c70..b93ad7c1afa86 100644
--- a/pkgs/development/libraries/haskell/bitmap/default.nix
+++ b/pkgs/development/libraries/haskell/bitmap/default.nix
@@ -1,13 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "bitmap";
   version = "0.0.1";
   sha256 = "281ad4d9234349cfd14f91977b48e2d1861c037f4b6562aa138cddd25c801a7e";
   meta = {
-    description = "A library for handling and manipulating bitmaps";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://code.haskell.org/~bkomuves/";
+    description = "A library for handling and manipulating bitmaps.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/bktrees/default.nix b/pkgs/development/libraries/haskell/bktrees/default.nix
index cc82cd66a9b23..23493e50c19ce 100644
--- a/pkgs/development/libraries/haskell/bktrees/default.nix
+++ b/pkgs/development/libraries/haskell/bktrees/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "bktrees";
   version = "0.3.1";
   sha256 = "1d2iz48n0ayn0hi9xa110pxy1mv5a4m21rmbpvs6ki1a7cv4ghn9";
@@ -8,6 +8,9 @@ cabal.mkDerivation (self : {
     description = "A set data structure with approximate searching";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix b/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix
index d636e68da1248..0a6fa732cf43e 100644
--- a/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix
@@ -1,12 +1,19 @@
-{cabal, blazeBuilder, enumerator, transformers}:
+{ cabal, blazeBuilder, enumerator, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "blaze-builder-enumerator";
   version = "0.2.0.2";
   sha256 = "0as4mjh695jpxp9qfhpsxyr1448l0pk94sh5kk8sgxv5hfiy41k9";
-  propagatedBuildInputs = [blazeBuilder enumerator transformers];
+  buildDepends = [ blazeBuilder enumerator transformers ];
   meta = {
-    description = "Enumeratees for the incremental conversion of builders to bytestrings";
-    license = "BSD3";
+    homepage = "https://github.com/meiersi/blaze-builder-enumerator";
+    description = "Enumeratees for the incremental conversion of builders to
+bytestrings.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/blaze-builder/default.nix b/pkgs/development/libraries/haskell/blaze-builder/default.nix
index 4b8dc9b08e96b..312d4d9332f73 100644
--- a/pkgs/development/libraries/haskell/blaze-builder/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder/default.nix
@@ -1,13 +1,18 @@
-{cabal, text}:
+{ cabal, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "blaze-builder";
   version = "0.3.0.1";
   sha256 = "1p3xlifcr7v987zx8l2sppn9yydph332mn1xxk0yfi78a6386nfb";
-  propagatedBuildInputs = [text];
+  buildDepends = [ text ];
   meta = {
-    description = "Builder to efficiently append text";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://github.com/meiersi/blaze-builder";
+    description = "Efficient buffered output.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/blaze-html/default.nix b/pkgs/development/libraries/haskell/blaze-html/default.nix
index 988c756340196..8d1afd8c6fb07 100644
--- a/pkgs/development/libraries/haskell/blaze-html/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-html/default.nix
@@ -1,17 +1,17 @@
-{cabal, blazeBuilder, text} :
+{ cabal, blazeBuilder, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "blaze-html";
   version = "0.4.1.6";
   sha256 = "084phxxdy12vi2q084k8w693m94v0pjf29zx2fk1y0n80k05ii4z";
-  propagatedBuildInputs = [ blazeBuilder text ];
+  buildDepends = [ blazeBuilder text ];
   meta = {
     homepage = "http://jaspervdj.be/blaze";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/blaze-textual/default.nix b/pkgs/development/libraries/haskell/blaze-textual/default.nix
index e194ecdb514a6..0c405bac52382 100644
--- a/pkgs/development/libraries/haskell/blaze-textual/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-textual/default.nix
@@ -1,18 +1,18 @@
-{cabal, blazeBuilder, text, vector} :
+{ cabal, blazeBuilder, text, time, vector }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "blaze-textual";
   version = "0.1.0.0";
   sha256 = "0ql25b0r4xbshqsjfndl7glq0hp2ncxb3h5zd541vsqrqrf8y4gk";
-  propagatedBuildInputs = [ blazeBuilder text vector ];
+  buildDepends = [ blazeBuilder text time vector ];
   meta = {
     homepage = "http://github.com/mailrank/blaze-textual";
     description = "Fast rendering of common datatypes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bmp/default.nix b/pkgs/development/libraries/haskell/bmp/default.nix
index f2d506ec8384f..c507a08ac5ff2 100644
--- a/pkgs/development/libraries/haskell/bmp/default.nix
+++ b/pkgs/development/libraries/haskell/bmp/default.nix
@@ -1,18 +1,18 @@
-{cabal, binary} :
+{ cabal, binary }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "bmp";
   version = "1.1.2.1";
   sha256 = "01w0fbfzdmrfnmnkjkg9paagfkzsjn57rx7lf2npzp95rmljplkb";
-  propagatedBuildInputs = [ binary ];
+  buildDepends = [ binary ];
   meta = {
     homepage = "http://code.ouroborus.net/bmp";
     description = "Read and write uncompressed BMP image files.";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bytestring-mmap/default.nix b/pkgs/development/libraries/haskell/bytestring-mmap/default.nix
index c51db4e6d2363..cf68d1e7fa50a 100755
--- a/pkgs/development/libraries/haskell/bytestring-mmap/default.nix
+++ b/pkgs/development/libraries/haskell/bytestring-mmap/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "bytestring-mmap";
   version = "0.2.2";
   sha256 = "1bv9xf4cpph1cbdwv6rbmq8ppi5wjpgd97lwln5l9ky5rvnaxg3v";
@@ -8,5 +8,10 @@ cabal.mkDerivation (self : {
     homepage = "http://code.haskell.org/~dons/code/bytestring-mmap/";
     description = "mmap support for strict ByteStrings";
     license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bytestring-nums/default.nix b/pkgs/development/libraries/haskell/bytestring-nums/default.nix
index da44e2771817d..f295c8a178178 100644
--- a/pkgs/development/libraries/haskell/bytestring-nums/default.nix
+++ b/pkgs/development/libraries/haskell/bytestring-nums/default.nix
@@ -1,14 +1,19 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "bytestring-nums";
   version = "0.3.3";
   sha256 = "09gdbyj5qw98j57cs9phzsbmvdm7y6j07wg908i34jklwm24nxfd";
+  isLibrary = true;
+  isExecutable = true;
   meta = {
     homepage = "http://github.com/solidsnack/bytestring-nums";
     description = "Parse numeric literals from ByteStrings.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/bytestring-trie/default.nix b/pkgs/development/libraries/haskell/bytestring-trie/default.nix
index 8cbc0f30ea3ee..ab0cdcc402f16 100644
--- a/pkgs/development/libraries/haskell/bytestring-trie/default.nix
+++ b/pkgs/development/libraries/haskell/bytestring-trie/default.nix
@@ -1,14 +1,18 @@
-{cabal, binary}:
+{ cabal, binary }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "bytestring-trie";
   version = "0.2.3";
   sha256 = "1zb4s7fd951swc648szrpx0ldailmdinapgbcg1zajb5c5jq57ga";
-  propagatedBuildInputs = [binary];
+  buildDepends = [ binary ];
   meta = {
-    description = "An efficient finite map from (byte)strings to values";
-    license = "BSD3";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://code.haskell.org/~wren/";
+    description = "An efficient finite map from (byte)strings to values.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/case-insensitive/0.2.0.2.nix b/pkgs/development/libraries/haskell/case-insensitive/0.2.0.2.nix
index 2bda4a7eefea6..7973138973c6b 100644
--- a/pkgs/development/libraries/haskell/case-insensitive/0.2.0.2.nix
+++ b/pkgs/development/libraries/haskell/case-insensitive/0.2.0.2.nix
@@ -1,14 +1,17 @@
-{cabal, text}:
+{ cabal, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "case-insensitive";
   version = "0.2.0.2";
   sha256 = "0qn2scaxxbqi4770nwvcmb1ldj0ipa2ljxcavcn0kv48xzs519l7";
-  propagatedBuildInputs = [text];
+  buildDepends = [ text ];
   meta = {
     description = "Case insensitive string comparison";
-    license = "BSD3";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/case-insensitive/0.3.nix b/pkgs/development/libraries/haskell/case-insensitive/0.3.nix
index 987055f8c415b..6a59c9e840b7b 100644
--- a/pkgs/development/libraries/haskell/case-insensitive/0.3.nix
+++ b/pkgs/development/libraries/haskell/case-insensitive/0.3.nix
@@ -1,17 +1,17 @@
-{cabal, hashable, text} :
+{ cabal, hashable, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "case-insensitive";
   version = "0.3";
   sha256 = "0k3y09ak4k0jwx7bh5awcznw064xgf6yzidq3jalif7m3c9bv5q7";
-  propagatedBuildInputs = [ hashable text ];
+  buildDepends = [ hashable text ];
   meta = {
     description = "Case insensitive string comparison";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cautious-file/default.nix b/pkgs/development/libraries/haskell/cautious-file/default.nix
index 00667ff80d321..f291c3e632f1a 100644
--- a/pkgs/development/libraries/haskell/cautious-file/default.nix
+++ b/pkgs/development/libraries/haskell/cautious-file/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "cautious-file";
   version = "1.0";
   sha256 = "1s2la91vk9c99bj0ipzc4r6w81rcs4jfmn0xr1cgjab00bzj880q";
@@ -9,8 +9,8 @@ cabal.mkDerivation (self : {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cereal/default.nix b/pkgs/development/libraries/haskell/cereal/default.nix
index 82fc2d81c3ec9..c035b1603f1a4 100644
--- a/pkgs/development/libraries/haskell/cereal/default.nix
+++ b/pkgs/development/libraries/haskell/cereal/default.nix
@@ -1,12 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "cereal";
   version = "0.3.3.0";
   sha256 = "0bqd5qfvbz77mq0zxgafj011hrxcanrfzvlwhf4j4dzr6yryk53y";
   meta = {
     description = "A binary serialization library";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/certificate/default.nix b/pkgs/development/libraries/haskell/certificate/default.nix
index 43d9b03d2955f..41646034aa0e4 100644
--- a/pkgs/development/libraries/haskell/certificate/default.nix
+++ b/pkgs/development/libraries/haskell/certificate/default.nix
@@ -1,15 +1,20 @@
-{cabal, asn1Data, base64Bytestring, mtl} :
+{ cabal, asn1Data, base64Bytestring, mtl, time }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "certificate";
   version = "0.9.1";
   sha256 = "0hq9a0vz72kk1n3hdza36rji8vc95y667iwcsmsh5habyh6q8228";
-  propagatedBuildInputs = [ asn1Data base64Bytestring mtl ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ asn1Data base64Bytestring mtl time ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-certificate";
     description = "Certificates and Key Reader/Writer";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/clientsession/default.nix b/pkgs/development/libraries/haskell/clientsession/default.nix
index 9d91ac477e7ac..b222d180e763d 100644
--- a/pkgs/development/libraries/haskell/clientsession/default.nix
+++ b/pkgs/development/libraries/haskell/clientsession/default.nix
@@ -1,13 +1,19 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "clientsession";
   version = "0.6.0";
   sha256 = "0h92jjkhldn7f9b78cajfda8rprsj5scdsyl3pjpzicpvvy9g00y";
+  isLibrary = true;
+  isExecutable = true;
   meta = {
-    description = "Store session data in a cookie";
-    license = "BSD3";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://github.com/snoyberg/clientsession/tree/master";
+    description = "Store session data in a cookie.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/cmdargs/default.nix b/pkgs/development/libraries/haskell/cmdargs/default.nix
index 64d5622aaf83f..f3c6bc95a18d5 100644
--- a/pkgs/development/libraries/haskell/cmdargs/default.nix
+++ b/pkgs/development/libraries/haskell/cmdargs/default.nix
@@ -1,14 +1,20 @@
-{cabal, filepath, mtl}:
+{ cabal, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "cmdargs";
   version = "0.7";
   sha256 = "0qijfdc66f0r2k272sl41nxfymmsk7naw5is3b4zyxsgm147c0vq";
-  propagatedBuildInputs = [filepath mtl];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ transformers ];
   meta = {
+    homepage = "http://community.haskell.org/~ndm/cmdargs/";
     description = "Command line argument processing";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/colorize-haskell/default.nix b/pkgs/development/libraries/haskell/colorize-haskell/default.nix
index 36afe8df17634..702ddd0b9ec68 100644
--- a/pkgs/development/libraries/haskell/colorize-haskell/default.nix
+++ b/pkgs/development/libraries/haskell/colorize-haskell/default.nix
@@ -1,15 +1,20 @@
-{cabal, ansiTerminal, haskellLexer} :
+{ cabal, ansiTerminal, haskellLexer }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "colorize-haskell";
   version = "1.0.1";
   sha256 = "1v4spa6vw9igjpd1dr595z5raz5fr8f485q5w9imrv8spms46xh3";
-  propagatedBuildInputs = [ ansiTerminal haskellLexer ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ ansiTerminal haskellLexer ];
   meta = {
     homepage = "http://github.com/yav/colorize-haskell";
     description = "Highligt Haskell source";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/colour/default.nix b/pkgs/development/libraries/haskell/colour/default.nix
index 99b9363259580..51c93043e8b0e 100644
--- a/pkgs/development/libraries/haskell/colour/default.nix
+++ b/pkgs/development/libraries/haskell/colour/default.nix
@@ -1,12 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "colour";
   version = "2.3.1";
   sha256 = "58cf12b8abf7d01a752b1b778b64cc406903874702e3475d65c2aa35689fa49b";
   meta = {
-    description = "Data type, conversion and composition of colours";
-    license = "OtherLicense";
+    homepage = "http://www.haskell.org/haskellwiki/Colour";
+    description = "A model for human colour/color perception";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/continued-fractions/default.nix b/pkgs/development/libraries/haskell/continued-fractions/default.nix
index 882fd8a6ebef2..05a5dd3cde2e1 100755
--- a/pkgs/development/libraries/haskell/continued-fractions/default.nix
+++ b/pkgs/development/libraries/haskell/continued-fractions/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "continued-fractions";
   version = "0.9.1.0";
   sha256 = "07g6ms68xfzd25zr2k2fpg4f4pynmq4mn7djkzrg3gbfh9gfq37q";
@@ -8,5 +8,10 @@ cabal.mkDerivation (self : {
     homepage = "/dev/null";
     description = "Continued fractions.";
     license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/control-monad-attempt/default.nix b/pkgs/development/libraries/haskell/control-monad-attempt/default.nix
index 5c19d3e1b462f..fbcd104b99bd4 100644
--- a/pkgs/development/libraries/haskell/control-monad-attempt/default.nix
+++ b/pkgs/development/libraries/haskell/control-monad-attempt/default.nix
@@ -1,15 +1,18 @@
-{cabal, attempt, transformers} :
+{ cabal, attempt, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "control-monad-attempt";
   version = "0.3.0";
   sha256 = "1l0bqb5h2fs7vx2r8nd6kscyyrrqc0gshnxwdz9p6clfnknyqbqw";
-  propagatedBuildInputs = [ attempt transformers ];
+  buildDepends = [ attempt transformers ];
   meta = {
     homepage = "http://github.com/snoyberg/control-monad-attempt";
     description = "Monad transformer for attempt.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/converge/default.nix b/pkgs/development/libraries/haskell/converge/default.nix
index cf05310eefb54..c1525b00e306d 100755
--- a/pkgs/development/libraries/haskell/converge/default.nix
+++ b/pkgs/development/libraries/haskell/converge/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "converge";
   version = "0.1";
   sha256 = "01n5xnzb769rflgzk1f2v2y3yik9q2cmpq3b2pw68pxl1z3qfvpw";
@@ -8,5 +8,10 @@ cabal.mkDerivation (self : {
     homepage = "/dev/null";
     description = "Limit operations for converging sequences";
     license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/convertible/default.nix b/pkgs/development/libraries/haskell/convertible/default.nix
index 6a56a83263659..5497500c0a86d 100644
--- a/pkgs/development/libraries/haskell/convertible/default.nix
+++ b/pkgs/development/libraries/haskell/convertible/default.nix
@@ -1,12 +1,20 @@
-{cabal, mtl, time, text}:
+{ cabal, mtl, text, time }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "convertible";
-  version = "1.0.10.0";
-  sha256 = "1phjxd40mfxzp2ma1yif5f2wrjqg21a5bwz05mh38lxrw68vm711";
-  propagatedBuildInputs = [mtl time text];
+  version = "1.0.11.0";
+  sha256 = "0qkz760ddshmglmrf47a01978c9zhxfss44b6vmfkwwfcjb7da2b";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ mtl text time ];
   meta = {
+    homepage = "http://hackage.haskell.org/cgi-bin/hackage-scripts/package/convertible";
     description = "Typeclasses and instances for converting between types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/cookie/default.nix b/pkgs/development/libraries/haskell/cookie/default.nix
index b7c79782a8196..53b3ba6648ce1 100644
--- a/pkgs/development/libraries/haskell/cookie/default.nix
+++ b/pkgs/development/libraries/haskell/cookie/default.nix
@@ -1,18 +1,18 @@
-{cabal, blazeBuilder, text} :
+{ cabal, blazeBuilder, text, time }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "cookie";
   version = "0.3.0";
   sha256 = "0ix7g29a7kj48yx2dqjj1g6vy89rmidsnjfnfj7mali86q9i7bdw";
-  propagatedBuildInputs = [ blazeBuilder text ];
+  buildDepends = [ blazeBuilder text time ];
   meta = {
     homepage = "http://github.com/snoyberg/cookie";
     description = "HTTP cookie parsing and rendering";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cprng-aes/default.nix b/pkgs/development/libraries/haskell/cprng-aes/default.nix
index b04ad6a9849ff..70a099bb4f6ea 100644
--- a/pkgs/development/libraries/haskell/cprng-aes/default.nix
+++ b/pkgs/development/libraries/haskell/cprng-aes/default.nix
@@ -1,15 +1,18 @@
-{cabal, cereal, cryptoApi, cryptocipher} :
+{ cabal, cereal, cryptoApi, cryptocipher }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "cprng-aes";
   version = "0.2.1";
   sha256 = "0q6qkvha7cckz3zjnzfsrx298arzbdavy1f73hygrd8f7n74442j";
-  propagatedBuildInputs = [ cereal cryptoApi cryptocipher ];
+  buildDepends = [ cereal cryptoApi cryptocipher ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-cprng-aes";
     description = "Crypto Pseudo Random Number Generator using AES in counter mode.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/criterion/default.nix b/pkgs/development/libraries/haskell/criterion/default.nix
index 5e8115eaa9215..0a7f23a38acd8 100644
--- a/pkgs/development/libraries/haskell/criterion/default.nix
+++ b/pkgs/development/libraries/haskell/criterion/default.nix
@@ -1,12 +1,14 @@
-{cabal, deepseq, mtl, mwcRandom, parsec, statistics, vector,
- vectorAlgorithms} :
+{ cabal, deepseq, mtl, mwcRandom, parsec, statistics, time, vector
+, vectorAlgorithms
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "criterion";
   version = "0.5.0.10";
   sha256 = "0sd289s7wnyg0p37j327hv55aw4a18bdv56z26v4qi3j8p2fbpbj";
-  propagatedBuildInputs = [
-    deepseq mtl mwcRandom parsec statistics vector vectorAlgorithms
+  buildDepends = [
+    deepseq mtl mwcRandom parsec statistics time vector
+    vectorAlgorithms
   ];
   meta = {
     homepage = "http://bitbucket.org/bos/criterion";
@@ -14,8 +16,8 @@ cabal.mkDerivation (self : {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/crypto-api/default.nix b/pkgs/development/libraries/haskell/crypto-api/default.nix
index 507000c85a1bf..e651d03b736fd 100644
--- a/pkgs/development/libraries/haskell/crypto-api/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-api/default.nix
@@ -1,15 +1,18 @@
-{cabal, cereal, entropy, largeword, tagged} :
+{ cabal, cereal, entropy, largeword, tagged }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "crypto-api";
   version = "0.6.4";
   sha256 = "1v3nnfw13r514a723lsx8d1awlad6fmv27bgp76f1ssv1garraf3";
-  propagatedBuildInputs = [ cereal entropy largeword tagged ];
+  buildDepends = [ cereal entropy largeword tagged ];
   meta = {
     homepage = "http://trac.haskell.org/crypto-api/wiki";
     description = "A generic interface for cryptographic operations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cryptocipher/default.nix b/pkgs/development/libraries/haskell/cryptocipher/default.nix
index 864121a8c8696..754f728aed54c 100644
--- a/pkgs/development/libraries/haskell/cryptocipher/default.nix
+++ b/pkgs/development/libraries/haskell/cryptocipher/default.nix
@@ -1,17 +1,20 @@
-{cabal, cereal, cryptoApi, primitive, tagged, vector} :
+{ cabal, cereal, cryptoApi, primitive, tagged, vector }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "cryptocipher";
   version = "0.2.14";
   sha256 = "1r91d9sqc53c628z378fyah7vvmkakvxpwbslam0yhfgp2p0l23z";
-  propagatedBuildInputs = [
-    cereal cryptoApi primitive tagged vector
-  ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ cereal cryptoApi primitive tagged vector ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-cryptocipher";
     description = "Symmetrical Block, Stream and PubKey Ciphers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/cryptohash/default.nix b/pkgs/development/libraries/haskell/cryptohash/default.nix
index 947c83a9c5969..ed9fe84e2ea36 100644
--- a/pkgs/development/libraries/haskell/cryptohash/default.nix
+++ b/pkgs/development/libraries/haskell/cryptohash/default.nix
@@ -1,15 +1,20 @@
-{cabal, cereal, cryptoApi, tagged} :
+{ cabal, cereal, cryptoApi, tagged }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "cryptohash";
   version = "0.7.0";
   sha256 = "1vlyy8licdfr2nggjasikrkl209x1cyzcz4mjm5n22f7fwyqh4nm";
-  propagatedBuildInputs = [ cereal cryptoApi tagged ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ cereal cryptoApi tagged ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-cryptohash";
     description = "collection of crypto hashes, fast, pure and practical";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/csv/default.nix b/pkgs/development/libraries/haskell/csv/default.nix
index 477c794feb157..1539583a617d5 100644
--- a/pkgs/development/libraries/haskell/csv/default.nix
+++ b/pkgs/development/libraries/haskell/csv/default.nix
@@ -1,12 +1,17 @@
-{cabal, parsec}:
+{ cabal, parsec }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "csv";
   version = "0.1.2";
   sha256 = "00767ai09wm7f0yzmpqck3cpgxncpr9djnmmz5l17ajz69139x4c";
-  propagatedBuildInputs = [parsec];
+  buildDepends = [ parsec ];
   meta = {
     description = "CSV loader and dumper";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix b/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix
index d65e51a2be343..4009cc865b168 100644
--- a/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix
+++ b/pkgs/development/libraries/haskell/data-accessor/data-accessor-template.nix
@@ -1,14 +1,18 @@
-{cabal, dataAccessor, utilityHt}:
+{ cabal, dataAccessor, utilityHt }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "data-accessor-template";
   version = "0.2.1.7";
   sha256 = "08658axzznqxp4p4d6h0y0sp7rzj84ma6hrb4zvsxa3614vydgi4";
-  propagatedBuildInputs = [dataAccessor utilityHt];
+  buildDepends = [ dataAccessor utilityHt ];
   meta = {
-    description = "Utilities for accessing and manipulating the fields of records";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://www.haskell.org/haskellwiki/Record_access";
+    description = "Utilities for accessing and manipulating fields of records";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix b/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix
index 8577cbd7535e6..f6b48befd5d6b 100644
--- a/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix
+++ b/pkgs/development/libraries/haskell/data-accessor/data-accessor.nix
@@ -1,18 +1,18 @@
-{cabal, transformers} :
+{ cabal, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "data-accessor";
   version = "0.2.2";
   sha256 = "1jqd0qlv1yab83d5pdbzjw6q4a2kvbsar6kgczq0f0xn9gxm0qci";
-  propagatedBuildInputs = [ transformers ];
+  buildDepends = [ transformers ];
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Record_access";
     description = "Utilities for accessing and manipulating fields of records";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-default/default.nix b/pkgs/development/libraries/haskell/data-default/default.nix
index 6575e9aa3db1b..934baf1b91b85 100644
--- a/pkgs/development/libraries/haskell/data-default/default.nix
+++ b/pkgs/development/libraries/haskell/data-default/default.nix
@@ -1,13 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "data-default";
   version = "0.2.0.1";
   sha256 = "0hhrzaykwybqpig0kss4iq1i93ygb80g8i1chpr84akmvdr07w0i";
   meta = {
     description = "A class for types with a default value";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/data-reify/default.nix b/pkgs/development/libraries/haskell/data-reify/default.nix
index 390b6679b16af..e45b9f45df91f 100644
--- a/pkgs/development/libraries/haskell/data-reify/default.nix
+++ b/pkgs/development/libraries/haskell/data-reify/default.nix
@@ -1,14 +1,19 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "data-reify";
   version = "0.6";
   sha256 = "0mif89mpj5zvw8czc51mfj27jw2ipxd2awnm9q13s46k6s5pv6a7";
+  isLibrary = true;
+  isExecutable = true;
   meta = {
     homepage = "http://www.ittc.ku.edu/csdl/fpg/Tools/IOReification";
     description = "Reify a recursive data structure into an explicit graph.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/dataenc/default.nix b/pkgs/development/libraries/haskell/dataenc/default.nix
index 2290a1f50923b..20ca9eda51342 100644
--- a/pkgs/development/libraries/haskell/dataenc/default.nix
+++ b/pkgs/development/libraries/haskell/dataenc/default.nix
@@ -1,12 +1,19 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "dataenc";
   version = "0.14";
   sha256 = "0q92pzm6wp4rl92ac9b2x2b6na8nzhf229myc9h3cyr3p822liw6";
+  isLibrary = true;
+  isExecutable = true;
   meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Library/Data_encoding";
     description = "Data encoding library";
-    license = "BSD3";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/datetime/default.nix b/pkgs/development/libraries/haskell/datetime/default.nix
index 196a7a927ba06..72f3d1c937f3a 100644
--- a/pkgs/development/libraries/haskell/datetime/default.nix
+++ b/pkgs/development/libraries/haskell/datetime/default.nix
@@ -1,15 +1,18 @@
-{cabal, QuickCheck} :
+{ cabal, QuickCheck, time }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "datetime";
   version = "0.2.1";
   sha256 = "1yfg3wvi13r725dhfsmcdw4ns3cgl2ayrb5jck0q8b4crk2dlrzg";
-  propagatedBuildInputs = [ QuickCheck ];
+  buildDepends = [ QuickCheck time ];
   meta = {
     homepage = "http://github.com/esessoms/datetime";
     description = "Utilities to make Data.Time.* easier to use.";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix b/pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix
index eb84d629fdb1c..2c61618cd0812 100644
--- a/pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix
+++ b/pkgs/development/libraries/haskell/deepseq/1.1.0.0.nix
@@ -1,11 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "deepseq";
-  version = "1.1.0.0"; # Haskell Platform 2010.1.0.0 and 2010.2.0.0
+  version = "1.1.0.0";
   sha256 = "947c45e7ee862159f190fb8e905c1328f7672cb9e6bf3abd1d207bbcf1eee50a";
   meta = {
-    description = "Provides a deep version of seq, for fully evaluating data structures";
+    description = "Fully evaluate data structures";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix b/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix
index 719ba91483ac3..4af1d5bff9c74 100644
--- a/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix
+++ b/pkgs/development/libraries/haskell/deepseq/1.1.0.2.nix
@@ -1,11 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "deepseq";
-  version = "1.1.0.2"; # Haskell Platform 2011.2.0.0
+  version = "1.1.0.2";
   sha256 = "1iqk8lc2an2rd1j9lcr76yabiz18h10lazlmdg5c528yssyd6135";
   meta = {
-    description = "Provides a deep version of seq, for fully evaluating data structures";
+    description = "Deep evaluation of data structures";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/derive/default.nix b/pkgs/development/libraries/haskell/derive/default.nix
index b1b684068e6e9..3d3be6b54f234 100644
--- a/pkgs/development/libraries/haskell/derive/default.nix
+++ b/pkgs/development/libraries/haskell/derive/default.nix
@@ -1,17 +1,20 @@
-{cabal, haskellSrcExts, syb, transformers, uniplate} :
+{ cabal, haskellSrcExts, syb, transformers, uniplate }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "derive";
   version = "2.5.2";
   sha256 = "03qmwy47xxpdwpfyf509bsh7ysh4y5lwxsn15jpbnz6mnssxn07y";
-  propagatedBuildInputs = [
-    haskellSrcExts syb transformers uniplate
-  ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ haskellSrcExts syb transformers uniplate ];
   meta = {
     homepage = "http://community.haskell.org/~ndm/derive/";
     description = "A program and library to derive instances for data types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/digest/default.nix b/pkgs/development/libraries/haskell/digest/default.nix
index 6434022980035..67ebad2a4f116 100644
--- a/pkgs/development/libraries/haskell/digest/default.nix
+++ b/pkgs/development/libraries/haskell/digest/default.nix
@@ -9,6 +9,9 @@ cabal.mkDerivation (self: {
     description = "Various cryptographic hashes for bytestrings; CRC32 and Adler32 for now.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/dimensional/default.nix b/pkgs/development/libraries/haskell/dimensional/default.nix
index 08368de5be976..2290c9323833c 100644
--- a/pkgs/development/libraries/haskell/dimensional/default.nix
+++ b/pkgs/development/libraries/haskell/dimensional/default.nix
@@ -1,13 +1,18 @@
-{cabal, numtype}:
+{ cabal, numtype, time }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "dimensional";
   version = "0.10";
   sha256 = "5d0ab2a0ca566f7d9a4fe1ec180a1bcf4138a3647a2c287a908506c8911cd385";
-  propagatedBuildInputs = [numtype];
+  buildDepends = [ numtype time ];
   meta = {
-    description = "library providing data types for performing arithmetic with physical quantities and units";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.simons];
+    homepage = "http://dimensional.googlecode.com/";
+    description = "Statically checked physical dimensions.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/dlist/default.nix b/pkgs/development/libraries/haskell/dlist/default.nix
index fd0c275859359..a88b38650c7d1 100644
--- a/pkgs/development/libraries/haskell/dlist/default.nix
+++ b/pkgs/development/libraries/haskell/dlist/default.nix
@@ -1,14 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "dlist";
   version = "0.5";
   sha256 = "1shr5wlpha68h82gwpndr5441847l01gh3j7szyvnmgzkr0fb027";
-  propagatedBuildInputs = [];
   meta = {
+    homepage = "http://code.haskell.org/~dons/code/dlist/";
     description = "Differences lists";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/dotgen/default.nix b/pkgs/development/libraries/haskell/dotgen/default.nix
index a451f1a866f96..06a3e6a09fe54 100644
--- a/pkgs/development/libraries/haskell/dotgen/default.nix
+++ b/pkgs/development/libraries/haskell/dotgen/default.nix
@@ -1,13 +1,18 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "dotgen";
   version = "0.4.1";
   sha256 = "1g5ds0mqkz0lzhcp42hin08azschs3p083ikdk4d5jil8rzl7d8k";
+  isLibrary = true;
+  isExecutable = true;
   meta = {
     description = "A simple interface for building .dot graph files.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/double-conversion/default.nix b/pkgs/development/libraries/haskell/double-conversion/default.nix
index 1fb12b374d436..4f1bf34dc291b 100644
--- a/pkgs/development/libraries/haskell/double-conversion/default.nix
+++ b/pkgs/development/libraries/haskell/double-conversion/default.nix
@@ -1,13 +1,18 @@
-{cabal, text} :
+{ cabal, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "double-conversion";
   version = "0.2.0.1";
   sha256 = "146ijcv55k0lqlw8y4nz7p5kjpwry2jzbqmkan904pnlcfv4a60a";
-  propagatedBuildInputs = [ text ];
+  buildDepends = [ text ];
   meta = {
     homepage = "https://github.com/mailrank/double-conversion";
     description = "Fast conversion between double precision floating point and text";
     license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/email-validate/default.nix b/pkgs/development/libraries/haskell/email-validate/default.nix
index 3c053565e2aa9..1a351edd39bba 100644
--- a/pkgs/development/libraries/haskell/email-validate/default.nix
+++ b/pkgs/development/libraries/haskell/email-validate/default.nix
@@ -1,14 +1,18 @@
-{cabal, parsec, ranges}:
+{ cabal, parsec, ranges }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "email-validate";
   version = "0.2.6";
   sha256 = "1nw4r5wyck30r6n0bjxwybpkw2dqr2mp4y8fy6ypra9zhhw1jd8m";
-  propagatedBuildInputs = [parsec ranges];
+  buildDepends = [ parsec ranges ];
   meta = {
+    homepage = "http://porg.es/blog/email-address-validation-simpler-faster-more-correct";
     description = "Validating an email address string against RFC 5322";
-    license = "BSD3";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/emgm/default.nix b/pkgs/development/libraries/haskell/emgm/default.nix
index b5aa22ede884c..0172369d1e9d2 100644
--- a/pkgs/development/libraries/haskell/emgm/default.nix
+++ b/pkgs/development/libraries/haskell/emgm/default.nix
@@ -1,11 +1,19 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "emgm";
   version = "0.3.1";
   sha256 = "956923ec4d51f111ca6091ebccf75a1f6b99d7a173ea673cbb4787bf08f497a8";
+  isLibrary = true;
+  isExecutable = true;
   meta = {
+    homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/EMGM";
     description = "Extensible and Modular Generics for the Masses";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/entropy/default.nix b/pkgs/development/libraries/haskell/entropy/default.nix
index 5edb8fa40a4cf..e877124b9635d 100644
--- a/pkgs/development/libraries/haskell/entropy/default.nix
+++ b/pkgs/development/libraries/haskell/entropy/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "entropy";
   version = "0.2.1";
   sha256 = "1qp8hvdzfgg2wk7d431qycwbn2zpzlplc1c7dbhimj1had5jscrs";
@@ -9,6 +9,9 @@ cabal.mkDerivation (self : {
     description = "A platform independent entropy source";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/enumerator/default.nix b/pkgs/development/libraries/haskell/enumerator/default.nix
index 95e1b30464cea..ac490bbe8b61d 100644
--- a/pkgs/development/libraries/haskell/enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/enumerator/default.nix
@@ -1,15 +1,18 @@
-{cabal, text, transformers} :
+{ cabal, text, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "enumerator";
   version = "0.4.13.1";
   sha256 = "5fcafe316444adfb66c213ffb71359560f48eafe03bb2df99bfba17d2e3153c8";
-  propagatedBuildInputs = [ text transformers ];
+  buildDepends = [ text transformers ];
   meta = {
     homepage = "http://john-millikin.com/software/enumerator/";
     description = "Reliable, high-performance processing with left-fold enumerators";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/erf/default.nix b/pkgs/development/libraries/haskell/erf/default.nix
index 3aa280e612c9a..cbb456b00721c 100644
--- a/pkgs/development/libraries/haskell/erf/default.nix
+++ b/pkgs/development/libraries/haskell/erf/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "erf";
   version = "2.0.0.0";
   sha256 = "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14";
@@ -9,8 +9,8 @@ cabal.mkDerivation (self : {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/extensible-exceptions/default.nix b/pkgs/development/libraries/haskell/extensible-exceptions/default.nix
index 19390cc94706a..8a928931e3e7f 100644
--- a/pkgs/development/libraries/haskell/extensible-exceptions/default.nix
+++ b/pkgs/development/libraries/haskell/extensible-exceptions/default.nix
@@ -1,11 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "extensible-exceptions";
   version = "0.1.1.0";
   sha256 = "c252dc5a505332700f041d4e1fd3d309cde6158892f9c35339bf5e67bad7f781";
   meta = {
     description = "Extensible exceptions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/failure/default.nix b/pkgs/development/libraries/haskell/failure/default.nix
index f7fcdaddc9985..de33ed8647f5d 100644
--- a/pkgs/development/libraries/haskell/failure/default.nix
+++ b/pkgs/development/libraries/haskell/failure/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "failure";
   version = "0.1.0.1";
   sha256 = "15zkhnxkfsd3qf4wmcp6kcfip9ahb4s3ywnh14whmhicp9mkm3q0";
@@ -10,8 +10,8 @@ cabal.mkDerivation (self : {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fclabels/default.nix b/pkgs/development/libraries/haskell/fclabels/default.nix
index e74a28299d4c2..07b1254b2654b 100644
--- a/pkgs/development/libraries/haskell/fclabels/default.nix
+++ b/pkgs/development/libraries/haskell/fclabels/default.nix
@@ -1,17 +1,17 @@
-{cabal, mtl} :
+{ cabal, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "fclabels";
   version = "0.11.1.1";
   sha256 = "09zs9ddhhz57r2fm6ayc95xgsfjcympmgiify2p6f42w9hs34dmf";
-  propagatedBuildInputs = [ mtl ];
+  buildDepends = [ mtl ];
   meta = {
     description = "First class accessor labels implemented as lenses.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/feed/default.nix b/pkgs/development/libraries/haskell/feed/default.nix
index 18a43e1075f47..8ad5c4318f7dd 100644
--- a/pkgs/development/libraries/haskell/feed/default.nix
+++ b/pkgs/development/libraries/haskell/feed/default.nix
@@ -1,14 +1,17 @@
-{cabal, utf8String, xml}:
+{ cabal, utf8String, xml }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "feed";
   version = "0.3.8";
   sha256 = "1yvigcvb8cvxfa8vb2i11xkrylqw57jwzkaji6m1wp03k80zf576";
-  propagatedBuildInputs = [utf8String xml];
+  buildDepends = [ utf8String xml ];
   meta = {
-    description = "Interfacing with RSS and Atom feeds";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    description = "Interfacing with RSS (v 0.9x, 2.x, 1.0) + Atom feeds.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/fgl/5.4.2.2.nix b/pkgs/development/libraries/haskell/fgl/5.4.2.2.nix
index a71b83da03300..7299daddb14cc 100644
--- a/pkgs/development/libraries/haskell/fgl/5.4.2.2.nix
+++ b/pkgs/development/libraries/haskell/fgl/5.4.2.2.nix
@@ -1,12 +1,18 @@
-{cabal, mtl}:
+{ cabal, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "fgl";
-  version = "5.4.2.2"; # Haskell Platform 2010.1.0.0
+  version = "5.4.2.2";
   sha256 = "8232c337f0792854bf2a12a5fd1bc46726fff05d2f599053286ff873364cd7d2";
-  propagatedBuildInputs = [mtl];
+  buildDepends = [ mtl ];
   meta = {
+    homepage = "http://web.engr.oregonstate.edu/~erwig/fgl/haskell";
     description = "Martin Erwig's Functional Graph Library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix b/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix
index 1348e5f991364..7417a32745c50 100644
--- a/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix
+++ b/pkgs/development/libraries/haskell/fgl/5.4.2.3.nix
@@ -1,12 +1,18 @@
-{cabal, mtl}:
+{ cabal, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "fgl";
-  version = "5.4.2.3"; # Haskell Platform 2010.2.0.0 and 2011.2.0.0
+  version = "5.4.2.3";
   sha256 = "1f46siqqv8bc9v8nxr72nxabpzfax117ncgdvif6rax5ansl48g7";
-  propagatedBuildInputs = [mtl];
+  buildDepends = [ mtl ];
   meta = {
+    homepage = "http://web.engr.oregonstate.edu/~erwig/fgl/haskell";
     description = "Martin Erwig's Functional Graph Library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/file-embed/default.nix b/pkgs/development/libraries/haskell/file-embed/default.nix
index 2abe9a6ae72d7..fe1a221bee018 100644
--- a/pkgs/development/libraries/haskell/file-embed/default.nix
+++ b/pkgs/development/libraries/haskell/file-embed/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "file-embed";
   version = "0.0.4.1";
   sha256 = "156ydqljhxp16192s4pj6h8jcvrfmj2lnsvzy0zg394wi97bxpi2";
@@ -9,6 +9,9 @@ cabal.mkDerivation (self : {
     description = "Use Template Haskell to embed file contents directly.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/filepath/default.nix b/pkgs/development/libraries/haskell/filepath/default.nix
index 5a448e7de2dc9..311bbd56d5895 100644
--- a/pkgs/development/libraries/haskell/filepath/default.nix
+++ b/pkgs/development/libraries/haskell/filepath/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "filepath";
   version = "1.2.0.0";
   sha256 = "14jji7byjlkzsylsnqwfsiw5vsc7nlaisqabzcw9f7nhrxkq2n20";
@@ -9,6 +9,9 @@ cabal.mkDerivation (self : {
     description = "Library for manipulating FilePaths in a cross platform way.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/filestore/default.nix b/pkgs/development/libraries/haskell/filestore/default.nix
index cf5e0f98faa6c..553ea9f20a6da 100644
--- a/pkgs/development/libraries/haskell/filestore/default.nix
+++ b/pkgs/development/libraries/haskell/filestore/default.nix
@@ -1,15 +1,18 @@
-{cabal, Diff, parsec, split, utf8String, xml} :
+{ cabal, Diff, parsec, split, time, utf8String, xml }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "filestore";
   version = "0.4.0.4";
   sha256 = "14rp2689gjnk9pqk2xv4m3q3icgfvbik32c2d6gx4l2y7n78dsbx";
-  propagatedBuildInputs = [ Diff parsec split utf8String xml ];
+  buildDepends = [ Diff parsec split time utf8String xml ];
   meta = {
     homepage = "http://johnmacfarlane.net/repos/filestore";
     description = "Interface for versioning file stores.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/fingertree/default.nix b/pkgs/development/libraries/haskell/fingertree/default.nix
index 4babd837fa315..37f66a12ba661 100644
--- a/pkgs/development/libraries/haskell/fingertree/default.nix
+++ b/pkgs/development/libraries/haskell/fingertree/default.nix
@@ -1,13 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "fingertree";
   version = "0.0.1.0";
   sha256 = "e80bf256506290c8f4fb44222920ae7d8405fd22e453c7a08dba49297d49328b";
   meta = {
     description = "Generic finger-tree structure, with example instances";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/flexible-defaults/default.nix b/pkgs/development/libraries/haskell/flexible-defaults/default.nix
index 0b7d4098e49f2..71ed96d78d7e0 100755
--- a/pkgs/development/libraries/haskell/flexible-defaults/default.nix
+++ b/pkgs/development/libraries/haskell/flexible-defaults/default.nix
@@ -1,13 +1,18 @@
-{cabal, transformers} :
+{ cabal, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "flexible-defaults";
   version = "0.0.0.1";
   sha256 = "07a0gfs9qw1z5j1hq1m4aywgfmg67mkw6pc5xljyip99gvrxdngl";
-  propagatedBuildInputs = [ transformers ];
+  buildDepends = [ transformers ];
   meta = {
     homepage = "https://github.com/mokus0/flexible-defaults";
     description = "Generate default function implementations for complex type classes.";
     license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/funcmp/default.nix b/pkgs/development/libraries/haskell/funcmp/default.nix
index cd1278f562de7..d96bb075ab3c7 100755
--- a/pkgs/development/libraries/haskell/funcmp/default.nix
+++ b/pkgs/development/libraries/haskell/funcmp/default.nix
@@ -1,16 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "funcmp";
   version = "1.5";
   sha256 = "f68807833f39178c99877321f0f335cfde12a5c4b38e6c51f33f8cab94b9e12e";
-  propagatedBuildInputs = [];
   meta = {
     homepage = "http://savannah.nongnu.org/projects/funcmp/";
     description = "Functional MetaPost";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [self.stdenv.lib.maintainers.simons];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/gamma/default.nix b/pkgs/development/libraries/haskell/gamma/default.nix
index ca06e9cf92741..c33e023244974 100755
--- a/pkgs/development/libraries/haskell/gamma/default.nix
+++ b/pkgs/development/libraries/haskell/gamma/default.nix
@@ -1,15 +1,18 @@
-{cabal, continuedFractions, converge, vector} :
+{ cabal, continuedFractions, converge, vector }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "gamma";
   version = "0.7.0.1";
   sha256 = "0728b5mrzmj9hkaqvikl45jyi2p9hnkl2p6l9yv7wnw557yb0gb2";
-  propagatedBuildInputs = [ continuedFractions converge vector ];
+  buildDepends = [ continuedFractions converge vector ];
   meta = {
     homepage = "https://github.com/mokus0/gamma";
     description = "Gamma function and related functions.";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gdiff/default.nix b/pkgs/development/libraries/haskell/gdiff/default.nix
index 5f494d19816a7..929b717f552bd 100644
--- a/pkgs/development/libraries/haskell/gdiff/default.nix
+++ b/pkgs/development/libraries/haskell/gdiff/default.nix
@@ -1,13 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "gdiff";
   version = "1.0";
   sha256 = "35257b1090cf78f95d24c7a89920863c1d824652311fa5793693d7d06d96517b";
   meta = {
     description = "Generic diff and patch";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/ghc-core/default.nix b/pkgs/development/libraries/haskell/ghc-core/default.nix
index 22dc3b257c5ff..9995c56fd587d 100644
--- a/pkgs/development/libraries/haskell/ghc-core/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-core/default.nix
@@ -1,15 +1,20 @@
-{cabal, colorizeHaskell, pcreLight} :
+{ cabal, colorizeHaskell, pcreLight }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "ghc-core";
   version = "0.5.4";
   sha256 = "1s68m2zkpz0n927rgzg0l0r5v8pk3z03rlkd82h83agw0hzb9ng7";
-  propagatedBuildInputs = [ colorizeHaskell pcreLight ];
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ colorizeHaskell pcreLight ];
   meta = {
     homepage = "http://code.haskell.org/~dons/code/ghc-core";
     description = "Display GHC's core and assembly output in a pager";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ghc-mtl/default.nix b/pkgs/development/libraries/haskell/ghc-mtl/default.nix
index 019086a67756d..e1fd5ac145177 100644
--- a/pkgs/development/libraries/haskell/ghc-mtl/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-mtl/default.nix
@@ -1,12 +1,19 @@
-{cabal, mtl, MonadCatchIOMtl} :
+{ cabal, MonadCatchIOMtl, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "ghc-mtl";
   version = "1.0.1.0";
   sha256 = "5284e0ecf99511e6263503412faf6fa809dc577c009fde63203d46405eb1b191";
-  propagatedBuildInputs = [mtl MonadCatchIOMtl];
+  buildDepends = [ MonadCatchIOMtl mtl ];
   meta = {
-    description = "An mtl compatible version of the Ghc-Api monads and monad-transformers";
+    homepage = "http://code.haskell.org/~jcpetruzza/ghc-mtl";
+    description = "An mtl compatible version of the Ghc-Api monads
+and monad-transformers.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/ghc-paths/0.1.0.5.nix b/pkgs/development/libraries/haskell/ghc-paths/0.1.0.5.nix
index 945a560582738..cd295e3476f0b 100644
--- a/pkgs/development/libraries/haskell/ghc-paths/0.1.0.5.nix
+++ b/pkgs/development/libraries/haskell/ghc-paths/0.1.0.5.nix
@@ -1,11 +1,16 @@
-{ cabal } :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "ghc-paths";
   version = "0.1.0.5";
   sha256 = "ea9e97425894e3dbd7915e00e107e2e7fc07b6e8293fd2dd66a813f0673cba10";
   meta = {
-    description = "Knowledge of GHC's installations directories";
+    description = "Knowledge of GHC's installation directories";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/ghc-paths/0.1.0.6.nix b/pkgs/development/libraries/haskell/ghc-paths/0.1.0.6.nix
index 5d2ad6beaf548..ae280fa54ea61 100644
--- a/pkgs/development/libraries/haskell/ghc-paths/0.1.0.6.nix
+++ b/pkgs/development/libraries/haskell/ghc-paths/0.1.0.6.nix
@@ -1,11 +1,16 @@
-{ cabal } :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "ghc-paths";
   version = "0.1.0.6";
   sha256 = "95d8c0e6ce2f182d792e910149b3c81c381b7d2c2052ffc6d96128b071c55243";
   meta = {
-    description = "Knowledge of GHC's installations directories";
+    description = "Knowledge of GHC's installation directories";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/ghc-paths/0.1.0.8.nix b/pkgs/development/libraries/haskell/ghc-paths/0.1.0.8.nix
index 9885907a93eed..1fa7e662f0223 100644
--- a/pkgs/development/libraries/haskell/ghc-paths/0.1.0.8.nix
+++ b/pkgs/development/libraries/haskell/ghc-paths/0.1.0.8.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "ghc-paths";
   version = "0.1.0.8";
   sha256 = "0mhc5zhbybp1vmkjsqbca51993vkpx5g8hql160m8m95apkc2wl6";
@@ -8,6 +8,9 @@ cabal.mkDerivation (self : {
     description = "Knowledge of GHC's installation directories";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix b/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix
index 5e001569ba8f9..cf48e73e6d145 100644
--- a/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-syb-utils/default.nix
@@ -1,11 +1,18 @@
-{cabal, ghcSyb}:
+{ cabal, ghcSyb, syb }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "ghc-syb-utils";
   version = "0.2.0.0";
   sha256 = "457110f7e1f163ccf78acb898f8ca43b6a5b4595156a08a2f1a3d81f944d74a9";
-  propagatedBuildInputs = [ghcSyb];
+  buildDepends = [ ghcSyb syb ];
   meta = {
-    description = "Scrap Your Boilerplate utilities for the GHC API";
+    homepage = "http://github.com/nominolo/ghc-syb";
+    description = "Scrap Your Boilerplate utilities for the GHC API.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ghc-syb/default.nix b/pkgs/development/libraries/haskell/ghc-syb/default.nix
index fa59bd8c15ddd..502a7fd401775 100644
--- a/pkgs/development/libraries/haskell/ghc-syb/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-syb/default.nix
@@ -1,10 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "ghc-syb";
   version = "0.2.0.0";
   sha256 = "0052bd2ee4d92fbb010bebc7bcfd533a0b78437f1fb0834288ce979c103d9d67";
   meta = {
-    description = "Data and Typeable instances for the GHC API";
+    homepage = "http://github.com/nominolo/ghc-syb";
+    description = "Data and Typeable instances for the GHC API.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/gitit/default.nix b/pkgs/development/libraries/haskell/gitit/default.nix
index bce6841d389cc..4f453cd0b708e 100644
--- a/pkgs/development/libraries/haskell/gitit/default.nix
+++ b/pkgs/development/libraries/haskell/gitit/default.nix
@@ -1,18 +1,21 @@
-{cabal, ConfigFile, HStringTemplate, HTTP, SHA, cgi, feed,
- filestore, ghc, ghcPaths, happstackServer, happstackUtil,
- highlightingKate, hslogger, json, mtl, network, pandoc,
- pandocTypes, parsec, recaptcha, safe, syb, url, utf8String, xhtml,
- xml, xssSanitize, zlib} :
+{ cabal, ConfigFile, HStringTemplate, HTTP, SHA, cgi, feed
+, filestore, ghcPaths, happstackServer, happstackUtil
+, highlightingKate, hslogger, json, mtl, network, pandoc
+, pandocTypes, parsec, recaptcha, safe, syb, time, url, utf8String
+, xhtml, xml, xssSanitize, zlib
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "gitit";
   version = "0.8.0.1";
   sha256 = "0y2gcxlbb44vflj0jl3zkbsn47n7nccikxwdw6ccf9kxgcmrz0zy";
-  propagatedBuildInputs = [
-    ConfigFile HStringTemplate HTTP SHA cgi feed filestore ghc ghcPaths
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    ConfigFile HStringTemplate HTTP SHA cgi feed filestore ghcPaths
     happstackServer happstackUtil highlightingKate hslogger json mtl
-    network pandoc pandocTypes parsec recaptcha safe syb url utf8String
-    xhtml xml xssSanitize zlib
+    network pandoc pandocTypes parsec recaptcha safe syb time url
+    utf8String xhtml xml xssSanitize zlib
   ];
   meta = {
     homepage = "http://github.com/jgm/gitit/tree/master";
@@ -20,9 +23,8 @@ cabal.mkDerivation (self : {
     license = "GPL";
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/graphviz/default.nix b/pkgs/development/libraries/haskell/graphviz/default.nix
index 49898c6d4ec42..57b9da5cf009e 100644
--- a/pkgs/development/libraries/haskell/graphviz/default.nix
+++ b/pkgs/development/libraries/haskell/graphviz/default.nix
@@ -1,15 +1,23 @@
-{cabal, colour, fgl, polyparse, transformers} :
+{ cabal, colour, extensibleExceptions, fgl, polyparse, transformers
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "graphviz";
   version = "2999.11.0.0";
   sha256 = "1ky8hi9vda8hli7dkvsmmbz9j1swkzsn548905asqz0i46kpspnk";
-  propagatedBuildInputs = [ colour fgl polyparse transformers ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    colour extensibleExceptions fgl polyparse transformers
+  ];
   meta = {
     homepage = "http://projects.haskell.org/graphviz/";
     description = "Graphviz bindings for Haskell.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index d4690591c7ec1..1f42ba532fbc9 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -1,13 +1,14 @@
-{cabal, binary, blazeHtml, hamlet, hopenssl, mtl, pandoc, parsec,
- regexBase, regexPcre, snapCore, snapServer, tagsoup} :
+{ cabal, binary, blazeHtml, hamlet, hopenssl, mtl, pandoc, parsec
+, regexBase, regexPcre, snapCore, snapServer, tagsoup, time
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hakyll";
   version = "3.2.0.5";
   sha256 = "1rwmdkzwshhi6b27zff42gg65vds866l68h33p4kn6pq1rns3bz4";
-  propagatedBuildInputs = [
+  buildDepends = [
     binary blazeHtml hamlet hopenssl mtl pandoc parsec regexBase
-    regexPcre snapCore snapServer tagsoup
+    regexPcre snapCore snapServer tagsoup time
   ];
   meta = {
     homepage = "http://jaspervdj.be/hakyll";
@@ -15,8 +16,8 @@ cabal.mkDerivation (self : {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hamlet/default.nix b/pkgs/development/libraries/haskell/hamlet/default.nix
index 6eb100c36f373..0bf489ae98308 100644
--- a/pkgs/development/libraries/haskell/hamlet/default.nix
+++ b/pkgs/development/libraries/haskell/hamlet/default.nix
@@ -1,14 +1,18 @@
-{cabal, blazeBuilder, blazeHtml, failure, parsec, text}:
+{ cabal, blazeBuilder, blazeHtml, failure, parsec, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hamlet";
   version = "0.8.2.1";
   sha256 = "0798ic6qap4npw2rx42xcgmi1fcbwqvyic5x6vyyf6abvxv16925";
-  propagatedBuildInputs =
-    [blazeBuilder blazeHtml failure parsec text];
+  buildDepends = [ blazeBuilder blazeHtml failure parsec text ];
   meta = {
+    homepage = "http://www.yesodweb.com/";
     description = "Haml-like template files that are compile-time checked";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-data.nix b/pkgs/development/libraries/haskell/happstack/happstack-data.nix
index b905ad116b974..d1603e0441a56 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-data.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-data.nix
@@ -1,12 +1,15 @@
-{cabal, binary, mtl, syb, sybWithClass, sybWithClassInstancesText,
- text} :
+{ cabal, binary, mtl, syb, sybWithClass, sybWithClassInstancesText
+, text, time
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "happstack-data";
   version = "6.0.0";
   sha256 = "1wdvylqgy3iw41ksw2ys4f0vyak8sbk6gginljvz07rrh04klyhl";
-  propagatedBuildInputs = [
-    binary mtl syb sybWithClass sybWithClassInstancesText text
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    binary mtl syb sybWithClass sybWithClassInstancesText text time
   ];
   meta = {
     homepage = "http://happstack.com";
@@ -14,8 +17,8 @@ cabal.mkDerivation (self : {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
index eb8e037a9e225..2461bb1eaa96f 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-server.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
@@ -1,14 +1,18 @@
-{cabal, MaybeT, blazeHtml, happstackData, happstackUtil, hslogger,
- html, mtl, network, parsec, sendfile, syb, text, utf8String, xhtml,
- zlib} :
+{ cabal, MaybeT, blazeHtml, extensibleExceptions, happstackData
+, happstackUtil, hslogger, html, mtl, network, parsec, sendfile
+, syb, text, time, utf8String, xhtml, zlib
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "happstack-server";
   version = "6.1.6";
   sha256 = "1z4c2bymyyvhs47ynrlp4d2cwqws2d2isiwj82c33qcmk4znargg";
-  propagatedBuildInputs = [
-    MaybeT blazeHtml happstackData happstackUtil hslogger html mtl
-    network parsec sendfile syb text utf8String xhtml zlib
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    MaybeT blazeHtml extensibleExceptions happstackData happstackUtil
+    hslogger html mtl network parsec sendfile syb text time utf8String
+    xhtml zlib
   ];
   meta = {
     homepage = "http://happstack.com";
@@ -16,8 +20,8 @@ cabal.mkDerivation (self : {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-util.nix b/pkgs/development/libraries/haskell/happstack/happstack-util.nix
index d0737d9ac0ea2..ee111018ece1b 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-util.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-util.nix
@@ -1,18 +1,24 @@
-{cabal, hslogger, mtl, network, parsec, unixCompat} :
+{ cabal, extensibleExceptions, hslogger, mtl, network, parsec, time
+, unixCompat
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "happstack-util";
   version = "6.0.0";
   sha256 = "06qla74kb58q0rvlfa9k16s4crnylq99hm80xx4phlddyzn0cy4z";
-  propagatedBuildInputs = [ hslogger mtl network parsec unixCompat ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    extensibleExceptions hslogger mtl network parsec time unixCompat
+  ];
   meta = {
     homepage = "http://happstack.com";
     description = "Web framework";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hashable/default.nix b/pkgs/development/libraries/haskell/hashable/default.nix
index 5da274d41f6f4..5149da865c704 100644
--- a/pkgs/development/libraries/haskell/hashable/default.nix
+++ b/pkgs/development/libraries/haskell/hashable/default.nix
@@ -1,14 +1,18 @@
-{cabal, text}:
+{ cabal, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hashable";
   version = "1.1.2.1";
   sha256 = "1kmx3jr9cmkbapd7gywx7zvyd22nyz2mgs8lnzspp5hi7crx3wcx";
-  propagatedBuildInputs = [text];
+  buildDepends = [ text ];
   meta = {
+    homepage = "http://github.com/tibbe/hashable";
     description = "A class for types that can be converted to a hash value";
-    license = "BSD3";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/hashed-storage/default.nix b/pkgs/development/libraries/haskell/hashed-storage/default.nix
index 9562416f13e6e..e9a67f7d673d7 100644
--- a/pkgs/development/libraries/haskell/hashed-storage/default.nix
+++ b/pkgs/development/libraries/haskell/hashed-storage/default.nix
@@ -1,17 +1,21 @@
-{cabal, binary, dataenc, mmap, mtl, zlib} :
+{ cabal, binary, dataenc, extensibleExceptions, mmap, mtl, zlib }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hashed-storage";
   version = "0.5.7";
   sha256 = "1zlb8zslhq0damsavq1h92cnhb979jdniv0ivsfwwdbsi02vkv03";
-  propagatedBuildInputs = [ binary dataenc mmap mtl zlib ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    binary dataenc extensibleExceptions mmap mtl zlib
+  ];
   meta = {
     description = "Hashed file storage support code.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskeline-class/default.nix b/pkgs/development/libraries/haskell/haskeline-class/default.nix
index d5658adf3c149..7ddaefd575ce9 100644
--- a/pkgs/development/libraries/haskell/haskeline-class/default.nix
+++ b/pkgs/development/libraries/haskell/haskeline-class/default.nix
@@ -1,12 +1,18 @@
-{cabal, haskeline, mtl}:
+{ cabal, haskeline, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "haskeline-class";
   version = "0.6.1";
   sha256 = "da954acea7ae215865a647fff776df9621ee5c5133a5f95c16b1ac5646ef0b31";
-  propagatedBuildInputs = [haskeline mtl];
+  buildDepends = [ haskeline mtl ];
   meta = {
+    homepage = "http://community.haskell.org/~aslatter/code/haskeline-class";
     description = "Class interface for working with Haskeline";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/haskeline/default.nix b/pkgs/development/libraries/haskell/haskeline/default.nix
index 35b607767c719..aa40c1ef267c7 100644
--- a/pkgs/development/libraries/haskell/haskeline/default.nix
+++ b/pkgs/development/libraries/haskell/haskeline/default.nix
@@ -1,15 +1,18 @@
-{cabal, mtl, terminfo, utf8String} :
+{ cabal, extensibleExceptions, mtl, terminfo, utf8String }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "haskeline";
   version = "0.6.4.0";
   sha256 = "0p2qbckvdhzid6zrcgjwr8b5h8vxd7wdswsm2qp3hiyg48v4y5hd";
-  propagatedBuildInputs = [ mtl terminfo utf8String ];
+  buildDepends = [ extensibleExceptions mtl terminfo utf8String ];
   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.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haskell-lexer/default.nix b/pkgs/development/libraries/haskell/haskell-lexer/default.nix
index 465c2a39ac1bd..f45e29d788a80 100644
--- a/pkgs/development/libraries/haskell/haskell-lexer/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-lexer/default.nix
@@ -1,11 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "haskell-lexer";
   version = "1.0";
   sha256 = "86d0c4071295c8613eb965768cb61a0c8422fc0c429a49c7a93e93a72b185b86";
   meta = {
-    description = "A fully compliant Haskell 98 lexer";
+    description = "A fully compliant Haskell 98 lexer.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
index 606a463cc4340..0c9e091281705 100644
--- a/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
+++ b/pkgs/development/libraries/haskell/haskell-src-meta/default.nix
@@ -1,10 +1,10 @@
-{cabal, haskellSrcExts, syb, thLift} :
+{ cabal, haskellSrcExts, syb, thLift }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "haskell-src-meta";
   version = "0.4.0.1";
   sha256 = "10g74sax8x45lphy133717y9xb43d8a684mm9qv0arjwn5v4np7s";
-  propagatedBuildInputs = [ haskellSrcExts syb thLift ];
+  buildDepends = [ haskellSrcExts syb thLift ];
   meta = {
     description = "Parse source to template-haskell abstract syntax.";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/haxr-th/default.nix b/pkgs/development/libraries/haskell/haxr-th/default.nix
index 0d69603f45291..428f001bd05e7 100644
--- a/pkgs/development/libraries/haskell/haxr-th/default.nix
+++ b/pkgs/development/libraries/haskell/haxr-th/default.nix
@@ -1,15 +1,18 @@
-{cabal, haxr} :
+{ cabal, haxr }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "haxr-th";
   version = "3000.5";
   sha256 = "1h1g4r7c5k3rja49ip4m21f2sscn06xjxharnlyazvvs6mzfysif";
-  propagatedBuildInputs = [ haxr ];
+  buildDepends = [ haxr ];
   meta = {
     homepage = "http://www.haskell.org/haxr/";
     description = "Automatic deriving of XML-RPC structs for Haskell records.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/haxr/default.nix b/pkgs/development/libraries/haskell/haxr/default.nix
index 4752b3de00a73..ebdff10920416 100644
--- a/pkgs/development/libraries/haskell/haxr/default.nix
+++ b/pkgs/development/libraries/haskell/haxr/default.nix
@@ -1,18 +1,22 @@
-{cabal, HTTP, HaXml, blazeBuilder, dataenc, mtl, network,
- utf8String} :
+{ cabal, HTTP, HaXml, blazeBuilder, dataenc, mtl, network, time
+, utf8String
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "haxr";
   version = "3000.8.4";
   sha256 = "0cyf1q1ngz0jqxdrvblcy9iw7l478v0rfr7bgkpq0l4brw0ca1pg";
-  propagatedBuildInputs = [
-    HTTP HaXml blazeBuilder dataenc mtl network utf8String
+  buildDepends = [
+    HTTP HaXml blazeBuilder dataenc mtl network time utf8String
   ];
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/HaXR";
     description = "XML-RPC client and server library.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hfuse/default.nix b/pkgs/development/libraries/haskell/hfuse/default.nix
index e264157cccb35..6bb3b6996bfca 100644
--- a/pkgs/development/libraries/haskell/hfuse/default.nix
+++ b/pkgs/development/libraries/haskell/hfuse/default.nix
@@ -4,8 +4,15 @@ cabal.mkDerivation (self: {
   pname = "HFuse";
   version = "0.2.4";
   sha256 = "1v3kfkm2rz7bvwk0j8p9rhnnsffbnkismnsq0fkgnzi5z0bz5sgv";
-  extraBuildInputs = [ fuse ];
-  preConfigure = ''
-    sed -i -e "s@  Extra-Lib-Dirs:         /usr/local/lib@  Extra-Lib-Dirs:         ${fuse}/lib@" HFuse.cabal
-  '';
+  extraLibraries = [ fuse ];
+  meta = {
+    homepage = "https://github.com/realdesktop/hfuse";
+    description = "HFuse is a binding for the Linux FUSE library.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
 })
diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
index c13dcd790b7ba..ecaf46c0b77cf 100644
--- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix
+++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
@@ -1,15 +1,20 @@
-{cabal, parsec, regexPcreBuiltin, xhtml} :
+{ cabal, parsec, regexPcreBuiltin, xhtml }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "highlighting-kate";
   version = "0.2.10";
   sha256 = "0cw89qsslrp4zh47ics7bg79fkqnxpnyz1a9xws0xzd9xmg3zrhh";
-  propagatedBuildInputs = [ parsec regexPcreBuiltin xhtml ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ parsec regexPcreBuiltin xhtml ];
   meta = {
     homepage = "http://github.com/jgm/highlighting-kate";
     description = "Syntax highlighting";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hint/default.nix b/pkgs/development/libraries/haskell/hint/default.nix
index 7c9435fac2e03..243130f3c9004 100644
--- a/pkgs/development/libraries/haskell/hint/default.nix
+++ b/pkgs/development/libraries/haskell/hint/default.nix
@@ -1,18 +1,23 @@
-{cabal, MonadCatchIOMtl, ghc, ghcMtl, ghcPaths, haskellSrc, mtl,
- utf8String} :
+{ cabal, MonadCatchIOMtl, extensibleExceptions, ghcMtl, ghcPaths
+, haskellSrc, mtl, utf8String
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hint";
   version = "0.3.3.2";
   sha256 = "1qm74hjz8cxypvavcw7s094zg9ic3r1ll2lj3y159ipc79cw2sn1";
-  propagatedBuildInputs = [
-    MonadCatchIOMtl ghc ghcMtl ghcPaths haskellSrc mtl utf8String
+  buildDepends = [
+    MonadCatchIOMtl extensibleExceptions ghcMtl ghcPaths haskellSrc mtl
+    utf8String
   ];
   meta = {
     homepage = "http://projects.haskell.org/hint";
     description = "Runtime Haskell interpreter (GHC API wrapper)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hjsmin/default.nix b/pkgs/development/libraries/haskell/hjsmin/default.nix
index 90156d4342a4e..f9b823eeb8b20 100644
--- a/pkgs/development/libraries/haskell/hjsmin/default.nix
+++ b/pkgs/development/libraries/haskell/hjsmin/default.nix
@@ -1,15 +1,20 @@
-{cabal, blazeBuilder, languageJavascript, text} :
+{ cabal, blazeBuilder, languageJavascript, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hjsmin";
   version = "0.0.14";
   sha256 = "16053hnxnr9vsqvasbibjwjdg0jpsl5fwzgy54ac1xkh4rhp3a5i";
-  propagatedBuildInputs = [ blazeBuilder languageJavascript text ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ blazeBuilder languageJavascript text ];
   meta = {
     homepage = "http://github.com/alanz/hjsmin";
     description = "Haskell implementation of a javascript minifier";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hledger-chart/default.nix b/pkgs/development/libraries/haskell/hledger-chart/default.nix
index d570ea9a9dcbf..d0beb457ceb99 100644
--- a/pkgs/development/libraries/haskell/hledger-chart/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-chart/default.nix
@@ -1,13 +1,20 @@
-{cabal, Chart, colour, hledger, hledgerLib, safe}:
+{ cabal, Chart, colour, hledger, hledgerLib, safe }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hledger-chart";
   version = "0.14";
   sha256 = "fe321e4e31c72aef22945080323992a0033ae8fb48213ad7b708f86f9e2f6462";
-  propagatedBuildInputs = [Chart colour hledger hledgerLib safe];
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ Chart colour hledger hledgerLib safe ];
   meta = {
-    description = "generate simple pie chart graphics showing hledger account balances";
+    homepage = "http://hledger.org";
+    description = "A pie chart generator for the hledger accounting tool.";
+    license = "GPL";
     platforms = self.stdenv.lib.platforms.linux;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hledger-lib/default.nix b/pkgs/development/libraries/haskell/hledger-lib/default.nix
index b4f6e6ef57dee..234294da35550 100644
--- a/pkgs/development/libraries/haskell/hledger-lib/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-lib/default.nix
@@ -1,11 +1,21 @@
-{cabal, HUnit, mtl, parsec, regexpr, safe, split, utf8String}:
+{ cabal, HUnit, mtl, parsec, regexpr, safe, split, time, utf8String
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hledger-lib";
   version = "0.14";
   sha256 = "9a6d6ab4383800279e135e9bbcd886e95cea45232d093202c5d43e6edd1f927c";
-  propagatedBuildInputs = [HUnit mtl parsec regexpr safe split utf8String];
+  buildDepends = [
+    HUnit mtl parsec regexpr safe split time utf8String
+  ];
   meta = {
-    description = "core data types, parsers and utilities used by the hledger tools";
+    homepage = "http://hledger.org";
+    description = "Reusable types and utilities for the hledger accounting tool and financial apps in general.";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hledger-vty/default.nix b/pkgs/development/libraries/haskell/hledger-vty/default.nix
index e40c73dc7ab6b..7b82800e40cb0 100644
--- a/pkgs/development/libraries/haskell/hledger-vty/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-vty/default.nix
@@ -1,13 +1,20 @@
-{cabal, hledger, hledgerLib, vty, safe}:
+{ cabal, hledger, hledgerLib, safe, vty }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hledger-vty";
   version = "0.14";
   sha256 = "3d9972430053548a65bfe5fb39ba374d1c930c6e0cfc704be5c59de742a4287e";
-  propagatedBuildInputs = [hledger hledgerLib vty safe];
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ hledger hledgerLib safe vty ];
   meta = {
-    description = "a simple curses-style console interface to hledger";
+    homepage = "http://hledger.org";
+    description = "A curses-style interface for the hledger accounting tool.";
+    license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hledger/default.nix b/pkgs/development/libraries/haskell/hledger/default.nix
index c7013b68c846c..e80e005e12e6f 100644
--- a/pkgs/development/libraries/haskell/hledger/default.nix
+++ b/pkgs/development/libraries/haskell/hledger/default.nix
@@ -1,13 +1,25 @@
-{cabal, hledgerLib, csv, haskeline}:
+{ cabal, HUnit, csv, haskeline, hledgerLib, mtl, parsec, regexpr
+, safe, split, time, utf8String
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hledger";
   version = "0.14";
   sha256 = "1bfcb1dcc88d8cec924afbf7aefd1ccf88b7be785b522c1595b75b91f8c82d35";
-  propagatedBuildInputs = [hledgerLib csv haskeline];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    HUnit csv haskeline hledgerLib mtl parsec regexpr safe split time
+    utf8String
+  ];
   meta = {
-    description = "a reliable, practical financial reporting tool for day-to-day use";
+    homepage = "http://hledger.org";
+    description = "A robust command-line accounting tool with a simple human-editable data format, similar to ledger.";
+    license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hopenssl/default.nix b/pkgs/development/libraries/haskell/hopenssl/default.nix
index 5c1d1e9c14a91..6556169254e8b 100644
--- a/pkgs/development/libraries/haskell/hopenssl/default.nix
+++ b/pkgs/development/libraries/haskell/hopenssl/default.nix
@@ -1,15 +1,19 @@
-{cabal, mtl, openssl}:
+{ cabal, openssl, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hopenssl";
   version = "1.6.1";
   sha256 = "75ba42c5e9b02c09057c5aa25f577bdfe5214533fbd2921ac555897ade85958a";
-  propagatedBuildInputs = [openssl mtl];
+  buildDepends = [ mtl ];
+  extraLibraries = [ openssl ];
   meta = {
     homepage = "http://gitorious.org/hopenssl";
     description = "FFI bindings to OpenSSL's EVP digest interface";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [self.stdenv.lib.maintainers.simons];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hostname/default.nix b/pkgs/development/libraries/haskell/hostname/default.nix
index 543776e084c8d..69653ca2699ff 100644
--- a/pkgs/development/libraries/haskell/hostname/default.nix
+++ b/pkgs/development/libraries/haskell/hostname/default.nix
@@ -1,13 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hostname";
   version = "1.0";
   sha256 = "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv";
   meta = {
     description = "A very simple package providing a cross-platform means of determining the hostname";
-    license = "BSD3";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/hscolour/default.nix b/pkgs/development/libraries/haskell/hscolour/default.nix
index 81ed55cebcfdd..81ff32722189d 100644
--- a/pkgs/development/libraries/haskell/hscolour/default.nix
+++ b/pkgs/development/libraries/haskell/hscolour/default.nix
@@ -1,14 +1,19 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hscolour";
   version = "1.19";
   sha256 = "17wzd1b7kd4di7djj8d203rn6r1zvd6rykpxhqv7j06kzgx2r7bz";
+  isLibrary = true;
+  isExecutable = true;
   meta = {
     homepage = "http://code.haskell.org/~malcolm/hscolour/";
     description = "Colourise Haskell code.";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hsdns/default.nix b/pkgs/development/libraries/haskell/hsdns/default.nix
index 67edb5bbba37a..2a83df47f090a 100644
--- a/pkgs/development/libraries/haskell/hsdns/default.nix
+++ b/pkgs/development/libraries/haskell/hsdns/default.nix
@@ -1,16 +1,20 @@
-{cabal, adns, network}:
+{ cabal, adns, network }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hsdns";
   version = "1.5";
   sha256 = "2788d1ad5ef07ae5f356a460fb92316118f3a4d9c779ec27fb8243602bcf6399";
-  propagatedBuildInputs = [adns network];
-  noHaddock = true; /* the build fails for reasons I don't understand. */
+  buildDepends = [ network ];
+  extraLibraries = [ adns ];
+  noHaddock = true;
   meta = {
     homepage = "http://gitorious.org/hsdns";
     description = "Asynchronous DNS Resolver";
-    license = self.stdenv.lib.licenses.lgpl3;
+    license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [self.stdenv.lib.maintainers.andres self.stdenv.lib.maintainers.simons];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hsemail/default.nix b/pkgs/development/libraries/haskell/hsemail/default.nix
index 840395a633489..3ba0249c4df28 100644
--- a/pkgs/development/libraries/haskell/hsemail/default.nix
+++ b/pkgs/development/libraries/haskell/hsemail/default.nix
@@ -1,15 +1,18 @@
-{cabal, mtl, parsec}:
+{ cabal, mtl, parsec }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hsemail";
   version = "1.7.1";
   sha256 = "0059015ab93d5facf6060404984a295090ebfc667ae5b84b283163e126805a9e";
-  propagatedBuildInputs = [mtl parsec];
+  buildDepends = [ mtl parsec ];
   meta = {
     homepage = "http://gitorious.org/hsemail";
     description = "Internet Message Parsers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [self.stdenv.lib.maintainers.andres self.stdenv.lib.maintainers.simons];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hslogger-template/default.nix b/pkgs/development/libraries/haskell/hslogger-template/default.nix
index f8c2e86f3c805..4ee2f0e75df3e 100644
--- a/pkgs/development/libraries/haskell/hslogger-template/default.nix
+++ b/pkgs/development/libraries/haskell/hslogger-template/default.nix
@@ -1,14 +1,17 @@
-{cabal, hslogger, mtl} :
+{ cabal, hslogger, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hslogger-template";
   version = "2.0.0";
   sha256 = "1x8c132ckxjhnhlrnm92h0hkalkrgcc91cn73kv9kvcwy9b2fqcr";
-  propagatedBuildInputs = [ hslogger mtl ];
+  buildDepends = [ hslogger mtl ];
   meta = {
     description = "Automatic generation of hslogger functions";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hspread/default.nix b/pkgs/development/libraries/haskell/hspread/default.nix
index cab021d152419..c1ee264ea84a3 100644
--- a/pkgs/development/libraries/haskell/hspread/default.nix
+++ b/pkgs/development/libraries/haskell/hspread/default.nix
@@ -1,11 +1,17 @@
-{cabal, binary, network}:
+{ cabal, binary, extensibleExceptions, network }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hspread";
   version = "0.3.3";
   sha256 = "6e8a9ecc1a6b1cc767aa188e2f4c04b77b321fd14000cac8f71dd6a7b82afbfc";
-  propagatedBuildInputs = [binary network];
+  buildDepends = [ binary extensibleExceptions network ];
   meta = {
     description = "A client library for the spread toolkit";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/hsyslog/default.nix b/pkgs/development/libraries/haskell/hsyslog/default.nix
index ea2e3afdf9912..baa1906504129 100755
--- a/pkgs/development/libraries/haskell/hsyslog/default.nix
+++ b/pkgs/development/libraries/haskell/hsyslog/default.nix
@@ -1,13 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "hsyslog";
   version = "1.4";
   sha256 = "f3bf4bf47565cb0245afb0e8ffa3f79635b02f0032081845a5999964d828f4db";
-  propagatedBuildInputs = [];
   meta = {
     homepage = "http://gitorious.org/hsyslog";
     description = "FFI interface to syslog(3) from POSIX.1-2001.";
     license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/html/1.0.1.2.nix b/pkgs/development/libraries/haskell/html/1.0.1.2.nix
index fa671f934e82c..f420bad2959c2 100644
--- a/pkgs/development/libraries/haskell/html/1.0.1.2.nix
+++ b/pkgs/development/libraries/haskell/html/1.0.1.2.nix
@@ -1,11 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "html";
-  version = "1.0.1.2"; # Haskell Platform 2009.0.0, 2010.1.0.0, 2010.2.0.0, 2011.2.0.0
+  version = "1.0.1.2";
   sha256 = "0c35495ea33d65e69c69bc7441ec8e1af69fbb43433c2aa3406c0a13a3ab3061";
   meta = {
     description = "HTML combinator library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/http-enumerator/default.nix b/pkgs/development/libraries/haskell/http-enumerator/default.nix
index d2b47bff7fecd..f91acb2054b58 100644
--- a/pkgs/development/libraries/haskell/http-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/http-enumerator/default.nix
@@ -1,14 +1,17 @@
-{cabal, asn1Data, attoparsec, attoparsecEnumerator,
- base64Bytestring, blazeBuilder, blazeBuilderEnumerator,
- caseInsensitive, certificate, cprngAes, enumerator, failure,
- httpTypes, monadControl, network, tls, tlsExtra, transformers,
- utf8String, zlibEnum} :
+{ cabal, asn1Data, attoparsec, attoparsecEnumerator
+, base64Bytestring, blazeBuilder, blazeBuilderEnumerator
+, caseInsensitive, certificate, cprngAes, enumerator, failure
+, httpTypes, monadControl, network, tls, tlsExtra, transformers
+, utf8String, zlibEnum
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "http-enumerator";
   version = "0.6.5.6";
   sha256 = "1b2hfqya562f2aj5fh9abr9zq4gx327jdlyja5wzcx01hzlavvcn";
-  propagatedBuildInputs = [
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
     asn1Data attoparsec attoparsecEnumerator base64Bytestring
     blazeBuilder blazeBuilderEnumerator caseInsensitive certificate
     cprngAes enumerator failure httpTypes monadControl network tls
@@ -19,6 +22,9 @@ cabal.mkDerivation (self : {
     description = "HTTP client package with enumerator interface and HTTPS support.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/http-types/default.nix b/pkgs/development/libraries/haskell/http-types/default.nix
index 1718e68f6adff..dbd36e5429fb3 100644
--- a/pkgs/development/libraries/haskell/http-types/default.nix
+++ b/pkgs/development/libraries/haskell/http-types/default.nix
@@ -1,15 +1,20 @@
-{cabal, blazeBuilder, caseInsensitive, text} :
+{ cabal, blazeBuilder, caseInsensitive, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "http-types";
   version = "0.6.5.1";
   sha256 = "1gmf5ghfm8hzifinknyk10m7ayxkn48h1l0mchi2vl6h5rg0nnca";
-  propagatedBuildInputs = [ blazeBuilder caseInsensitive text ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ blazeBuilder caseInsensitive text ];
   meta = {
     homepage = "https://github.com/aristidb/http-types";
     description = "Generic HTTP types for Haskell (for both client and server code).";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/httpd-shed/default.nix b/pkgs/development/libraries/haskell/httpd-shed/default.nix
index c0a8634d3613c..e56a95437dbe9 100644
--- a/pkgs/development/libraries/haskell/httpd-shed/default.nix
+++ b/pkgs/development/libraries/haskell/httpd-shed/default.nix
@@ -1,12 +1,19 @@
-{cabal, network}:
+{ cabal, network }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "httpd-shed";
   version = "0.4";
   sha256 = "c03f784742bdc3053c7e867e587ee859a9a3adaa082d36bdb2ea69da1b02069f";
-  propagatedBuildInputs = [network];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ network ];
   meta = {
     description = "A simple web-server with an interact style API";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/ivor/default.nix b/pkgs/development/libraries/haskell/ivor/default.nix
index 22c6f04b866a0..a7fc6b7e6e11e 100644
--- a/pkgs/development/libraries/haskell/ivor/default.nix
+++ b/pkgs/development/libraries/haskell/ivor/default.nix
@@ -1,18 +1,18 @@
-{cabal, binary, mtl, parsec} :
+{ cabal, binary, mtl, parsec }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "ivor";
   version = "0.1.14.1";
   sha256 = "0r9ykfkxpwsrhsvv691r361pf79a7y511hxy2mvd6ysz1441mych";
-  propagatedBuildInputs = [ binary mtl parsec ];
+  buildDepends = [ binary mtl parsec ];
   meta = {
     homepage = "http://www.dcs.st-and.ac.uk/~eb/Ivor/";
     description = "Theorem proving library based on dependent type theory";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/jpeg/default.nix b/pkgs/development/libraries/haskell/jpeg/default.nix
index a1f63769cdece..872f2fb394f7f 100644
--- a/pkgs/development/libraries/haskell/jpeg/default.nix
+++ b/pkgs/development/libraries/haskell/jpeg/default.nix
@@ -1,14 +1,17 @@
-{cabal, mtl}:
+{ cabal, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "jpeg";
   version = "0.0.1";
   sha256 = "848e047cfec5781a28f472e9cd27d016362211d88dd6adb4f826c37d29d8bba6";
-  propagatedBuildInputs = [mtl];
+  buildDepends = [ mtl ];
   meta = {
-    description = "JPEG decompression library";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    description = "A library for decoding JPEG files written in pure Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/json/0.3.6.nix b/pkgs/development/libraries/haskell/json/0.3.6.nix
index 1d644d88a41a1..5288659b541a0 100644
--- a/pkgs/development/libraries/haskell/json/0.3.6.nix
+++ b/pkgs/development/libraries/haskell/json/0.3.6.nix
@@ -1,12 +1,17 @@
-{cabal, mtl}:
+{ cabal, parsec }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "json";
   version = "0.3.6";
   sha256 = "05047879ed0c7a9aa168a981e238da94758281af3cb1a1f78a6427322b946fd7";
-  propagatedBuildInputs = [mtl];
+  buildDepends = [ parsec ];
   meta = {
     description = "Support for serialising Haskell to and from JSON";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/json/default.nix b/pkgs/development/libraries/haskell/json/default.nix
index ce0d150c045b5..a318cf3c5ee1a 100644
--- a/pkgs/development/libraries/haskell/json/default.nix
+++ b/pkgs/development/libraries/haskell/json/default.nix
@@ -1,15 +1,17 @@
-# syb isn't listed by the HackageDB web interface, but is
-# a dependency for Text.JSON.Generic which is only exposed
-# if syb is available.
-{cabal, mtl, syb}:
+{ cabal, mtl, parsec, syb }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "json";
   version = "0.4.4";
   sha256 = "102qmz55b2mgcca3q1c2pkcr6hz7kmpldad3f6blhmp1cz15f081";
-  propagatedBuildInputs = [mtl syb];
+  buildDepends = [ mtl parsec syb ];
   meta = {
     description = "Support for serialising Haskell to and from JSON";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/jsonEnumerator/default.nix b/pkgs/development/libraries/haskell/jsonEnumerator/default.nix
index 4b01a25dcc378..7335bd53adeb6 100644
--- a/pkgs/development/libraries/haskell/jsonEnumerator/default.nix
+++ b/pkgs/development/libraries/haskell/jsonEnumerator/default.nix
@@ -1,13 +1,23 @@
-{cabal, blazeBuilder, blazeBuilderEnumerator, enumerator, jsonTypes, text, transformers}:
+{ cabal, blazeBuilder, blazeBuilderEnumerator, enumerator
+, jsonTypes, text, transformers
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "json-enumerator";
   version = "0.0.1.1";
   sha256 = "0k94x9vwwaprqbc8gay5l0vg6hjmjpjp852yncncb8kr0r344z7l";
-  propagatedBuildInputs =
-    [blazeBuilder blazeBuilderEnumerator enumerator jsonTypes text transformers];
+  buildDepends = [
+    blazeBuilder blazeBuilderEnumerator enumerator jsonTypes text
+    transformers
+  ];
   meta = {
-    description = "Provides the ability to render JSON in a streaming manner using the enumerator package";
-    license = "BSD3";
+    homepage = "http://github.com/snoyberg/json-enumerator";
+    description = "Pure-Haskell utilities for dealing with JSON with the enumerator package.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/jsonTypes/default.nix b/pkgs/development/libraries/haskell/jsonTypes/default.nix
index 69c21730c1f47..44be8624a41aa 100644
--- a/pkgs/development/libraries/haskell/jsonTypes/default.nix
+++ b/pkgs/development/libraries/haskell/jsonTypes/default.nix
@@ -1,12 +1,17 @@
-{cabal, text}:
+{ cabal, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "json-types";
   version = "0.1";
   sha256 = "088if9qv0didjyb6y1583viihjgc4nwr61qfjqdg9rzc2ya6vqdn";
-  propagatedBuildInputs = [text];
+  buildDepends = [ text ];
   meta = {
     description = "Basic types for representing JSON";
-    license = "MIT";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/language-javascript/default.nix b/pkgs/development/libraries/haskell/language-javascript/default.nix
index 2fdf77fd136da..68f8006d2a97b 100644
--- a/pkgs/development/libraries/haskell/language-javascript/default.nix
+++ b/pkgs/development/libraries/haskell/language-javascript/default.nix
@@ -1,16 +1,21 @@
-{cabal, mtl, utf8Light, alex, happy} :
+{ cabal, alex, happy, mtl, utf8Light }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "language-javascript";
   version = "0.4.5";
   sha256 = "0rsggjpxsvaipkibhl90qcj2w2i16g53srbb54v0hajx2msmi0ci";
-  extraBuildInputs = [ alex happy ];
-  propagatedBuildInputs = [ mtl utf8Light ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ mtl utf8Light ];
+  buildTools = [ alex happy ];
   meta = {
     homepage = "http://github.com/alanz/language-javascript";
     description = "Parser for JavaScript";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/largeword/default.nix b/pkgs/development/libraries/haskell/largeword/default.nix
index 90a526f7b3d68..303e0b68809f7 100644
--- a/pkgs/development/libraries/haskell/largeword/default.nix
+++ b/pkgs/development/libraries/haskell/largeword/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "largeword";
   version = "1.0.0";
   sha256 = "1122isizlx807zv26j0sx71iw39nn3sja6mr2pf4sd456m1vmx8r";
@@ -9,6 +9,9 @@ cabal.mkDerivation (self : {
     description = "Provides Word128, Word192 and Word256 and a way of producing other large words if required.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/logfloat/default.nix b/pkgs/development/libraries/haskell/logfloat/default.nix
index 386eb6eb85714..5f438fb406013 100644
--- a/pkgs/development/libraries/haskell/logfloat/default.nix
+++ b/pkgs/development/libraries/haskell/logfloat/default.nix
@@ -1,13 +1,17 @@
-{cabal, deepseq}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "logfloat";
   version = "0.12.1";
   sha256 = "1k13jjqv4df341hcj9hzrlisfx9wrsmyqvzi6ricx341d9z4ch05";
   meta = {
+    homepage = "http://code.haskell.org/~wren/";
     description = "Log-domain floating point numbers";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/ltk/default.nix b/pkgs/development/libraries/haskell/ltk/default.nix
index 4582d0b7031f5..103c11361e91b 100644
--- a/pkgs/development/libraries/haskell/ltk/default.nix
+++ b/pkgs/development/libraries/haskell/ltk/default.nix
@@ -1,18 +1,18 @@
-{cabal, ghc, glib, gtk, haddock, mtl, parsec} :
+{ cabal, glib, gtk, haddock, mtl, parsec }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "ltk";
   version = "0.10.0.4";
   sha256 = "1dp6dl8a0pfj6lx8n8a2y1j3c2z57k9pf81yr45qsp7wg53d6qhf";
-  propagatedBuildInputs = [ ghc glib gtk haddock mtl parsec ];
+  buildDepends = [ glib gtk haddock mtl parsec ];
   meta = {
     homepage = "http://www.leksah.org";
     description = "Leksah tool kit";
     license = "GPL";
     platforms = self.stdenv.lib.platforms.linux;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/maybench/default.nix b/pkgs/development/libraries/haskell/maybench/default.nix
deleted file mode 100644
index a1549a5a41772..0000000000000
--- a/pkgs/development/libraries/haskell/maybench/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{cabal, benchpress}:
-
-cabal.mkDerivation (self : {
-  pname = "maybench";
-  version = "0.2.4";
-  sha256 = "1g7hby0ffjry60xhs09gf1n848c9n60mjjq7jf94c116x24w1gdd";
-  meta = {
-    description = "Automated benchmarking tool.";
-  };
-  propagatedBuildInputs = [benchpress];
-})
-
diff --git a/pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix b/pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix
index e7e33e39a8660..696d011b7f836 100644
--- a/pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix
+++ b/pkgs/development/libraries/haskell/mersenne-random-pure64/default.nix
@@ -1,13 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "mersenne-random-pure64";
   version = "0.2.0.3";
   sha256 = "0cyjfdl17n5al04vliykx0m7zncqh3201vn9b9fqfqqpmm61grqz";
   meta = {
+    homepage = "http://code.haskell.org/~dons/code/mersenne-random-pure64/";
     description = "Generate high quality pseudorandom numbers purely using a Mersenne Twister";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/mime-mail/default.nix b/pkgs/development/libraries/haskell/mime-mail/default.nix
index 1e796652e4da9..b496615346b7b 100644
--- a/pkgs/development/libraries/haskell/mime-mail/default.nix
+++ b/pkgs/development/libraries/haskell/mime-mail/default.nix
@@ -1,15 +1,18 @@
-{cabal, blazeBuilder, dataenc, text} :
+{ cabal, blazeBuilder, dataenc, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "mime-mail";
   version = "0.3.0.2";
   sha256 = "0jbhkghzj2wn1200917lr5vjx50maakakl3asfz6x1chprbqkdsx";
-  propagatedBuildInputs = [ blazeBuilder dataenc text ];
+  buildDepends = [ blazeBuilder dataenc text ];
   meta = {
     homepage = "http://github.com/snoyberg/mime-mail";
     description = "Compose MIME email messages.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mmap/default.nix b/pkgs/development/libraries/haskell/mmap/default.nix
index cce2e7d1b0925..817cae5229536 100644
--- a/pkgs/development/libraries/haskell/mmap/default.nix
+++ b/pkgs/development/libraries/haskell/mmap/default.nix
@@ -1,11 +1,18 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "mmap";
   version = "0.5.7";
   sha256 = "0f08x9kmv3a03kz5a6dpxr30nks55cs9sp55qpn2jnw31qx6hg6p";
+  isLibrary = true;
+  isExecutable = true;
   meta = {
     description = "Memory mapped files for POSIX and Windows";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/monad-control/default.nix b/pkgs/development/libraries/haskell/monad-control/default.nix
index 30a46369df635..33ff47b2e0505 100644
--- a/pkgs/development/libraries/haskell/monad-control/default.nix
+++ b/pkgs/development/libraries/haskell/monad-control/default.nix
@@ -1,14 +1,18 @@
-{cabal, baseUnicodeSymbols, transformers}:
+{ cabal, baseUnicodeSymbols, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "monad-control";
-  version = "0.2.0.1";
-  sha256 = "1pnckk9080g64ipvsg3n1vn4jr1083giacgy58if2ppw3dk7m97k";
-  propagatedBuildInputs = [baseUnicodeSymbols transformers];
+  version = "0.2.0.2";
+  sha256 = "18kakshbjr6nspc6m2ckpbi3sx7r10qmmbh8qbzibg19n9mnq2ni";
+  buildDepends = [ baseUnicodeSymbols transformers ];
   meta = {
+    homepage = "https://github.com/basvandijk/monad-control/";
     description = "Lift control operations, like exception catching, through monad transformers";
-    license = "BSD3";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/monad-loops/default.nix b/pkgs/development/libraries/haskell/monad-loops/default.nix
index abac15618d581..669df22a95102 100644
--- a/pkgs/development/libraries/haskell/monad-loops/default.nix
+++ b/pkgs/development/libraries/haskell/monad-loops/default.nix
@@ -1,13 +1,18 @@
-{cabal}:
+{ cabal, stm }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "monad-loops";
   version = "0.3.1.1";
   sha256 = "086aqd1x1xc6irp24z1lwhzrknw9r2wbs8fnxz6vyi75m3rqvdcv";
+  buildDepends = [ stm ];
   meta = {
+    homepage = "http://code.haskell.org/~mokus/monad-loops";
     description = "Monadic loops";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/monad-par/default.nix b/pkgs/development/libraries/haskell/monad-par/default.nix
index 1aaee7e088398..24530c01805dd 100644
--- a/pkgs/development/libraries/haskell/monad-par/default.nix
+++ b/pkgs/development/libraries/haskell/monad-par/default.nix
@@ -1,13 +1,18 @@
-{cabal, deepseq, HUnit}:
+{ cabal, HUnit, deepseq }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "monad-par";
   version = "0.1.0.1";
   sha256 = "0sd5w09vi12jwzz8xgh51r27577byr6pqp15dw0z5nhf4w869qxq";
-  propagatedBuildInputs = [deepseq HUnit];
+  buildDepends = [ HUnit deepseq ];
   meta = {
+    homepage = "https://github.com/simonmar/monad-par";
     description = "A library for parallel programming based on a monad";
-    license = "BSD3";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/monad-peel/default.nix b/pkgs/development/libraries/haskell/monad-peel/default.nix
index 25be7fb1a1ae2..670b6aaf79b69 100644
--- a/pkgs/development/libraries/haskell/monad-peel/default.nix
+++ b/pkgs/development/libraries/haskell/monad-peel/default.nix
@@ -1,13 +1,18 @@
-{cabal, transformers}:
+{ cabal, extensibleExceptions, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "monad-peel";
   version = "0.1";
   sha256 = "0q56hdjgbj7ykpjx5z8qlqqkngmgm5wzm9vwcd7v675k2ywcl3ys";
-  propagatedBuildInputs = [transformers];
+  buildDepends = [ extensibleExceptions transformers ];
   meta = {
+    homepage = "http://andersk.mit.edu/haskell/monad-peel/";
     description = "Lift control operations like exception catching through monad transformers";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/monads-fd/0.0.0.1.nix b/pkgs/development/libraries/haskell/monads-fd/0.0.0.1.nix
index e2981063135c9..d05201c939ca5 100644
--- a/pkgs/development/libraries/haskell/monads-fd/0.0.0.1.nix
+++ b/pkgs/development/libraries/haskell/monads-fd/0.0.0.1.nix
@@ -1,14 +1,17 @@
-{cabal, transformers}:
+{ cabal, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "monads-fd";
   version = "0.0.0.1";
   sha256 = "7eaac97b2c91a670171f18ebeb3f73b1a45e16576851279f73ea2e1f5ec63b25";
-  propagatedBuildInputs = [transformers];
+  buildDepends = [ transformers ];
   meta = {
     description = "Monad classes, using functional dependencies";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/monads-fd/0.2.0.0.nix b/pkgs/development/libraries/haskell/monads-fd/0.2.0.0.nix
index bc64c08e25e8f..f12df82d84453 100644
--- a/pkgs/development/libraries/haskell/monads-fd/0.2.0.0.nix
+++ b/pkgs/development/libraries/haskell/monads-fd/0.2.0.0.nix
@@ -1,17 +1,17 @@
-{cabal, mtl, transformers} :
+{ cabal, mtl, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "monads-fd";
   version = "0.2.0.0";
   sha256 = "1iqr5p3va5sxmpvydwqz2src54j5njcyrzn9p5apc60nv7yv6x4c";
-  propagatedBuildInputs = [ mtl transformers ];
+  buildDepends = [ mtl transformers ];
   meta = {
     description = "Monad classes, using functional dependencies";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mpppc/default.nix b/pkgs/development/libraries/haskell/mpppc/default.nix
index 40c304db0395f..31dd91a2d2f8b 100644
--- a/pkgs/development/libraries/haskell/mpppc/default.nix
+++ b/pkgs/development/libraries/haskell/mpppc/default.nix
@@ -1,14 +1,17 @@
-{cabal, ansiTerminal, split, text} :
+{ cabal, ansiTerminal, split, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "mpppc";
   version = "0.1.2";
   sha256 = "1zms71wx5a6rd60xy1pv6g1kxlx0hzh36pbr5a5lkfflc583z1k5";
-  propagatedBuildInputs = [ ansiTerminal split text ];
+  buildDepends = [ ansiTerminal split text ];
   meta = {
     description = "Multi-dimensional parametric pretty-printer with color";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/mtl/1.1.0.2.nix b/pkgs/development/libraries/haskell/mtl/1.1.0.2.nix
index 6fcdb41e3f1bd..d609fc75cd780 100644
--- a/pkgs/development/libraries/haskell/mtl/1.1.0.2.nix
+++ b/pkgs/development/libraries/haskell/mtl/1.1.0.2.nix
@@ -1,11 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "mtl";
-  version = "1.1.0.2"; # Haskell Platform 2009.0.0 and 2010.1.0.0 and 2010.2.0.0
+  version = "1.1.0.2";
   sha256 = "a225aaf2b1e337f40c31e5c42f95eec9a4608322b0e4c135d2b31b8421a58d36";
   meta = {
     description = "Monad transformer library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/mtl/1.1.1.1.nix b/pkgs/development/libraries/haskell/mtl/1.1.1.1.nix
index 174df4bda495e..05e84b90dd078 100644
--- a/pkgs/development/libraries/haskell/mtl/1.1.1.1.nix
+++ b/pkgs/development/libraries/haskell/mtl/1.1.1.1.nix
@@ -1,11 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "mtl";
-  version = "1.1.1.1"; # version of mtl1 compatible with ghc7
+  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
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix b/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix
index dc55078d0fc2a..dc2ddedc121e2 100644
--- a/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix
+++ b/pkgs/development/libraries/haskell/mtl/2.0.1.0.nix
@@ -1,12 +1,17 @@
-{cabal, transformers}:
+{ cabal, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "mtl";
-  version = "2.0.1.0"; # Haskell Platform 2011.2.0.0
+  version = "2.0.1.0";
   sha256 = "1w6jpzyl08mringnd6gxwcl3y9q506r240vm1sv0aacml1hy8szk";
-  propagatedBuildInputs = [transformers];
+  buildDepends = [ transformers ];
   meta = {
-    description = "Monad transformer library";
+    description = "Monad classes, using functional dependencies";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/mtlparse/default.nix b/pkgs/development/libraries/haskell/mtlparse/default.nix
index 51b6203688552..349fea712eba5 100644
--- a/pkgs/development/libraries/haskell/mtlparse/default.nix
+++ b/pkgs/development/libraries/haskell/mtlparse/default.nix
@@ -1,12 +1,18 @@
-{cabal, mtl}:
+{ cabal, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "mtlparse";
   version = "0.1.2";
   sha256 = "cd85d985e4eff842b1c053a2ff507094a20995c5757acc06ea34ff07d9edd142";
-  propagatedBuildInputs = [mtl];
+  buildDepends = [ mtl ];
   meta = {
-    description = "parse library based on the mtl package";
+    homepage = "http://homepage3.nifty.com/salamander/second/projects/mtlparse/";
+    description = "parse library using mtl package";
+    license = "LGPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/multiplate/default.nix b/pkgs/development/libraries/haskell/multiplate/default.nix
index 7eb7a7108962d..8bc6fa1092904 100644
--- a/pkgs/development/libraries/haskell/multiplate/default.nix
+++ b/pkgs/development/libraries/haskell/multiplate/default.nix
@@ -1,18 +1,18 @@
-{cabal, transformers} :
+{ cabal, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "multiplate";
   version = "0.0.1.1";
   sha256 = "00rxgkvgx1rfvk15gjyyg00vqyg4j24d8d19q6rj07j2mgfvdxw6";
-  propagatedBuildInputs = [ transformers ];
+  buildDepends = [ transformers ];
   meta = {
     homepage = "http://haskell.org/haskellwiki/Multiplate";
     description = "Lightweight generic library for mutually recursive data types.";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/multirec/default.nix b/pkgs/development/libraries/haskell/multirec/default.nix
index 5783ea5410a71..3e994f878cc64 100644
--- a/pkgs/development/libraries/haskell/multirec/default.nix
+++ b/pkgs/development/libraries/haskell/multirec/default.nix
@@ -1,13 +1,18 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "multirec";
   version = "0.5.1";
   sha256 = "0y62gb2ml0799a3f1ny5ydjc4rjwj1dgs48f5fj6hf2fpl4hk02l";
-  noHaddock = true; # don't know why Haddock causes an error
+  noHaddock = true;
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/Multirec";
     description = "Generic programming for families of recursive datatypes";
     license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/multiset/default.nix b/pkgs/development/libraries/haskell/multiset/default.nix
index 2514dbdee68b9..eb5df93d5bca6 100644
--- a/pkgs/development/libraries/haskell/multiset/default.nix
+++ b/pkgs/development/libraries/haskell/multiset/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "multiset";
   version = "0.2.1";
   sha256 = "0snlm6s9ikf5gngdwb7rm7v6017f5bffajv6777y56pjmd7bk9sy";
@@ -8,6 +8,9 @@ cabal.mkDerivation (self : {
     description = "The Data.MultiSet container type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/murmur-hash/default.nix b/pkgs/development/libraries/haskell/murmur-hash/default.nix
index 30eb3dc16577c..ae8d7b6e30b08 100644
--- a/pkgs/development/libraries/haskell/murmur-hash/default.nix
+++ b/pkgs/development/libraries/haskell/murmur-hash/default.nix
@@ -1,12 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "murmur-hash";
-  version = "0.1.0.2";
-  sha256 = "14amqkcz2dbjyjrsjblsnka8qymllbzjx5x3za58kwlcifnsq9jr";
+  version = "0.1.0.4";
+  sha256 = "08nvdv3r5scqpdcivwp0d77dl4vpkgq58rzxv1xpb8r1krqy588d";
   meta = {
-    description = "MurmurHash2 implementation for Haskell";
-    license = "BSD3";
+    homepage = "http://github.com/nominolo/murmur-hash";
+    description = "MurmurHash2 implementation for Haskell.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/mwc-random/default.nix b/pkgs/development/libraries/haskell/mwc-random/default.nix
index db5695d3d558a..dc1113c653d68 100644
--- a/pkgs/development/libraries/haskell/mwc-random/default.nix
+++ b/pkgs/development/libraries/haskell/mwc-random/default.nix
@@ -1,18 +1,18 @@
-{cabal, primitive, vector} :
+{ cabal, primitive, time, vector }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "mwc-random";
   version = "0.10.0.0";
   sha256 = "0pbzwq7jckjx0q7rpzhvjd2iam30yml0mwkz1jff8vl832z5xa8v";
-  propagatedBuildInputs = [ primitive vector ];
+  buildDepends = [ primitive time vector ];
   meta = {
     homepage = "https://github.com/bos/mwc-random";
     description = "Fast, high quality pseudo random number generation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/neither/default.nix b/pkgs/development/libraries/haskell/neither/default.nix
index c02474f8d98e0..8aa7bbde037f3 100644
--- a/pkgs/development/libraries/haskell/neither/default.nix
+++ b/pkgs/development/libraries/haskell/neither/default.nix
@@ -1,15 +1,18 @@
-{cabal, failure, monadPeel, transformers}:
+{ cabal, failure, monadPeel, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "neither";
   version = "0.2.0";
   sha256 = "0a2lyx3dvgzj4g6p69x1fma4rmwxrykji3hc4diqgc4hx02p16jh";
-  propagatedBuildInputs = [
-    failure monadPeel transformers
-  ];
+  buildDepends = [ failure monadPeel transformers ];
   meta = {
-    description = "A simple type class for success/failure computations";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://github.com/snoyberg/neither";
+    description = "Provide versions of Either with good monad and applicative instances.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/network/2.2.1.4.nix b/pkgs/development/libraries/haskell/network/2.2.1.4.nix
index 09dd52264337c..7d99df9ee1c85 100644
--- a/pkgs/development/libraries/haskell/network/2.2.1.4.nix
+++ b/pkgs/development/libraries/haskell/network/2.2.1.4.nix
@@ -1,12 +1,17 @@
-{cabal, parsec}:
+{ cabal, parsec }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "network";
-  version = "2.2.1.4"; # Haskell Platform 2009.2.0.2
+  version = "2.2.1.4";
   sha256 = "16a842bee5db116f754b459ef261426b6705a6d79383c6d545c9df5f6329cd25";
-  propagatedBuildInputs = [parsec];
+  buildDepends = [ parsec ];
   meta = {
     description = "Networking-related facilities";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/network/2.2.1.7.nix b/pkgs/development/libraries/haskell/network/2.2.1.7.nix
index 8074f38825dff..ba33bc36643b5 100644
--- a/pkgs/development/libraries/haskell/network/2.2.1.7.nix
+++ b/pkgs/development/libraries/haskell/network/2.2.1.7.nix
@@ -1,12 +1,17 @@
-{cabal, parsec}:
+{ cabal, parsec }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "network";
-  version = "2.2.1.7"; # Haskell Platform 2010.1.0.0 and 2010.2.0.0
+  version = "2.2.1.7";
   sha256 = "0e65b28a60764245c1ab6661a3566f286feb36e0e6f0296d6cd2b84adcd45d58";
-  propagatedBuildInputs = [parsec];
+  buildDepends = [ parsec ];
   meta = {
     description = "Networking-related facilities";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/network/2.3.0.2.nix b/pkgs/development/libraries/haskell/network/2.3.0.2.nix
index 17b8af706727b..9d2642a487d24 100644
--- a/pkgs/development/libraries/haskell/network/2.3.0.2.nix
+++ b/pkgs/development/libraries/haskell/network/2.3.0.2.nix
@@ -1,12 +1,18 @@
-{cabal, parsec}:
+{ cabal, parsec }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "network";
-  version = "2.3.0.2"; # Haskell Platform 2011.2.0.0
+  version = "2.3.0.2";
   sha256 = "1s4hm0ilsd67ircrl0h5b72kwrw1imb3cj5z52h99bv7qjdbag03";
-  propagatedBuildInputs = [parsec];
+  buildDepends = [ parsec ];
   meta = {
-    description = "Networking-related facilities";
+    homepage = "http://github.com/haskell/network";
+    description = "Low-level networking interface";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/network/2.3.0.5.nix b/pkgs/development/libraries/haskell/network/2.3.0.5.nix
index cbb482e80352e..bf9330eb256a1 100644
--- a/pkgs/development/libraries/haskell/network/2.3.0.5.nix
+++ b/pkgs/development/libraries/haskell/network/2.3.0.5.nix
@@ -1,12 +1,18 @@
-{cabal, parsec}:
+{ cabal, parsec }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "network";
-  version = "2.3.0.5"; # Haskell Platform future?
+  version = "2.3.0.5";
   sha256 = "0y1sbgsffzr0skm6xl8907iclgw9vmf395zvpwgakp69i3snh1z0";
-  propagatedBuildInputs = [parsec];
+  buildDepends = [ parsec ];
   meta = {
-    description = "Networking-related facilities";
+    homepage = "http://github.com/haskell/network";
+    description = "Low-level networking interface";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/non-negative/default.nix b/pkgs/development/libraries/haskell/non-negative/default.nix
index ecde2772e2502..934bb76dcd421 100644
--- a/pkgs/development/libraries/haskell/non-negative/default.nix
+++ b/pkgs/development/libraries/haskell/non-negative/default.nix
@@ -1,12 +1,20 @@
-{cabal, QuickCheck, utilityHt}:
+{ cabal, QuickCheck, utilityHt }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "non-negative";
   version = "0.1";
   sha256 = "0aebb6f5518191a02b11230798444997a03b84d63d2aaa6c38cac6718f6c351c";
-  propagatedBuildInputs = [QuickCheck utilityHt];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ QuickCheck utilityHt ];
   meta = {
+    homepage = "http://code.haskell.org/~thielema/non-negative/";
     description = "Non-negative numbers";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/numeric-prelude/default.nix b/pkgs/development/libraries/haskell/numeric-prelude/default.nix
index 373a748fae4cb..059662a56b949 100644
--- a/pkgs/development/libraries/haskell/numeric-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/numeric-prelude/default.nix
@@ -1,14 +1,23 @@
-{cabal, HUnit, QuickCheck, parsec, nonNegative, utilityHt, storableRecord}:
+{ cabal, QuickCheck, nonNegative, parsec, storableRecord, utilityHt
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "numeric-prelude";
   version = "0.2.2";
   sha256 = "bc6adb8c2f04e0e1f62e183e052974700143dc93b1a3cbafe3562aa1f7a649fd";
-  propagatedBuildInputs = [HUnit QuickCheck parsec nonNegative utilityHt storableRecord];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    QuickCheck nonNegative parsec storableRecord utilityHt
+  ];
   meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Numeric_Prelude";
     description = "An experimental alternative hierarchy of numeric type classes";
+    license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/numtype/default.nix b/pkgs/development/libraries/haskell/numtype/default.nix
index a169579c8d6b3..9c91fbb90cc28 100644
--- a/pkgs/development/libraries/haskell/numtype/default.nix
+++ b/pkgs/development/libraries/haskell/numtype/default.nix
@@ -1,12 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "numtype";
   version = "1.0";
   sha256 = "2606e81d7bcef0ba76b1e6ffc8d513c36fef5fefaab3bdd02da18761ec504e1f";
   meta = {
-    description = "unary type level representations of the (positive and negative) integers";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.simons];
+    homepage = "http://dimensional.googlecode.com/";
+    description = "Type-level (low cardinality) integers.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pandoc-types/default.nix b/pkgs/development/libraries/haskell/pandoc-types/default.nix
index 0926929ef526a..6d5720658ceb8 100644
--- a/pkgs/development/libraries/haskell/pandoc-types/default.nix
+++ b/pkgs/development/libraries/haskell/pandoc-types/default.nix
@@ -1,15 +1,18 @@
-{cabal, syb} :
+{ cabal, syb }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "pandoc-types";
   version = "1.8.2";
   sha256 = "04whkqld2pnfz25i9rcq7d4pi9zkn6c1rpz95vdlg9r5xkhhnn3a";
-  propagatedBuildInputs = [ syb ];
+  buildDepends = [ syb ];
   meta = {
     homepage = "http://johnmacfarlane.net/pandoc";
     description = "Types for representing a structured document";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pandoc/1.6.0.1.nix b/pkgs/development/libraries/haskell/pandoc/1.6.0.1.nix
index f9537bf9dc399..c31f40de3ea7c 100644
--- a/pkgs/development/libraries/haskell/pandoc/1.6.0.1.nix
+++ b/pkgs/development/libraries/haskell/pandoc/1.6.0.1.nix
@@ -1,18 +1,25 @@
-{cabal, HTTP, mtl, network, parsec, syb, texmath, utf8String,
- xhtml, xml, zipArchive} :
+{ cabal, HTTP, extensibleExceptions, mtl, network, parsec, syb
+, texmath, utf8String, xhtml, xml, zipArchive
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "pandoc";
   version = "1.6.0.1";
   sha256 = "1imi6xkqzdy9y8kab04x8pn11r55j699apwrqvcz99j6f5g7xs9x";
-  propagatedBuildInputs = [
-    HTTP mtl network parsec syb texmath utf8String xhtml xml zipArchive
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    HTTP extensibleExceptions mtl network parsec syb texmath utf8String
+    xhtml xml zipArchive
   ];
   meta = {
     homepage = "http://johnmacfarlane.net/pandoc";
     description = "Conversion between markup formats";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pandoc/1.8.2.1.nix b/pkgs/development/libraries/haskell/pandoc/1.8.2.1.nix
index 49a15c92697b4..338926ad73108 100644
--- a/pkgs/development/libraries/haskell/pandoc/1.8.2.1.nix
+++ b/pkgs/development/libraries/haskell/pandoc/1.8.2.1.nix
@@ -1,20 +1,27 @@
-{cabal, HTTP, base64Bytestring, citeprocHs, dlist, json, mtl,
- network, pandocTypes, parsec, syb, tagsoup, texmath, utf8String,
- xhtml, xml, zipArchive} :
+{ cabal, HTTP, base64Bytestring, citeprocHs, dlist
+, extensibleExceptions, json, mtl, network, pandocTypes, parsec
+, syb, tagsoup, texmath, utf8String, xhtml, xml, zipArchive
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "pandoc";
   version = "1.8.2.1";
   sha256 = "0cwly0j2rj46h654iwl04l6jkhk6rrhynqvrdnq47067n9vm60pi";
-  propagatedBuildInputs = [
-    HTTP base64Bytestring citeprocHs dlist json mtl network pandocTypes
-    parsec syb tagsoup texmath utf8String xhtml xml zipArchive
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    HTTP base64Bytestring citeprocHs dlist extensibleExceptions json
+    mtl network pandocTypes parsec syb tagsoup texmath utf8String xhtml
+    xml zipArchive
   ];
   meta = {
     homepage = "http://johnmacfarlane.net/pandoc";
     description = "Conversion between markup formats";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/parallel/1.1.0.1.nix b/pkgs/development/libraries/haskell/parallel/1.1.0.1.nix
index 5cd693f504845..2977a60964cf9 100644
--- a/pkgs/development/libraries/haskell/parallel/1.1.0.1.nix
+++ b/pkgs/development/libraries/haskell/parallel/1.1.0.1.nix
@@ -1,11 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "parallel";
-  version = "1.1.0.1"; # Haskell Platform 2009.0.0
+  version = "1.1.0.1";
   sha256 = "0885086660268f3626effacb29a02b5c81f3e5a8dfa99dabe0981ddbc407999f";
   meta = {
     description = "parallel programming library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix b/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix
index aca8f99616ee8..185e86b02e89d 100644
--- a/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix
+++ b/pkgs/development/libraries/haskell/parallel/2.2.0.1.nix
@@ -1,12 +1,17 @@
-{cabal, deepseq}:
+{ cabal, deepseq }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "parallel";
-  version = "2.2.0.1"; # Haskell Platform 2010.1.0.0 and 2010.2.0.0
+  version = "2.2.0.1";
   sha256 = "255310023138ecf618c8b450203fa2fc65feb68cd08ee4d369ceae72054168fd";
-  propagatedBuildInputs = [deepseq];
+  buildDepends = [ deepseq ];
   meta = {
-    description = "parallel programming library";
+    description = "Parallel programming library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix b/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix
index 8cd55d4bed1e3..37d537185cb60 100644
--- a/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix
+++ b/pkgs/development/libraries/haskell/parallel/3.1.0.1.nix
@@ -1,12 +1,17 @@
-{cabal, deepseq}:
+{ cabal, deepseq }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "parallel";
-  version = "3.1.0.1"; # Haskell Platform 2011.2.0.0
+  version = "3.1.0.1";
   sha256 = "0j03i5467iyz98fl4fnzlwrr93j2as733kbrxnlcgyh455kb89ns";
-  propagatedBuildInputs = [deepseq];
+  buildDepends = [ deepseq ];
   meta = {
-    description = "parallel programming library";
+    description = "Parallel programming library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/parseargs/default.nix b/pkgs/development/libraries/haskell/parseargs/default.nix
index 08a5ac652e575..4f50be5f70051 100644
--- a/pkgs/development/libraries/haskell/parseargs/default.nix
+++ b/pkgs/development/libraries/haskell/parseargs/default.nix
@@ -1,10 +1,19 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "parseargs";
   version = "0.1.3.2";
   sha256 = "1ncdbjzfkhb1f3aznsci26kss9nrv3iilc65q5xdl9nly8p837mv";
+  isLibrary = true;
+  isExecutable = true;
   meta = {
+    homepage = "http://wiki.cs.pdx.edu/bartforge/parseargs";
     description = "Command-line argument parsing library for Haskell programs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/parsec/2.1.0.1.nix b/pkgs/development/libraries/haskell/parsec/2.1.0.1.nix
index 0d473fd122e75..155e4f09007c9 100644
--- a/pkgs/development/libraries/haskell/parsec/2.1.0.1.nix
+++ b/pkgs/development/libraries/haskell/parsec/2.1.0.1.nix
@@ -1,11 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "parsec";
-  version = "2.1.0.1"; # Haskell Platform 2009.0.0 and 2010.1.0.0 and 2010.2.0.0
+  version = "2.1.0.1";
   sha256 = "2d85e5b5c8b2b1f341037ce67e1db7fa47b31c083136796cfef9e5b945c656df";
   meta = {
+    homepage = "http://www.cs.uu.nl/~daan/parsec.html";
     description = "Monadic parser combinators";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/parsec/3.1.1.nix b/pkgs/development/libraries/haskell/parsec/3.1.1.nix
index 5c5450333985d..e740ca91dba26 100644
--- a/pkgs/development/libraries/haskell/parsec/3.1.1.nix
+++ b/pkgs/development/libraries/haskell/parsec/3.1.1.nix
@@ -1,14 +1,18 @@
-{cabal, mtl}:
+{ cabal, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "parsec";
-  version = "3.1.1"; # Haskell Platform 2011.2.0.0
+  version = "3.1.1";
   sha256 = "0x34gwn9k68h69c3hw7yaah6zpdwq8hvqss27f3n4n4cp7dh81fk";
-  propagatedBuildInputs = [mtl];
+  buildDepends = [ mtl ];
   meta = {
-    license = "BSD";
+    homepage = "http://www.cs.uu.nl/~daan/parsec.html";
     description = "Monadic parser combinators";
-    maintainer = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/parsimony/default.nix b/pkgs/development/libraries/haskell/parsimony/default.nix
index 031d4001e6eb5..70709c978b973 100644
--- a/pkgs/development/libraries/haskell/parsimony/default.nix
+++ b/pkgs/development/libraries/haskell/parsimony/default.nix
@@ -1,14 +1,17 @@
-{cabal, utf8String} :
+{ cabal, utf8String }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "parsimony";
   version = "1.1";
   sha256 = "0476zmsjyjf58lh85806baqblq8hjxcrrnqc6ddxxq17lmvsd5ic";
-  propagatedBuildInputs = [ utf8String ];
+  buildDepends = [ utf8String ];
   meta = {
     description = "Monadic parser combinators derived from Parsec";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/path-pieces/default.nix b/pkgs/development/libraries/haskell/path-pieces/default.nix
index b19adcea3697d..d800a44aae4c8 100755
--- a/pkgs/development/libraries/haskell/path-pieces/default.nix
+++ b/pkgs/development/libraries/haskell/path-pieces/default.nix
@@ -1,15 +1,18 @@
-{cabal, text} :
+{ cabal, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "path-pieces";
   version = "0.0.0";
   sha256 = "09sk4wlzy37gaii7spisjy4a3pizis9si4kv389bki20gfwpaivf";
-  propagatedBuildInputs = [ text ];
+  buildDepends = [ text ];
   meta = {
     homepage = "http://github.com/snoyberg/path-pieces";
     description = "Components of paths.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pathtype/default.nix b/pkgs/development/libraries/haskell/pathtype/default.nix
index d073f3d9290ca..8c776e68b1a6a 100644
--- a/pkgs/development/libraries/haskell/pathtype/default.nix
+++ b/pkgs/development/libraries/haskell/pathtype/default.nix
@@ -1,13 +1,18 @@
-{cabal, QuickCheck2}:
+{ cabal, QuickCheck }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "pathtype";
   version = "0.5.2";
   sha256 = "0rbmq6kzz2l07q9a5k888scpn62hnw2hmzz4ysprhfgdnn5b2cvi";
-  propagatedBuildInputs = [QuickCheck2];
+  buildDepends = [ QuickCheck ];
   meta = {
-    license = "BSD";
-    description = "Type-safe file path manipulations";
-    maintainer = [self.stdenv.lib.maintainers.simons];
+    homepage = "http://code.haskell.org/pathtype";
+    description = "Type-safe replacement for System.FilePath etc";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pcre-light/default.nix b/pkgs/development/libraries/haskell/pcre-light/default.nix
index 12e86377a5f71..3336b8f1c8a4f 100644
--- a/pkgs/development/libraries/haskell/pcre-light/default.nix
+++ b/pkgs/development/libraries/haskell/pcre-light/default.nix
@@ -1,12 +1,18 @@
-{cabal, pcre}:
+{ cabal, pcre }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "pcre-light";
   version = "0.4";
   sha256 = "1xiikiap1bvx9czw64664vifdq64scx0yhfclh5m8mkvn3x6yzxk";
-  propagatedBuildInputs = [pcre];
+  extraLibraries = [ pcre ];
   meta = {
+    homepage = "http://code.haskell.org/~dons/code/pcre-light";
     description = "A small, efficient and portable regex library for Perl 5 compatible regular expressions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/persistent-template/default.nix b/pkgs/development/libraries/haskell/persistent-template/default.nix
index 9b41f8e0396db..b005f982206b0 100644
--- a/pkgs/development/libraries/haskell/persistent-template/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-template/default.nix
@@ -1,14 +1,18 @@
-{cabal, monadControl, persistent, text, webRoutesQuasi}:
+{ cabal, monadControl, persistent, text, webRoutesQuasi }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "persistent-template";
   version = "0.5.1";
   sha256 = "163j36pm6fl64m4h8kgj9h19snh026ia1166p3c6rjw86qi9fk0r";
-  propagatedBuildInputs = [monadControl persistent text webRoutesQuasi];
+  buildDepends = [ monadControl persistent text webRoutesQuasi ];
   meta = {
-    description = "Type-safe, non-relational, multi-backend persistence";
-    license = "BSD3";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://www.yesodweb.com/";
+    description = "Type-safe, non-relational, multi-backend persistence.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix
index cc093dddfa351..a3c3d4344f8ac 100644
--- a/pkgs/development/libraries/haskell/persistent/default.nix
+++ b/pkgs/development/libraries/haskell/persistent/default.nix
@@ -1,15 +1,26 @@
-{cabal, blazeHtml, enumerator, monadControl, parsec, pool, text, transformers}:
+{ cabal, sqlite, blazeHtml, enumerator, monadControl, parsec, pool
+, text, time, transformers
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "persistent";
   version = "0.5.1";
   sha256 = "1m0558vi99z15q0w62a9rkz25n8djswggbad9m0il359jb3mrzsd";
-  propagatedBuildInputs = [
-    blazeHtml enumerator monadControl parsec pool text transformers
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    blazeHtml enumerator monadControl parsec pool text time
+    transformers
   ];
+  extraLibraries = [ sqlite ];
   meta = {
-    description = "Type-safe, non-relational, multi-backend persistence";
-    license = "BSD3";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://docs.yesodweb.com/book/persistent";
+    description = "Type-safe, non-relational, multi-backend persistence.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/polyparse/1.4.nix b/pkgs/development/libraries/haskell/polyparse/1.4.nix
index e05ba114938ef..058d0e9b443f9 100644
--- a/pkgs/development/libraries/haskell/polyparse/1.4.nix
+++ b/pkgs/development/libraries/haskell/polyparse/1.4.nix
@@ -1,11 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "polyparse";
   version = "1.4";
   sha256 = "6e599fb0771e8ce2e1d3a3bbe5eddc2d77b2b4bbb54602f01005dc55dc039d44";
   meta = {
-    description = "A variety of alternative parser combinator libraries";
+    homepage = "http://www.cs.york.ac.uk/fp/polyparse/";
+    description = "A variety of alternative parser combinator libraries.";
+    license = "LGPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/polyparse/1.7.nix b/pkgs/development/libraries/haskell/polyparse/1.7.nix
index f78cdfa2413b4..949ba08acb19c 100644
--- a/pkgs/development/libraries/haskell/polyparse/1.7.nix
+++ b/pkgs/development/libraries/haskell/polyparse/1.7.nix
@@ -1,12 +1,18 @@
-{cabal, text}:
+{ cabal, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "polyparse";
   version = "1.7";
   sha256 = "de8ed0ce54f1f81bb0783dd97b7b22eca28df4a238684a26b37c5af2d17a364b";
-  propagatedBuildInputs = [text];
+  buildDepends = [ text ];
   meta = {
-    description = "A variety of alternative parser combinator libraries";
+    homepage = "http://code.haskell.org/~malcolm/polyparse/";
+    description = "A variety of alternative parser combinator libraries.";
+    license = "LGPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/pool/default.nix b/pkgs/development/libraries/haskell/pool/default.nix
index 7cf2112807c05..40c5d136aadf4 100644
--- a/pkgs/development/libraries/haskell/pool/default.nix
+++ b/pkgs/development/libraries/haskell/pool/default.nix
@@ -1,18 +1,18 @@
-{cabal, monadControl, transformers} :
+{ cabal, monadControl, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "pool";
   version = "0.1.0.4";
   sha256 = "11jsls81njkwhn48xdyrqydhr4yz82g7a6pji80ckplkdyycgx6p";
-  propagatedBuildInputs = [ monadControl transformers ];
+  buildDepends = [ monadControl transformers ];
   meta = {
     homepage = "http://github.com/snoyberg/pool";
     description = "Thread-safe resource pools.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ppm/default.nix b/pkgs/development/libraries/haskell/ppm/default.nix
index e3cfd77bbdb49..df204fa2482fc 100644
--- a/pkgs/development/libraries/haskell/ppm/default.nix
+++ b/pkgs/development/libraries/haskell/ppm/default.nix
@@ -1,13 +1,18 @@
-{cabal, mtl}:
+{ cabal, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "ppm";
   version = "2009.5.13";
   sha256 = "9e390ca9a9e6e740fa71d2b72fa2c9c3d521118b0ebb35f10fabbbe543ecfb5b";
-  propagatedBuildInputs = [mtl];
+  buildDepends = [ mtl ];
   meta = {
-    license = "BSD";
+    homepage = "http://github.com/nfjinjing/ppm/tree/master";
     description = "a tiny PPM image generator";
-    maintainer = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pretty-show/default.nix b/pkgs/development/libraries/haskell/pretty-show/default.nix
index 10db565fa97ac..28d322cca5139 100644
--- a/pkgs/development/libraries/haskell/pretty-show/default.nix
+++ b/pkgs/development/libraries/haskell/pretty-show/default.nix
@@ -1,14 +1,20 @@
-{cabal, haskellLexer}:
+{ cabal, haskellLexer }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "pretty-show";
   version = "1.1.1";
   sha256 = "0w6r68l1452vh9aqnlh4066y62h8ylh45gbsl5l558wjgchlna5k";
-  propagatedBuildInputs = [haskellLexer];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ haskellLexer ];
   meta = {
-    description = "Tools for working with derived Show instances";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    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;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/primitive/default.nix b/pkgs/development/libraries/haskell/primitive/default.nix
index c39f718e70c91..6e7b485eece0d 100644
--- a/pkgs/development/libraries/haskell/primitive/default.nix
+++ b/pkgs/development/libraries/haskell/primitive/default.nix
@@ -1,13 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "primitive";
   version = "0.3.1";
   sha256 = "1903hx88ax4dgyyx00a0k86jy4mkqrprpn7arfy19dqqyfpb2ikj";
   meta = {
+    homepage = "http://code.haskell.org/primitive";
     description = "Wrappers for primitive operations";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/pureMD5/default.nix b/pkgs/development/libraries/haskell/pureMD5/default.nix
index 071efa3748ce0..974a35d8307aa 100644
--- a/pkgs/development/libraries/haskell/pureMD5/default.nix
+++ b/pkgs/development/libraries/haskell/pureMD5/default.nix
@@ -1,14 +1,19 @@
-{cabal, binary, cereal, cryptoApi, tagged} :
+{ cabal, binary, cereal, cryptoApi, tagged }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "pureMD5";
   version = "2.1.0.3";
   sha256 = "0whlsb6zq4zcp3wq0bd6pgcsl0namr8b2s6i4l5aykq8v7fx40ii";
-  propagatedBuildInputs = [ binary cereal cryptoApi tagged ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ binary cereal cryptoApi tagged ];
   meta = {
     description = "A Haskell-only implementation of the MD5 digest (hash) algorithm.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/random-fu/default.nix b/pkgs/development/libraries/haskell/random-fu/default.nix
index 7e51e8f5bb1eb..feb829121956d 100644
--- a/pkgs/development/libraries/haskell/random-fu/default.nix
+++ b/pkgs/development/libraries/haskell/random-fu/default.nix
@@ -1,11 +1,12 @@
-{cabal, erf, gamma, monadLoops, mtl, randomShuffle, randomSource,
- rvar, syb, transformers, vector} :
+{ cabal, erf, gamma, monadLoops, mtl, randomShuffle, randomSource
+, rvar, syb, transformers, vector
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "random-fu";
   version = "0.2";
   sha256 = "1w5bqhhh07xr377whgfbzn57p77j8ng5nmy2rx8qnqyw8smlkxzm";
-  propagatedBuildInputs = [
+  buildDepends = [
     erf gamma monadLoops mtl randomShuffle randomSource rvar syb
     transformers vector
   ];
@@ -15,8 +16,8 @@ cabal.mkDerivation (self : {
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/random-shuffle/default.nix b/pkgs/development/libraries/haskell/random-shuffle/default.nix
index 5ff40e4efbd24..5159eab96e314 100644
--- a/pkgs/development/libraries/haskell/random-shuffle/default.nix
+++ b/pkgs/development/libraries/haskell/random-shuffle/default.nix
@@ -1,13 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "random-shuffle";
   version = "0.0.2";
   sha256 = "1csq0ffsqbbv6ymf707nzfb7c9bmykwk9bcgj21mxmh6khlqn9jp";
   meta = {
-    description = "Random shuffle implementation";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    description = "Random shuffle implementation.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/random-source/default.nix b/pkgs/development/libraries/haskell/random-source/default.nix
index a1117984b104b..ba23c818b2a12 100755
--- a/pkgs/development/libraries/haskell/random-source/default.nix
+++ b/pkgs/development/libraries/haskell/random-source/default.nix
@@ -1,11 +1,12 @@
-{cabal, flexibleDefaults, mersenneRandomPure64, mtl, mwcRandom,
- stateref, syb} :
+{ cabal, flexibleDefaults, mersenneRandomPure64, mtl, mwcRandom
+, stateref, syb
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "random-source";
   version = "0.3";
   sha256 = "08nj7mq8gjj9rv1zmkr2m30z295k5b352103wb1ag1ryw5wyzg1n";
-  propagatedBuildInputs = [
+  buildDepends = [
     flexibleDefaults mersenneRandomPure64 mtl mwcRandom stateref syb
   ];
   meta = {
@@ -13,6 +14,9 @@ cabal.mkDerivation (self : {
     description = "Generic basis for random number generators";
     license = self.stdenv.lib.licenses.publicDomain;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/random/1.0.0.2.nix b/pkgs/development/libraries/haskell/random/1.0.0.2.nix
index 370f054dc1e31..e9101a114070f 100644
--- a/pkgs/development/libraries/haskell/random/1.0.0.2.nix
+++ b/pkgs/development/libraries/haskell/random/1.0.0.2.nix
@@ -1,13 +1,17 @@
-{cabal, time}:
+{ cabal, time }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "random";
   version = "1.0.0.2";
   sha256 = "5433aebb4bbfb999f1d02410c8ca3769c63cd8b02109d2771a37c12918f92dd5";
-  propagatedBuildInputs = [time];
+  buildDepends = [ time ];
   meta = {
     description = "random number library";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/random/1.0.0.3.nix b/pkgs/development/libraries/haskell/random/1.0.0.3.nix
index 5e46e878b85a2..f89cad32f9e95 100644
--- a/pkgs/development/libraries/haskell/random/1.0.0.3.nix
+++ b/pkgs/development/libraries/haskell/random/1.0.0.3.nix
@@ -1,13 +1,17 @@
-{cabal, time}:
+{ cabal, time }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "random";
-  version = "1.0.0.3"; # future platform?
+  version = "1.0.0.3";
   sha256 = "0k2735vrx0id2dxzk7lkm22w07p7gy86zffygk60jxgh9rvignf6";
-  propagatedBuildInputs = [time];
+  buildDepends = [ time ];
   meta = {
     description = "random number library";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/ranges/default.nix b/pkgs/development/libraries/haskell/ranges/default.nix
index 194d6227c5079..45f0ccb5d9a55 100644
--- a/pkgs/development/libraries/haskell/ranges/default.nix
+++ b/pkgs/development/libraries/haskell/ranges/default.nix
@@ -1,13 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "ranges";
   version = "0.2.3";
   sha256 = "1jmybrwwvg8zkbxjrlrahfavlf2g2584ld15hzhch317683nvr1p";
   meta = {
-    description = "Ranges and various functions on them";
-    license = "BSD3";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    description = "Ranges and various functions on them.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/recaptcha/default.nix b/pkgs/development/libraries/haskell/recaptcha/default.nix
index 236016d0d77bc..286f89842a4d3 100644
--- a/pkgs/development/libraries/haskell/recaptcha/default.nix
+++ b/pkgs/development/libraries/haskell/recaptcha/default.nix
@@ -1,12 +1,18 @@
-{cabal, HTTP, network, xhtml}:
+{ cabal, HTTP, network, xhtml }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "recaptcha";
   version = "0.1";
   sha256 = "de00e6e3aadd99a1cd036ce4b413ebe02d59c1b9cfd3032f122735cca1f25144";
-  propagatedBuildInputs = [HTTP network xhtml];
+  buildDepends = [ HTTP network xhtml ];
   meta = {
-    description = "Functions for using the reCAPTCHA service in web applications";
+    homepage = "http://github.com/jgm/recaptcha/tree/master";
+    description = "Functions for using the reCAPTCHA service in web applications.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix b/pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix
index e8d84ef292328..09e4906da011b 100644
--- a/pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix
+++ b/pkgs/development/libraries/haskell/regex-base/0.72.0.2.nix
@@ -1,12 +1,17 @@
-{cabal, mtl}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "regex-base";
-  version = "0.72.0.2"; # Haskell Platform 2009.0.0
+  version = "0.72.0.2";
   sha256 = "38a4901b942fea646a422d52c52ef14eec4d6561c258b3c54cd96a8a354141ee";
-  propagatedBuildInputs = [mtl];
   meta = {
-    description = "Replaces/Ehances Text.Regex";
+    homepage = "http://sourceforge.net/projects/lazy-regex";
+    description = "Replaces/Enhances Text.Regex";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/regex-base/0.93.1.nix b/pkgs/development/libraries/haskell/regex-base/0.93.1.nix
index 9a1fe37d15562..8fbc2f9e84d03 100644
--- a/pkgs/development/libraries/haskell/regex-base/0.93.1.nix
+++ b/pkgs/development/libraries/haskell/regex-base/0.93.1.nix
@@ -1,12 +1,18 @@
-{cabal, mtl}:
+{ cabal, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "regex-base";
-  version = "0.93.1"; # Haskell Platform 2010.1.0.0
+  version = "0.93.1";
   sha256 = "24a0e76ab308517a53d2525e18744d9058835626ed4005599ecd8dd4e07f3bef";
-  propagatedBuildInputs = [mtl];
+  buildDepends = [ mtl ];
   meta = {
-    description = "Replaces/Ehances Text.Regex";
+    homepage = "http://sourceforge.net/projects/lazy-regex";
+    description = "Replaces/Enhances Text.Regex";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/regex-base/0.93.2.nix b/pkgs/development/libraries/haskell/regex-base/0.93.2.nix
index 1d65438ff948b..50f039a3d27a5 100644
--- a/pkgs/development/libraries/haskell/regex-base/0.93.2.nix
+++ b/pkgs/development/libraries/haskell/regex-base/0.93.2.nix
@@ -1,12 +1,18 @@
-{cabal, mtl}:
+{ cabal, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "regex-base";
-  version = "0.93.2"; # Haskell Platform 2010.2.0.0, 2011.2.0.0
+  version = "0.93.2";
   sha256 = "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10";
-  propagatedBuildInputs = [mtl];
+  buildDepends = [ mtl ];
   meta = {
-    description = "Replaces/Ehances Text.Regex";
+    homepage = "http://sourceforge.net/projects/lazy-regex";
+    description = "Replaces/Enhances Text.Regex";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix b/pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix
index 19e643d906ab8..ed88e247e5b77 100644
--- a/pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix
+++ b/pkgs/development/libraries/haskell/regex-compat/0.71.0.1.nix
@@ -1,12 +1,18 @@
-{cabal, regexBase, regexPosix}:
+{ cabal, regexBase, regexPosix }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "regex-compat";
-  version = "0.71.0.1"; # Haskell Platform 2009.0.0
+  version = "0.71.0.1";
   sha256 = "904552f7d690686b2602f37494827d09b09fc0a8a2565522b61847bec8d1de8d";
-  propagatedBuildInputs = [regexBase regexPosix];
+  buildDepends = [ regexBase regexPosix ];
   meta = {
+    homepage = "http://sourceforge.net/projects/lazy-regex";
     description = "Replaces/Enhances Text.Regex";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/regex-compat/0.92.nix b/pkgs/development/libraries/haskell/regex-compat/0.92.nix
index e65669a8107dd..3db0f5d406564 100644
--- a/pkgs/development/libraries/haskell/regex-compat/0.92.nix
+++ b/pkgs/development/libraries/haskell/regex-compat/0.92.nix
@@ -1,12 +1,18 @@
-{cabal, regexBase, regexPosix}:
+{ cabal, regexBase, regexPosix }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "regex-compat";
-  version = "0.92"; # Haskell Platform 2010.1.0.0
+  version = "0.92";
   sha256 = "430d251bd704071fca1e38c9b250543f00d4e370382ed552ac3d7407d4f27936";
-  propagatedBuildInputs = [regexBase regexPosix];
+  buildDepends = [ regexBase regexPosix ];
   meta = {
+    homepage = "http://sourceforge.net/projects/lazy-regex";
     description = "Replaces/Enhances Text.Regex";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix b/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix
index c1b4536cd114b..3a28e505a82d7 100644
--- a/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix
+++ b/pkgs/development/libraries/haskell/regex-compat/0.93.1.nix
@@ -1,12 +1,18 @@
-{cabal, regexBase, regexPosix}:
+{ cabal, regexBase, regexPosix }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "regex-compat";
-  version = "0.93.1"; # Haskell Platform 2010.2.0.0, 2011.2.0.0
+  version = "0.93.1";
   sha256 = "1zlsx7a2iz5gmgrwzr6w5fz6s4ayab5bm71xlq28r3iph3vp80zf";
-  propagatedBuildInputs = [regexBase regexPosix];
+  buildDepends = [ regexBase regexPosix ];
   meta = {
+    homepage = "http://sourceforge.net/projects/lazy-regex";
     description = "Replaces/Enhances Text.Regex";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix b/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix
index b8e10553d8759..f3c6e02caf5c0 100644
--- a/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix
+++ b/pkgs/development/libraries/haskell/regex-pcre-builtin/default.nix
@@ -1,15 +1,18 @@
-{cabal, regexBase} :
+{ cabal, regexBase }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "regex-pcre-builtin";
   version = "0.94.2.1.7.7";
   sha256 = "1c4zxfild1fbpxwqcp2jnf6iwfs0z6nc8dry09gmjykxlhisxi8s";
-  propagatedBuildInputs = [ regexBase ];
+  buildDepends = [ regexBase ];
   meta = {
     homepage = "http://sourceforge.net/projects/lazy-regex";
     description = "Replaces/Enhances Text.Regex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-pcre/default.nix b/pkgs/development/libraries/haskell/regex-pcre/default.nix
index 7b3629ae42f0c..68c3981851735 100644
--- a/pkgs/development/libraries/haskell/regex-pcre/default.nix
+++ b/pkgs/development/libraries/haskell/regex-pcre/default.nix
@@ -1,13 +1,19 @@
-{cabal, regexBase, pcre}:
+{ cabal, pcre, regexBase }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "regex-pcre";
   version = "0.94.2";
   sha256 = "0p4az8z4jlrcmmyz9bjf7n90hpg6n242vq4255w2dz5v29l822wn";
-  propagatedBuildInputs = [regexBase];
-  extraBuildInputs = [pcre];
+  buildDepends = [ regexBase ];
+  extraLibraries = [ pcre ];
   meta = {
+    homepage = "http://sourceforge.net/projects/lazy-regex";
     description = "Replaces/Enhances Text.Regex";
-    license = "BSD3";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix b/pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix
index a27d267b27bf7..961aab9e2f771 100644
--- a/pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/0.72.0.3.nix
@@ -1,12 +1,18 @@
-{cabal, regexBase}:
+{ cabal, regexBase }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "regex-posix";
-  version = "0.72.0.3"; # Haskell Platform 2009.0.0
+  version = "0.72.0.3";
   sha256 = "327ab87f3d4f5315a9414331eb382b8b997de8836d577c3f7d232c574606feb1";
-  propagatedBuildInputs = [regexBase];
+  buildDepends = [ regexBase ];
   meta = {
+    homepage = "http://sourceforge.net/projects/lazy-regex";
     description = "Replaces/Enhances Text.Regex";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix b/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix
index b202ce58c9015..223c9baedcdd5 100644
--- a/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/0.94.1.nix
@@ -1,12 +1,18 @@
-{cabal, regexBase}:
+{ cabal, regexBase }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "regex-posix";
-  version = "0.94.1"; # Haskell Platform 2010.1.0.0
+  version = "0.94.1";
   sha256 = "63e76de0610d35f1b576ae65a25a38e04e758ed64b9b3512de95bdffd649485c";
-  propagatedBuildInputs = [regexBase];
+  buildDepends = [ regexBase ];
   meta = {
+    homepage = "http://sourceforge.net/projects/lazy-regex";
     description = "Replaces/Enhances Text.Regex";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.94.2.nix b/pkgs/development/libraries/haskell/regex-posix/0.94.2.nix
index 3d7149607d295..9a570d4ca20da 100644
--- a/pkgs/development/libraries/haskell/regex-posix/0.94.2.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/0.94.2.nix
@@ -1,12 +1,18 @@
-{cabal, regexBase}:
+{ cabal, regexBase }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "regex-posix";
-  version = "0.94.2"; # Haskell Platform 2010.2.0.0
+  version = "0.94.2";
   sha256 = "ea0c1ed0ab49ade4dba1eea7a42197652ccb18b7a98c4040e37ba11d26f33067";
-  propagatedBuildInputs = [regexBase];
+  buildDepends = [ regexBase ];
   meta = {
+    homepage = "http://sourceforge.net/projects/lazy-regex";
     description = "Replaces/Enhances Text.Regex";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix b/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix
index 142827f14cefa..e78c7fe2584da 100644
--- a/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix
+++ b/pkgs/development/libraries/haskell/regex-posix/0.94.4.nix
@@ -1,12 +1,18 @@
-{cabal, regexBase}:
+{ cabal, regexBase }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "regex-posix";
-  version = "0.94.4"; # Haskell Platform 2011.2.0.0
+  version = "0.94.4";
   sha256 = "1ykirysvz9ganm2k7fmrppklsgh0h35mjfsi9g1icv43pqpr6ldw";
-  propagatedBuildInputs = [regexBase];
+  buildDepends = [ regexBase ];
   meta = {
+    homepage = "http://sourceforge.net/projects/lazy-regex";
     description = "Replaces/Enhances Text.Regex";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/regex-tdfa/default.nix b/pkgs/development/libraries/haskell/regex-tdfa/default.nix
index 40414248f9178..82fa24016bc53 100644
--- a/pkgs/development/libraries/haskell/regex-tdfa/default.nix
+++ b/pkgs/development/libraries/haskell/regex-tdfa/default.nix
@@ -1,13 +1,18 @@
-{cabal, mtl, parsec, regexBase}:
+{ cabal, mtl, parsec, regexBase }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "regex-tdfa";
   version = "1.1.8";
   sha256 = "1m75xh5bwmmgg5f757dc126kv47yfqqnz9fzj1hc80p6jpzs573x";
-  propagatedBuildInputs = [mtl parsec regexBase];
+  buildDepends = [ mtl parsec regexBase ];
   meta = {
+    homepage = "http://hackage.haskell.org/package/regex-tdfa";
     description = "Replaces/Enhances Text.Regex";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/regexpr/default.nix b/pkgs/development/libraries/haskell/regexpr/default.nix
index 36ba5e4005b3f..538b980b4383d 100644
--- a/pkgs/development/libraries/haskell/regexpr/default.nix
+++ b/pkgs/development/libraries/haskell/regexpr/default.nix
@@ -1,11 +1,18 @@
-{cabal, HUnit, mtl, mtlparse}:
+{ cabal, HUnit, mtl, mtlparse }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "regexpr";
   version = "0.5.4";
   sha256 = "bf7813247f26877d9fba4ba4b66eb80bfddfc2086a5cd8d635b2da0ccde56604";
-  propagatedBuildInputs = [HUnit mtl mtlparse];
+  buildDepends = [ HUnit mtl mtlparse ];
   meta = {
-    description = "regular expression library like Perl and Ruby's regular expressions";
+    homepage = "http://homepage3.nifty.com/salamander/second/projects/regexpr/";
+    description = "regular expression like Perl/Ruby in Haskell";
+    license = "LGPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/regular/default.nix b/pkgs/development/libraries/haskell/regular/default.nix
index bd366d3828e46..e702937da29a9 100644
--- a/pkgs/development/libraries/haskell/regular/default.nix
+++ b/pkgs/development/libraries/haskell/regular/default.nix
@@ -1,13 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "regular";
   version = "0.3.2";
   sha256 = "104rz28a22p5pn3rdzvmh13s1hpr46n463cfaz3w3bj9cimi2rcj";
   meta = {
-    description = "Generic programming library for regular datatypes";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    description = "Generic programming library for regular datatypes.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/repa-algorithms/default.nix b/pkgs/development/libraries/haskell/repa-algorithms/default.nix
index c80eb79d8ff67..6f0db0273eb78 100644
--- a/pkgs/development/libraries/haskell/repa-algorithms/default.nix
+++ b/pkgs/development/libraries/haskell/repa-algorithms/default.nix
@@ -1,15 +1,18 @@
-{cabal, repa, vector} :
+{ cabal, repa, vector }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "repa-algorithms";
   version = "2.1.0.1";
   sha256 = "101j18s2vqaxls87jzrlhzy2hlhqvgs27cs89j187c1s8z5vvjjg";
-  propagatedBuildInputs = [ repa vector ];
+  buildDepends = [ repa vector ];
   meta = {
     homepage = "http://repa.ouroborus.net";
     description = "Algorithms using the Repa array library.";
     license = self.stdenv.lib.licenses.bsd3;
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/repa-bytestring/default.nix b/pkgs/development/libraries/haskell/repa-bytestring/default.nix
index 5ce30c901a82f..c9e86e67dc412 100644
--- a/pkgs/development/libraries/haskell/repa-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/repa-bytestring/default.nix
@@ -1,15 +1,18 @@
-{cabal, repa, vector} :
+{ cabal, repa, vector }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "repa-bytestring";
   version = "2.1.0.1";
   sha256 = "01kvbd1kn0irldnfihhxa2jrz8fy1x9g7vz60ffgagj6yzp4bsnq";
-  propagatedBuildInputs = [ repa vector ];
+  buildDepends = [ repa vector ];
   meta = {
     homepage = "http://repa.ouroborus.net";
     description = "Conversions between Repa Arrays and ByteStrings.";
     license = self.stdenv.lib.licenses.bsd3;
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/repa-io/default.nix b/pkgs/development/libraries/haskell/repa-io/default.nix
index 3b07f5ddbd3bc..88dbda9e97682 100644
--- a/pkgs/development/libraries/haskell/repa-io/default.nix
+++ b/pkgs/development/libraries/haskell/repa-io/default.nix
@@ -1,15 +1,18 @@
-{cabal, bmp, repa, repaBytestring} :
+{ cabal, bmp, repa, repaBytestring }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "repa-io";
   version = "2.1.0.1";
   sha256 = "1mjv90rr1vymrnv5kz8i4kvjal6mwhb2042ylbdggvv8hjsc8awq";
-  propagatedBuildInputs = [ bmp repa repaBytestring ];
+  buildDepends = [ bmp repa repaBytestring ];
   meta = {
     homepage = "http://repa.ouroborus.net";
     description = "Read and write Repa arrays in various formats.";
     license = self.stdenv.lib.licenses.bsd3;
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/repa/default.nix b/pkgs/development/libraries/haskell/repa/default.nix
index 049ad3c3d9a5f..dda7f8fae3f41 100644
--- a/pkgs/development/libraries/haskell/repa/default.nix
+++ b/pkgs/development/libraries/haskell/repa/default.nix
@@ -1,15 +1,18 @@
-{cabal, QuickCheck, vector} :
+{ cabal, QuickCheck, vector }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "repa";
-  version = "2.1.1.2";
-  sha256 = "0lvhcq46abby69i6sgcqrxljykayp1sr3rmy2nlg5cccxlj94sqi";
-  propagatedBuildInputs = [ QuickCheck vector ];
+  version = "2.1.1.3";
+  sha256 = "1qnms2ivy1bq8lv150v0dvlsc05hlbfm3rwwsmqyfagy1bziqbma";
+  buildDepends = [ QuickCheck vector ];
   meta = {
     homepage = "http://repa.ouroborus.net";
     description = "High performance, regular, shape polymorphic parallel arrays.";
     license = self.stdenv.lib.licenses.bsd3;
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/rvar/default.nix b/pkgs/development/libraries/haskell/rvar/default.nix
index 23956c18df223..640faeb7d59cf 100755
--- a/pkgs/development/libraries/haskell/rvar/default.nix
+++ b/pkgs/development/libraries/haskell/rvar/default.nix
@@ -1,15 +1,18 @@
-{cabal, MonadPrompt, mtl, randomSource, transformers} :
+{ cabal, MonadPrompt, mtl, randomSource, transformers }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "rvar";
   version = "0.2";
   sha256 = "1in2qn1clv9b7ijyllhjflh9zdkna31hpyclhlkfnsc6899z3y1f";
-  propagatedBuildInputs = [
-    MonadPrompt mtl randomSource transformers
-  ];
+  buildDepends = [ MonadPrompt mtl randomSource transformers ];
   meta = {
     homepage = "https://github.com/mokus0/random-fu";
     description = "Random Variables";
     license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/safe/default.nix b/pkgs/development/libraries/haskell/safe/default.nix
index 79e83b30891ae..20044e6905b09 100644
--- a/pkgs/development/libraries/haskell/safe/default.nix
+++ b/pkgs/development/libraries/haskell/safe/default.nix
@@ -1,13 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "safe";
   version = "0.3";
   sha256 = "174jm7nlqsgvc6namjpfknlix6yy2sf9pxnb3ifznjvx18kgc7m0";
   meta = {
+    homepage = "http://community.haskell.org/~ndm/safe/";
     description = "Library for safe (pattern match free) functions";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/salvia-protocol/default.nix b/pkgs/development/libraries/haskell/salvia-protocol/default.nix
index a3c7832312e5f..b26dd3e541e06 100644
--- a/pkgs/development/libraries/haskell/salvia-protocol/default.nix
+++ b/pkgs/development/libraries/haskell/salvia-protocol/default.nix
@@ -1,14 +1,17 @@
-{cabal, fclabels, parsec, safe, split, utf8String, bimap}:
+{ cabal, bimap, fclabels, parsec, safe, split, utf8String }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "salvia-protocol";
   version = "1.0.1";
   sha256 = "6b2312e52efaa81feec7461b1a3db77e1f2a8dfd829ae878b614c206a5e48928";
-  propagatedBuildInputs = [fclabels parsec safe split utf8String bimap];
+  buildDepends = [ bimap fclabels parsec safe split utf8String ];
   meta = {
-    description = "Salvia webserver protocol suite";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    description = "Salvia webserver protocol suite supporting URI, HTTP, Cookie and MIME.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/salvia/default.nix b/pkgs/development/libraries/haskell/salvia/default.nix
index 16f1afe8f28fb..b5da23e10c935 100644
--- a/pkgs/development/libraries/haskell/salvia/default.nix
+++ b/pkgs/development/libraries/haskell/salvia/default.nix
@@ -1,19 +1,24 @@
-{cabal, fclabels, MaybeTTransformers, monadsFd, pureMD5, safe,
- salviaProtocol, split, text, threadmanager, transformers, utf8String,
- network, stm, time}:
+{ cabal, MaybeTTransformers, fclabels, monadsFd, network, pureMD5
+, safe, salviaProtocol, split, stm, text, threadmanager, time
+, transformers, utf8String
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "salvia";
   version = "1.0.0";
   sha256 = "d1be63e3eb7cb071e8e339d730692b3ce52576e513f718b89a194b17878496e1";
-  propagatedBuildInputs = [
-    fclabels MaybeTTransformers monadsFd pureMD5 safe salviaProtocol
-    split text threadmanager transformers utf8String network stm time
+  buildDepends = [
+    MaybeTTransformers fclabels monadsFd network pureMD5 safe
+    salviaProtocol split stm text threadmanager time transformers
+    utf8String
   ];
   meta = {
-    description = "Modular web application framework";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    description = "Modular web application framework.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/semigroups/default.nix b/pkgs/development/libraries/haskell/semigroups/default.nix
index 94d867882a18e..6ac03fe061941 100755
--- a/pkgs/development/libraries/haskell/semigroups/default.nix
+++ b/pkgs/development/libraries/haskell/semigroups/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "semigroups";
   version = "0.7.1";
   sha256 = "1l83i62i98j2r8mqbjpy2sy303y1igxvdfn8c4nxxyi70qgz5fk1";
diff --git a/pkgs/development/libraries/haskell/sendfile/default.nix b/pkgs/development/libraries/haskell/sendfile/default.nix
index 17cc619bfb83f..94244755b7311 100644
--- a/pkgs/development/libraries/haskell/sendfile/default.nix
+++ b/pkgs/development/libraries/haskell/sendfile/default.nix
@@ -1,15 +1,18 @@
-{cabal, network} :
+{ cabal, network }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "sendfile";
   version = "0.7.3";
   sha256 = "0xa5ryyznw7cizdqjnisvyhirdljw5z7aydwv5m9lv9hkx3bs6l0";
-  propagatedBuildInputs = [ network ];
+  buildDepends = [ network ];
   meta = {
     homepage = "http://patch-tag.com/r/mae/sendfile";
     description = "A portable sendfile library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/simple-sendfile/default.nix b/pkgs/development/libraries/haskell/simple-sendfile/default.nix
index c3a455a547547..fd362b44b8852 100644
--- a/pkgs/development/libraries/haskell/simple-sendfile/default.nix
+++ b/pkgs/development/libraries/haskell/simple-sendfile/default.nix
@@ -1,14 +1,17 @@
-{cabal, network}:
+{ cabal, network }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "simple-sendfile";
   version = "0.1.2";
   sha256 = "08w5ria2x41j85z1126kddi918zdqrwmr4vwqczgzh9kdi49wv8j";
-  propagatedBuildInputs = [network];
+  buildDepends = [ network ];
   meta = {
     description = "Cross platform library for the sendfile system call";
-    license = "BSD3";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/smallcheck/default.nix b/pkgs/development/libraries/haskell/smallcheck/default.nix
index 060be5213443c..92dba79e5b488 100644
--- a/pkgs/development/libraries/haskell/smallcheck/default.nix
+++ b/pkgs/development/libraries/haskell/smallcheck/default.nix
@@ -8,6 +8,9 @@ cabal.mkDerivation (self: {
     description = "Another lightweight testing library in Haskell.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/snap/core.nix b/pkgs/development/libraries/haskell/snap/core.nix
index 5e6b50b0ebb4b..13caa2922eefa 100644
--- a/pkgs/development/libraries/haskell/snap/core.nix
+++ b/pkgs/development/libraries/haskell/snap/core.nix
@@ -1,22 +1,26 @@
-{cabal, MonadCatchIOTransformers, attoparsec, attoparsecEnumerator,
- blazeBuilder, bytestringMmap, bytestringNums, caseInsensitive,
- deepseq, dlist, enumerator, mtl, text, transformers, unixCompat,
- vector, zlib} :
+{ cabal, MonadCatchIOTransformers, attoparsec, attoparsecEnumerator
+, blazeBuilder, bytestringMmap, bytestringNums, caseInsensitive
+, deepseq, dlist, enumerator, mtl, text, time, transformers
+, unixCompat, vector, zlib
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "snap-core";
   version = "0.5.2";
   sha256 = "1wjjgghq21mw4sw6xyfsf2hazk78wgnphhaw3qz9jpkff2s39lhl";
-  propagatedBuildInputs = [
+  buildDepends = [
     MonadCatchIOTransformers attoparsec attoparsecEnumerator
     blazeBuilder bytestringMmap bytestringNums caseInsensitive deepseq
-    dlist enumerator mtl text transformers unixCompat vector zlib
+    dlist enumerator mtl text time transformers unixCompat vector zlib
   ];
   meta = {
     homepage = "http://snapframework.com/";
     description = "Snap: A Haskell Web Framework (Core)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/snap/server.nix b/pkgs/development/libraries/haskell/snap/server.nix
index 942d0279267ca..1c43c23297af9 100644
--- a/pkgs/development/libraries/haskell/snap/server.nix
+++ b/pkgs/development/libraries/haskell/snap/server.nix
@@ -1,24 +1,28 @@
-{cabal, MonadCatchIOTransformers, PSQueue, attoparsec,
- attoparsecEnumerator, binary, blazeBuilder, blazeBuilderEnumerator,
- bytestringNums, caseInsensitive, directoryTree, enumerator, mtl,
- murmurHash, network, snapCore, text, transformers, unixCompat,
- vector, vectorAlgorithms} :
+{ cabal, MonadCatchIOTransformers, PSQueue, attoparsec
+, attoparsecEnumerator, binary, blazeBuilder
+, blazeBuilderEnumerator, bytestringNums, caseInsensitive
+, directoryTree, enumerator, mtl, murmurHash, network, snapCore
+, text, time, transformers, unixCompat, vector, vectorAlgorithms
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "snap-server";
   version = "0.5.2";
   sha256 = "0hmi39bjhmq57skp5jsjm8gyw0y0j6vgwrh69y7z268ddpgvy1if";
-  propagatedBuildInputs = [
+  buildDepends = [
     MonadCatchIOTransformers PSQueue attoparsec attoparsecEnumerator
     binary blazeBuilder blazeBuilderEnumerator bytestringNums
     caseInsensitive directoryTree enumerator mtl murmurHash network
-    snapCore text transformers unixCompat vector vectorAlgorithms
+    snapCore text time transformers unixCompat vector vectorAlgorithms
   ];
   meta = {
     homepage = "http://snapframework.com/";
     description = "A fast, iteratee-based, epoll-enabled web server for the Snap Framework";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/split/default.nix b/pkgs/development/libraries/haskell/split/default.nix
index 91bc211571575..05396e9108a58 100644
--- a/pkgs/development/libraries/haskell/split/default.nix
+++ b/pkgs/development/libraries/haskell/split/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "split";
   version = "0.1.4.1";
   sha256 = "0cdn2sb3m62bnxdz59diwwaxysh3kj4kk1srn4m80p03fj60s0q5";
@@ -9,6 +9,9 @@ cabal.mkDerivation (self : {
     description = "Combinator library for splitting lists.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/stateref/default.nix b/pkgs/development/libraries/haskell/stateref/default.nix
index 88049490c334b..fc59bd8915835 100644
--- a/pkgs/development/libraries/haskell/stateref/default.nix
+++ b/pkgs/development/libraries/haskell/stateref/default.nix
@@ -1,14 +1,18 @@
-{cabal, mtl}:
+{ cabal, mtl, stm }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "stateref";
   version = "0.3";
   sha256 = "0hdpw6g255lj7jjvgqwhjdpzmka546vda5qjvry8gjj6nfm91lvx";
-  propagatedBuildInputs = [mtl];
+  buildDepends = [ mtl stm ];
   meta = {
-    description = "Abstraction for things that work like IORef";
-    license = "Public Domain";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://code.haskell.org/~mokus/stateref/";
+    description = "Abstraction for things that work like IORef.";
+    license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/statistics/default.nix b/pkgs/development/libraries/haskell/statistics/default.nix
index 8dc70c410449a..18347fc374e0c 100644
--- a/pkgs/development/libraries/haskell/statistics/default.nix
+++ b/pkgs/development/libraries/haskell/statistics/default.nix
@@ -1,15 +1,23 @@
-{cabal, primitive, vector, vectorAlgorithms, mwcRandom, erf}:
+{ cabal, aeson, deepseq, erf, monadPar, mwcRandom, primitive, time
+, vector, vectorAlgorithms
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "statistics";
-  version = "0.8.0.5";
-  sha256 = "0rzrx1wjil88ksqk5kmcxm4ypryiy9j1c4qa2s2bs71338hhzpxn";
-  propagatedBuildInputs =
-    [primitive vector vectorAlgorithms mwcRandom erf];
+  version = "0.9.0.0";
+  sha256 = "1rwp9gkjs011lxzhkajiljs6x2a4xc8cg558kpfy9xj4q1lk43x7";
+  buildDepends = [
+    aeson deepseq erf monadPar mwcRandom primitive time vector
+    vectorAlgorithms
+  ];
   meta = {
-    description = "A library of statistical types, data and functions";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://bitbucket.org/bos/statistics";
+    description = "A library of statistical types, data, and functions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/stb-image/default.nix b/pkgs/development/libraries/haskell/stb-image/default.nix
index 4574b80ce2a5f..43e56473b650c 100644
--- a/pkgs/development/libraries/haskell/stb-image/default.nix
+++ b/pkgs/development/libraries/haskell/stb-image/default.nix
@@ -1,14 +1,18 @@
-{cabal, bitmap}:
+{ cabal, bitmap }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "stb-image";
   version = "0.2";
   sha256 = "7d027b6de52d07bbe439a84897aaa6e26a8f05c6fa6f4aeaa3060be23ae11937";
-  propagatedBuildInputs = [bitmap];
+  buildDepends = [ bitmap ];
   meta = {
+    homepage = "http://code.haskell.org/~bkomuves/";
     description = "A wrapper around Sean Barrett's JPEG/PNG decoder";
-    license = "free";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/stm/2.1.1.2.nix b/pkgs/development/libraries/haskell/stm/2.1.1.2.nix
index 691eb63cdb1da..6184a324181f9 100644
--- a/pkgs/development/libraries/haskell/stm/2.1.1.2.nix
+++ b/pkgs/development/libraries/haskell/stm/2.1.1.2.nix
@@ -1,11 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "stm";
-  version = "2.1.1.2"; # Haskell Platform 2009.0.0 and 2010.1.0.0
+  version = "2.1.1.2";
   sha256 = "68d550067ae180373142c51f3fa14bdf0a1516310aee9a37e28f9ac7cf3b8c6d";
   meta = {
     description = "Software Transactional Memory";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/stm/2.1.2.1.nix b/pkgs/development/libraries/haskell/stm/2.1.2.1.nix
index a3c77c4d3711c..8615f10be80fc 100644
--- a/pkgs/development/libraries/haskell/stm/2.1.2.1.nix
+++ b/pkgs/development/libraries/haskell/stm/2.1.2.1.nix
@@ -1,11 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "stm";
-  version = "2.1.2.1"; # Haskell Platform 2010.2.0.0
+  version = "2.1.2.1";
   sha256 = "0d7d8babd2f07c726909030461e1f9b3aaf02dc809fd5e1c0509a67d23b784b8";
   meta = {
     description = "Software Transactional Memory";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/stm/2.2.0.1.nix b/pkgs/development/libraries/haskell/stm/2.2.0.1.nix
index b9d7b51c52277..1174a9740e5b1 100644
--- a/pkgs/development/libraries/haskell/stm/2.2.0.1.nix
+++ b/pkgs/development/libraries/haskell/stm/2.2.0.1.nix
@@ -1,11 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "stm";
-  version = "2.2.0.1"; # Haskell Platform 2011.2.0.0
+  version = "2.2.0.1";
   sha256 = "1p0x414ffsd77mmlfz1cmwg2cbhinnbpxypxgvygg05js67msj8q";
   meta = {
     description = "Software Transactional Memory";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/storable-complex/default.nix b/pkgs/development/libraries/haskell/storable-complex/default.nix
index 05011aae972d8..dc36d53f046a8 100644
--- a/pkgs/development/libraries/haskell/storable-complex/default.nix
+++ b/pkgs/development/libraries/haskell/storable-complex/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "storable-complex";
   version = "0.2.1";
   sha256 = "0dnxnsi7m5whwwki3fry6db6gyy5qzfz8jcj1fg3fhfyf4f9wpaz";
@@ -8,6 +8,9 @@ cabal.mkDerivation (self : {
     description = "Storable instance for Complex";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/storable-record/default.nix b/pkgs/development/libraries/haskell/storable-record/default.nix
index a14d081430d25..180f47939ccdb 100644
--- a/pkgs/development/libraries/haskell/storable-record/default.nix
+++ b/pkgs/development/libraries/haskell/storable-record/default.nix
@@ -1,12 +1,20 @@
-{cabal, utilityHt, transformers}:
+{ cabal, transformers, utilityHt }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "storable-record";
   version = "0.0.2.4";
   sha256 = "5ed2680dcfc4c3d4fe605d23e797b847fe047b7acd3f4acfd82155c93e72b280";
-  propagatedBuildInputs = [utilityHt transformers];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ transformers utilityHt ];
   meta = {
-    description = "build a Storable instance of a record type from Storable instances of its elements";
+    homepage = "http://code.haskell.org/~thielema/storable-record/";
+    description = "Elegant definition of Storable instances for records";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/streamproc/default.nix b/pkgs/development/libraries/haskell/streamproc/default.nix
index c01d5361261a6..5e327ac78a5ac 100755
--- a/pkgs/development/libraries/haskell/streamproc/default.nix
+++ b/pkgs/development/libraries/haskell/streamproc/default.nix
@@ -1,13 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "streamproc";
   version = "1.4";
   sha256 = "fbff569d7b294850998e9a6b6a14bf81484b1adb312801ea15d1d890faff12cf";
-  propagatedBuildInputs = [];
   meta = {
     homepage = "http://gitorious.org/streamproc";
     description = "Stream Processer Arrow";
     license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/strict/default.nix b/pkgs/development/libraries/haskell/strict/default.nix
index d19472b0b1ee6..8ba4315b1e098 100644
--- a/pkgs/development/libraries/haskell/strict/default.nix
+++ b/pkgs/development/libraries/haskell/strict/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "strict";
   version = "0.3.2";
   sha256 = "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc";
@@ -9,6 +9,9 @@ cabal.mkDerivation (self : {
     description = "Strict data types and String IO.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/strictConcurrency/default.nix b/pkgs/development/libraries/haskell/strictConcurrency/default.nix
index 33734eb875382..083f3e06d5b71 100644
--- a/pkgs/development/libraries/haskell/strictConcurrency/default.nix
+++ b/pkgs/development/libraries/haskell/strictConcurrency/default.nix
@@ -1,12 +1,18 @@
-{cabal, parallel, deepseq}:
+{ cabal, deepseq }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "strict-concurrency";
   version = "0.2.4.1";
   sha256 = "0939212dd0cc3b9bd228dfbb233d9eccad22ca626752d9bad8026ceb0a5c1a89";
-  propagatedBuildInputs = [parallel deepseq];
+  buildDepends = [ deepseq ];
   meta = {
+    homepage = "http://code.haskell.org/~dons/code/strict-concurrency";
     description = "Strict concurrency abstractions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/syb/0.2.2.nix b/pkgs/development/libraries/haskell/syb/0.2.2.nix
index 613badbb5f32a..070279fadfde0 100644
--- a/pkgs/development/libraries/haskell/syb/0.2.2.nix
+++ b/pkgs/development/libraries/haskell/syb/0.2.2.nix
@@ -1,10 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "syb";
   version = "0.2.2";
   sha256 = "0m29vnqkkmpf4m3gi42kcbr2gfyxgkcw85xsyrq0mgbxb0zg6ky9";
   meta = {
-    description = "generics system described in the Scrap Your Boilerplate papers";
+    homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
+    description = "Scrap Your Boilerplate";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/0.3.3.nix b/pkgs/development/libraries/haskell/syb/0.3.3.nix
index af555498fd415..01cc80c883dd5 100644
--- a/pkgs/development/libraries/haskell/syb/0.3.3.nix
+++ b/pkgs/development/libraries/haskell/syb/0.3.3.nix
@@ -1,10 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "syb";
-  version = "0.3.3"; # for ghc-7.2.1
+  version = "0.3.3";
   sha256 = "0jskxbnzariq2ahcymvjrp4bhl9cpflc1nh51whdl9axcrd5c901";
   meta = {
-    description = "generics system described in the Scrap Your Boilerplate papers";
+    homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
+    description = "Scrap Your Boilerplate";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/0.3.nix b/pkgs/development/libraries/haskell/syb/0.3.nix
index 0fdf7cce0a698..ddf16ad41e553 100644
--- a/pkgs/development/libraries/haskell/syb/0.3.nix
+++ b/pkgs/development/libraries/haskell/syb/0.3.nix
@@ -1,10 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "syb";
-  version = "0.3"; # Haskell Platform 2011.2.0.0
+  version = "0.3";
   sha256 = "1gnqw76zy7xvlabhbyk8hml88hpz2igf7b3mz2ic091f77qkkch7";
   meta = {
-    description = "generics system described in the Scrap Your Boilerplate papers";
+    homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
+    description = "Scrap Your Boilerplate";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/syb-with-class-instances-text.nix b/pkgs/development/libraries/haskell/syb/syb-with-class-instances-text.nix
index f295e489402f0..2f3167ff62801 100644
--- a/pkgs/development/libraries/haskell/syb/syb-with-class-instances-text.nix
+++ b/pkgs/development/libraries/haskell/syb/syb-with-class-instances-text.nix
@@ -1,11 +1,17 @@
-{cabal, sybWithClass, text}:
+{ cabal, sybWithClass, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "syb-with-class-instances-text";
   version = "0.0.1";
   sha256 = "0e0aa90c02cbe76380274830be51e04cb3cc13d5ea5761ba5540779bd0c4d76e";
-  propagatedBuildInputs = [sybWithClass text];
+  buildDepends = [ sybWithClass text ];
   meta = {
-    description = "Scrap Your Boilerplate With Class";
+    description = "Scrap Your Boilerplate With Class Text instance";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/syb/syb-with-class.nix b/pkgs/development/libraries/haskell/syb/syb-with-class.nix
index 42e83c679761f..9febbe60e6b85 100644
--- a/pkgs/development/libraries/haskell/syb/syb-with-class.nix
+++ b/pkgs/development/libraries/haskell/syb/syb-with-class.nix
@@ -1,10 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "syb-with-class";
   version = "0.6.1.1";
   sha256 = "15i6df470c2qcf9vc05yg809c5imrj00mf72p5njapx88qnk2p67";
   meta = {
     description = "Scrap Your Boilerplate With Class";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tabular/default.nix b/pkgs/development/libraries/haskell/tabular/default.nix
index c0e52b5b488e7..a649ca04fecbc 100644
--- a/pkgs/development/libraries/haskell/tabular/default.nix
+++ b/pkgs/development/libraries/haskell/tabular/default.nix
@@ -1,13 +1,18 @@
-{cabal, csv, html}:
+{ cabal, csv, html, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "tabular";
   version = "0.2.2.3";
   sha256 = "cf6d9f1928ec6981edcbb06c4dcbaea7a96deef5272192ad4290caa18711ea76";
-  propagatedBuildInputs = [csv html];
+  buildDepends = [ csv html mtl ];
   meta = {
-    description = "a DSL for describing (and rendering) two-dimensional data tables";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.simons];
+    homepage = "http://patch-tag.com/r/kowey/tabular";
+    description = "Two-dimensional data tables with rendering functions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tagged/default.nix b/pkgs/development/libraries/haskell/tagged/default.nix
index 74ec90b1da0c3..5938b7521785c 100644
--- a/pkgs/development/libraries/haskell/tagged/default.nix
+++ b/pkgs/development/libraries/haskell/tagged/default.nix
@@ -1,18 +1,18 @@
-{cabal, dataDefault, semigroups} :
+{ cabal, dataDefault, semigroups }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "tagged";
   version = "0.2.2.3";
   sha256 = "16xnalvq7mch0zsxn2kix4xysn0lvcp9jdkxb1i5n03f94c92k52";
-  propagatedBuildInputs = [ dataDefault semigroups ];
+  buildDepends = [ dataDefault semigroups ];
   meta = {
     homepage = "http://github.com/ekmett/tagged";
     description = "Provides newtype wrappers for phantom types to avoid unsafely passing dummy arguments";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tagsoup/default.nix b/pkgs/development/libraries/haskell/tagsoup/default.nix
index ce48fd3f5d870..cbba57cd4ec62 100644
--- a/pkgs/development/libraries/haskell/tagsoup/default.nix
+++ b/pkgs/development/libraries/haskell/tagsoup/default.nix
@@ -1,18 +1,20 @@
-{cabal, text} :
+{ cabal, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "tagsoup";
   version = "0.12.2";
   sha256 = "066nmp4fd5pcx9xiq7lhxcrhmnhkxk8z7zx5laa19bbb8jbjjl4y";
-  propagatedBuildInputs = [ text ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ text ];
   meta = {
     homepage = "http://community.haskell.org/~ndm/tagsoup/";
     description = "Parsing and extracting information from (possibly malformed) HTML/XML documents";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/test-framework-hunit/default.nix b/pkgs/development/libraries/haskell/test-framework-hunit/default.nix
index 491a73e7616ae..5c9eae910a097 100644
--- a/pkgs/development/libraries/haskell/test-framework-hunit/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework-hunit/default.nix
@@ -1,14 +1,18 @@
-{cabal, HUnit, testFramework}:
+{ cabal, HUnit, extensibleExceptions, testFramework }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "test-framework-hunit";
   version = "0.2.6";
   sha256 = "1ivgyh71wwvrrgnk3fp6hsfssvy39jikhjdzr7x68pv1ca7f247r";
-  propagatedBuildInputs = [HUnit testFramework];
+  buildDepends = [ HUnit extensibleExceptions testFramework ];
   meta = {
-    description = "HUnit support for the test-framework package";
-    license = "BSD3";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://batterseapower.github.com/test-framework/";
+    description = "HUnit support for the test-framework package.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix b/pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix
index 80e0b1a0f00ea..475d1bb3c0423 100644
--- a/pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework-quickcheck/default.nix
@@ -1,14 +1,21 @@
-{cabal, QuickCheck1, testFramework, deepseq}:
+{ cabal, QuickCheck, deepseq, extensibleExceptions, testFramework
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "test-framework-quickcheck";
   version = "0.2.7";
   sha256 = "065nazli8vh9dz8xi71gwzlwy81anfd471jhz6hv3m893cc9vvx8";
-  propagatedBuildInputs = [QuickCheck1 testFramework deepseq];
+  buildDepends = [
+    QuickCheck deepseq extensibleExceptions testFramework
+  ];
   meta = {
-    description = "QuickCheck support for the test-framework package";
-    license = "BSD3";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://batterseapower.github.com/test-framework/";
+    description = "QuickCheck support for the test-framework package.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix b/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix
index c8d84f710505a..7c5ed9331beb5 100644
--- a/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix
@@ -1,14 +1,18 @@
-{cabal, QuickCheck2, testFramework}:
+{ cabal, QuickCheck, extensibleExceptions, testFramework }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "test-framework-quickcheck2";
   version = "0.2.10";
   sha256 = "12c37m74idjydxshgms9ib9ii2rpvy4647kra2ards1w2jmnr6w3";
-  propagatedBuildInputs = [QuickCheck2 testFramework];
+  buildDepends = [ QuickCheck extensibleExceptions testFramework ];
   meta = {
-    description = "QuickCheck2 support for the test-framework package";
-    license = "BSD3";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://batterseapower.github.com/test-framework/";
+    description = "QuickCheck2 support for the test-framework package.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/test-framework/default.nix b/pkgs/development/libraries/haskell/test-framework/default.nix
index 163e3b51099c2..94431eac4dfbb 100644
--- a/pkgs/development/libraries/haskell/test-framework/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework/default.nix
@@ -1,11 +1,16 @@
-{cabal, ansiTerminal, ansiWlPprint, hostname, regexPosix, xml} :
+{ cabal, ansiTerminal, ansiWlPprint, extensibleExceptions, hostname
+, regexPosix, time, xml
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "test-framework";
   version = "0.4.1.1";
   sha256 = "1ig4v2y8xba2rg6pc8yjf0j20cwa3czknnfqn1sgpqhmip2961pc";
-  propagatedBuildInputs = [
-    ansiTerminal ansiWlPprint hostname regexPosix xml
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    ansiTerminal ansiWlPprint extensibleExceptions hostname regexPosix
+    time xml
   ];
   meta = {
     homepage = "http://batterseapower.github.com/test-framework/";
@@ -13,8 +18,8 @@ cabal.mkDerivation (self : {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/testpack/default.nix b/pkgs/development/libraries/haskell/testpack/default.nix
index 626155f6a3cf7..8584ab130347d 100644
--- a/pkgs/development/libraries/haskell/testpack/default.nix
+++ b/pkgs/development/libraries/haskell/testpack/default.nix
@@ -1,12 +1,18 @@
-{cabal, HUnit, QuickCheck2, mtl}:
+{ cabal, HUnit, QuickCheck, mtl }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "testpack";
   version = "2.1.0";
   sha256 = "8128f3a409855fca1d431391b2cbf6a9f4dec32dd6f26825960b936fe578c476";
-  propagatedBuildInputs = [HUnit QuickCheck2 mtl];
+  buildDepends = [ HUnit QuickCheck mtl ];
   meta = {
-    description = "Test Utility Pack for HUnit and QuickCheck";
+    homepage = "http://hackage.haskell.org/cgi-bin/hackage-scripts/package/testpack";
+    description = "Test Utililty Pack for HUnit and QuickCheck";
+    license = "LGPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/texmath/0.4.nix b/pkgs/development/libraries/haskell/texmath/0.4.nix
index e3a68f13ce48e..afaece76acec9 100644
--- a/pkgs/development/libraries/haskell/texmath/0.4.nix
+++ b/pkgs/development/libraries/haskell/texmath/0.4.nix
@@ -1,15 +1,20 @@
-{cabal, parsec, syb, xml} :
+{ cabal, parsec, syb, xml }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "texmath";
   version = "0.4";
   sha256 = "1rvnhqljxkljy8ncpaj8p7b14nvvm6zmiixv13m1zxlcr457j2ai";
-  propagatedBuildInputs = [ parsec syb xml ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ parsec syb xml ];
   meta = {
     homepage = "http://github.com/jgm/texmath";
     description = "Conversion of LaTeX math formulas to MathML.";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/texmath/0.5.0.1.nix b/pkgs/development/libraries/haskell/texmath/0.5.0.1.nix
index a329076c3527f..ddf7889257b31 100644
--- a/pkgs/development/libraries/haskell/texmath/0.5.0.1.nix
+++ b/pkgs/development/libraries/haskell/texmath/0.5.0.1.nix
@@ -1,14 +1,20 @@
-{cabal, parsec, syb, xml}:
+{ cabal, parsec, syb, xml }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "texmath";
   version = "0.5.0.1";
   sha256 = "0kw23b1df7456d2h48g2p7k8nvfv80a8a70xgkq4pn7v50vqipdy";
-  propagatedBuildInputs = [parsec syb xml];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ parsec syb xml ];
   meta = {
-    description = "Conversion of LaTeX math formulas to MathML";
+    homepage = "http://github.com/jgm/texmath";
+    description = "Conversion of LaTeX math formulas to MathML.";
     license = "GPL";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/text/0.11.0.5.nix b/pkgs/development/libraries/haskell/text/0.11.0.5.nix
index 8a0328ec40a8e..4a6ab49403d5e 100644
--- a/pkgs/development/libraries/haskell/text/0.11.0.5.nix
+++ b/pkgs/development/libraries/haskell/text/0.11.0.5.nix
@@ -1,14 +1,18 @@
-{cabal, deepseq}:
+{ cabal, deepseq }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "text";
-  version = "0.11.0.5"; # Haskell Platform 2011.2.0.0
+  version = "0.11.0.5";
   sha256 = "1a5y2i7qrkyyvm112q44rhd7jbqxvfxssz2g5ngbx11yypl3hcdv";
-  propagatedBuildInputs = [deepseq];
+  buildDepends = [ deepseq ];
   meta = {
-    description = "An efficient package Unicode text type";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://bitbucket.org/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
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/text/0.11.0.6.nix b/pkgs/development/libraries/haskell/text/0.11.0.6.nix
index 2775eae076038..1b8d1cea29d4a 100644
--- a/pkgs/development/libraries/haskell/text/0.11.0.6.nix
+++ b/pkgs/development/libraries/haskell/text/0.11.0.6.nix
@@ -1,14 +1,18 @@
-{cabal, deepseq}:
+{ cabal, deepseq }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "text";
-  version = "0.11.0.6"; # Haskell Platform 2011.2.0.1
+  version = "0.11.0.6";
   sha256 = "103l1c8jfwpddsqzwj9jqh89vay8ax1znxqgjqprv2fvr7s0zvkp";
-  propagatedBuildInputs = [deepseq];
+  buildDepends = [ deepseq ];
   meta = {
-    description = "An efficient package Unicode text type";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://bitbucket.org/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
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/text/0.11.1.5.nix b/pkgs/development/libraries/haskell/text/0.11.1.5.nix
index dd2f60ed531dc..06dc550191ce1 100644
--- a/pkgs/development/libraries/haskell/text/0.11.1.5.nix
+++ b/pkgs/development/libraries/haskell/text/0.11.1.5.nix
@@ -1,14 +1,18 @@
-{cabal, deepseq}:
+{ cabal, deepseq }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "text";
-  version = "0.11.1.5"; # for ghc-7.2.1
+  version = "0.11.1.5";
   sha256 = "0fxxhw932gdvaqafsbw7dfzccc43hv92yhxppzp6jrg0npbyz04l";
-  propagatedBuildInputs = [deepseq];
+  buildDepends = [ deepseq ];
   meta = {
-    description = "An efficient package Unicode text type";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "https://bitbucket.org/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
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/th-lift/default.nix b/pkgs/development/libraries/haskell/th-lift/default.nix
index 7b8d86319ae4e..3e481857ae865 100644
--- a/pkgs/development/libraries/haskell/th-lift/default.nix
+++ b/pkgs/development/libraries/haskell/th-lift/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "th-lift";
   version = "0.5.3";
   sha256 = "15jynhl1ly0zhk2g9rm8vxas9p76w1lfxqhjw5rfb8s5k1w73fil";
@@ -8,6 +8,9 @@ cabal.mkDerivation (self : {
     description = "Derive Template Haskell's Lift class for datatypes.";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/threadmanager/default.nix b/pkgs/development/libraries/haskell/threadmanager/default.nix
index f7bb0953c775a..d7f5a70bc3436 100644
--- a/pkgs/development/libraries/haskell/threadmanager/default.nix
+++ b/pkgs/development/libraries/haskell/threadmanager/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "threadmanager";
   version = "0.1.4";
   sha256 = "0p35ihdc9k9svzbwiszll5i53km09rvw5mqshph273fby7nvni9i";
@@ -10,8 +10,8 @@ cabal.mkDerivation (self : {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/time/1.1.2.4.nix b/pkgs/development/libraries/haskell/time/1.1.2.4.nix
index 430e836068d78..7ced3956a8a36 100644
--- a/pkgs/development/libraries/haskell/time/1.1.2.4.nix
+++ b/pkgs/development/libraries/haskell/time/1.1.2.4.nix
@@ -1,11 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "time";
-  version = "1.1.2.4"; # Haskell Platform 2009.0.0
+  version = "1.1.2.4";
   sha256 = "11dfcb9b5ca76428a7a31019928c3c1898320f774e5d3df8e4407580d074fad3";
   meta = {
+    homepage = "http://semantic.org/TimeLib/";
     description = "A time library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/time/1.1.3.nix b/pkgs/development/libraries/haskell/time/1.1.3.nix
index 2d3703b235100..c8a7fe1298552 100644
--- a/pkgs/development/libraries/haskell/time/1.1.3.nix
+++ b/pkgs/development/libraries/haskell/time/1.1.3.nix
@@ -1,11 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "time";
   version = "1.1.3";
   sha256 = "46d32400bc0099ccef1fb670684c00a31055725403ea15c7a39278ff7dccc65b";
   meta = {
+    homepage = "http://semantic.org/TimeLib/";
     description = "A time library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/time/1.2.0.3.nix b/pkgs/development/libraries/haskell/time/1.2.0.3.nix
index fbdf4aa100f3b..23cec7ab90fdd 100644
--- a/pkgs/development/libraries/haskell/time/1.2.0.3.nix
+++ b/pkgs/development/libraries/haskell/time/1.2.0.3.nix
@@ -1,11 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "time";
   version = "1.2.0.3";
   sha256 = "acb1e3cf2b98a73632d35b0665808b05df6c03fcefd62796fe291f5b2ef4348e";
   meta = {
+    homepage = "http://semantic.org/TimeLib/";
     description = "A time library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/time/1.2.0.5.nix b/pkgs/development/libraries/haskell/time/1.2.0.5.nix
index 8dec9af6fc169..78fed9b5754cf 100644
--- a/pkgs/development/libraries/haskell/time/1.2.0.5.nix
+++ b/pkgs/development/libraries/haskell/time/1.2.0.5.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "time";
   version = "1.2.0.5";
   sha256 = "0y4plv9qvpmzzzb5855zngm6lmd38m0vr2mzwm94xhz2xsqhdh2z";
@@ -9,6 +9,9 @@ cabal.mkDerivation (self : {
     description = "A time library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tls-extra/default.nix b/pkgs/development/libraries/haskell/tls-extra/default.nix
index e7f72b85f8031..7b7517b0d42d7 100644
--- a/pkgs/development/libraries/haskell/tls-extra/default.nix
+++ b/pkgs/development/libraries/haskell/tls-extra/default.nix
@@ -1,19 +1,25 @@
-{cabal, certificate, cryptoApi, cryptocipher, cryptohash, mtl,
- network, text, tls, vector} :
+{ cabal, certificate, cryptoApi, cryptocipher, cryptohash, mtl
+, network, text, time, tls, vector
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "tls-extra";
   version = "0.3.1";
   sha256 = "1zj8l5nglfaarbbzb1icil6cp6rjqfs33nryxc34akz22zwwmln4";
-  propagatedBuildInputs = [
-    certificate cryptoApi cryptocipher cryptohash mtl network text tls
-    vector
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    certificate cryptoApi cryptocipher cryptohash mtl network text time
+    tls vector
   ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-tls-extra";
     description = "TLS extra default values and helpers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/tls/default.nix b/pkgs/development/libraries/haskell/tls/default.nix
index 8fe67cb159704..8da9fbbf4b558 100644
--- a/pkgs/development/libraries/haskell/tls/default.nix
+++ b/pkgs/development/libraries/haskell/tls/default.nix
@@ -1,11 +1,14 @@
-{cabal, cereal, certificate, cryptoApi, cryptocipher, cryptohash,
- mtl} :
+{ cabal, cereal, certificate, cryptoApi, cryptocipher, cryptohash
+, mtl
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "tls";
   version = "0.7.2";
   sha256 = "0x24jf83sfsnpvfm645lng5bc21zsbv6mbagr6q1q71zhfzfyb74";
-  propagatedBuildInputs = [
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
     cereal certificate cryptoApi cryptocipher cryptohash mtl
   ];
   meta = {
@@ -13,6 +16,9 @@ cabal.mkDerivation (self : {
     description = "TLS/SSL protocol native implementation (Server and Client)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/transformers/0.2.2.0.nix b/pkgs/development/libraries/haskell/transformers/0.2.2.0.nix
index c3fec93abeb62..f38605c17ad3a 100644
--- a/pkgs/development/libraries/haskell/transformers/0.2.2.0.nix
+++ b/pkgs/development/libraries/haskell/transformers/0.2.2.0.nix
@@ -1,11 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "transformers";
-  version = "0.2.2.0"; # Haskell Platform 2011.2.0.0
+  version = "0.2.2.0";
   sha256 = "1nkazxy2p0w5ad76vg1lc4l0nla1kdqjdf9pymjgk75dpiyijbdz";
   meta = {
     description = "Concrete functor and monad transformers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/tuple/default.nix b/pkgs/development/libraries/haskell/tuple/default.nix
index dd7fd36089da8..fa06558fc0dd3 100644
--- a/pkgs/development/libraries/haskell/tuple/default.nix
+++ b/pkgs/development/libraries/haskell/tuple/default.nix
@@ -1,14 +1,17 @@
-{cabal, OneTuple}:
+{ cabal, OneTuple }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "tuple";
   version = "0.2.0.1";
   sha256 = "1c4vf798rjwshnk04avyjp4rjzj8i9qx4yksv00m3rjy6psr57xg";
-  propagatedBuildInputs = [OneTuple];
+  buildDepends = [ OneTuple ];
   meta = {
     description = "Various functions on tuples";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/uniplate/default.nix b/pkgs/development/libraries/haskell/uniplate/default.nix
index f44755983a7c4..d9dff48b8509a 100644
--- a/pkgs/development/libraries/haskell/uniplate/default.nix
+++ b/pkgs/development/libraries/haskell/uniplate/default.nix
@@ -1,12 +1,18 @@
-{cabal, mtl, syb}:
+{ cabal, syb }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "uniplate";
   version = "1.6";
   sha256 = "13nlyzsnj6hshgl839ww1kp49r87kpdcdyn7hxahg8k2qkj5zzxr";
-  propagatedBuildInputs = [mtl syb];
+  buildDepends = [ syb ];
   meta = {
-    description = "Uniform type generic traversals";
+    homepage = "http://community.haskell.org/~ndm/uniplate/";
+    description = "Help writing simple, concise and fast generic operations.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/uniqueid/default.nix b/pkgs/development/libraries/haskell/uniqueid/default.nix
index 5ab87f341282c..d717bd27871af 100644
--- a/pkgs/development/libraries/haskell/uniqueid/default.nix
+++ b/pkgs/development/libraries/haskell/uniqueid/default.nix
@@ -1,11 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "uniqueid";
   version = "0.1.1";
   sha256 = "e69df591c1ab9901af24bf0e63032765eb2b1ba4ca4fb720a234e9f292e03268";
   meta = {
+    homepage = "http://github.com/sebfisch/uniqueid/wikis";
     description = "Splittable Unique Identifier Supply";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/unix-compat/default.nix b/pkgs/development/libraries/haskell/unix-compat/default.nix
index 1c5f531b6cd72..6fc4a9f9b9a23 100644
--- a/pkgs/development/libraries/haskell/unix-compat/default.nix
+++ b/pkgs/development/libraries/haskell/unix-compat/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "unix-compat";
   version = "0.2.2.1";
   sha256 = "009dg6mxjmdkcmr2d1qq9r3f4qfx4d362lyxj9vvgwrzcdnsgzqi";
@@ -9,6 +9,9 @@ cabal.mkDerivation (self : {
     description = "Portable POSIX-compatibility layer.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/unordered-containers/default.nix b/pkgs/development/libraries/haskell/unordered-containers/default.nix
index 4f596212b28ec..b007d137d6059 100644
--- a/pkgs/development/libraries/haskell/unordered-containers/default.nix
+++ b/pkgs/development/libraries/haskell/unordered-containers/default.nix
@@ -1,17 +1,17 @@
-{cabal, deepseq, hashable} :
+{ cabal, deepseq, hashable }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "unordered-containers";
   version = "0.1.4.2";
   sha256 = "0nfw82zng9y5dinjn78k05i4c4bjc1y6yb2dwqwczb85hbrqiha6";
-  propagatedBuildInputs = [ deepseq hashable ];
+  buildDepends = [ deepseq hashable ];
   meta = {
     description = "Efficient hashing-based container types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/url/default.nix b/pkgs/development/libraries/haskell/url/default.nix
index f12cc629b7f7d..292879cad5126 100644
--- a/pkgs/development/libraries/haskell/url/default.nix
+++ b/pkgs/development/libraries/haskell/url/default.nix
@@ -1,14 +1,18 @@
-{cabal, utf8String}:
+{ cabal, utf8String }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "url";
   version = "2.1.2";
   sha256 = "2cf5c4296418afe3940ae4de66d867897b1382cc4d37a0b9a5ccffa16743ef91";
-  propagatedBuildInputs = [utf8String];
+  buildDepends = [ utf8String ];
   meta = {
-    description = "A library for working with URLs";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://www.haskell.org/haskellwiki/Url";
+    description = "A library for working with URLs.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/utf8-light/default.nix b/pkgs/development/libraries/haskell/utf8-light/default.nix
index 26825bd5651b3..59ebfe3b5e6fc 100644
--- a/pkgs/development/libraries/haskell/utf8-light/default.nix
+++ b/pkgs/development/libraries/haskell/utf8-light/default.nix
@@ -1,6 +1,6 @@
-{cabal} :
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "utf8-light";
   version = "0.4.0.1";
   sha256 = "1y2vfxjgq8r90bpaxhha0s837vklpwdj4cj3h61bimc0lcx22905";
@@ -8,6 +8,9 @@ cabal.mkDerivation (self : {
     description = "Unicode";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/utf8-string/default.nix b/pkgs/development/libraries/haskell/utf8-string/default.nix
index bc1a4c157141f..4570a863f9972 100644
--- a/pkgs/development/libraries/haskell/utf8-string/default.nix
+++ b/pkgs/development/libraries/haskell/utf8-string/default.nix
@@ -1,10 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "utf8-string";
   version = "0.3.6";
   sha256 = "c8c74555174edfb96145585c9b80780d0fc55ba249282b8a4c5968cca7c09d69";
   meta = {
-    description = "A UTF8 layer for IO and Strings";
+    homepage = "http://github.com/glguy/utf8-string/";
+    description = "Support for reading and writing UTF8 Strings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/utility-ht/default.nix b/pkgs/development/libraries/haskell/utility-ht/default.nix
index eed22ffd26ad2..6c67d98c3bb1d 100644
--- a/pkgs/development/libraries/haskell/utility-ht/default.nix
+++ b/pkgs/development/libraries/haskell/utility-ht/default.nix
@@ -1,11 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "utility-ht";
   version = "0.0.7";
   sha256 = "83ffd750088a0eef5485b5dfadd13158ab7883655a3773bcc8d22485ba8d3a20";
   meta = {
     description = "Various small helper functions for Lists, Maybes, Tuples, Functions";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
index 3e6bdef17d3af..069abb51d6017 100644
--- a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
+++ b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
@@ -1,10 +1,10 @@
-{cabal, ListLike} :
+{ cabal, ListLike, time }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "uu-parsinglib";
   version = "2.7.1.1";
   sha256 = "1qn3impl64cvbzyvhc73yxyibgak4dkgl1vkbrzxrxb770kb5r4p";
-  propagatedBuildInputs = [ ListLike ];
+  buildDepends = [ ListLike time ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/bin/view/HUT/ParserCombinators";
     description = "Fast, online, error-correcting, monadic, applicative, merging, permuting, idiomatic parser combinators.";
diff --git a/pkgs/development/libraries/haskell/uulib/default.nix b/pkgs/development/libraries/haskell/uulib/default.nix
index 8c0693ed2144e..cb604c38fe6fd 100644
--- a/pkgs/development/libraries/haskell/uulib/default.nix
+++ b/pkgs/development/libraries/haskell/uulib/default.nix
@@ -9,6 +9,9 @@ cabal.mkDerivation (self: {
     description = "Haskell Utrecht Tools Library";
     license = "LGPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/vector-algorithms/0.4.nix b/pkgs/development/libraries/haskell/vector-algorithms/0.4.nix
index 8759d960342db..c8b1175542024 100644
--- a/pkgs/development/libraries/haskell/vector-algorithms/0.4.nix
+++ b/pkgs/development/libraries/haskell/vector-algorithms/0.4.nix
@@ -1,14 +1,18 @@
-{cabal, primitive, vector}:
+{ cabal, primitive, vector }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "vector-algorithms";
   version = "0.4";
   sha256 = "04ig2bx3gm42mwhcz5n8kp9sy33d1hrwm940kfxny74fc06422h8";
-  propagatedBuildInputs = [primitive vector];
+  buildDepends = [ primitive vector ];
   meta = {
+    homepage = "http://code.haskell.org/~dolio/";
     description = "Efficient algorithms for vector arrays";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/vector-algorithms/0.5.2.nix b/pkgs/development/libraries/haskell/vector-algorithms/0.5.2.nix
index 2ba1fa44886e5..d58da61decc6f 100644
--- a/pkgs/development/libraries/haskell/vector-algorithms/0.5.2.nix
+++ b/pkgs/development/libraries/haskell/vector-algorithms/0.5.2.nix
@@ -1,18 +1,18 @@
-{cabal, primitive, vector} :
+{ cabal, primitive, vector }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "vector-algorithms";
   version = "0.5.2";
   sha256 = "0ijn4hfaxqjvm91d7mihv62bdd7ph15h880w9lmbr93czbsp8mw1";
-  propagatedBuildInputs = [ primitive vector ];
+  buildDepends = [ primitive vector ];
   meta = {
     homepage = "http://code.haskell.org/~dolio/";
     description = "Efficient algorithms for vector arrays";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/vector-space/default.nix b/pkgs/development/libraries/haskell/vector-space/default.nix
index 14b9520a98817..0052b9b481591 100644
--- a/pkgs/development/libraries/haskell/vector-space/default.nix
+++ b/pkgs/development/libraries/haskell/vector-space/default.nix
@@ -1,18 +1,18 @@
-{cabal, Boolean, MemoTrie} :
+{ cabal, Boolean, MemoTrie }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "vector-space";
   version = "0.7.3";
   sha256 = "00lzhml1pc328iw9cip9yh54n0yqkwz1mxkv4gq2wlb7bzpfq1fx";
-  propagatedBuildInputs = [ Boolean MemoTrie ];
+  buildDepends = [ Boolean MemoTrie ];
   meta = {
     homepage = "http://haskell.org/haskellwiki/vector-space";
     description = "Vector & affine spaces, linear maps, and derivatives (requires ghc 6.9 or better)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/vector/default.nix b/pkgs/development/libraries/haskell/vector/default.nix
index e377ba7f5e6f0..8762d148e2816 100644
--- a/pkgs/development/libraries/haskell/vector/default.nix
+++ b/pkgs/development/libraries/haskell/vector/default.nix
@@ -1,18 +1,18 @@
-{cabal, primitive} :
+{ cabal, primitive }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "vector";
   version = "0.7.1";
   sha256 = "1cdbkabw49pgc1j5h96inpmhn8ly230885d22smmynrq369pmg07";
-  propagatedBuildInputs = [ primitive ];
+  buildDepends = [ primitive ];
   meta = {
     homepage = "http://code.haskell.org/vector";
     description = "Efficient Arrays";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/vty/4.6.0.4.nix b/pkgs/development/libraries/haskell/vty/4.6.0.4.nix
index c0d536482211a..55c7311844626 100644
--- a/pkgs/development/libraries/haskell/vty/4.6.0.4.nix
+++ b/pkgs/development/libraries/haskell/vty/4.6.0.4.nix
@@ -1,12 +1,18 @@
-{cabal, utf8String, terminfo, deepseq, mtl, parallel, parsec, vectorSpace}:
+{ cabal, deepseq, mtl, parallel, parsec, terminfo, utf8String }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "vty";
   version = "4.6.0.4";
   sha256 = "0kabssw3v7nglvsr687ppmdnnmii1q2g5zg8rxwi2hcmvnjx7567";
-  propagatedBuildInputs =
-    [utf8String terminfo deepseq mtl parallel parsec vectorSpace];
+  buildDepends = [ deepseq mtl parallel parsec terminfo utf8String ];
   meta = {
+    homepage = "http://trac.haskell.org/vty/";
     description = "A simple terminal access library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/vty/4.7.0.4.nix b/pkgs/development/libraries/haskell/vty/4.7.0.4.nix
index 6e3e1615c041d..8ef4c51d03d1d 100644
--- a/pkgs/development/libraries/haskell/vty/4.7.0.4.nix
+++ b/pkgs/development/libraries/haskell/vty/4.7.0.4.nix
@@ -1,11 +1,12 @@
-{cabal, deepseq, mtl, parallel, parsec, terminfo, utf8String,
- vector} :
+{ cabal, deepseq, mtl, parallel, parsec, terminfo, utf8String
+, vector
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "vty";
   version = "4.7.0.4";
   sha256 = "1rwki3ch1r3dqzb1cxmzxn05k49ams64licl0silbhsj3qibbj53";
-  propagatedBuildInputs = [
+  buildDepends = [
     deepseq mtl parallel parsec terminfo utf8String vector
   ];
   meta = {
@@ -13,6 +14,9 @@ cabal.mkDerivation (self : {
     description = "A simple terminal access library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/wai-app-static/default.nix b/pkgs/development/libraries/haskell/wai-app-static/default.nix
index fafd91e8aacd7..79513b785d4a2 100644
--- a/pkgs/development/libraries/haskell/wai-app-static/default.nix
+++ b/pkgs/development/libraries/haskell/wai-app-static/default.nix
@@ -1,12 +1,13 @@
-{cabal, blazeBuilder, blazeHtml, fileEmbed, httpTypes, text,
- transformers, unixCompat, wai} :
+{ cabal, blazeBuilder, blazeHtml, fileEmbed, httpTypes, text, time
+, transformers, unixCompat, wai
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "wai-app-static";
   version = "0.1.0";
   sha256 = "0k9pl1kanrb2pqp1bs5s1lxb7ayq2ddf2cxi5q2v9yq22s229xln";
-  propagatedBuildInputs = [
-    blazeBuilder blazeHtml fileEmbed httpTypes text transformers
+  buildDepends = [
+    blazeBuilder blazeHtml fileEmbed httpTypes text time transformers
     unixCompat wai
   ];
   meta = {
@@ -14,6 +15,9 @@ cabal.mkDerivation (self : {
     description = "WAI application for static serving";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix
index 9d87e8a9736b7..d29bbe2171078 100644
--- a/pkgs/development/libraries/haskell/wai-extra/default.nix
+++ b/pkgs/development/libraries/haskell/wai-extra/default.nix
@@ -1,14 +1,15 @@
-{cabal, blazeBuilder, blazeBuilderEnumerator, caseInsensitive,
- enumerator, httpTypes, network, text, transformers, wai,
- zlibBindings} :
+{ cabal, blazeBuilder, blazeBuilderEnumerator, caseInsensitive
+, enumerator, httpTypes, network, text, time, transformers, wai
+, zlibBindings
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "wai-extra";
   version = "0.4.0.3";
   sha256 = "1mfjn9rxzcfdwvimjw57j7vpr1y64ia7905c8nxa9968sdy0dhsy";
-  propagatedBuildInputs = [
+  buildDepends = [
     blazeBuilder blazeBuilderEnumerator caseInsensitive enumerator
-    httpTypes network text transformers wai zlibBindings
+    httpTypes network text time transformers wai zlibBindings
   ];
   meta = {
     homepage = "http://github.com/snoyberg/wai-extra";
@@ -16,8 +17,8 @@ cabal.mkDerivation (self : {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/wai/default.nix b/pkgs/development/libraries/haskell/wai/default.nix
index d8384bc7ee62a..9470f254fb010 100644
--- a/pkgs/development/libraries/haskell/wai/default.nix
+++ b/pkgs/development/libraries/haskell/wai/default.nix
@@ -1,11 +1,12 @@
-{cabal, blazeBuilder, enumerator, httpTypes, network, text,
- transformers} :
+{ cabal, blazeBuilder, enumerator, httpTypes, network, text
+, transformers
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "wai";
   version = "0.4.1";
   sha256 = "089i9qj7vban1qdrdpx836c31yakg3l3lx7y36h56livy6n37k72";
-  propagatedBuildInputs = [
+  buildDepends = [
     blazeBuilder enumerator httpTypes network text transformers
   ];
   meta = {
@@ -14,8 +15,8 @@ cabal.mkDerivation (self : {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix
index b9d17a1dd49fc..f034f1bf2e8b4 100644
--- a/pkgs/development/libraries/haskell/warp/default.nix
+++ b/pkgs/development/libraries/haskell/warp/default.nix
@@ -1,12 +1,13 @@
-{cabal, blazeBuilder, blazeBuilderEnumerator, caseInsensitive,
- enumerator, httpTypes, network, simpleSendfile, transformers,
- unixCompat, wai} :
+{ cabal, blazeBuilder, blazeBuilderEnumerator, caseInsensitive
+, enumerator, httpTypes, network, simpleSendfile, transformers
+, unixCompat, wai
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "warp";
   version = "0.4.3";
   sha256 = "1g1fyys4j5cd2lp8818060i970f6fpxnjgyvb5m4r9asn7p1z4yc";
-  propagatedBuildInputs = [
+  buildDepends = [
     blazeBuilder blazeBuilderEnumerator caseInsensitive enumerator
     httpTypes network simpleSendfile transformers unixCompat wai
   ];
@@ -16,8 +17,8 @@ cabal.mkDerivation (self : {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/web-routes-quasi/default.nix b/pkgs/development/libraries/haskell/web-routes-quasi/default.nix
index a4d2a62535b59..1660809df1aa2 100644
--- a/pkgs/development/libraries/haskell/web-routes-quasi/default.nix
+++ b/pkgs/development/libraries/haskell/web-routes-quasi/default.nix
@@ -1,18 +1,20 @@
-{cabal, pathPieces, text} :
+{ cabal, pathPieces, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "web-routes-quasi";
   version = "0.7.1";
   sha256 = "0m5p21kbiawjpcs5c83aaypmpmx4avjcj0kzkn95zgdkqcz5kr12";
-  propagatedBuildInputs = [ pathPieces text ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ pathPieces text ];
   meta = {
     homepage = "http://docs.yesodweb.com/web-routes-quasi/";
     description = "Define data types and parse/build functions for web-routes via a quasi-quoted DSL";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/web-routes/default.nix b/pkgs/development/libraries/haskell/web-routes/default.nix
index 009e6ee0be86b..a59d2cf48f22a 100644
--- a/pkgs/development/libraries/haskell/web-routes/default.nix
+++ b/pkgs/development/libraries/haskell/web-routes/default.nix
@@ -1,17 +1,17 @@
-{cabal, mtl, network, parsec, utf8String} :
+{ cabal, mtl, network, parsec, utf8String }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "web-routes";
   version = "0.25.2";
   sha256 = "0gspjvk5859zwg55q8fjyz4a0d2p6lf2qwa41b8s6kcqi38nnp08";
-  propagatedBuildInputs = [ mtl network parsec utf8String ];
+  buildDepends = [ mtl network parsec utf8String ];
   meta = {
     description = "Library for maintaining correctness and composability of URLs within an application.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix b/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix
index 697e6bfc93d1b..3c369103486ae 100644
--- a/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix
+++ b/pkgs/development/libraries/haskell/xhtml/3000.2.0.1.nix
@@ -1,11 +1,16 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "xhtml";
-  version = "3000.2.0.1"; # Haskell Platform 2009.0.0, 2010.1.0.0, 2010.2.0.0, 2011.2.0.0
+  version = "3000.2.0.1";
   sha256 = "15pcigascajky67v0lhdhn4bv8xq16cvzib05mg4f1ynwr5a9mv0";
   meta = {
     description = "An XHTML combinator library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/xml-enumerator/default.nix b/pkgs/development/libraries/haskell/xml-enumerator/default.nix
index 9248d6cba7c26..cdf3f08d29684 100644
--- a/pkgs/development/libraries/haskell/xml-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/xml-enumerator/default.nix
@@ -1,12 +1,15 @@
-{cabal, attoparsecText, attoparsecTextEnumerator, blazeBuilder,
- blazeBuilderEnumerator, enumerator, failure, text, transformers,
- xmlTypes} :
+{ cabal, attoparsecText, attoparsecTextEnumerator, blazeBuilder
+, blazeBuilderEnumerator, enumerator, failure, text, transformers
+, xmlTypes
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "xml-enumerator";
   version = "0.3.4";
   sha256 = "0sfscsfcfmx56sdxc0wn2j1pyqjd9w92igz1n9xaph7zfz61g9k2";
-  propagatedBuildInputs = [
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
     attoparsecText attoparsecTextEnumerator blazeBuilder
     blazeBuilderEnumerator enumerator failure text transformers
     xmlTypes
@@ -16,6 +19,9 @@ cabal.mkDerivation (self : {
     description = "Pure-Haskell utilities for dealing with XML with the enumerator package.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/xml-types/default.nix b/pkgs/development/libraries/haskell/xml-types/default.nix
index dbc2d422a044f..5b2d518402cd2 100644
--- a/pkgs/development/libraries/haskell/xml-types/default.nix
+++ b/pkgs/development/libraries/haskell/xml-types/default.nix
@@ -1,14 +1,17 @@
-{cabal, text} :
+{ cabal, text }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "xml-types";
   version = "0.3";
   sha256 = "0d0x7s865ca7bscskp6s7zyzpzd22nkd61wzwg11v6h0q5dilly7";
-  propagatedBuildInputs = [ text ];
+  buildDepends = [ text ];
   meta = {
     description = "Basic types for representing XML";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/xml/default.nix b/pkgs/development/libraries/haskell/xml/default.nix
index 055ead4838b59..f7a5e966eb66d 100644
--- a/pkgs/development/libraries/haskell/xml/default.nix
+++ b/pkgs/development/libraries/haskell/xml/default.nix
@@ -1,11 +1,17 @@
-{cabal}:
+{ cabal }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "xml";
-  version = "1.3.5";
-  sha256 = "d61abd617e6e4d5b384e19403486ecc0e5dccf412a235acce2a7b7072e97c3ab";
+  version = "1.3.9";
+  sha256 = "1sx6k5dscpcy4aq09g7h0fz0sl4w2nrr4pnklgwrbrh6bf6kc6w2";
   meta = {
-    description = "A simple XML library";
+    homepage = "http://code.galois.com";
+    description = "A simple XML library.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/xss-sanitize/default.nix b/pkgs/development/libraries/haskell/xss-sanitize/default.nix
index 4203b037e92da..c1027ad269eb5 100644
--- a/pkgs/development/libraries/haskell/xss-sanitize/default.nix
+++ b/pkgs/development/libraries/haskell/xss-sanitize/default.nix
@@ -1,14 +1,18 @@
-{cabal, network, tagsoup, utf8String}:
+{ cabal, network, tagsoup, utf8String }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "xss-sanitize";
   version = "0.2.6";
   sha256 = "18bkvrrkc0ga0610f8g3vghq0ib1yczn2n2zbzv7kg7m6bqgx2y5";
-  propagatedBuildInputs = [network tagsoup utf8String];
+  buildDepends = [ network tagsoup utf8String ];
   meta = {
+    homepage = "http://github.com/gregwebs/haskell-xss-sanitize";
     description = "sanitize untrusted HTML to prevent XSS attacks";
-    license = "BSD";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix
index f70ea8912fa3b..c06697425043a 100644
--- a/pkgs/development/libraries/haskell/yesod-auth/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix
@@ -1,13 +1,14 @@
-{cabal, SHA, aeson, authenticate, blazeHtml, controlMonadAttempt,
- hamlet, httpEnumerator, mimeMail, persistent, persistentTemplate,
- pureMD5, text, transformers, wai, webRoutesQuasi, yesodCore,
- yesodForm, yesodJson, yesodPersistent} :
+{ cabal, SHA, aeson, authenticate, blazeHtml, controlMonadAttempt
+, hamlet, httpEnumerator, mimeMail, persistent, persistentTemplate
+, pureMD5, text, transformers, wai, webRoutesQuasi, yesodCore
+, yesodForm, yesodJson, yesodPersistent
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "yesod-auth";
   version = "0.4.0.2";
   sha256 = "1vf02kgm3pcak4igvp8009lgv8i8bir272byw0ma2mg6bl0sgyvl";
-  propagatedBuildInputs = [
+  buildDepends = [
     SHA aeson authenticate blazeHtml controlMonadAttempt hamlet
     httpEnumerator mimeMail persistent persistentTemplate pureMD5 text
     transformers wai webRoutesQuasi yesodCore yesodForm yesodJson
@@ -18,6 +19,9 @@ cabal.mkDerivation (self : {
     description = "Authentication for Yesod.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix
index 0f2aff9f22480..e193fcca143ba 100644
--- a/pkgs/development/libraries/haskell/yesod-core/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-core/default.nix
@@ -1,15 +1,18 @@
-{cabal, blazeBuilder, blazeHtml, caseInsensitive, cereal,
- clientsession, cookie, enumerator, failure, hamlet, httpTypes,
- monadControl, parsec, text, transformers, wai, waiExtra,
- webRoutesQuasi} :
+{ cabal, blazeBuilder, blazeHtml, caseInsensitive, cereal
+, clientsession, cookie, enumerator, failure, hamlet, httpTypes
+, monadControl, parsec, text, time, transformers, wai, waiExtra
+, webRoutesQuasi
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "yesod-core";
   version = "0.8.3.2";
   sha256 = "0k0lgd9p8mrwwcypx1nfr1z2rq5wk4gvjc1fbvla0c9nabqnbfzs";
-  propagatedBuildInputs = [
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
     blazeBuilder blazeHtml caseInsensitive cereal clientsession cookie
-    enumerator failure hamlet httpTypes monadControl parsec text
+    enumerator failure hamlet httpTypes monadControl parsec text time
     transformers wai waiExtra webRoutesQuasi
   ];
   meta = {
@@ -18,8 +21,8 @@ cabal.mkDerivation (self : {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-form/default.nix b/pkgs/development/libraries/haskell/yesod-form/default.nix
index eda210c283daa..9014e1433d26d 100644
--- a/pkgs/development/libraries/haskell/yesod-form/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-form/default.nix
@@ -1,15 +1,16 @@
-{cabal, blazeBuilder, blazeHtml, dataDefault, emailValidate,
- hamlet, network, persistent, text, transformers, webRoutesQuasi,
- xssSanitize, yesodCore, yesodPersistent} :
+{ cabal, blazeBuilder, blazeHtml, dataDefault, emailValidate
+, hamlet, network, persistent, text, time, transformers
+, webRoutesQuasi, xssSanitize, yesodCore, yesodPersistent
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "yesod-form";
   version = "0.1.0.1";
   sha256 = "108652256g82xapsn0w4cbficq4ikwlsa8yis2zq7izxk48livlm";
-  propagatedBuildInputs = [
+  buildDepends = [
     blazeBuilder blazeHtml dataDefault emailValidate hamlet network
-    persistent text transformers webRoutesQuasi xssSanitize yesodCore
-    yesodPersistent
+    persistent text time transformers webRoutesQuasi xssSanitize
+    yesodCore yesodPersistent
   ];
   meta = {
     homepage = "http://www.yesodweb.com/";
@@ -17,8 +18,8 @@ cabal.mkDerivation (self : {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
-      self.stdenv.lib.maintainers.simons
       self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
     ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-json/default.nix b/pkgs/development/libraries/haskell/yesod-json/default.nix
index 89250a3f0c594..907bc105871ad 100644
--- a/pkgs/development/libraries/haskell/yesod-json/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-json/default.nix
@@ -10,6 +10,9 @@ cabal.mkDerivation (self: {
     description = "Generate content for Yesod using the aeson package.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-persistent/default.nix b/pkgs/development/libraries/haskell/yesod-persistent/default.nix
index ded78d7b38262..065c604d0b95b 100644
--- a/pkgs/development/libraries/haskell/yesod-persistent/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-persistent/default.nix
@@ -1,16 +1,22 @@
-{cabal, failure, persistent, persistentTemplate, transformers, yesodCore}:
+{ cabal, failure, persistent, persistentTemplate, transformers
+, yesodCore
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "yesod-persistent";
   version = "0.1.0";
   sha256 = "1h0kk3sx0c4c3pcg3s2c5kfy0kz7gci45h4gsgrkhkcgg0pg324c";
-  propagatedBuildInputs = [
+  buildDepends = [
     failure persistent persistentTemplate transformers yesodCore
   ];
   meta = {
-    description = "Some helpers for using Persistent from Yesod";
-    license = "BSD3";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://www.yesodweb.com/";
+    description = "Some helpers for using Persistent from Yesod.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/yesod-static/default.nix b/pkgs/development/libraries/haskell/yesod-static/default.nix
index c7239c7a9e0c9..03af3d832e315 100644
--- a/pkgs/development/libraries/haskell/yesod-static/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-static/default.nix
@@ -1,11 +1,14 @@
-{cabal, base64Bytestring, cereal, pureMD5, text, transformers,
- waiAppStatic, yesodCore} :
+{ cabal, base64Bytestring, cereal, pureMD5, text, transformers
+, waiAppStatic, yesodCore
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "yesod-static";
   version = "0.1.0.1";
   sha256 = "0icb1wp0ndvl54shjyv0apmias60j2gjbcv7i92dxnl3fzx74d3p";
-  propagatedBuildInputs = [
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
     base64Bytestring cereal pureMD5 text transformers waiAppStatic
     yesodCore
   ];
@@ -14,6 +17,9 @@ cabal.mkDerivation (self : {
     description = "Static file serving subsite for Yesod Web Framework.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod/default.nix b/pkgs/development/libraries/haskell/yesod/default.nix
index 314bfc098d3af..3a32b44b934a2 100644
--- a/pkgs/development/libraries/haskell/yesod/default.nix
+++ b/pkgs/development/libraries/haskell/yesod/default.nix
@@ -1,22 +1,29 @@
-{cabal, attoparsecText, blazeBuilder, hamlet, hjsmin, httpTypes,
- mimeMail, monadControl, parsec, text, transformers, unixCompat,
- wai, waiExtra, warp, yesodAuth, yesodCore, yesodForm, yesodJson,
- yesodPersistent, yesodStatic} :
+{ cabal, attoparsecText, blazeBuilder, hamlet, hjsmin, httpTypes
+, mimeMail, monadControl, parsec, text, time, transformers
+, unixCompat, wai, waiExtra, warp, yesodAuth, yesodCore, yesodForm
+, yesodJson, yesodPersistent, yesodStatic
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "yesod";
   version = "0.8.2.1";
   sha256 = "0idpgzbzy31bl5khc83wgi9a9mzrymris0mg5dlc4kj4sd5a1ksi";
-  propagatedBuildInputs = [
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
     attoparsecText blazeBuilder hamlet hjsmin httpTypes mimeMail
-    monadControl parsec text transformers unixCompat wai waiExtra warp
-    yesodAuth yesodCore yesodForm yesodJson yesodPersistent yesodStatic
+    monadControl parsec text time transformers unixCompat wai waiExtra
+    warp yesodAuth yesodCore yesodForm yesodJson yesodPersistent
+    yesodStatic
   ];
   meta = {
     homepage = "http://www.yesodweb.com/";
     description = "Creation of type-safe, RESTful web applications.";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/yst/default.nix b/pkgs/development/libraries/haskell/yst/default.nix
index 08305110828c5..9ca9534a1543b 100644
--- a/pkgs/development/libraries/haskell/yst/default.nix
+++ b/pkgs/development/libraries/haskell/yst/default.nix
@@ -1,12 +1,16 @@
-{cabal, HStringTemplate, HsSyck, csv, pandoc, parsec, split,
- utf8String, xhtml} :
+{ cabal, HStringTemplate, HsSyck, csv, pandoc, parsec, split, time
+, utf8String, xhtml
+}:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "yst";
   version = "0.2.4.1";
   sha256 = "0y620p6kn1mky30fia63na5idppfjfmc828jcaa0ads08rmj5wgy";
-  propagatedBuildInputs = [
-    HStringTemplate HsSyck csv pandoc parsec split utf8String xhtml
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    HStringTemplate HsSyck csv pandoc parsec split time utf8String
+    xhtml
   ];
   meta = {
     homepage = "http://github.com/jgm/yst";
@@ -14,6 +18,9 @@ cabal.mkDerivation (self : {
 CSV files.";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.simons ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zip-archive/default.nix b/pkgs/development/libraries/haskell/zip-archive/default.nix
index 7ff5c1d480c27..cb75765df2e10 100644
--- a/pkgs/development/libraries/haskell/zip-archive/default.nix
+++ b/pkgs/development/libraries/haskell/zip-archive/default.nix
@@ -1,12 +1,20 @@
-{cabal, binary, mtl, utf8String, zlib, digest}:
+{ cabal, binary, digest, mtl, utf8String, zlib }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "zip-archive";
   version = "0.1.1.7";
   sha256 = "1q52v18kl1j049kk3yb7rp0k27p6q7r72mg1vcbdid6qd7a9dh48";
-  propagatedBuildInputs = [binary mtl utf8String zlib digest];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ binary digest mtl utf8String zlib ];
   meta = {
-    description = "Library for creating and modifying zip archives";
+    homepage = "http://github.com/jgm/zip-archive";
+    description = "Library for creating and modifying zip archives.";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/zipper/default.nix b/pkgs/development/libraries/haskell/zipper/default.nix
index 0098fdc9d1d38..4cfca3bf1a3fa 100644
--- a/pkgs/development/libraries/haskell/zipper/default.nix
+++ b/pkgs/development/libraries/haskell/zipper/default.nix
@@ -10,6 +10,9 @@ cabal.mkDerivation (self: {
     description = "Generic zipper for families of recursive datatypes";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib-bindings/default.nix b/pkgs/development/libraries/haskell/zlib-bindings/default.nix
index efe5e4134a81c..4da607cc9c58e 100644
--- a/pkgs/development/libraries/haskell/zlib-bindings/default.nix
+++ b/pkgs/development/libraries/haskell/zlib-bindings/default.nix
@@ -1,14 +1,20 @@
-{cabal, zlib}:
+{ cabal, zlib }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "zlib-bindings";
   version = "0.0.0";
   sha256 = "168sll6mrmcnvdmdx79izqxcrli1s7asp4qilhkqss8w0jlrv1ni";
-  propagatedBuildInputs = [zlib];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ zlib ];
   meta = {
-    description = "Low-level bindings to the zlib package";
-    license = "BSD3";
-    maintainers = [self.stdenv.lib.maintainers.andres];
+    homepage = "http://github.com/snoyberg/zlib-bindings";
+    description = "Low-level bindings to the zlib package.";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
-
diff --git a/pkgs/development/libraries/haskell/zlib-enum/default.nix b/pkgs/development/libraries/haskell/zlib-enum/default.nix
index a10b34d6229fb..3e99ed8d5c9a3 100644
--- a/pkgs/development/libraries/haskell/zlib-enum/default.nix
+++ b/pkgs/development/libraries/haskell/zlib-enum/default.nix
@@ -1,15 +1,20 @@
-{cabal, enumerator, transformers, zlibBindings} :
+{ cabal, enumerator, transformers, zlibBindings }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "zlib-enum";
   version = "0.2.1";
   sha256 = "0cnx7sbgj6s0gvq6pcqyi3xahx7x3bj47ap10z89qfbk0906rkq8";
-  propagatedBuildInputs = [ enumerator transformers zlibBindings ];
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ enumerator transformers zlibBindings ];
   meta = {
     homepage = "http://github.com/maltem/zlib-enum";
     description = "Enumerator interface for zlib compression";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.0.0.nix b/pkgs/development/libraries/haskell/zlib/0.5.0.0.nix
index f034e43160af6..60f81e7f9846b 100644
--- a/pkgs/development/libraries/haskell/zlib/0.5.0.0.nix
+++ b/pkgs/development/libraries/haskell/zlib/0.5.0.0.nix
@@ -1,13 +1,17 @@
-{cabal, zlib}:
+{ cabal, zlib }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "zlib";
-  version = "0.5.0.0"; # Haskell Platform 2009.0.0
+  version = "0.5.0.0";
   sha256 = "20e067cfbec87ec062ac144875a60e158ea6cf7836aac031ec367fcdd5446891";
-  # TODO: find out exactly why propagated is needed here (to build other
-  # packages depending on zlib):
-  propagatedBuildInputs = [zlib];
+  extraLibraries = [ zlib ];
   meta = {
     description = "Compression and decompression in the gzip and zlib formats";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix b/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix
index 80bf428c70609..5ec59a9690f3d 100644
--- a/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix
+++ b/pkgs/development/libraries/haskell/zlib/0.5.2.0.nix
@@ -1,13 +1,17 @@
-{cabal, zlib}:
+{ cabal, zlib }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "zlib";
-  version = "0.5.2.0"; # Haskell Platform 2010.1.0.0 and 2010.2.0.0
+  version = "0.5.2.0";
   sha256 = "4119fb627e0adc2b129acd86fe5724cf05a49d8de5b64eb7a6e519d3befd3b8f";
-  # TODO: find out exactly why propagated is needed here (to build other
-  # packages depending on zlib):
-  propagatedBuildInputs = [zlib];
+  extraLibraries = [ zlib ];
   meta = {
     description = "Compression and decompression in the gzip and zlib formats";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix b/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix
index 3d3b2184da8a0..f4355c0a9549d 100644
--- a/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix
+++ b/pkgs/development/libraries/haskell/zlib/0.5.3.1.nix
@@ -1,13 +1,17 @@
-{cabal, zlib}:
+{ cabal, zlib }:
 
-cabal.mkDerivation (self : {
+cabal.mkDerivation (self: {
   pname = "zlib";
-  version = "0.5.3.1"; # Haskell Platform 2011.2.0.0
+  version = "0.5.3.1";
   sha256 = "1hj56lk4g2zr7acdda39zib1bj02777q0asm5ms9rfj7kp81caiq";
-  # TODO: find out exactly why propagated is needed here (to build other
-  # packages depending on zlib):
-  propagatedBuildInputs = [zlib];
+  extraLibraries = [ zlib ];
   meta = {
     description = "Compression and decompression in the gzip and zlib formats";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })