Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Official upstream development repository for Cabal and cabal-install

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Hackage
bash-completion
tests
LICENSE
Main.hs
README
Setup.hs
TODO
cabal-install.cabal

README

== 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, 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.
Something went wrong with that request. Please try again.