Version 5 (modified by ijones, 7 years ago)

--

Cabal Install (and friends)

Proposal

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

Prototype Tool

The darcs version of cabal comes with [source:cabal-install/CabalInstall.hs a prototype of cabal-install]. Try it out!

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