Describe DistutilsMetadata here. = See also = See cabal (the "haskell distutils") for an example http://www.haskell.org/cabal/release/cabal-latest/doc/users-guide/authors.html#pkg-descr There is a setup.hs to drive the build/installation, and a .cabal file for the metadata. It looks like simple packages can get away with only the simple, static .cabal file + a trivial setup.hs. For things which cannot be defined statically (system dependent options, etc...), there are hooks, which are implemented in setup.hs.