Hackage Tool Suite and Related Tools

Proposal

See the layered tool reorganization for the proposal of how to implement these possible layers.

Possible Layers

Setup.lhs / .cabal

  • configure, build, and install commands, etc. (as now)

cabal-setup (or whatever)

  • Compiles / interprets the setup script
  • Finds the right version of cabal (based on .cabal file)
  • same CLI as Setup

cabal-install

  • installs multiple packages in dependency order
  • unpacks tarballs, etc
  • cabal-install --user --prefix=$HOME/usr foo/foo.cabal bar.tgz (where bar depends on foo)

cabal-get

  • cabal-get install foo-1.1
  • downloads and installs foo and its dependencies
  • network client
  • gpg client