cabal-install package provides the
cabal command-line program
which simplifies the process of managing Haskell software
by automating the fetching, configuration, compilation and installation of Haskell libraries and programs.
Those packages must be prepared using Cabal and should be present at HackageDB.
Once you have running cabal-install installation of further packages is just one simple shell call like
cabal install new-package
Also uploading a new package to HackageDB is as simple as
cabal upload ./dist/new-package-1.0.tar.gz
But before you can do that, you have to complete the:
You must download the following tarballs and you must build and install them manually.
Cabal-install package itself:
Dependencies that aren't in core:
Note the last one assumes you have zlib the C library and its header files installed. Those header files are usually in a package like zlib-devel. On Windows, cabal-install bundles the Zlib library, so you won't need to obtain it yourself.
If that succeeds, that's possibly the last time you ever installed a foreign Haskell package manually!
- Cabal-install page on Hackage-Trac