You need to get cabal-install.
Here's how I got it working on kubuntu :
1) install GHC 6.8.3 from haskell.org's binaries (kubuntu hardy isn't
at 6.8.3 yet....)
2) download from hackage :
* cabal-install-0.5.1.tar.gz from hackage
* HTTP-3001.0.4.tar.gz
* zlib-0.4.0.4.tar.gz
* Cabal-1.4.0.1.tar.gz
3) build and install http, zlib, Cabal and then cabal-install
for each package you have to type (*) :
runhaskell Setup.hs configure
runhaskell Setup.hs build
sudo runhaskell Setup.hs install
(*) sometimes it'll be Setup.lhs, I'm annoyed that it's not always the
same name, can't rely on shell history :(
4) once cabal-install is installed you can do
cabal update
sudo cabal upgrade --global
that'll upgrade all your ghc's packages.
5) from now if you want to install package a just type
cabal install a --global
cabal should download packages b,c,d for you if required.
P.S. Sorry for the previous email, it got sent before I finished it :)