Readme for cabal-install-0.4.0

== cabal install == The automatic package manager for Haskell! Intended usage: cabal install xmonad Just works. Defaults make sense, and by default we don't fail unless it is unrecoverable. == Dependences == base >= 2.1, process, directory, pretty, bytestring >= 0.9 mtl, network, regex-compat, unix, Cabal>=1.3, zlib >= 0.4, HTTP >= 3000.0 && < 3000.1, filepath >= 1.0 Kind of ironic we need cabal install to make it easier to build cabal install. == Developer docs == CabalInstall, what happens under the hood. FetchCmd: cabal-install stores packages in [config-dir]/packages/ by their package id. This can lead to clashes if there's two identical (same name, same version) packages from two servers with different functionality. CleanCmd: Removes all fetched packages. UpdateCmd: Queries all known servers for their packages and stores it in [cfg-dir]/pkg.list. InstallCmd: Installed packages are determined, and dependencies of the to-be-installed packages are resolved and fetched. The fetched tarballs are moved to a temporary directory (usually /tmp) and extracted. Distribution.Simple.SetupWrapper is used to configure, build and install the unpacked package. The user can only pass arguments to the 'configure' phase of the installation. '--user' is used by default. InfoCmd: To be written. Files used by cabal-install: [cfg-dir]/config configuration file [cfg-dir]/00-index.tar list of packages available from the servers. [cfg-dir]/packages/ directory containing all fetched packages.