The cabal-install package

[Tags: bsd3, program]

apt-get like tool for Haskell. The 'cabal' command-line program simplifies the process of managing Haskell software by automating the fetching, configuration, compilation and installation of Haskell libraries and programs.

[Skip to ReadMe]


Versions0.4.0, 0.5.0, 0.5.1, 0.5.2, 0.6.0, 0.6.2, 0.6.4, 0.8.0, 0.8.2, 0.10.0, 0.10.2, 0.14.0, 0.14.1, 1.16.0,,,, 1.18.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Change logNone available
Dependenciesbase (<2.2 || >=3.0), bytestring (>=0.9), Cabal (>=1.2), directory, filepath (>=1.0), HTTP (>=3000.0 && <3001.1), network, pretty, process, zlib (>=0.3) [details]
Copyright2005 Lemmih <>, 2006 Paolo Martini <>
AuthorLemmih <>, Paolo Martini <>
UploadedSun Oct 21 17:53:57 UTC 2007 by DuncanCoutts
DistributionsArch:, Debian:, Fedora:, FreeBSD:, LTSHaskell:, NixOS:, Stackage:
Downloads149735 total (109 in last 30 days)
2 []
StatusDocs not available [build log]
All reported builds failed as of 2015-12-10 [all 7 reports]


old-baseOld, monolithic baseDisabledAutomatic

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainers' corner

For package maintainers and hackage trustees

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

== Developer docs ==

    CabalInstall, what happens under the hood.

    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.
    Removes all fetched packages.
    Queries all known servers for their packages and stores it in [cfg-dir]/pkg.list.
    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.
    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.