Skip to content
Snippets Groups Projects
Select Git revision
  • cabal-install-v1.18.0
  • master default protected
  • class-struggle
  • cabal-install-v1.22.2.0
  • Cabal-v1.22.2.0
  • Cabal-v1.22.1.1
  • cabal-install-v1.22.0.1
  • Cabal-v1.22.1.0
  • Cabal-v1.22.0.0
  • cabal-install-v1.22.0.0
  • cabal-install-v1.18.0.8
  • Cabal-v1.18.1.6
  • dist/cabal-install-v1.20.0.6
  • Cabal-v1.22.0.0-rc
  • cabal-install-v1.22.0.0-rc
  • cabal-install-v1.20.0.5
  • cabal-install-v1.18.0.7
  • Cabal-v1.20.0.3
  • cabal-install-v1.20.0.4
  • Cabal-v1.18.1.5
  • cabal-install-v1.18.0.6
  • Cabal-v1.20.0.3-rc
  • cabal-install-v1.20.0.4-rc
23 results

Cabal

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Herbert Valerio Riedel authored
    e41a92a7
    History
    The Cabal library package
    =========================
    
    [Cabal home page](http://www.haskell.org/cabal/)
    
    If you also want the `cabal` command line program then you need
    the `cabal-install` package in addition to this library.
    
    
    Installation instructions for the Cabal library
    ===============================================
    
    If you have the `cabal` program already
    ---------------------------------------
    
    In this case it's simple, just
    
        cabal install
    
    Of course, if you don't have an existing version of the `cabal` program
    then to get one you'd first need to install the Cabal library! To avoid
    this bootstrapping problem, you can install the Cabal library directly:
    
    Installing as a user (no root or administrator access)
    ------------------------------------------------------
    
        ghc --make Setup
        ./Setup configure --user
        ./Setup build
        ./Setup install
    
    Note the use of the `--user` flag at the configure step.
    
    Compiling Setup rather than using `runghc Setup` is much faster and works on
    Windows. For all packages other than Cabal itself it is fine to use `runghc`.
    
    This will install into `$HOME/.cabal/` on unix and into
    `$Documents and Settings\$User\Application Data\cabal\` on Windows
    If you want to install elsewhere use the `--prefix=` flag at the
    configure step.
    
    
    Installing as root / Administrator
    ----------------------------------
    
        ghc --make Setup
        ./Setup configure
        ./Setup build
        sudo ./Setup install
    
    Compiling Setup rather than using `runghc Setup` is much faster and works on
    Windows. For all packages other than Cabal itself it is fine to use `runghc`.
    
    This will install into `/usr/local` on unix and on Windows it will
    install into `$ProgramFiles/Haskell`. If you want to install
    elsewhere use the `--prefix=` flag at the configure step.
    
    
    Working with older versions of GHC and Cabal
    ============================================
    
    It is recommended just to leave any pre-existing version of Cabal
    installed. In particular it is *essential* to keep the version that
    came with GHC itself since other installed packages need it (eg the
    "ghc" api package).
    
    Prior to GHC 6.4.2 however, GHC didn't deal particularly well with
    having multiple versions of packages installed at once. So if you
    are using GHC 6.4.1 or older and you have an older version of Cabal
    installed, you probably just want to remove it:
    
        ghc-pkg unregister Cabal
    
    or if you had Cabal installed just for your user account then:
    
        ghc-pkg unregister Cabal --user
    
    
    The `filepath` dependency
    =========================
    
    Cabal now uses the `filepath` package so that must be installed first.
    GHC-6.6.1 and later come with `filepath` however earlier versions do not by
    default. If you do not already have `filepath` then you need to install it. You
    can use any existing version of Cabal to do that. If you have neither Cabal or
    filepath then it is slightly harder but still possible.
    
    Unpack Cabal and filepath into separate directories. For example:
    
        tar -xzf filepath-1.1.0.0.tar.gz
        tar -xzf Cabal-1.6.0.0.tar.gz
    
        # rename to make the following instructions simpler:
        mv filepath-1.1.0.0/ filepath/
        mv Cabal-1.6.0.0/ Cabal/
    
        cd Cabal
        ghc -i../filepath -cpp --make Setup.hs -o ../filepath/setup
        cd ../filepath/
        ./setup configure --user
        ./setup build
        ./setup install
    
    This installs filepath so you are then in a position to install Cabal by the
    normal method.
    
    
    More Information
    ================
    
    Please see the web site for the [user guide] and API documentation.
    There is some more information available on the [development wiki].
    
    [user guide]:       http://www.haskell.org/cabal/
    [development wiki]: http://hackage.haskell.org/trac/hackage/
    
    
    Bugs
    =======
    
    Please report bugs and wish-list items in our [bug tracker].
    
    [bug tracker]: https://github.com/haskell/cabal/issues
    
    
    Your Help
    ---------
    
    To help us in the next round of development work it would be
    enormously helpful to know from our users what their most pressing
    problems are with Cabal and Hackage. You probably have a favourite
    Cabal bug or limitation. Take a look at our [bug tracker]. Make sure
    the problem is reported there and properly described. Comment on the
    ticket to tell us how much of a problem the bug is for you. Add
    yourself to the ticket's cc list so we can discuss requirements and
    keep you informed on progress. For feature requests it is very
    helpful if there is a description of how you would expect to
    interact with the new feature.
    
    
    Code
    =======
    
    You can get the code from the web page; the version control system we
    use is very open and welcoming to new developers.
    
    You can get the main development branch:
    
    > darcs get --partial http://darcs.haskell.org/cabal
    
    and you can get the stable 1.6 branch:
    
    > darcs get --partial http://darcs.haskell.org/cabal-branches/cabal-1.6
    
    
    Credits
    =======
    
    Cabal Coders (in alphabetical order):
    
    - Krasimir Angelov
    - Bjorn Bringert
    - Duncan Coutts
    - Isaac Jones
    - David Himmelstrup (Lemmih)
    - Simon Marlow
    - Ross Patterson
    - Thomas Schilling
    - Martin Sjögren
    - Malcolm Wallace
    - and nearly 30 other people have contributed occasional patches
    
    Cabal spec:
    
    - Isaac Jones
    - Simon Marlow
    - Ross Patterson
    - Simon Peyton Jones
    - Malcolm Wallace